:root{color-scheme:light;--color-bg: #efe5d4;--color-surface: #fbf5e9;--color-surface-2: #efe5d4;--color-ink: #1c1917;--color-accent: #d2551f;--color-on-accent: #fbf5e9;--color-ink-muted: #8a7f70;--color-ink-soft: #6b625a;--color-line: #dfd2bc;--color-line-strong: color-mix(in srgb, var(--color-ink) 38%, var(--color-bg));--color-hover: color-mix(in srgb, var(--color-ink) 7%, transparent);--color-accent-wash: color-mix(in srgb, var(--color-accent) 12%, transparent);--color-accent-hover: color-mix(in srgb, var(--color-accent) 84%, var(--color-ink));--color-danger: #b4472e;--color-success: #3f7a63;--color-coffee: #ffdd00;--color-coffee-ink: #17191d;--color-scrim: color-mix(in srgb, #1c1917 64%, transparent);--color-preview-paper: #fbf5e9;--color-preview-night: #211e1b;--color-stage-bg: #171513;--color-stage-surface: #28231f;--color-stage-line: #5a5046;--color-stage-text: #fbf5e9;--color-stage-muted: #b9ab99;--cat-blue: #2c4e7a;--cat-yellow: #e8b33c;--cat-mint: #a9cfb8;--cat-peach: #f0a878;--cat-lilac: #d9c9e0;--cat-sky: #bfd3e8;--cat-clay: #e3c7a8;--cat-moss: #3f7a63;--cat-rust: #b4472e;--cat-plum: #7a6e9c;--font-sans: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;--text-meta: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--text-xl: 18px;--text-2xl: 24px;--text-3xl: 32px;--leading-tight: 1.2;--leading-body: 1.5;--track-meta: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--radius-circle: 50%;--shadow-sm: 0 1px 2px color-mix(in srgb, var(--color-ink) 8%, transparent);--shadow-md: 0 4px 16px color-mix(in srgb, var(--color-ink) 10%, transparent);--shadow-lg: 0 12px 40px color-mix(in srgb, var(--color-ink) 18%, transparent);--shadow-hard: 5px 5px 0 var(--color-ink);--shadow-hard-lift: 8px 8px 0 var(--color-ink);--border-hard: 2.5px solid var(--color-ink);--control-h: 32px;--duration-ui: .16s;--ink: var(--color-bg);--graphite: var(--color-surface);--slate: var(--color-line);--paper: var(--color-ink);--signal: var(--color-accent);--focus: var(--color-accent);--ui: var(--font-sans);--mono: var(--font-mono)}html[data-theme=dark]{color-scheme:dark;--color-bg: #171513;--color-surface: #211e1b;--color-surface-2: #2d2823;--color-ink: #fbf5e9;--color-on-accent: #fbf5e9;--color-ink-muted: #a99e8f;--color-ink-soft: #cec2b2;--color-line: #443b34}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;font:var(--text-md)/var(--leading-body) var(--font-sans);color:var(--color-ink);background:var(--color-bg)}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--color-surface-2);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);height:var(--control-h);padding:0 var(--space-3);font-weight:600;cursor:pointer;transition:background var(--duration-ui) ease,border-color var(--duration-ui) ease,color var(--duration-ui) ease,transform var(--duration-ui) ease,box-shadow var(--duration-ui) ease}button:hover{border-color:var(--color-ink);background:var(--color-hover)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--color-accent);border-color:var(--color-ink);color:var(--color-on-accent);box-shadow:2px 2px 0 var(--color-ink)}button.primary:hover{background:var(--color-ink);color:var(--color-surface);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-accent)}button.danger{background:var(--color-danger);border-color:var(--color-ink);color:var(--color-on-accent)}button.danger:hover{background:var(--color-ink);color:var(--color-surface)}button.on{border-color:var(--color-accent);color:var(--color-accent);box-shadow:inset 0 -2px 0 var(--color-accent)}button.ghost{background:none;border:none;height:auto;padding:0 4px;opacity:.5}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input[type=number],input[type=text],select,textarea{background:var(--color-surface-2);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);padding:6px var(--space-2);width:100%;min-width:0;font-family:var(--font-mono)}input[type=color]{background:none;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);height:28px;width:100%;padding:2px}.font-select{font-size:var(--text-lg);letter-spacing:.01em}.app{display:grid;grid-template-rows:56px 1fr auto auto;height:100vh;background:var(--color-bg)}.splitter{background:none;z-index:3}.splitter.x{cursor:col-resize}.splitter.y{height:5px;cursor:row-resize}.splitter:hover,.splitter:focus-visible{background:var(--color-accent)}.splitter:focus-visible{outline-offset:-2px}.topbar{display:flex;gap:var(--space-2);align-items:center;padding:0 var(--space-4);border-bottom:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-sm);z-index:10}.brand{display:flex;align-items:center;gap:var(--space-2);font:700 var(--text-lg)/1 "Space Grotesk",var(--font-sans);letter-spacing:-.03em}.brand:before{content:"";width:11px;height:11px;border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-accent);box-shadow:2px 2px 0 var(--color-ink);transform:rotate(-5deg)}.brand-button{flex:none;height:36px;padding:0 var(--space-2);margin-left:calc(var(--space-2) * -1);border-color:transparent;background:transparent;box-shadow:none}.brand-button:hover{background:var(--color-accent-wash);border-color:var(--color-line)}.projname{width:180px}.workspace-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-2);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--color-ink) 9%,transparent)}.workspace-switch button{min-width:58px;height:28px;gap:7px;display:flex;align-items:center;justify-content:center;padding:0 10px;border:0;background:transparent;color:var(--color-ink-soft);box-shadow:none}.workspace-switch button:hover{background:var(--color-hover);color:var(--color-ink)}.workspace-switch button.is-active{color:var(--color-ink);background:var(--color-surface);box-shadow:2px 2px 0 var(--color-ink);transform:translate(-1px,-1px)}.workspace-icon{position:relative;display:block;width:12px;height:12px;flex:none}.workspace-icon--2d{border:1.5px solid currentColor;background:var(--cat-yellow)}.workspace-icon--2d:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1px solid currentColor;opacity:.45}.workspace-icon--3d{border:1.5px solid currentColor;transform:skewY(-22deg);background:var(--cat-sky)}.workspace-icon--3d:before{content:"";position:absolute;width:7px;height:7px;left:4px;top:-5px;border:1.5px solid currentColor;border-bottom:0;transform:skewY(38deg);background:var(--color-surface)}.spacer{flex:1}.status{font-family:var(--font-mono);color:var(--color-success);font-size:var(--text-sm)}.filebtn{background:var(--color-surface-2);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);height:var(--control-h);display:grid;place-items:center;padding:0 var(--space-3);cursor:pointer;font-weight:600}.filebtn:hover{border-color:var(--color-ink)}.coffee{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);padding:0 var(--space-3);background:var(--color-coffee);color:var(--color-coffee-ink);text-decoration:none;font-weight:600;font-size:var(--text-sm);border:1px solid var(--color-ink);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--color-ink);transition:transform var(--duration-ui) ease,box-shadow var(--duration-ui) ease}.coffee:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-ink)}.support{display:grid;gap:var(--space-2);justify-items:start;padding:var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-2)}.support p{margin:0;font-size:var(--text-sm)}.top-menu{position:relative}.top-menu-panel{position:absolute;z-index:20;top:calc(100% + var(--space-2));left:0;width:204px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:menu-rise .18s cubic-bezier(.2,.8,.2,1)}.top-menu-panel button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;text-align:left}.top-menu-panel button:hover{background:var(--color-hover)}.top-menu-panel kbd{color:var(--color-ink-muted);font:var(--text-meta) var(--font-mono)}.menu-divider{display:block;height:1px;margin:var(--space-2);background:var(--color-line)}.top-menu-panel .menu-danger{color:var(--color-danger)}.view-menu-panel{width:224px}.menu-label{margin:2px var(--space-2) var(--space-2);color:var(--color-ink-muted);font:700 var(--text-meta)/1.2 var(--font-mono);letter-spacing:var(--track-meta);text-transform:uppercase}.view-menu-panel button{display:grid;grid-template-columns:30px 1fr 16px;gap:var(--space-2);min-height:48px}.view-menu-panel button.is-selected{background:var(--color-accent-wash);box-shadow:inset 3px 0 0 var(--color-accent)}.view-menu-panel button>span:nth-child(2){display:grid;gap:1px}.view-menu-panel small{color:var(--color-ink-muted);font:var(--text-meta)/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.theme-swatch{position:relative;width:26px;height:26px;border:1.5px solid var(--color-ink);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--color-ink);overflow:hidden}.theme-swatch--light{background:linear-gradient(135deg,var(--cat-yellow) 0 38%,var(--color-preview-paper) 38%)}.theme-swatch--dark{background:linear-gradient(135deg,var(--color-accent) 0 38%,var(--color-preview-night) 38%)}.theme-swatch--system{background:linear-gradient(135deg,var(--color-preview-paper) 0 50%,var(--color-preview-night) 50%)}.menu-check{color:var(--color-accent);font-weight:700}@keyframes menu-rise{0%{opacity:0;transform:translateY(-4px)}}.project-dashboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow:auto;color:var(--color-ink);background:var(--color-bg);animation:dashboard-arrive .22s cubic-bezier(.2,.8,.2,1) both}.project-dashboard__header{position:sticky;top:0;z-index:3;min-height:64px;display:flex;align-items:center;gap:var(--space-3);padding:0 max(var(--space-4),calc((100vw - 1480px)/2));border-bottom:1px solid var(--color-line);background:color-mix(in srgb,var(--color-surface) 94%,transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.project-dashboard__header .brand-button{margin-left:0}.project-dashboard__rule{flex:1;height:1px;background:var(--color-line)}.project-dashboard__actions{display:flex;align-items:center;gap:var(--space-3)}.project-dashboard__new{display:inline-flex;align-items:center;gap:var(--space-2)}.project-dashboard__body{width:min(1480px,100%);margin:0 auto;padding:var(--space-10) var(--space-6) var(--space-12)}.project-dashboard__opening{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);align-items:end;gap:clamp(var(--space-6),5vw,72px);margin-bottom:var(--space-8)}.project-dashboard__intro{max-width:700px}.project-kicker{margin:0 0 var(--space-2);color:var(--color-ink-muted);font:700 var(--text-meta)/1.2 var(--font-mono);letter-spacing:var(--track-meta);text-transform:uppercase}.project-dashboard__intro h1{margin:0;font:700 clamp(var(--text-2xl),3.5vw,44px)/1.05 "Space Grotesk",var(--font-sans);letter-spacing:-.045em;text-wrap:pretty}.project-dashboard__intro>p:last-child{max-width:620px;margin:var(--space-3) 0 0;color:var(--color-ink-soft);font-size:var(--text-lg);text-wrap:pretty}.creator-note{position:relative;display:flex;align-items:center;gap:var(--space-4);min-height:118px;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--cat-sky);border:var(--border-hard);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);transform:rotate(.6deg)}.creator-note__avatar{width:78px;height:78px;flex:0 0 78px;object-fit:cover;border:2px solid var(--color-ink);border-radius:var(--radius-circle);box-shadow:3px 3px 0 var(--color-ink);transform:rotate(-4deg)}.creator-note .project-kicker{color:var(--color-coffee-ink)}.creator-note__copy{margin:0;color:var(--color-coffee-ink);font-size:var(--text-sm);line-height:1.45;text-wrap:pretty}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:var(--space-6);align-items:stretch}.project-card{--project-accent: var(--cat-blue);position:relative;min-width:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow:hidden;background:var(--color-surface);border:var(--border-hard);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);transition:transform var(--duration-ui) ease,box-shadow var(--duration-ui) ease}.project-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hard-lift)}.project-card.is-active:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--color-accent)}.project-card--tone-1{--project-accent: var(--cat-yellow)}.project-card--tone-2{--project-accent: var(--cat-mint)}.project-card--tone-3{--project-accent: var(--cat-peach)}.project-card--tone-4{--project-accent: var(--cat-plum)}.project-card--tone-0 .project-pill--kind,.project-card--tone-4 .project-pill--kind,.project-card--tone-0 .project-card__frame span,.project-card--tone-4 .project-card__frame span{color:var(--color-on-accent)}.project-card__head{display:flex;align-items:center;gap:var(--space-2)}.project-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-surface);font:700 var(--text-xs)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.project-pill--active{background:var(--color-ink);color:var(--color-surface)}.project-pill--kind{margin-left:auto;background:var(--project-accent);color:var(--color-coffee-ink)}.project-card__open{width:100%;height:142px;padding:0;border:0;border-radius:12px;background:transparent;box-shadow:none}.project-card__open:hover{background:transparent}.project-card__art{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border:2px solid var(--color-ink);border-radius:12px;background-color:var(--color-surface);background-image:linear-gradient(var(--color-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-line) 1px,transparent 1px);background-size:16px 16px}.project-card__frame{position:relative;z-index:1;width:min(66%,176px);max-height:104px;min-height:54px;display:grid;place-items:center;padding:var(--space-2);overflow:hidden;border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--project-accent);box-shadow:4px 4px 0 var(--color-ink);transform:rotate(-1.2deg)}.project-card__frame span{max-width:100%;overflow:hidden;color:var(--color-coffee-ink);font:700 var(--text-lg)/1.05 "Space Grotesk",var(--font-sans);letter-spacing:-.04em;text-align:center;text-overflow:ellipsis;white-space:nowrap}.project-card__axis{position:absolute;opacity:.38;background:var(--color-accent)}.project-card__axis--x{width:100%;height:1px}.project-card__axis--y{width:1px;height:100%}.project-card__body{display:grid;gap:var(--space-2);flex:1;min-width:0}.project-card__body h2{margin:0;overflow:hidden;font:700 var(--text-xl)/1.2 "Space Grotesk",var(--font-sans);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.project-card__rename{height:30px;font:700 var(--text-lg)/1 "Space Grotesk",var(--font-sans)!important}.project-card__sample{min-height:18px;margin:0;overflow:hidden;color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap}.project-card__meta{margin:0;color:var(--color-ink-muted);font:var(--text-meta)/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.project-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-1);margin-top:auto}.project-card__actions button{flex:1 1 auto;padding-inline:var(--space-2)}.project-card__actions .project-card__delete{flex:0 0 auto;color:var(--color-danger)}.project-card__confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;align-content:center;gap:var(--space-2);padding:var(--space-6);background:var(--color-surface);box-shadow:inset 7px 0 0 var(--color-danger);animation:menu-rise .18s cubic-bezier(.2,.8,.2,1)}.project-card__confirm h3{margin:0;font:700 var(--text-xl)/1.2 "Space Grotesk",var(--font-sans)}.project-card__confirm>p:not(.project-kicker){margin:0 0 var(--space-2);color:var(--color-ink-soft)}.project-card__confirm>div{display:flex;gap:var(--space-2)}.preset-library{margin-top:clamp(48px,7vw,88px);padding-top:var(--space-8);border-top:2px solid var(--color-ink)}.preset-library__header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.preset-library__header>div:first-child{max-width:720px}.preset-library__header h2{margin:0;font:700 clamp(var(--text-2xl),2.8vw,36px)/1.08 "Space Grotesk",var(--font-sans);letter-spacing:-.04em;text-wrap:balance}.preset-library__header p:last-child{max-width:680px;margin:var(--space-2) 0 0;color:var(--color-ink-soft);font-size:var(--text-lg);text-wrap:pretty}.preset-folder{position:relative;margin-bottom:var(--space-6);padding:var(--space-5);border:var(--border-hard);border-radius:var(--radius-lg);background:var(--color-surface-2);box-shadow:5px 5px 0 var(--color-ink)}.preset-folder__set+.preset-folder__set{margin-top:var(--space-6)}.preset-folder__setname{margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-ink);color:var(--color-ink);font:800 var(--text-xs)/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.preset-folder__header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.preset-folder__tab{flex:none;display:inline-flex;align-items:center;padding:7px 13px;border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-surface);font:800 var(--text-xs)/1 var(--font-mono);letter-spacing:.12em}.preset-folder__header h2{margin:var(--space-1) 0 0;font:700 var(--text-2xl, var(--text-xl))/1.1 "Space Grotesk",var(--font-sans);letter-spacing:-.03em}.preset-folder__lede{max-width:62ch;margin:var(--space-2) 0 0;color:var(--color-ink-soft);line-height:1.5;text-wrap:pretty}@media (max-width: 640px){.preset-folder{padding:var(--space-4)}.preset-folder__header{flex-direction:column;gap:var(--space-3)}}.preset-filter{flex:none;display:flex;gap:3px;padding:3px;border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:3px 3px 0 var(--color-ink)}.preset-filter button{min-width:54px;border:0;border-radius:var(--radius-pill);background:transparent;box-shadow:none;font:700 var(--text-xs)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.preset-filter button:hover{background:var(--color-hover)}.preset-filter button.is-active{background:var(--color-ink);color:var(--color-surface)}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:var(--space-5)}.scene-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:var(--border-hard);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:4px 4px 0 var(--color-ink);transition:transform var(--duration-ui) ease,box-shadow var(--duration-ui) ease}.scene-card:hover{transform:translateY(-3px);box-shadow:4px 7px 0 var(--color-ink)}.scene-card__preview{position:relative;isolation:isolate;width:100%;height:174px;padding:0;overflow:hidden;border:0;border-bottom:2px solid var(--color-ink);border-radius:0;background:var(--scene-a);box-shadow:none;color:var(--scene-b);perspective:600px}.scene-card__preview:hover{background:var(--scene-a)}.scene-card__preview:focus-visible{outline:3px solid var(--color-accent);outline-offset:-5px}.scene-preview__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.3;background-image:linear-gradient(color-mix(in srgb,var(--scene-c) 32%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--scene-c) 32%,transparent) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);mask-image:linear-gradient(to bottom,#000,transparent 90%)}.scene-preview__text{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;transform-style:preserve-3d}.scene-preview__text>span{grid-area:1 / 1;max-width:86%;overflow:hidden;color:var(--scene-b);font:800 clamp(24px,2.4vw,38px)/.9 "Anybody",var(--font-sans);letter-spacing:-.075em;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform-origin:center}.scene-preview__text>span:nth-child(n+2){z-index:-1;opacity:0}.scene-preview__ring{position:absolute;z-index:1;top:50%;left:50%;width:118px;height:118px;border:1px solid var(--scene-c);border-radius:50%;opacity:0;transform:translate(-50%,-50%)}.scene-preview__timeline{position:absolute;z-index:4;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);height:3px;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--scene-c) 28%,transparent)}.scene-preview__timeline>span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--scene-b);transform-origin:left;animation:scene-progress var(--scene-duration) linear infinite}.scene-card__body{display:grid;gap:var(--space-2);flex:1;padding:var(--space-4)}.scene-card__meta{display:flex;align-items:center;gap:var(--space-2);color:var(--color-ink-muted);font:700 var(--text-meta)/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.scene-mode{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1.5px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-ink)}.scene-card h3{margin:var(--space-1) 0 0;font:700 var(--text-xl)/1.12 "Space Grotesk",var(--font-sans);letter-spacing:-.03em}.scene-card__body>p{min-height:42px;margin:0;color:var(--color-ink-soft);line-height:1.45;text-wrap:pretty}.scene-card__tags{display:flex;flex-wrap:wrap;gap:5px;margin:var(--space-1) 0 var(--space-2)}.scene-card__tags span{padding:4px 7px;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-ink-soft);font:700 var(--text-meta)/1 var(--font-mono);letter-spacing:.04em}.scene-card__use{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto}.scene-card__preview[data-preview=index-stack] .scene-preview__grid{opacity:.08}.scene-card__preview[data-preview=index-stack] .scene-preview__text{inset:-26px auto auto 18px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;animation:scene-index var(--scene-duration) linear infinite}.scene-card__preview[data-preview=index-stack] .scene-preview__text>span{display:block;max-width:none;opacity:1;font:850 31px/.88 "Archivo",var(--font-sans);letter-spacing:-.06em;text-align:left}.scene-card__preview[data-preview=index-stack] .scene-preview__text>span:nth-child(3){color:var(--scene-c)}.scene-card__preview[data-preview=crop-giant] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview=crop-giant] .scene-preview__text>span:first-child{max-width:none;font:900 116px/.72 Bodoni Moda,serif;letter-spacing:-.09em;animation:scene-crop var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=marquee-wall] .scene-preview__grid{opacity:.16;background-size:15px 15px}.scene-card__preview[data-preview=marquee-wall] .scene-preview__text>span:first-child{max-width:none;overflow:visible;font:500 20px/1 var(--font-mono);letter-spacing:.12em;text-shadow:-92px -48px var(--scene-c),92px -48px var(--scene-b),-138px 0 var(--scene-b),138px 0 var(--scene-c),-92px 48px var(--scene-c),92px 48px var(--scene-b);animation:scene-wall var(--scene-duration) linear infinite}.scene-card__preview[data-preview=halo-ring] .scene-preview__grid{opacity:.06}.scene-card__preview[data-preview=halo-ring] .scene-preview__ring{width:122px;height:122px;opacity:.72;border-color:var(--scene-b);box-shadow:0 0 0 16px color-mix(in srgb,var(--scene-c) 45%,transparent),0 0 0 34px color-mix(in srgb,var(--scene-c) 22%,transparent);animation:scene-orbit var(--scene-duration) linear infinite}.scene-card__preview[data-preview=halo-ring] .scene-preview__text>span:first-child{max-width:95px;font:500 10px/1 var(--font-mono);letter-spacing:.16em}.scene-card__preview[data-preview=moire-field] .scene-preview__grid{opacity:.46;background-size:6px 6px;transform-origin:center;animation:scene-moire var(--scene-duration) linear infinite}.scene-card__preview[data-preview=moire-field] .scene-preview__text>span:first-child{max-width:none;overflow:visible;font:300 14px/1 var(--font-mono);letter-spacing:.06em;text-shadow:-88px -52px var(--scene-c),0 -52px var(--scene-b),88px -52px var(--scene-c),-132px 0 var(--scene-b),132px 0 var(--scene-b),-88px 52px var(--scene-c),0 52px var(--scene-b),88px 52px var(--scene-c)}.scene-card__preview[data-preview=terminal-sweep] .scene-preview__grid{opacity:.18;background-size:22px 22px}.scene-card__preview[data-preview=terminal-sweep] .scene-preview__text{place-items:start;padding:23px 20px}.scene-card__preview[data-preview=terminal-sweep] .scene-preview__text>span:first-child{max-width:100%;white-space:pre;font:500 13px/1.35 var(--font-mono);letter-spacing:.05em;text-align:left;animation:scene-terminal var(--scene-duration) steps(8,end) infinite}.scene-card__preview[data-preview=unspool] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview=unspool] .scene-preview__ring{width:108px;height:108px;opacity:.82;border-style:dashed;border-color:var(--scene-c);animation:scene-unspool-ring var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=unspool] .scene-preview__text>span:first-child{max-width:none;font:650 17px/1 "Syne",var(--font-sans);letter-spacing:.03em;animation:scene-unspool var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=particle-cut] .scene-preview__grid{opacity:.04}.scene-card__preview[data-preview=particle-cut] .scene-preview__text{align-items:end;padding-bottom:26px}.scene-card__preview[data-preview=particle-cut] .scene-preview__text>span:first-child{font:850 48px/.85 "Archivo",var(--font-sans);letter-spacing:-.07em;text-shadow:0 0 1px currentColor;animation:scene-particle var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=signal-trace] .scene-preview__grid{opacity:.08}.scene-card__preview[data-preview=signal-trace] .scene-preview__ring{width:76%;height:62px;opacity:.75;border:0;border-top:1px solid var(--scene-c);border-right:1px solid var(--scene-c);border-radius:0;transform:translate(-50%,-50%) skew(-28deg) rotate(-7deg)}.scene-card__preview[data-preview=signal-trace] .scene-preview__text>span:first-child{max-width:none;font:500 11px/1 var(--font-mono);letter-spacing:.09em;animation:scene-trace var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=halftone-press] .scene-preview__grid{opacity:.5;background-image:radial-gradient(color-mix(in srgb,var(--scene-c) 60%,transparent) 1.6px,transparent 1.8px);background-size:7px 7px;-webkit-mask-image:none;mask-image:none}.scene-card__preview[data-preview=halftone-press] .scene-preview__text>span:first-child{max-width:none;font:850 62px/.85 "Archivo",var(--font-sans);letter-spacing:-.07em;animation:scene-halftone var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=type-assembly] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview=type-assembly] .scene-preview__text>span:first-child{max-width:none;font:650 26px/1 "Space Grotesk",var(--font-sans);animation:scene-assembly var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=tide-line] .scene-preview__grid{opacity:.06}.scene-card__preview[data-preview=tide-line] .scene-preview__ring{width:78%;height:0;opacity:.7;border:0;border-top:1px solid var(--scene-c);border-radius:0;transform:translate(-50%,14px)}.scene-card__preview[data-preview=tide-line] .scene-preview__text>span:first-child{max-width:none;font:400 12px/1 var(--font-mono);letter-spacing:.12em;animation:scene-tide var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=sand-fall] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview=sand-fall] .scene-preview__text{align-items:start;padding-top:24px}.scene-card__preview[data-preview=sand-fall] .scene-preview__text>span:first-child{max-width:none;font:800 54px/.85 Bodoni Moda,serif;letter-spacing:-.05em;animation:scene-sand var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=arch-bend] .scene-preview__grid{opacity:.06}.scene-card__preview[data-preview=arch-bend] .scene-preview__ring{width:74%;height:0;opacity:.6;border:0;border-top:1px solid var(--scene-c);border-radius:0;transform:translate(-50%,26px)}.scene-card__preview[data-preview=arch-bend] .scene-preview__text>span:first-child{max-width:none;font:700 32px/1 "Syne",var(--font-sans);letter-spacing:.02em;animation:scene-arch var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=helix-climb] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview=helix-climb] .scene-preview__text{animation:scene-drum var(--scene-duration) linear infinite}.scene-card__preview[data-preview=helix-climb] .scene-preview__text>span{max-width:none;opacity:1;font:600 15px/1 "Space Grotesk",var(--font-sans);letter-spacing:.06em;backface-visibility:hidden}.scene-card__preview[data-preview=helix-climb] .scene-preview__text>span:nth-child(1){transform:translateY(-32px) rotateY(30deg) translateZ(48px)}.scene-card__preview[data-preview=helix-climb] .scene-preview__text>span:nth-child(2){color:var(--scene-c);transform:rotateY(150deg) translateZ(48px)}.scene-card__preview[data-preview=helix-climb] .scene-preview__text>span:nth-child(3){color:var(--scene-c);transform:translateY(32px) rotateY(270deg) translateZ(48px)}.scene-card__preview[data-preview=raking-light]{background:linear-gradient(115deg,var(--scene-c) -30%,var(--scene-a) 45%)}.scene-card__preview[data-preview=raking-light] .scene-preview__grid{opacity:.04}.scene-card__preview[data-preview=raking-light] .scene-preview__text>span:first-child{font-family:"Roboto Slab",var(--font-serif, serif);letter-spacing:-.01em;animation:scene-relief var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=cylinder-drum] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview=cylinder-drum] .scene-preview__text{animation:scene-drum var(--scene-duration) linear infinite}.scene-card__preview[data-preview=cylinder-drum] .scene-preview__text>span{max-width:none;opacity:1;font:700 21px/1 "Archivo",var(--font-sans);letter-spacing:.04em;backface-visibility:hidden}.scene-card__preview[data-preview=cylinder-drum] .scene-preview__text>span:nth-child(1){transform:translateZ(58px)}.scene-card__preview[data-preview=cylinder-drum] .scene-preview__text>span:nth-child(2){color:var(--scene-c);transform:rotateY(120deg) translateZ(58px)}.scene-card__preview[data-preview=cylinder-drum] .scene-preview__text>span:nth-child(3){color:var(--scene-c);transform:rotateY(240deg) translateZ(58px)}.scene-card__preview[data-preview=monolith]{background:radial-gradient(circle at 68% 35%,var(--scene-c),var(--scene-a) 60%)}.scene-card__preview[data-preview=monolith] .scene-preview__text>span:first-child{font-family:"Archivo",var(--font-sans);animation:scene-monolith var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=blueprint] .scene-preview__grid{opacity:.62;background-size:14px 14px}.scene-card__preview[data-preview=blueprint] .scene-preview__text>span:first-child{font-family:"Space Grotesk",var(--font-sans);letter-spacing:.05em;animation:scene-blueprint var(--scene-duration) linear infinite}.scene-card__preview[data-preview=depth-stack] .scene-preview__text>span,.scene-card__preview[data-preview=overprint-register] .scene-preview__text>span{opacity:1}.scene-card__preview[data-preview=depth-stack] .scene-preview__text>span{font-family:"Anybody",var(--font-sans)}.scene-card__preview[data-preview=depth-stack] .scene-preview__text>span:nth-child(1){transform:translate3d(-22px,14px,24px)}.scene-card__preview[data-preview=depth-stack] .scene-preview__text>span:nth-child(2){color:var(--scene-c);transform:translate3d(1px,-1px,-46px) scale(.78)}.scene-card__preview[data-preview=depth-stack] .scene-preview__text>span:nth-child(3){color:var(--scene-c);opacity:.38;transform:translate3d(28px,-18px,-110px) scale(.55)}.scene-card__preview[data-preview=depth-stack] .scene-preview__text{animation:scene-ledger var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=overprint-register] .scene-preview__grid{opacity:.2;background-size:24px 24px}.scene-card__preview[data-preview=overprint-register] .scene-preview__text>span{font-family:"Archivo",var(--font-sans);mix-blend-mode:multiply}.scene-card__preview[data-preview=overprint-register] .scene-preview__text>span:nth-child(1){color:var(--scene-b)}.scene-card__preview[data-preview=overprint-register] .scene-preview__text>span:nth-child(2){color:var(--scene-c);animation:scene-register-b var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=overprint-register] .scene-preview__text>span:nth-child(3){color:color-mix(in srgb,var(--scene-b),var(--scene-c));animation:scene-register-c var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview^=musgo-] .scene-preview__grid{opacity:.05}.scene-card__preview[data-preview^=musgo-] .scene-preview__text>span{z-index:1;max-width:92%;opacity:0;letter-spacing:var(--ls);animation-duration:var(--scene-duration);animation-iteration-count:infinite;animation-fill-mode:both}.scene-card__preview[data-preview^=musgo-] .scene-preview__text>span:nth-child(1){--ls: -.06em;font-size:40px}.scene-card__preview[data-preview^=musgo-] .scene-preview__text>span:nth-child(2){--ls: .2em;font-size:15px;font-weight:600;animation-delay:calc(var(--scene-duration) * .344)}.scene-card__preview[data-preview^=musgo-] .scene-preview__text>span:nth-child(3){--ls: -.01em;font-size:26px;animation-delay:calc(var(--scene-duration) * .688)}.scene-card__preview[data-preview=musgo-elastic]{background:var(--scene-a)}.scene-card__preview[data-preview=musgo-elastic] .scene-preview__text>span{font-family:"Anybody",var(--font-sans);animation-name:musgo-elastic}.scene-card__preview[data-preview=musgo-elastic] .scene-preview__ring{top:auto;bottom:30px;left:0;width:100%;height:0;border:0;border-top:1px solid var(--scene-c);border-radius:0;opacity:.5;transform:none}.scene-card__preview[data-preview=musgo-assembly] .scene-preview__grid{opacity:.1;background-size:15px 15px}.scene-card__preview[data-preview=musgo-assembly] .scene-preview__text>span{font-family:"Space Grotesk",var(--font-sans);animation-name:musgo-assembly}.scene-card__preview[data-preview=musgo-morph] .scene-preview__grid{opacity:.14;background-size:12px 12px}.scene-card__preview[data-preview=musgo-morph] .scene-preview__text>span{font-family:"IBM Plex Mono",var(--font-mono);font-weight:600;animation-name:musgo-morph}.scene-card__preview[data-preview=musgo-camera]{perspective:620px}.scene-card__preview[data-preview=musgo-camera] .scene-preview__text{animation:musgo-camera-move var(--scene-duration) ease-in-out infinite}.scene-card__preview[data-preview=musgo-camera] .scene-preview__text>span{font-family:"Archivo",var(--font-sans);animation-name:musgo-camera}.scene-card__preview[data-preview=musgo-chaos] .scene-preview__text>span{font-family:"Syne",var(--font-sans);animation-name:musgo-chaos}.scene-card__preview[data-preview=musgo-chaos] .scene-preview__ring{top:44%;left:0;width:100%;height:10px;border:0;border-radius:0;background:var(--scene-c);transform:none;animation:musgo-cut var(--scene-duration) steps(1,end) infinite}.scene-card__preview[data-preview=musgo-soft] .scene-preview__text>span{font-family:"Inter",var(--font-sans);animation-name:musgo-wipe}.scene-card__preview[data-preview=musgo-zoom] .scene-preview__text>span{font-family:"Archivo",var(--font-sans);animation-name:musgo-graphiczoom}.scene-card__preview[data-preview=musgo-editorial] .scene-preview__text{place-items:center start;padding-left:22px}.scene-card__preview[data-preview=musgo-editorial] .scene-preview__text>span{font-family:"Archivo",var(--font-sans);text-align:left;animation-name:musgo-slide}.scene-card__preview[data-preview=musgo-editorial] .scene-preview__ring{top:auto;bottom:44px;left:0;width:100%;height:0;border:0;border-top:2px solid var(--scene-c);border-radius:0;opacity:.85;transform:none;animation:musgo-rule var(--scene-duration) ease-out infinite}.scene-card__preview[data-preview=musgo-gradient]{background:radial-gradient(120% 90% at 78% 18%,var(--scene-c),transparent 62%),var(--scene-a)}.scene-card__preview[data-preview=musgo-gradient] .scene-preview__grid{opacity:0}.scene-card__preview[data-preview=musgo-gradient] .scene-preview__text>span{font-family:"Space Grotesk",var(--font-sans);animation-name:musgo-bloom}.scene-card__preview[data-preview=musgo-playful] .scene-preview__text>span{font-family:"Anybody",var(--font-sans);animation-name:musgo-kick}.scene-card__preview[data-preview=musgo-playful] .scene-preview__ring{top:30%;left:auto;right:26px;width:13px;height:13px;border:0;border-radius:50%;background:var(--scene-c);opacity:1;transform:none;animation:musgo-dot var(--scene-duration) ease-out infinite}.scene-card__preview[data-preview=musgo-reframe] .scene-preview__text{animation:musgo-drift var(--scene-duration) linear infinite}.scene-card__preview[data-preview=musgo-reframe] .scene-preview__text>span{font-family:"Syne",var(--font-sans);animation-name:musgo-push}@keyframes musgo-wipe{0%,2%{opacity:0;clip-path:inset(0 100% 0 0)}4%{opacity:1}20%,31%{clip-path:inset(0 -2% 0 0)}34%{opacity:1}35%,to{opacity:0}}@keyframes musgo-graphiczoom{0%,2%{opacity:0;transform:scale(7)}4%{opacity:1}20%,26%{transform:scale(1)}34%{opacity:1;transform:scale(7)}35%,to{opacity:0;transform:scale(7)}}@keyframes musgo-slide{0%,2%{opacity:0;transform:translate(-30px)}4%{opacity:1}16%,31%{transform:none}34%{opacity:1}35%,to{opacity:0}}@keyframes musgo-bloom{0%,2%{opacity:0;letter-spacing:calc(var(--ls) - .12em);transform:scale(.82)}4%{opacity:1}22%,31%{letter-spacing:var(--ls);transform:none}34%{opacity:1}35%,to{opacity:0}}@keyframes musgo-kick{0%,2%{opacity:0;transform:translateY(-22px) scaleY(1.3)}4%{opacity:1}8%{transform:scale(1.16,.8)}13%,22%{transform:none}25%{transform:scale(1.04,.93)}29%,31%{transform:none}34%{opacity:1}35%,to{opacity:0}}@keyframes musgo-push{0%,2%{opacity:0;transform:scale(1.1)}4%{opacity:1}31%{transform:scale(.99)}34%{opacity:1}35%,to{opacity:0}}@keyframes musgo-drift{0%{transform:translate(11px) rotate(-1.1deg)}to{transform:translate(-11px) rotate(.9deg)}}@keyframes musgo-rule{0%,2%{transform:translate(46%)}16%,34%{transform:none}35%,to{transform:translate(46%)}}@keyframes musgo-dot{0%,22%{transform:scale(1)}25%{transform:scale(.45)}30%,to{transform:scale(1)}}@keyframes musgo-elastic{0%,2%{opacity:0;transform:scale(.72,1.5)}3%{opacity:1;transform:scale(.72,1.5)}7%{transform:scale(1.26,.7)}11%{transform:scale(.94,1.08)}15%,31%{transform:none}34%{opacity:1;transform:scale(.82,1.34)}35%,to{opacity:0;transform:scale(.82,1.34)}}@keyframes musgo-assembly{0%,2%{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(1.2);filter:blur(5px)}4%{opacity:1}19%{clip-path:inset(0 0 0 0);transform:none;filter:blur(0)}31%{opacity:1;clip-path:inset(0 0 0 0);transform:none;filter:blur(0)}34%{opacity:1;transform:scale(.88);filter:blur(3px)}35%,to{opacity:0}}@keyframes musgo-morph{0%,2%{opacity:0;letter-spacing:calc(var(--ls) + .42em);filter:blur(4px)}4%{opacity:1}22%,31%{letter-spacing:var(--ls);filter:blur(0)}34%{opacity:1;letter-spacing:calc(var(--ls) + .2em);filter:blur(2px)}35%,to{opacity:0}}@keyframes musgo-camera{0%,2%{opacity:0;transform:translateZ(-230px) rotateX(70deg)}4%{opacity:1}21%,31%{transform:translateZ(0) rotateX(0)}34%{opacity:1;transform:translateZ(110px) rotateX(-20deg)}35%,to{opacity:0}}@keyframes musgo-camera-move{0%,to{transform:translate(-14px)}34%{transform:translate(12px)}69%{transform:translate(-8px)}}@keyframes musgo-chaos{0%,2%{opacity:0;transform:rotate(-17deg) translateY(28px)}4%{opacity:1}9%{transform:rotate(4deg) translateY(-5px)}13%{transform:rotate(-1.5deg)}17%,21%{transform:none}22%{transform:translate(1.5px,-1.5px)}23%,31%{transform:none}34%{opacity:1;transform:rotate(12deg) translateY(-22px)}35%,to{opacity:0}}@keyframes musgo-cut{0%,34%{opacity:0}35%{opacity:.8}37%,68%{opacity:0}69%{opacity:.8}71%,to{opacity:0}}@keyframes scene-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scene-index{to{transform:translateY(34px)}}@keyframes scene-crop{0%,to{transform:translate(-24px)}50%{transform:translate(30px)}}@keyframes scene-wall{0%{transform:translate(-46px)}to{transform:translate(46px)}}@keyframes scene-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes scene-moire{to{transform:rotate(180deg) scale(1.35)}}@keyframes scene-terminal{0%,10%,92%,to{opacity:.4;filter:blur(1px)}26%,76%{opacity:1;filter:none}}@keyframes scene-unspool{0%,10%,88%,to{transform:scaleX(1.3)}38%,62%{transform:rotate(-24deg) scale(.72);letter-spacing:.13em}}@keyframes scene-unspool-ring{0%,10%,88%,to{opacity:0;transform:translate(-50%,-50%) scale(.3)}38%,62%{opacity:.55;transform:translate(-50%,-50%) scale(1) rotate(220deg)}}@keyframes scene-particle{0%,8%,92%,to{clip-path:inset(0);filter:none}38%,55%{clip-path:polygon(0 0,100% 0,100% 42%,54% 47%,47% 64%,0 60%);filter:blur(.35px)}}@keyframes scene-trace{0%,to{transform:translate(-92px,27px) rotate(8deg)}50%{transform:translate(91px,-25px) rotate(-7deg)}}@keyframes scene-halftone{0%,8%,92%,to{filter:blur(2.6px) contrast(4.5)}40%,60%{filter:none}}@keyframes scene-assembly{0%,8%{opacity:.25;letter-spacing:.5em;filter:blur(1.6px);transform:translateY(-7px) rotate(-4deg)}38%,62%{opacity:1;letter-spacing:normal;filter:none;transform:none}92%,to{opacity:.25;letter-spacing:.5em;filter:blur(1.6px);transform:translateY(7px) rotate(4deg)}}@keyframes scene-tide{0%,to{transform:translateY(-9px)}25%{transform:translateY(5px)}50%{transform:translateY(9px)}75%{transform:translateY(-5px)}}@keyframes scene-drum{to{transform:rotateY(360deg)}}@keyframes scene-sand{0%,8%,92%,to{clip-path:inset(0 0 0 0);opacity:1}45%,58%{clip-path:inset(0 0 48% 0);opacity:.82}}@keyframes scene-arch{0%,10%,90%,to{transform:none}40%,62%{transform:perspective(220px) rotateX(34deg) scale(1.12)}}@keyframes scene-relief{0%,to{transform:rotateY(-16deg) rotateX(7deg)}50%{transform:rotateY(16deg) rotateX(-7deg)}}@keyframes scene-monolith{0%,18%,88%,to{transform:rotateY(82deg) scaleX(.28)}40%,68%{transform:rotateY(0) scaleX(1)}}@keyframes scene-blueprint{to{transform:rotateY(360deg)}}@keyframes scene-ledger{0%,to{transform:translate(-10px) rotateY(-9deg)}50%{transform:translate(9px) rotateY(5deg)}}@keyframes scene-register-b{0%,to{transform:translate(-2px,1px)}50%{transform:translate(14px,-7px)}}@keyframes scene-register-c{0%,to{transform:translate(2px,-1px)}50%{transform:translate(-14px,7px)}}.reset-confirm{border:var(--border-hard);box-shadow:var(--shadow-hard-lift)}.reset-confirm h2{margin:0;color:var(--color-ink);font:700 var(--text-xl)/1.2 "Space Grotesk",var(--font-sans);letter-spacing:-.025em;text-transform:none}.reset-confirm>p:not(.project-kicker){margin:0;color:var(--color-ink-soft)}@keyframes dashboard-arrive{0%{opacity:0;transform:translateY(8px)}}.settings-menu .top-menu-panel{left:auto;right:0}.menu-hint{margin:var(--space-2) var(--space-2) 2px;color:var(--color-ink-muted);font-size:var(--text-sm)}.lang-tag{display:grid;place-items:center;height:26px;border:1.5px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-surface-2);font:700 var(--text-meta) var(--font-mono);text-transform:uppercase}.lang-banner{position:fixed;z-index:30;top:calc(56px + var(--space-3));right:var(--space-4);width:320px;display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:menu-rise .18s cubic-bezier(.2,.8,.2,1)}.lang-banner p{margin:0;padding-right:var(--space-4);font-weight:600}.lang-banner small{color:var(--color-ink-muted);font-size:var(--text-sm)}.lang-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.lang-banner-close{position:absolute;top:var(--space-2);right:var(--space-2)}@media (prefers-reduced-motion: reduce){.lang-banner{animation:none}}.stage{display:grid;grid-template-columns:var(--stack-w, 264px) 5px 1fr 5px var(--inspector-w, 288px);min-height:0}.stack{border-right:1px solid var(--color-line);background:var(--color-surface);overflow-y:auto}.stack-switch{position:sticky;top:0;z-index:2;display:flex;gap:3px;padding:var(--space-2);border-bottom:1px solid var(--color-line);background:var(--color-surface)}.stack-switch button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:30px;padding:0 8px;border:1px solid transparent;background:var(--color-surface-2);color:var(--color-ink-soft);box-shadow:none;font:700 var(--text-meta)/1 var(--font-mono);letter-spacing:var(--track-meta);text-transform:uppercase}.stack-switch button:hover{color:var(--color-ink);border-color:var(--color-line-strong)}.stack-switch button.is-active{color:var(--color-ink);background:var(--color-surface);border-color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink);transform:translate(-1px,-1px)}.stack-switch-icon{display:block;width:11px;height:11px;flex:none;border:1.5px solid currentColor}.stack-switch-icon--text{background:var(--cat-sky)}.stack-switch-icon--background{background:var(--cat-yellow);border-style:dashed}.stack-add{position:relative;z-index:3;padding:var(--space-2) var(--space-3) 0}.stack-add-trigger{width:100%;justify-content:center;border:1.5px solid var(--color-ink);background:var(--color-surface);font-weight:700;box-shadow:3px 3px 0 var(--color-ink)}.stack-add-trigger:hover,.stack-add-trigger[aria-expanded=true]{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--color-ink)}.stack-add-trigger>span{font:700 18px/1 var(--font-mono);color:var(--color-accent)}.stack-add-menu{position:absolute;top:calc(100% + 7px);left:var(--space-3);right:var(--space-3);padding:var(--space-2);background:var(--color-surface);border:var(--border-hard);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:menu-rise .18s cubic-bezier(.2,.8,.2,1)}.stack-add-menu>p{margin:2px 4px var(--space-2);color:var(--color-ink-muted);font:700 var(--text-meta)/1.2 var(--font-mono);letter-spacing:var(--track-meta);text-transform:uppercase}.stack-add-choices{display:grid;gap:6px}.stack-add-choices button{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;min-height:48px;padding:6px;text-align:left;background:var(--color-surface-2);border-color:transparent}.stack-add-choices button:hover{border-color:var(--color-ink)}.stack-add-choices button>span:last-child{display:grid;gap:2px}.stack-add-choices small{color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:400}.stack-add-glyph{display:grid;place-items:center;width:26px;height:26px;border:1.5px solid var(--color-ink);font:700 var(--text-sm)/1 var(--font-mono)}.stack-add-glyph--text{background:var(--cat-sky)}.stack-add-glyph--modifier{background:var(--cat-yellow)}.stack-add-glyph--effect{background:var(--cat-mint)}.stack-add-back{height:26px;margin-bottom:5px;padding:2px 6px;border:0;background:transparent;color:var(--color-ink-soft)}.stack-effect-list{display:grid;max-height:250px;overflow-y:auto;border-top:1px solid var(--color-line)}.stack-effect-list button{display:flex;justify-content:space-between;min-height:32px;border:0;border-bottom:1px solid var(--color-line);border-radius:0;background:transparent;text-align:left}.stack-effect-list button:hover{background:var(--color-accent-wash)}.stack-effect-list button span{color:var(--color-accent);font-weight:700}.stack .panel{border-bottom:none}.stack .num{grid-template-columns:78px 1fr auto auto}.stack textarea{font-family:var(--ui);resize:vertical}.morph-target{display:grid;gap:5px}.morph-target>span{color:var(--color-ink-soft);font-size:var(--text-sm)}.morph-target textarea{min-height:58px;font-family:var(--ui);resize:vertical}.text-stack-button{width:100%;justify-content:center}.viewport{position:relative;display:grid;place-items:center;background:var(--color-stage-bg);color:var(--color-stage-text);overflow:hidden;padding:var(--space-4)}.viewport:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;background-image:linear-gradient(var(--color-stage-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-stage-line) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(circle at center,transparent 15%,var(--color-stage-bg) 100%);mask-image:radial-gradient(circle at center,transparent 15%,var(--color-stage-bg) 100%)}.viewport-frame{position:relative;z-index:1;flex:none}.viewport-frame.is-transparent{--checker: color-mix(in srgb, var(--color-stage-line) 55%, transparent);background-color:var(--color-stage-surface);background-image:linear-gradient(45deg,var(--checker) 25%,transparent 25%,transparent 75%,var(--checker) 75%),linear-gradient(45deg,var(--checker) 25%,transparent 25%,transparent 75%,var(--checker) 75%);background-size:16px 16px;background-position:0 0,8px 8px;border-radius:var(--radius-sm)}.viewport canvas{position:relative;display:block;border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--color-stage-line),0 14px 44px color-mix(in srgb,var(--color-stage-bg) 78%,transparent);touch-action:none;cursor:grab}.viewport canvas:active{cursor:grabbing}.viewport--2d canvas,.viewport--2d canvas:active{cursor:default}.viewport--2d .viewport-frame{box-shadow:7px 7px color-mix(in srgb,var(--cat-yellow) 80%,var(--color-stage-bg));border-radius:var(--radius-sm)}.fallback{position:absolute;color:var(--color-accent)}.view2d-bar{position:absolute;z-index:4;top:var(--space-3);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;max-width:calc(100% - 24px);padding:5px;color:var(--color-stage-text);background:color-mix(in srgb,var(--color-stage-surface) 96%,transparent);border:1px solid var(--color-stage-line);border-radius:var(--radius-md);box-shadow:0 5px 20px color-mix(in srgb,var(--color-stage-bg) 50%,transparent)}.view2d-bar button{height:28px;padding:0 9px;color:var(--color-stage-text);background:var(--color-stage-surface);border-color:var(--color-stage-line);font-size:var(--text-sm)}.view2d-bar button.on{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent);box-shadow:none}.view2d-bar output{min-width:42px;text-align:center;color:var(--color-stage-muted);font:var(--text-xs) var(--font-mono)}.view2d-mode{display:flex;align-items:center;gap:7px;padding:0 6px 0 4px;font-size:var(--text-sm);font-weight:700}.view2d-mode>span{width:11px;height:11px;border:1.5px solid currentColor;background:var(--cat-yellow);box-shadow:2px 2px 0 currentColor}.view2d-divider{width:1px;height:19px;margin:0 2px;background:var(--color-stage-line)}.composition-grid,.safe-guides,.composition-axis{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-sm);pointer-events:none}.composition-grid{background-image:linear-gradient(color-mix(in srgb,var(--cat-sky) 45%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--cat-sky) 45%,transparent) 1px,transparent 1px);background-size:12.5% 12.5%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cat-sky) 65%,transparent)}.composition-axis:before,.composition-axis:after{content:"";position:absolute;background:color-mix(in srgb,var(--cat-yellow) 72%,transparent)}.composition-axis:before{width:1px;inset-block:0;left:50%}.composition-axis:after{height:1px;inset-inline:0;top:50%}.safe-guides{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cat-mint) 80%,transparent)}.safe-guides i,.safe-guides b{position:absolute;display:block;border:1px dashed var(--cat-mint)}.safe-guides i{top:5%;right:5%;bottom:5%;left:5%}.safe-guides b{top:10%;right:10%;bottom:10%;left:10%}.draw-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.draw-layer polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.draw-guide{stroke:color-mix(in srgb,var(--cat-mint) 70%,transparent);stroke-width:1.5;stroke-dasharray:5 4}.draw-live{stroke:var(--color-accent);stroke-width:2.5}.viewport-frame.is-drawing canvas,.viewport-frame.is-drawing canvas:active{cursor:crosshair}.viewport.previewing .draw-badge{bottom:54px}.viewport.previewing canvas{box-shadow:0 0 0 1px var(--color-accent),0 0 0 5px var(--color-accent-wash)}.preview-badge,.draw-badge{position:absolute;z-index:2;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;margin:0;max-width:calc(100% - 32px);padding:5px 10px 5px 5px;background:color-mix(in srgb,var(--color-stage-surface) 94%,transparent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);box-shadow:0 5px 20px color-mix(in srgb,var(--color-stage-bg) 50%,transparent);font:var(--text-sm) var(--font-mono);color:var(--color-stage-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.preview-badge span,.draw-badge span{flex:none;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font:700 var(--text-xs)/1.3 var(--font-sans)}.nav-bar{position:absolute;z-index:2;top:calc(var(--space-3) + 42px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:5px;color:var(--color-stage-text);background:color-mix(in srgb,var(--color-stage-surface) 94%,transparent);border:1px solid var(--color-stage-line);border-radius:var(--radius-md);box-shadow:0 5px 20px color-mix(in srgb,var(--color-stage-bg) 50%,transparent)}.nav-bar select{width:auto;height:28px;padding:3px 24px 3px 7px;color:var(--color-stage-text);background:var(--color-stage-bg);border-color:var(--color-stage-line);font-family:var(--font-sans)}.nav-bar button{height:28px;color:var(--color-stage-text);background:var(--color-stage-surface);border-color:var(--color-stage-line);font-size:var(--text-sm)}.nav-bar button.on{color:var(--color-on-accent);background:var(--color-accent)}.nav-help{color:var(--color-stage-muted);font:var(--text-xs) var(--font-mono);white-space:nowrap;padding:0 5px}@media (max-width: 720px){.nav-help{display:none}}.inspector{border-left:1px solid var(--color-line);background:var(--color-surface);overflow-y:auto}.workspace-context{display:flex;align-items:center;gap:9px;min-height:46px;padding:7px var(--space-3);border-bottom:1px solid var(--color-line);background:var(--color-surface-2)}.workspace-context>span{width:16px;height:16px;flex:none;border:1.5px solid var(--color-ink)}.workspace-context--2d>span{background:var(--cat-yellow);box-shadow:3px 3px 0 var(--color-ink)}.workspace-context--3d>span{background:var(--cat-sky);transform:rotate(30deg) skewY(-18deg)}.workspace-context--bg>span{background:var(--cat-yellow);border-style:dashed;box-shadow:3px 3px 0 var(--color-ink)}.workspace-context p{display:grid;gap:1px;margin:0;line-height:1.1}.workspace-context .workspace-switch--inline{margin-left:auto;flex:none}.workspace-switch--inline button{height:28px;padding-inline:var(--space-2);font-size:var(--text-sm)}.workspace-context strong{font-size:var(--text-sm)}.workspace-context small{color:var(--color-ink-muted);font:var(--text-meta) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.tabs{display:flex;border-bottom:1px solid var(--color-line);position:sticky;top:0;z-index:2;background:var(--color-surface)}.tabs button{flex:1;border:none;border-radius:0;background:none;height:36px;padding:0 4px;font-size:var(--text-sm)}.tabs button.on{color:var(--focus);box-shadow:inset 0 -2px 0 var(--focus)}.effect-filters{display:flex;flex-wrap:wrap;gap:5px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-line);background:var(--color-surface)}.effect-filters button{height:26px;padding:0 10px;border-radius:var(--radius-pill);font-size:var(--text-sm)}.effect-filters button.on{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent);font-weight:700}.panel{padding:var(--space-3);border-bottom:1px solid var(--color-line)}.panel h2{color:var(--color-ink-muted);font:700 var(--text-meta)/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-meta);margin:0 0 var(--space-2)}.panel>*+*{margin-top:8px}.hint{color:var(--color-ink-soft);font-size:var(--text-sm);margin:0}.presets{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.presets button{min-height:36px;height:auto;border:1.5px solid var(--color-line-strong);background:var(--color-surface)}.presets button:not(:disabled):hover{border-color:var(--color-ink);background:var(--color-accent-wash);box-shadow:inset 0 0 0 1px var(--color-ink)}.shape-motion-presets button:first-child{grid-column:1 / -1;min-height:30px}.layout-presets button{min-height:32px}.stack-paused{display:flex;align-items:center;gap:7px;margin:0 0 var(--space-3);padding:7px 8px;color:var(--color-ink-soft);border:1px dashed var(--color-line-strong);border-radius:var(--radius-sm);font-size:var(--text-xs)}.stack-paused span{width:8px;height:8px;border:1px solid currentColor;background:var(--cat-yellow)}.check{display:flex;gap:8px;align-items:center;font-size:var(--text-sm)}.check input{width:auto}.presets button,.add-control,.check{position:relative}.presets button.on{box-shadow:inset 0 -2px 0 var(--focus);font-weight:600}.source-confirm{animation:source-confirm .76s cubic-bezier(.16,1,.3,1)}.source-confirm:after{content:"✓";position:absolute;z-index:3;top:-7px;right:-6px;display:grid;place-items:center;width:18px;height:18px;border-radius:var(--radius-circle);color:var(--color-on-accent);background:var(--color-accent);box-shadow:0 3px 12px color-mix(in srgb,var(--color-accent) 42%,transparent);font:700 var(--text-xs)/1 var(--font-sans);pointer-events:none;animation:confirm-mark .76s cubic-bezier(.16,1,.3,1) both}@keyframes source-confirm{25%{border-color:var(--signal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 55%,transparent)}}@keyframes confirm-mark{0%{opacity:0;transform:scale(.35) rotate(-18deg)}24%,78%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(.75)}}.num{display:grid;grid-template-columns:84px 1fr auto auto;align-items:center;gap:6px}.num-label{color:var(--color-ink-soft);font-size:var(--text-sm);cursor:ew-resize;-webkit-user-select:none;user-select:none}.unit{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.diamond{width:14px;height:14px;padding:0;border-radius:0;background:none;border:1px solid var(--slate);transform:rotate(45deg)}.diamond.animated{border-color:var(--signal)}.diamond.on{background:var(--signal);border-color:var(--signal)}.context-menu{position:fixed;z-index:100;width:230px;padding:6px;background:var(--color-surface);border:var(--border-hard);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);animation:menu-rise .12s cubic-bezier(.2,.8,.2,1)}.context-menu-title{padding:5px 8px 7px;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink-muted);font:700 var(--text-meta)/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-meta)}.context-menu button{display:flex;justify-content:space-between;width:100%;min-height:30px;padding:6px 8px;border:0;background:transparent;text-align:left;color:var(--color-ink)}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible{background:var(--color-accent-wash)}.context-menu button.danger{color:var(--color-danger)}.context-menu-divider{display:block;height:1px;margin:5px 4px;background:var(--color-line)}.mod{position:relative;border:var(--border-hard);border-radius:var(--radius-md);margin:0 5px var(--space-4) 0;background:var(--color-surface);box-shadow:var(--shadow-hard);transition:border-color var(--duration-ui) ease,box-shadow var(--duration-ui) ease,opacity var(--duration-ui) ease,transform var(--duration-ui) ease}.mod.off{opacity:.62}.mod:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--color-ink)}.mod-head{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 6px;border-bottom:1px solid var(--color-line)}.mod-head button{background:none;border:none;padding:2px 5px}.mod-name{flex:1;text-align:left;font-weight:600;font-size:var(--text-sm);display:flex;align-items:center;gap:6px}.mod-body{padding:6px 8px 8px;display:grid;gap:6px}.mod-body .num{grid-template-columns:96px 1fr auto auto}.mod-collapse{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),opacity .18s ease,visibility 0s linear .28s}.mod-collapse.is-open{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .36s cubic-bezier(.16,1,.3,1),opacity .22s ease 40ms,visibility 0s}.mod-collapse-inner{min-height:0;overflow:hidden}.drag-handle{width:20px;min-width:20px;height:26px;cursor:grab;color:var(--color-ink-muted);touch-action:none}.drag-handle:hover,.drag-handle:focus-visible{color:var(--color-accent)}.drag-handle:active{cursor:grabbing}.drag-handle svg{display:block;width:10px;height:16px;margin:auto;fill:currentColor}.mod.is-dragging{opacity:.32;border-style:dashed}.mod.drop-before{box-shadow:0 -3px 0 var(--focus),0 -7px 16px color-mix(in srgb,var(--focus) 28%,transparent)}.mod.drop-after{box-shadow:0 3px 0 var(--focus),0 7px 16px color-mix(in srgb,var(--focus) 28%,transparent)}.mod.is-new{animation:stack-arrival 1.5s cubic-bezier(.16,1,.3,1) both;overflow:clip}.mod.is-new:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 22%,color-mix(in srgb,var(--focus) 18%,transparent) 48%,transparent 72%);transform:translate(-120%);animation:stack-scan .82s 90ms ease-out both}.mod-new{margin-left:auto;padding:1px 5px;border-radius:var(--radius-pill);color:var(--color-on-accent);background:var(--color-accent);font:var(--text-meta)/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}@keyframes stack-arrival{0%{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus),0 0 24px color-mix(in srgb,var(--focus) 32%,transparent)}72%{border-color:var(--focus);box-shadow:0 0 0 1px color-mix(in srgb,var(--focus) 35%,transparent)}to{border-color:var(--slate);box-shadow:none}}@keyframes stack-scan{to{transform:translate(120%)}}.mod-tag{color:var(--color-ink-muted);font:var(--text-meta) var(--font-mono);letter-spacing:.04em;border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);padding:0 5px;font-weight:500;text-transform:uppercase}.mod-fixed{width:13px;height:13px;border-radius:var(--radius-sm);background:var(--slate);flex:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.timeline{border-top:1px solid var(--color-line);background:var(--color-surface);height:var(--timeline-h, auto);max-height:var(--timeline-h, 38vh);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.transport{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-line);cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none}.transport>*{cursor:auto}.transport button{cursor:pointer}.transport .num{grid-template-columns:auto 74px auto;gap:6px}.transport .num-label{white-space:nowrap}.transport button,.transport input,.transport select{height:30px}.timecode{display:inline-flex;align-items:center;height:30px;font-family:var(--font-mono);color:var(--color-accent);min-width:72px;font-weight:700}.loop-toggle{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono)}.loop-toggle.on{border-color:var(--color-accent);background:var(--color-surface-2);font-weight:700}.loop-check{font-size:var(--text-xs)}.lanes{overflow-x:hidden;overflow-y:auto;padding-bottom:8px}.ruler-row,.track-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:8px;padding:0 12px;height:28px}.track-name{color:var(--color-ink-soft);font-size:var(--text-sm);display:flex;justify-content:space-between;align-items:center;overflow:hidden;white-space:nowrap}.lane{position:relative;height:22px;background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);touch-action:none}.lane.ruler{cursor:col-resize}.tick{position:absolute;top:3px;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-meta);transform:translate(2px);border-left:1px solid var(--color-line-strong);padding-left:3px}.playhead{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--signal);pointer-events:none}.playhead.thin{opacity:.4}.kf{position:absolute;top:4px;width:12px;height:12px;margin-left:-6px;padding:0;transform:rotate(45deg);border-radius:0;background:var(--kf-color, #62a8ff);border:1px solid color-mix(in srgb,var(--kf-color, #62a8ff) 70%,white);touch-action:none}.kf>span{display:block;color:#101318;font:800 7px/10px var(--font-mono);transform:rotate(-45deg);pointer-events:none}.kf[data-interp=ease],.kf-swatch[data-interp=ease]{--kf-color: #5fb8ff}.kf[data-interp=ease-in],.kf-swatch[data-interp=ease-in]{--kf-color: #57d68d}.kf[data-interp=ease-out],.kf-swatch[data-interp=ease-out]{--kf-color: #ffd35a}.kf[data-interp=linear],.kf-swatch[data-interp=linear]{--kf-color: #ff923d}.kf[data-interp=back],.kf-swatch[data-interp=back]{--kf-color: #d88cff}.kf[data-interp=elastic],.kf-swatch[data-interp=elastic]{--kf-color: #a878ff}.kf[data-interp=bounce],.kf-swatch[data-interp=bounce]{--kf-color: #f06ed1}.kf[data-interp=hold],.kf-swatch[data-interp=hold]{--kf-color: #98a0ac}.kf[data-interp=hold]{background:var(--color-surface-2)}.kf.selected{z-index:3;outline:2px solid white;outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--kf-color) 45%,transparent),0 0 12px var(--kf-color)}.kf:focus-visible{outline:2px solid white;outline-offset:2px}.key-marquee{position:absolute;z-index:8;pointer-events:none;border:1px solid #8ed8ff;background:color-mix(in srgb,#54bfff 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,white 18%,transparent)}.timeline-footer{min-height:27px;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:3px 12px;border-top:1px solid var(--color-line);background:var(--color-surface-2);color:var(--color-ink-muted);font:var(--text-meta) var(--font-mono)}.selection-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.easing-legend{position:relative;flex:none}.easing-legend summary{cursor:pointer;color:var(--color-ink-soft)}.easing-legend[open]>div{position:absolute;z-index:20;right:0;bottom:calc(100% + 7px);width:250px;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:10px;background:var(--color-surface);border:var(--border-hard);border-radius:var(--radius-md);box-shadow:var(--shadow-hard)}.easing-legend div>span{display:flex;align-items:center;gap:8px;color:var(--color-ink)}.kf-swatch{width:12px;height:12px;display:inline-grid;place-items:center;flex:none;transform:rotate(45deg);background:var(--kf-color);border:1px solid color-mix(in srgb,var(--kf-color) 70%,white);color:#101318;font:800 7px/1 var(--font-mono);font-style:normal}.lanes{position:relative}.effect-group{border-left:2px solid transparent}.effect-row .track-name{gap:4px}.disclosure{flex:none;width:18px;height:18px;padding:0;line-height:1;background:none;border:1px solid transparent;color:var(--color-ink-soft)}.disclosure:hover{border-color:var(--color-line-strong);color:var(--color-ink)}.effect-title{flex:1;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink)}.effect-count{flex:none;font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-muted);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:0 4px}.effect-bar{position:absolute;top:2px;bottom:2px;min-width:6px;padding:0;display:flex;align-items:center;overflow:hidden;background:color-mix(in srgb,var(--focus) 24%,transparent);border:1px solid var(--focus);border-radius:var(--radius-sm);cursor:grab;touch-action:none}.effect-bar:active{cursor:grabbing}.effect-bar.selected{background:color-mix(in srgb,var(--focus) 42%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 45%,transparent)}.effect-bar:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.effect-label{padding:0 10px;font-size:var(--text-meta);color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.effect-tick{position:absolute;top:2px;bottom:2px;width:2px;margin-left:-1px;background:color-mix(in srgb,var(--signal) 70%,transparent);pointer-events:none}.effect-edge{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;touch-action:none}.effect-edge.start{left:0}.effect-edge.end{right:0}.effect-edge:hover{background:color-mix(in srgb,var(--focus) 55%,transparent)}.track-row.nested{padding-left:28px}.track-row.nested .track-name{color:var(--color-ink-muted)}.hint.nested{padding:2px 12px 6px 40px}.drop-marker{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--signal);pointer-events:none}.drop-marker span{position:absolute;top:2px;left:4px;white-space:nowrap;font-size:var(--text-meta);font-family:var(--font-mono);background:var(--color-surface);color:var(--color-ink);border:1px solid var(--signal);border-radius:var(--radius-sm);padding:1px 5px}@media (max-width: 1180px){.stage{grid-template-columns:var(--stack-w, 216px) 5px 1fr 5px var(--inspector-w, 260px)}.stack .num{grid-template-columns:66px 1fr auto auto}}@media (max-width: 900px){.topbar{gap:var(--space-1);padding-inline:var(--space-2)}.topbar button,.topbar .filebtn{padding-inline:var(--space-2)}.brand{width:16px;overflow:hidden;color:transparent;font-size:var(--text-meta)}.brand:before{flex:none}.brand-button{width:34px;padding-inline:var(--space-2)}.projname{width:min(140px,18vw)}.stage{grid-template-columns:1fr;grid-template-rows:1fr auto auto}.stage .splitter{display:none}.stack{max-height:34vh;border-right:none;border-top:1px solid var(--slate);order:3}.inspector{max-height:40vh;border-left:none;border-top:1px solid var(--slate);order:2}.viewport{order:1}.project-dashboard__body{padding:var(--space-6) var(--space-4) var(--space-10)}.project-dashboard__header{padding-inline:var(--space-4)}.project-dashboard__header .brand{width:auto;color:var(--color-ink)}.project-dashboard__header .brand-button{width:auto}.project-dashboard__opening{grid-template-columns:1fr;align-items:start;gap:var(--space-5)}.creator-note{max-width:520px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-5)}.preset-library__header{align-items:start;flex-direction:column}.scene-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width: 560px){.project-dashboard__header{gap:var(--space-2)}.project-dashboard__header .project-dashboard__rule{display:none}.project-dashboard__actions{flex:1;justify-content:flex-end;gap:var(--space-2)}.project-dashboard__actions .coffee{width:var(--control-h);justify-content:center;padding:0}.project-dashboard__actions .coffee__label{display:none}.project-dashboard__new{padding-inline:var(--space-2)}.creator-note{align-items:flex-start;padding:var(--space-4)}.creator-note__avatar{width:64px;height:64px;flex-basis:64px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);display:grid;place-items:center;z-index:50}.sheet{width:min(420px,92vw);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-3);box-shadow:var(--shadow-lg)}.sheet header{display:flex;align-items:center;gap:8px}.sheet h2{color:var(--color-ink-muted);font:700 var(--text-meta)/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-meta);margin:0;flex:1}.sheet label{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:8px;font-size:var(--text-sm)}.sheet label .mono{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.sheet .hint{margin:-4px 0 0;font-size:var(--text-xs)}.sheet footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--slate);padding-top:12px}.sheet footer .status{flex:1;font-size:var(--text-xs)}.sheet progress{width:90px}.contact-sheet{width:min(520px,92vw)}.contact-topics{display:grid;gap:var(--space-2)}.contact-topics button{display:grid;gap:2px;text-align:left;height:auto;padding:8px 10px;border:1px solid var(--color-line)}.contact-topics button.is-selected{border-color:var(--focus);box-shadow:inset 2px 0 0 var(--focus)}.contact-topics button.is-selected strong:before{content:"✓ "}.contact-topics small{color:var(--color-ink-muted);font-size:var(--text-xs)}.contact-sheet label.contact-message{grid-template-columns:1fr;align-items:start}.contact-sheet textarea{width:100%;resize:vertical;font:inherit;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit}.contact-done{margin:0;font-size:var(--text-sm)}
