.stage{border-radius:var(--radius-sm);width:100%;max-height:100%;position:relative;overflow:hidden}.stage iframe{transform-origin:50%;pointer-events:none;border:0;position:absolute;top:50%;left:50%;translate:-50% -50%}.stage-lazy{background:var(--surface-2);border-radius:var(--radius-sm);width:100%;overflow:hidden}.stage-lazy>.stage{border-radius:0;height:100%}.login{place-items:center;display:grid}.login-card{border-radius:var(--radius);background:var(--surface);gap:16px;width:min(360px,100%);padding:28px;display:grid}.login-card h1{margin:0;font-size:24px}.filters{gap:10px;margin-bottom:16px;display:grid}.search{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 16px}.filter-row{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.cards{grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.cards{grid-template-columns:repeat(3,1fr)}}@media (width>=1400px){.cards{grid-template-columns:repeat(4,1fr)}}.card{border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;border:0;gap:6px;width:100%;padding:8px 8px 12px;display:grid}.card-title{padding:0 4px;font-weight:650}.card-meta{flex-wrap:wrap;align-items:center;gap:8px;padding:0 4px;display:flex}.thumb-empty{border-radius:var(--radius-sm);background:var(--surface-2);width:100%}.empty{text-align:center;padding:32px 8px}.drop{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface);place-items:center;gap:6px;padding:48px 20px;display:grid}.local.is-dragging .drop{border-color:var(--accent)}.section-title{color:var(--muted);margin:24px 0 10px;font-size:15px}.example-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.file-btn{align-items:center;display:inline-flex}.player{min-height:100dvh;padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + 12px) calc(var(--safe-bottom) + 12px) calc(var(--safe-left) + 12px);flex-direction:column;gap:10px;display:flex}.player-header{min-height:var(--tap);align-items:center;gap:6px;display:flex}.player-header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:17px;overflow:hidden}.player-main{flex-direction:column;gap:14px;display:flex}.player-stage-col{flex-direction:column;gap:8px;min-width:0;display:flex}.player-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:pointer}.player-stage:fullscreen{background:#000;justify-content:center;align-items:center;display:flex}.player-stage:fullscreen .stage{border-radius:0;width:100vw;height:100vh;max-height:none;aspect-ratio:auto!important}.player-controls{flex-direction:column;gap:6px;display:flex}.player-position{justify-content:space-between;gap:8px;display:flex}.scrub{touch-action:none;cursor:pointer;padding:12px 0 18px;position:relative}.scrub-track{background:var(--surface-2);border-radius:5px;height:10px;position:relative;overflow:visible}.scrub-scene{border-left:2px solid var(--bg);position:absolute;top:0;bottom:0}.scrub-scene:first-child{border-left:0}.scrub-beat{background:var(--muted);opacity:.45;width:1px;position:absolute;top:2px;bottom:2px}.scrub-range{background:color-mix(in srgb, var(--accent) 22%, transparent);outline:1.5px solid var(--accent);border-radius:4px;position:absolute;top:-4px;bottom:-4px}.scrub-fill{background:color-mix(in srgb, var(--accent) 55%, transparent);pointer-events:none;border-radius:5px;position:absolute;top:0;bottom:0;left:0}.scrub-head{background:var(--accent);width:18px;height:18px;box-shadow:0 0 0 3px var(--bg);pointer-events:none;border-radius:50%;position:absolute;top:50%;translate:-50% -50%}.scrub-labels{height:14px;position:absolute;bottom:0;left:0;right:0}.scrub-labels span{font:10px/14px var(--mono);color:var(--muted);white-space:nowrap;text-overflow:clip;padding-left:3px;position:absolute;overflow:hidden}.transport{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.transport .play{background:var(--accent);color:var(--accent-fg);width:56px;font-size:20px}.transport-gap{flex:1}@media (width<=480px){.transport{flex-wrap:nowrap}.transport .frame-step{display:none}}.segments{scrollbar-width:none;align-items:center;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.seg-chip{border:1px solid var(--line);background:var(--surface);min-height:36px;font:13px var(--mono);cursor:pointer;border-radius:999px;flex:none;padding:0 14px}.seg-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.seg-chip.seg-approved:not(.is-on){border-color:var(--accent)}.seg-beats{flex:none;padding-left:6px}.player-side{flex-direction:column;gap:10px;min-width:0;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.tabs button.is-on{color:var(--fg);border-bottom-color:var(--accent)}.badge{color:#fff;border-radius:999px;padding:0 6px;font-size:11px}.badge-error{background:var(--error)}.badge-warning{background:var(--warn)}.strip-head{font-family:var(--mono);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.strip-row{scroll-snap-type:x mandatory;grid-auto-columns:46%;grid-auto-flow:column;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.strip-item{border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;scroll-snap-align:start;border:2px solid #0000;flex-direction:column;gap:4px;padding:6px;display:flex}.strip-item.is-current{border-color:var(--accent)}.strip-label{font:12px var(--mono)}.strip-sub{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.issues{gap:8px;margin:0;padding:0;list-style:none;display:grid}.issue{border-radius:var(--radius-sm);background:var(--surface);gap:10px;padding:10px 12px;font-size:14px;display:flex}.issue-sev{width:60px;font:600 11px/20px var(--mono);text-transform:uppercase;flex:none}.issue-error .issue-sev{color:var(--error)}.issue-warning .issue-sev{color:var(--warn)}.issue-info .issue-sev{color:var(--info)}.issue-where{font:12px var(--mono);color:var(--muted);display:block}.issue-fix{color:var(--muted)}@media (width>=900px){.player-main{flex-direction:row;align-items:flex-start}.player-stage-col{flex:1;position:sticky;top:8px}.player-side{flex:none;width:340px;max-height:calc(100dvh - 80px);overflow-y:auto}.strip-row{grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}}@media (width>=1300px){.player-side{width:420px}.strip-row{grid-template-columns:1fr 1fr}}:root{--bg:#f6f3ec;--surface:#fff;--surface-2:#efebe2;--fg:#1d1d1b;--muted:#6b6860;--line:#ddd8cc;--accent:#1f7a6d;--accent-fg:#fff;--warn:#b26a00;--error:#b3261e;--info:#3d5f99;--radius:14px;--radius-sm:8px;--tap:44px;--font:"Inter", system-ui, -apple-system, "Segoe UI", "PingFang SC", "Noto Sans CJK SC", sans-serif;--mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#151615;--surface:#1f2120;--surface-2:#2a2c2b;--fg:#ecebe6;--muted:#9a988f;--line:#353836;--accent:#4fb3a2;--accent-fg:#0e1a18;--warn:#e0a24a;--error:#f08a80;--info:#8eaee6}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:16px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}#root{min-height:100%}button,input{font:inherit;color:inherit}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:14px}.mono{font-family:var(--mono);font-size:13px}.screen{min-height:100dvh;padding:calc(var(--safe-top) + 12px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 16px) calc(var(--safe-left) + 16px)}.topbar{min-height:var(--tap);align-items:center;gap:8px;margin-bottom:12px;display:flex}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:20px;overflow:hidden}.btn{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;padding:0 18px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.btn:disabled{opacity:.5;cursor:default}.icon-btn,.text-btn{min-width:var(--tap);min-height:var(--tap);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:18px}.text-btn{color:var(--muted);font-size:14px;font-weight:600}.text-btn.is-on{color:var(--accent)}.icon-btn:active,.text-btn:active{background:var(--surface-2)}.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0 4px}.chip{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.chip-draft{color:var(--info)}.chip-ready,.chip-approved{color:var(--accent)}.chip-archived,.chip-stub{color:var(--muted)}.field{gap:6px;display:grid}.field input{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);padding:0 14px}.error-text{color:var(--error);font-size:14px}.toast{left:50%;bottom:calc(var(--safe-bottom) + 20px);z-index:50;background:var(--fg);max-width:calc(100vw - 32px);color:var(--bg);border-radius:999px;align-items:center;gap:12px;padding:10px 16px;font-size:14px;display:flex;position:fixed;translate:-50%;box-shadow:0 8px 24px #0003}.toast .link{color:var(--bg);font-weight:600;text-decoration:underline}
