:root{--studio: #3f3f43;--stage-bg: var(--studio);--surface: #1f1f22;--surface-2: #2a2a2e;--surface-3: #37373c;--border: rgba(255, 255, 255, .07);--text: #f2f2f3;--muted: #9b9ba3;--accent: #f2f2f3;--on-accent: #161618;--hover: rgba(255, 255, 255, .05);--active: rgba(255, 255, 255, .1);--shadow: 0 8px 28px rgba(0, 0, 0, .28);--axis-x: #ef5f69;--axis-y: #6fc561;--axis-z: #5a97f2;--experimental: #f5b74a;--experimental-bg: rgba(245, 183, 74, .14);--font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter: 20px;--dock-bottom: max(20px, env(safe-area-inset-bottom));--dock-h: 64px;--player-h: 54px;--player-space: 0px;--radius: 16px;--radius-sm: 10px;--ease: cubic-bezier(.2, .9, .3, 1);color-scheme:dark}:root[data-theme=light]{--studio: #e7e7ea;--surface: #ffffff;--surface-2: #f1f1f4;--surface-3: #e5e5ea;--border: rgba(0, 0, 0, .08);--text: #18181b;--muted: #6c6c75;--accent: #18181b;--on-accent: #ffffff;--hover: rgba(0, 0, 0, .04);--active: rgba(0, 0, 0, .07);--shadow: 0 6px 24px rgba(0, 0, 0, .08);--experimental: #9a5b00;--experimental-bg: rgba(214, 140, 20, .14);color-scheme:light}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--stage-bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;user-select:none;flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stage{position:fixed;inset:0}.viewport{position:absolute;inset:0}.viewport canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.info{position:absolute;z-index:5;top:max(var(--gutter),env(safe-area-inset-top));left:var(--gutter);width:236px;padding:4px;animation:fade-in .4s var(--ease) both}.info-head{width:100%;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left}.info-head:hover{background:var(--hover)}.info-titles{flex:1;min-width:0}.info-kicker-row{display:flex;align-items:center;gap:6px}.info-kicker-row .badge-experimental{padding-block:0;font-size:10.5px}.info-kicker-row .badge-experimental .icon{font-size:13px}.info-kicker{display:block;font-size:12px;color:var(--muted)}.info-name{display:block;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.25}.info-chevron{color:var(--muted);transition:transform .2s var(--ease)}.info[data-open=true] .info-chevron{transform:rotate(180deg)}.info-details{border-top:1px solid var(--border)}.info-stats{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0;padding:6px 10px 10px;font-size:13px}.info[data-open=false] .info-details{display:none}.badge-experimental{display:inline-flex;align-items:center;gap:3px;flex:none;padding:2px 7px 2px 5px;border-radius:999px;background:var(--experimental-bg);color:var(--experimental);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.badge-experimental .icon{font-size:14px}.info-note{margin:8px 10px 2px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--experimental-bg);color:var(--text);font-size:12px;line-height:1.4}.info-stats dt{color:var(--muted)}.info-stats dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.corner{position:absolute;z-index:5;top:max(var(--gutter),env(safe-area-inset-top));right:var(--gutter);display:flex;flex-direction:column;align-items:flex-end;gap:8px}.corner-buttons{display:flex;gap:8px}.corner{--corner-button: 42px}.corner-button{display:grid;place-items:center;width:var(--corner-button);height:var(--corner-button);color:var(--text);transition:background .2s}.corner-button:hover,.corner-button[aria-expanded=true]{background:var(--surface-2)}.settings-toggle .icon{transition:transform .4s var(--ease)}.settings-toggle[aria-expanded=true] .icon{transform:rotate(60deg);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.settings-menu{position:absolute;z-index:1;top:calc(var(--corner-button) + 8px);right:0;width:240px;display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;animation:menu-in .2s var(--ease) both}.corner:has(.settings-menu:not([hidden])) .axes{visibility:hidden}.settings-title{margin:0;font-size:14px;font-weight:700}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.axes{width:76px;height:76px;margin-right:-10px;pointer-events:none;overflow:visible;animation:fade-in .4s var(--ease) both}body.no-model .axes{display:none}.axes-origin{fill:var(--muted)}.axes-line{stroke:var(--c);stroke-width:2.5;stroke-linecap:round}.axes-dot{fill:var(--c)}.axes-label{font:700 8px var(--font);fill:#141414}.loading,.pick,.empty{position:absolute;inset:0 0 calc(var(--dock-h) + var(--dock-bottom)) 0;display:grid;place-items:center;padding:var(--gutter);pointer-events:none}.loading-card,.pick-card,.empty-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 28px;text-align:center;pointer-events:auto;animation:rise .35s var(--ease) both}.animation-item[data-loading] .icon{animation:spinner .9s linear infinite}.loading-spinner{font-size:36px;animation:spinner .9s linear infinite}.loading-percent{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.loading-size{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.pick-icon{font-size:34px;color:var(--muted)}.pick-title,.empty-title{margin:0;font-size:17px;font-weight:700}.pick-sub{margin:0 0 6px;font-size:13px;color:var(--muted)}.empty-card .hint{max-width:400px;margin:0;font-size:13px;color:var(--muted)}.empty-card code{font-size:12px;padding:1px 6px;border-radius:6px;background:var(--surface-2)}.primary-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600;transition:opacity .2s}.primary-button:hover{opacity:.88}body.no-model .dock-button[data-needs-model]{opacity:.35;pointer-events:none}.dock{position:fixed;z-index:10;left:50%;bottom:var(--dock-bottom);max-width:calc(100% - var(--gutter) * 2);display:flex;align-items:stretch;gap:2px;padding:5px;transform:translate(-50%);transition:opacity .4s ease,transform .5s var(--ease)}body:not(.is-ready) .dock{opacity:0;transform:translate(-50%,24px)}.dock-button{flex:0 0 auto;width:78px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 2px 7px;border:0;border-radius:12px;background:transparent;color:var(--text);transition:background .15s ease,opacity .2s ease}.dock-button .icon{font-size:22px}.dock-label{font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap}.dock-button:hover{background:var(--hover)}.dock-button[aria-expanded=true],.dock-button[data-action=lock-camera][aria-pressed=true]{background:var(--active)}.dock-button[aria-expanded=true] .icon,.dock-button[data-action=lock-camera][aria-pressed=true] .icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.dock-button[data-toggle][aria-pressed=false]{opacity:.4}.dock-button:disabled{opacity:.25;pointer-events:none}.dock-divider{flex:none;width:1px;margin:10px 4px;background:var(--border)}.voice-menu{position:absolute;bottom:calc(100% + 10px);min-width:150px;display:flex;flex-direction:column;padding:4px;animation:fade-in .15s ease both}.voice-option{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:13px;font-weight:500;text-align:left}.voice-option:hover{background:var(--hover)}.voice-option[aria-checked=true]{background:var(--accent);color:var(--on-accent);font-weight:700}.voice-option-note{font-size:11px;font-weight:500;opacity:.6}@media(max-width:960px)and (min-width:721px){.dock{width:min(760px,calc(100% - var(--gutter) * 2))}.dock-button{flex:1 1 0;width:auto}.dock-label{font-size:0}.dock-label:after{content:attr(data-short);font-size:11px}}.about-button{position:fixed;z-index:10;left:var(--gutter);bottom:calc(var(--dock-bottom) + (var(--dock-h) - 42px) / 2);display:grid;place-items:center;width:42px;height:42px;color:var(--text);transition:background .2s,opacity .4s ease}.about-button:hover{background:var(--surface-2)}.about-button[aria-expanded=true] .icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}body:not(.is-ready) .about-button{opacity:0}@media(max-width:960px){.about-button{z-index:8;bottom:calc(var(--dock-bottom) + var(--dock-h) + 10px + var(--player-space))}}body.has-player{--player-space: calc(var(--player-h) + 8px)}.player{position:fixed;z-index:9;left:50%;bottom:calc(var(--dock-bottom) + var(--dock-h) + 8px);width:min(440px,calc(100vw - var(--gutter) * 2));height:var(--player-h);display:flex;align-items:center;gap:10px;padding:0 8px;transform:translate(-50%);animation:sheet-in-centred .25s var(--ease) both}.player[hidden]{display:none}.player-button{display:grid;place-items:center;flex:none;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--text);transition:background .15s}.player-button:hover{background:var(--hover)}.player-button[data-action=toggle-animation]{background:var(--accent);color:var(--on-accent)}.player-button[data-action=toggle-animation]:hover{opacity:.88}.player-button[data-action=toggle-animation] .icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.player-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.player-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px}.player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.player-time{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.player input.player-seek{height:16px}.player input.player-seek::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--fill, 0%),var(--surface-3) var(--fill, 0%))}.player input.player-seek::-moz-range-track{background:linear-gradient(to right,var(--accent) var(--fill, 0%),var(--surface-3) var(--fill, 0%))}.player input.player-seek::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4px}.player input.player-seek::-moz-range-thumb{width:12px;height:12px}.player-speed{position:relative;flex:none}.player-speed-button{min-width:44px;height:28px;padding:0 8px;border:0;border-radius:14px;background:var(--hover);color:var(--text);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;transition:background .15s}.player-speed-button:hover,.player-speed-button[aria-expanded=true]{background:var(--active)}.speed-menu{position:absolute;right:50%;bottom:calc(100% + 14px);min-width:76px;display:flex;flex-direction:column;padding:4px;transform:translate(50%);animation:fade-in .15s ease both}.speed-option{padding:7px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:13px;font-weight:500;text-align:center;font-variant-numeric:tabular-nums}.speed-option:hover{background:var(--hover)}.speed-option[aria-checked=true]{background:var(--accent);color:var(--on-accent);font-weight:700}.sheet{position:fixed;z-index:9;left:50%;bottom:calc(var(--dock-bottom) + var(--dock-h) + 10px + var(--player-space));width:min(420px,calc(100vw - var(--gutter) * 2));max-height:calc(100dvh - var(--dock-bottom) - var(--dock-h) - 80px - var(--player-space));display:flex;overflow:hidden;transform:translate(-50%);animation:sheet-in-centred .25s var(--ease) both}.panel{flex:1;display:flex;flex-direction:column;gap:14px;min-height:0;padding:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.panel-header{display:flex;align-items:center;justify-content:space-between;min-height:34px}.panel-header h2{margin:0;font-size:16px;font-weight:700}.header-actions{display:flex;gap:4px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);transition:background .15s,color .15s}.icon-button:hover{background:var(--hover);color:var(--text)}.note{margin:0;color:var(--muted);font-size:13px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:12px;background:var(--surface-2)}.segmented button{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;transition:background .15s,color .15s}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000026}.segmented .icon{font-size:18px}.search{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.search input{flex:1;min-width:0;padding:9px 0;border:0;background:transparent;outline:none;color:var(--text)}.animation-list{display:flex;flex-direction:column;gap:2px}.animation-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;transition:background .15s}.animation-item .icon{color:var(--muted)}.animation-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animation-group{margin:10px 12px 4px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.animation-group:first-child{margin-top:0}.animation-progress{flex:none;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.animation-progress:empty{display:none}.animation-item:hover{background:var(--hover)}.animation-item[aria-current=true]{background:var(--active)}.animation-item[aria-current=true] .icon{color:var(--text);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.sheet.is-wide{width:max(var(--dock-w, 760px),min(680px,calc(100vw - var(--gutter) * 2)));max-height:min(460px,calc(100dvh - var(--dock-bottom) - var(--dock-h) - 120px - var(--player-space)))}.sheet.is-left{--floor: calc(var(--dock-bottom) + var(--dock-h) + 10px);left:var(--gutter);top:calc(var(--info-bottom, 260px) + 10px);bottom:auto;width:min(320px,calc(100vw - var(--gutter) * 2));max-height:calc(100dvh - var(--info-bottom, 260px) - 10px - var(--floor));transform:none;animation:sheet-in .25s var(--ease) both}.sheet.is-right{left:auto;right:var(--gutter);width:min(380px,calc(100vw - var(--gutter) * 2));max-height:calc(100dvh - var(--dock-bottom) - var(--dock-h) - 10px - var(--player-space) - 150px);transform:none;animation:sheet-in .25s var(--ease) both}@media(min-width:1240px){.sheet.is-right{bottom:calc(var(--dock-bottom) + var(--dock-h) + 10px);max-height:calc(100dvh - var(--dock-bottom) - var(--dock-h) - 10px - 150px)}}@media(max-width:960px){.sheet.is-left{--floor: calc(var(--dock-bottom) + var(--dock-h) + 10px + var(--player-space) + 52px)}}.panel-models .panel-header{gap:14px}.panel-models .search{flex:1;max-width:320px;margin-left:auto}.category-tabs button{padding:8px}.category-tabs .count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-3);font-size:11px;font-variant-numeric:tabular-nums}.model-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));align-content:start;gap:8px}.model-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center;transition:background .15s,border-color .15s}.model-card:hover{background:var(--surface-2)}.model-card-icon{--size: 88px;position:relative;display:grid;place-items:center;flex:none;width:var(--size);height:var(--size);border-radius:50%;overflow:hidden;background:var(--surface-2);color:var(--muted);transition:box-shadow .15s,transform .2s var(--ease)}.model-card:hover .model-card-icon{transform:scale(1.04)}.model-card-icon .icon{font-size:36px}.model-card-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.model-card-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:100%;font-size:14px;font-weight:600;line-height:1.25}.model-card{position:relative}.model-card .badge-experimental{position:absolute;top:92px;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px var(--surface);background:var(--surface);background-image:linear-gradient(var(--experimental-bg),var(--experimental-bg))}.model-card.is-soon{cursor:default;border-style:dashed}.model-card.is-soon:hover{background:var(--surface)}.model-card.is-soon:hover .model-card-icon{transform:none}.model-card.is-soon .model-card-icon{filter:grayscale(1);opacity:.45}.model-card.is-soon .model-card-name{color:var(--muted)}.model-card .badge-soon{background-image:linear-gradient(var(--surface-2),var(--surface-2));color:var(--muted)}.model-card[aria-current=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.model-card[aria-current=true] .model-card-icon{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.model-card[aria-current=true] .model-card-icon .icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.list-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:36px 12px;font-weight:600;text-align:center}.list-empty span{color:var(--muted);font-size:13px;font-weight:400}.list-empty code{font-size:12px;padding:1px 5px;border-radius:5px;background:var(--surface-2)}.row{display:flex;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px 7px 10px;border:0;border-radius:999px;background:var(--surface-2);font-size:13px;font-weight:500;transition:background .15s,opacity .2s}.pill:hover:not(:disabled){background:var(--surface-3)}.pill:disabled{opacity:.4;cursor:default}.slider{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:12px;font-size:13px}.slider>span{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slider .icon{font-size:18px;color:var(--muted)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:var(--surface-3)}input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--surface-3)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border:0;border-radius:50%;background:var(--accent);box-shadow:0 1px 4px #0000004d}input[type=range]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--accent)}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;cursor:pointer}.switch>span{display:flex;align-items:center;gap:8px}.switch .icon{font-size:18px;color:var(--muted)}.switch input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:38px;height:22px;margin:0;border-radius:22px;background:var(--surface-3);cursor:pointer;transition:background .2s}.switch input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #00000040;transition:transform .2s var(--ease)}.switch input[type=checkbox]:checked{background:var(--accent)}.switch input[type=checkbox]:checked:after{transform:translate(16px);background:var(--on-accent)}.switch input[type=color]{flex:none;width:38px;height:26px;padding:0;border:1px solid var(--border);border-radius:8px;background:none;cursor:pointer}.switch input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.switch input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}.switch input[type=color]::-moz-color-swatch{border:0;border-radius:5px}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 10px}.swatch{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:0;border:0;background:none;font-size:12px;color:var(--muted)}.swatch-preview{width:100%;aspect-ratio:1;border-radius:12px;box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow .15s}.swatch[aria-pressed=true]{color:var(--text);font-weight:600}.swatch[aria-pressed=true] .swatch-preview{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.presets{display:flex;flex-wrap:wrap;gap:6px}.presets:empty{display:none}.chip{padding:5px 12px;border:0;border-radius:999px;background:var(--surface-2);font-size:13px;transition:background .15s,color .15s}.chip:hover{background:var(--surface-3)}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.morph-groups{display:flex;flex-direction:column;gap:6px}.morph-groups details{border-radius:12px;background:var(--surface-2)}.morph-groups summary{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:13px;font-weight:500;cursor:pointer;list-style:none}.morph-groups summary::-webkit-details-marker{display:none}.morph-groups .count{font-size:12px;color:var(--muted)}.morph-groups details[open]{padding-bottom:8px}.morph-groups details .slider{padding:2px 14px;font-size:12px}.splash{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:var(--studio);transition:opacity .5s ease,visibility .5s}.splash.is-done{opacity:0;visibility:hidden}.splash-progress{width:220px;height:3px;border-radius:3px;background:var(--surface-3);overflow:hidden}.splash-bar{height:100%;width:0;border-radius:3px;background:var(--accent);transition:width .35s var(--ease)}.about-text{font-size:14px;line-height:1.55}.about-text p{margin:0 0 10px;color:var(--muted)}.about-text h3{margin:16px 0 6px;font-size:13px;font-weight:600}.about-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--hover);color:var(--text);font-weight:500;text-decoration:none;transition:background .15s}.about-link:hover{background:var(--active)}.about-link .icon{font-size:18px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade-in{0%{opacity:0}}@keyframes spinner{to{transform:rotate(360deg)}}@keyframes sheet-in-centred{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px)}}.toast{position:fixed;z-index:20;left:50%;top:max(var(--gutter),env(safe-area-inset-top));display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - var(--gutter) * 2);padding:6px 6px 6px 14px;border-radius:999px;font-size:13px;font-weight:500;opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s}.toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity .2s var(--ease),transform .2s var(--ease)}.toast .icon{font-size:18px;color:var(--muted)}.toast-action{padding:6px 12px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700}.toast-action:hover{opacity:.88}.toast:has(.toast-action[hidden]){padding:10px 18px 10px 14px}@media(max-width:720px){:root{--gutter: 12px;--dock-bottom: max(10px, env(safe-area-inset-bottom))}.info{width:min(220px,calc(100% - 100px))}.info-name{font-size:16px}.corner{--corner-button: 38px}.axes{width:64px;height:64px}.dock{width:calc(100% - 12px);max-width:none;padding:4px;gap:0}.dock-button{flex:1 1 0;width:auto;gap:3px;padding:8px 0 7px}.dock-button .icon{font-size:21px}.dock-label{font-size:0}.dock-label:after{content:attr(data-short);font-size:10px}.dock-divider{margin:10px 2px}.player{left:6px;right:6px;width:auto;bottom:calc(var(--dock-bottom) + var(--dock-h) + 6px);transform:none;animation:sheet-in .25s var(--ease) both}body.has-player{--player-space: calc(var(--player-h) + 6px)}.sheet{left:6px;right:6px;width:auto;bottom:calc(var(--dock-bottom) + var(--dock-h) + 6px + var(--player-space));max-height:min(56dvh,calc(100dvh - var(--dock-bottom) - var(--dock-h) - 72px - var(--player-space)));transform:none;animation:sheet-in .25s var(--ease) both}.panel{padding:14px}.sheet.is-wide,.sheet.is-left,.sheet.is-right{left:6px;right:6px;top:auto;bottom:calc(var(--dock-bottom) + var(--dock-h) + 6px + var(--player-space));width:auto;max-height:min(62dvh,calc(100dvh - var(--dock-bottom) - var(--dock-h) - 72px - var(--player-space)));transform:none;animation:sheet-in .25s var(--ease) both}.panel-models .panel-header{flex-wrap:wrap}.panel-models .search{order:3;flex-basis:100%;max-width:none}.category-tabs button>span:not(.icon):not(.count){display:none}.model-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.model-card{padding:12px 6px 10px;gap:8px}.model-card .badge-experimental{top:72px}.model-card-icon{--size: 72px}.model-card-name{font-size:13px}}@media(max-width:480px){.dock-label{display:none}.dock-button{padding:11px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:720px){.toast{top:auto;bottom:calc(var(--dock-bottom) + var(--dock-h) + 8px + var(--player-space));transform:translate(-50%,8px)}}
