@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--ink-950: #0f0b12;--ink-900: #120d15;--ink-850: #171019;--ink-800: #1a131d;--ink-750: #211923;--paper: #fbf7fa;--paper-2: #f4edf2;--paper-ink: #1a131d;--paper-copy: #4e4049;--paper-muted: #6d5a66;--text: #f4ebef;--muted: #b9aab4;--muted-2: #8f7f8a;--line: rgba(244, 235, 239, .14);--line-soft: rgba(244, 235, 239, .08);--line-strong: rgba(244, 235, 239, .26);--rose: #c46580;--rose-bright: #e8a7b9;--rose-deep: #8e3a52;--green: #7ba88a;--amber: #d8a657;--danger: #d26a6a;--page: var(--ink-900);--glow-a: rgba(95, 56, 78, .34);--glow-b: rgba(90, 45, 66, .16);--selection-bg: var(--rose-deep);--selection-ink: var(--text);--link: var(--rose-bright);--overlay-0: rgba(244, 235, 239, .025);--overlay-1: rgba(244, 235, 239, .06);--track: rgba(244, 235, 239, .1);--kbd-bg: rgba(0, 0, 0, .14);--rose-wash: rgba(196, 101, 128, .1);--rose-wash-2: rgba(232, 167, 185, .08);--rose-wash-3: rgba(196, 101, 128, .16);--rose-line: rgba(232, 167, 185, .42);--rose-line-soft: rgba(232, 167, 185, .36);--cued-ink: var(--rose-bright);--danger-wash: rgba(210, 106, 106, .08);--danger-wash-2: rgba(210, 106, 106, .15);--danger-line: rgba(210, 106, 106, .58);--danger-line-soft: rgba(210, 106, 106, .36);--danger-ink: #f0b4b4;--danger-hover-ink: #e8b0b0;--skip-bg: var(--paper);--skip-ink: var(--paper-ink);--btn-primary-bg: var(--paper);--btn-primary-bg-hover: #f3dde4;--btn-primary-border: rgba(255, 255, 255, .45);--btn-primary-ink: var(--paper-ink);--btn-primary-kbd-bg: rgba(26, 19, 29, .04);--btn-primary-kbd-border: rgba(26, 19, 29, .2);--btn-primary-kbd-ink: rgba(26, 19, 29, .65);--toast-bg: rgba(26, 19, 29, .97);--toast-ink: var(--text);--toast-shadow: 0 24px 50px -24px #000;--stage-surface: var(--ink-800);--stage-border: rgba(244, 235, 239, .12);--stage-highlight: rgba(244, 235, 239, .06);--stage-ring: rgba(196, 101, 128, .18);--stage-card-bg: rgba(18, 13, 21, .82);--stage-card-solid: var(--ink-900);--stage-card-border: rgba(244, 235, 239, .14);--stage-card-ink: var(--text);--stage-card-copy: var(--muted);--stage-card-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 0 1px rgba(0, 0, 0, .35), 0 30px 60px -38px rgba(0, 0, 0, .9);--stage-card-btn-bg: var(--paper);--stage-card-btn-border: rgba(255, 255, 255, .45);--stage-card-btn-ink: var(--paper-ink);--stage-card-btn-hover: #f3dde4;--stage-card-btn-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 22px -14px rgba(0, 0, 0, .8);--stage-card-kbd-border: rgba(26, 19, 29, .2);--stage-card-kbd-bg: rgba(26, 19, 29, .04);--stage-card-kbd-ink: rgba(26, 19, 29, .65);--font-display: "Inter Variable", Inter, "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-ui: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-data: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}:root[data-theme=light]{color-scheme:light;--page: #f5eff2;--text: #241a27;--muted: #5b4652;--muted-2: #6f5966;--line: rgba(36, 26, 39, .16);--line-soft: rgba(36, 26, 39, .09);--line-strong: rgba(36, 26, 39, .3);--rose: #a84663;--rose-bright: #8b2f4a;--rose-deep: #6f2239;--green: #327a58;--amber: #7d5312;--danger: #a53b3b;--glow-a: rgba(196, 101, 128, .16);--glow-b: rgba(142, 58, 82, .07);--selection-bg: rgba(196, 101, 128, .28);--selection-ink: var(--text);--link: var(--rose-bright);--overlay-0: rgba(36, 26, 39, .03);--overlay-1: rgba(36, 26, 39, .05);--track: rgba(36, 26, 39, .12);--kbd-bg: rgba(36, 26, 39, .05);--rose-wash: rgba(168, 70, 99, .09);--rose-wash-2: rgba(168, 70, 99, .07);--rose-wash-3: rgba(168, 70, 99, .14);--rose-line: rgba(139, 47, 74, .42);--rose-line-soft: rgba(139, 47, 74, .34);--cued-ink: var(--rose-bright);--danger-wash: rgba(165, 59, 59, .07);--danger-wash-2: rgba(165, 59, 59, .12);--danger-line: rgba(165, 59, 59, .5);--danger-line-soft: rgba(165, 59, 59, .3);--danger-ink: #8f2f2f;--danger-hover-ink: #742424;--skip-bg: #241a27;--skip-ink: #fbf7fa;--btn-primary-bg: #241a27;--btn-primary-bg-hover: #33253a;--btn-primary-border: rgba(36, 26, 39, .9);--btn-primary-ink: #fbf7fa;--btn-primary-kbd-bg: rgba(255, 255, 255, .1);--btn-primary-kbd-border: rgba(255, 255, 255, .22);--btn-primary-kbd-ink: rgba(251, 247, 250, .72);--toast-bg: #fbf7fa;--toast-ink: var(--text);--toast-shadow: 0 24px 50px -24px rgba(36, 26, 39, .34);--stage-surface: var(--paper);--stage-border: rgba(255, 255, 255, .5);--stage-highlight: rgba(255, 255, 255, .92);--stage-ring: rgba(196, 101, 128, .14);--stage-card-bg: rgba(251, 247, 250, .78);--stage-card-solid: var(--paper);--stage-card-border: rgba(255, 255, 255, .7);--stage-card-ink: var(--paper-ink);--stage-card-copy: var(--paper-copy);--stage-card-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 0 0 1px rgba(26, 19, 29, .06), 0 30px 60px -38px rgba(26, 19, 29, .62);--stage-card-btn-bg: linear-gradient(180deg, #241a26, #150e17);--stage-card-btn-border: rgba(26, 19, 29, .9);--stage-card-btn-ink: var(--paper);--stage-card-btn-hover: linear-gradient(180deg, #33253a, #1d1420);--stage-card-btn-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 10px 22px -14px rgba(26, 19, 29, .8);--stage-card-kbd-border: rgba(255, 255, 255, .22);--stage-card-kbd-bg: rgba(255, 255, 255, .1);--stage-card-kbd-ink: rgba(251, 247, 250, .72)}:root[data-effects=off] .stage-card{background:var(--stage-card-solid);box-shadow:0 0 0 1px var(--stage-card-border);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-effects=off] .stage-paused{background:var(--ink-800);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-effects=off] .stage.is-cue{box-shadow:0 0 0 2px var(--rose-line-soft)}:root[data-effects=off] .help-dialog::backdrop{background:#09060bdb;-webkit-backdrop-filter:none;backdrop-filter:none}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--page)}body{min-width:320px;margin:0;background:radial-gradient(1100px 620px at 52% -8%,var(--glow-a),transparent 62%),radial-gradient(700px 520px at 100% 100%,var(--glow-b),transparent 60%),var(--page);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--selection-bg);color:var(--selection-ink)}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--text)}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--rose-bright);outline-offset:3px}.app-shell{width:100%;max-width:1240px;margin:0 auto;padding:20px 32px 30px}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;padding:10px 14px;background:var(--skip-bg);color:var(--skip-ink);font-size:.85rem;font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;min-width:0}.brand-flower{display:grid;flex:0 0 auto;place-items:center;width:52px;height:52px;overflow:hidden;background:radial-gradient(circle at 38% 32%,#fff,var(--paper-2));border:1px solid rgba(255,255,255,.4);border-radius:50%;box-shadow:0 0 0 1px #c4658024,0 14px 30px -18px #c46580a6}.brand-flower img{width:43px;height:auto;mix-blend-mode:multiply;filter:saturate(.85) contrast(1.02);transform:rotate(-8deg)}.brand-copy{min-width:0}.brand-copy h1{color:var(--text);font-family:var(--font-display);font-size:clamp(1.8rem,2.8vw,2.35rem);font-weight:400;letter-spacing:-.012em;line-height:1.04}.brand-copy p{margin-top:5px;color:var(--muted);font-size:.92rem}.masthead-actions{display:flex;flex:0 0 auto;align-items:center;gap:14px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted-2);box-shadow:0 0 0 4px #b9aab414}.help-button{gap:7px}.theme-toggle{display:grid;flex:0 0 auto;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--muted);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .1s ease}.theme-toggle:hover{background:var(--overlay-1);border-color:var(--line-strong);color:var(--text)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle[aria-pressed=false]{border-color:var(--line-soft);color:var(--muted-2)}.theme-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid transparent;border-radius:2px;font-size:.86rem;font-weight:600;line-height:1.15;text-align:center;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .1s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.36;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-ink)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.btn-secondary{background:transparent;border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--rose-wash);border-color:var(--rose-line)}.btn-quiet{padding-inline:8px;background:transparent;border-color:transparent;color:var(--muted);font-weight:500}.btn-quiet:hover:not(:disabled){background:var(--overlay-1);color:var(--text)}.btn-step{min-width:68px;padding:0 9px;gap:6px;background:transparent;border-color:var(--line);color:var(--text);font-family:var(--font-data);font-size:.78rem;font-weight:500}.btn-step:hover:not(:disabled){background:var(--rose-wash-2);border-color:var(--rose-line)}.btn-hold{flex:1;min-width:0;padding:0 8px;background:var(--overlay-0);border-color:var(--line);color:var(--muted);font-size:.78rem;font-weight:500}.btn-hold:hover:not(:disabled){border-color:var(--rose-line-soft);color:var(--text)}.btn-hold.is-active{background:var(--rose-wash-3);border-color:var(--rose);color:var(--text)}.btn-danger{background:var(--danger-wash);border-color:var(--danger-line);color:var(--danger-ink)}.btn-danger:hover:not(:disabled){background:var(--danger-wash-2)}.btn-remove{justify-content:space-between;width:100%;border-color:var(--line-soft);color:var(--muted)}.btn-remove:hover:not(:disabled){border-color:var(--danger-line-soft);color:var(--danger-hover-ink)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px 5px;border:1px solid var(--line);border-bottom-color:var(--line-strong);border-radius:2px;background:var(--kbd-bg);color:var(--muted);font-family:var(--font-data);font-size:.62rem;font-weight:400;line-height:1.5;white-space:nowrap}.btn-primary kbd{border-color:var(--btn-primary-kbd-border);background:var(--btn-primary-kbd-bg);color:var(--btn-primary-kbd-ink)}.layout{display:grid;grid-template-columns:minmax(0,760px) minmax(320px,360px);justify-content:center;align-items:start;gap:26px;margin-top:20px}.stage-frame{width:100%;max-width:760px;justify-self:center}@media(min-width:1081px){.stage-frame{width:min(100%,760px,max(280px,calc((100vh - 286px) * 8 / 7)));width:min(100%,760px,max(280px,calc((100svh - 286px) * 8 / 7)))}}.stage{--cue: 196 101 128;position:relative;isolation:isolate;width:100%;aspect-ratio:800 / 700;overflow:hidden;background:var(--stage-surface);border:1px solid var(--stage-border);border-radius:20px;box-shadow:inset 0 1px 0 var(--stage-highlight),0 0 0 1px var(--stage-ring),0 0 0 0 transparent;transition:border-color .11s ease-out,box-shadow .11s ease-out}.stage.is-cue{border-color:rgb(var(--cue) / .42);box-shadow:inset 0 0 40px -18px rgb(var(--cue)),0 0 0 1px rgb(var(--cue)),0 0 58px -10px rgb(var(--cue))}.stage-canvas{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%}.stage-overlay{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:24px;pointer-events:none}.stage-card{width:min(100%,356px);padding:28px 30px;background:var(--stage-card-bg);border:1px solid var(--stage-card-border);border-radius:18px;box-shadow:var(--stage-card-shadow);color:var(--stage-card-ink);text-align:center;pointer-events:auto;-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1)}.stage-card h2{margin-bottom:8px;font-family:var(--font-display);font-size:clamp(1.25rem,1.9vw,1.5rem);font-weight:400;letter-spacing:-.01em;line-height:1.2}.stage-card p{margin-bottom:16px;color:var(--stage-card-copy);font-size:.88rem;line-height:1.5}.stage-card p:last-child{margin-bottom:0}.stage-card .btn{width:100%;border-radius:10px}.stage-card .btn-primary{background:var(--stage-card-btn-bg);border-color:var(--stage-card-btn-border);color:var(--stage-card-btn-ink);box-shadow:var(--stage-card-btn-shadow)}.stage-card .btn-primary:hover:not(:disabled){background:var(--stage-card-btn-hover)}.stage-card .btn-primary kbd{border-color:var(--stage-card-kbd-border);background:var(--stage-card-kbd-bg);color:var(--stage-card-kbd-ink)}.stage-card-hint{font-size:.76rem!important}.stage-card:focus-visible{outline-color:var(--cued-ink)}.stage-paused{position:absolute;z-index:3;top:16px;right:16px;padding:6px 12px;background:#1a131db8;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:var(--paper);font-family:var(--font-data);font-size:.66rem;letter-spacing:.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stage-foot{display:flex;justify-content:space-between;gap:16px;padding:10px 2px 0;color:var(--muted-2);font-family:var(--font-data);font-size:.66rem;letter-spacing:.02em}.movement{margin:6px 2px 0;padding-top:7px}.movement-track{position:relative;display:flex;gap:3px;height:18px}.movement-seg{position:relative;flex:1 1 0;display:grid;place-items:center;min-width:0;overflow:hidden;background:var(--overlay-0);border-radius:2px;box-shadow:inset 0 -2px rgb(var(--seg) / .4);transition:background-color .32s ease,box-shadow .32s ease}.movement-seg.is-past{background:rgb(var(--seg) / .13);box-shadow:inset 0 -2px rgb(var(--seg) / .58)}.movement-seg.is-active{background:rgb(var(--seg) / .4);box-shadow:inset 0 -2px rgb(var(--seg) / 1),0 0 22px -8px rgb(var(--seg) / .9)}.movement-num{color:var(--muted-2);font-family:var(--font-data);font-size:.56rem;letter-spacing:.12em;line-height:1;transition:color .32s ease}.movement-seg.is-past .movement-num{color:var(--muted)}.movement-seg.is-active .movement-num{color:var(--text)}.movement-head{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px;box-shadow:0 0 0 1px #09060b47,0 0 12px rgb(var(--seg) / .6);transition:left 90ms linear}.movement-head:after{position:absolute;top:50%;left:50%;width:9px;height:9px;background:var(--text);border-radius:50%;box-shadow:0 0 0 2px rgb(var(--seg) / .55);content:"";opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .12s ease-out,transform .12s ease-out}.movement-track:hover .movement-head:after,.movement:focus-within .movement-head:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.movement-scrub{position:absolute;z-index:2;top:50%;right:0;left:0;height:32px;margin:0;padding:0;background:transparent;border:0;border-radius:6px;outline-offset:3px;transform:translateY(-50%);-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:none}.movement-scrub::-webkit-slider-runnable-track{height:100%;background:transparent;border:0}.movement-scrub::-webkit-slider-thumb{width:12px;height:32px;background:transparent;border:0;-webkit-appearance:none;appearance:none}.movement-scrub::-moz-range-track{height:100%;background:transparent;border:0}.movement-scrub::-moz-range-thumb{width:12px;height:32px;background:transparent;border:0;border-radius:0}.movement-meta{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:7px;color:var(--muted-2);font-family:var(--font-data);font-size:.64rem;letter-spacing:.03em}.movement-now{display:inline-flex;align-items:baseline;gap:8px;color:var(--text);min-width:0}.movement-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:rgb(var(--seg));transform:translateY(-1px);box-shadow:0 0 10px rgb(var(--seg) / .6)}.movement-bpm{color:var(--muted-2);font-size:.62rem;letter-spacing:.05em;white-space:nowrap}.movement-bpm:before{margin-right:5px;color:var(--line-strong);content:"·"}.movement-range{flex:0 0 auto;white-space:nowrap}.rail{display:flex;flex-direction:column;min-width:0}.panel{padding:14px 0 16px;border-top:1px solid var(--line)}.panel:first-child{padding-top:0;border-top:0}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}.panel h2{font-family:var(--font-display);font-size:1.12rem;font-weight:500;letter-spacing:.005em;line-height:1.2}.panel-aside{color:var(--muted-2);font-size:.66rem;letter-spacing:.035em}.panel-run{container-type:inline-size}.readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:baseline;justify-items:start;gap:9px;margin-bottom:12px;padding:11px 13px 9px;background:var(--overlay-0);border:1px solid var(--line-soft);border-radius:12px}.readout p{margin:0}.timer{color:var(--text);font-family:var(--font-data);font-size:clamp(1.5rem,7.5cqw,2.1rem);font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:-.055em;line-height:1}.timer-frac{color:var(--muted-2);font-size:.62em;letter-spacing:-.01em}.readout-fact{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.meta-label{color:var(--muted-2);font-size:.66rem}.readout-fact strong{color:var(--text);font-family:var(--font-data);font-size:.9rem;font-weight:500;font-variant-numeric:tabular-nums}.next-meta{margin:-2px -6px;padding:2px 6px;border-radius:5px;transition:background-color .16s ease}.next-meta.is-cue{background:var(--rose-wash-3)}.next-meta.is-cue strong{color:var(--cued-ink)}.next-meta.is-soon{background:var(--rose-wash)}.next-meta.is-soon strong{color:var(--rose-bright)}.run-progress{display:block;width:100%;height:3px;margin:0 0 12px;overflow:hidden;appearance:none;background:var(--track);border:0;border-radius:0}.run-progress::-webkit-progress-bar{background:var(--track)}.run-progress::-webkit-progress-value{background:var(--rose)}.run-progress::-moz-progress-bar{background:var(--rose)}.transport{display:grid;grid-template-columns:1.15fr .85fr;gap:8px}.transport .btn{padding-inline:8px}.cal-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line-soft)}.panel-heading+.cal-row{border-top:0}.cal-label{display:flex;flex-direction:column;min-width:0;color:var(--text);font-size:.82rem;line-height:1.25}.cal-note{overflow:hidden;margin-top:2px;color:var(--muted-2);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.cal-hold-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.cal-remove-row{display:grid;gap:6px;margin-top:6px}.cal-remove-row .btn{justify-content:space-between;width:100%}.cal-remove-row .help-button{border-color:var(--line-soft)}.timings-summary{margin-bottom:8px;color:var(--muted);font-family:var(--font-data);font-size:.78rem;font-variant-numeric:tabular-nums}.timings-summary strong{color:var(--text);font-weight:600}.data-error{margin-bottom:12px;padding:8px 10px;background:var(--danger-wash);border-left:2px solid var(--danger);color:var(--danger-ink);font-size:.74rem;line-height:1.45}.file-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.file-actions .btn{padding-inline:8px;font-size:.8rem}.panel-note{color:var(--muted-2);font-size:.68rem;line-height:1.5}.dirty-pill{display:inline-flex;align-items:center;gap:6px;color:var(--amber);font-size:.66rem;white-space:nowrap}.dirty-pill .dot{width:6px;height:6px;background:var(--amber);box-shadow:0 0 0 4px #d8a6571a}.layer-list{display:grid}.layer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:7px 0;border-top:1px solid var(--line-soft);color:var(--text);font-size:.82rem;cursor:pointer}.layer-row:first-child{border-top:0}.layer-row input{position:relative;flex:0 0 auto;width:34px;height:20px;margin:0;appearance:none;background:var(--track);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.layer-row input:after{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--muted-2);border-radius:50%;content:"";transition:background-color .16s ease,transform .16s ease}.layer-row:hover input{border-color:var(--line-strong)}.layer-row input:checked{background:var(--rose-wash-3);border-color:var(--rose-line)}.layer-row input:checked:after{background:var(--rose-bright);transform:translate(14px)}summary.panel-heading{margin-bottom:0;cursor:pointer;list-style:none}.panel[open]>summary.panel-heading{margin-bottom:9px}summary.panel-heading::-webkit-details-marker{display:none}summary.panel-heading h2{display:inline-flex;align-items:center;gap:8px}summary.panel-heading:hover .panel-chevron{color:var(--text)}.panel-chevron{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;color:var(--muted-2);transition:transform .16s ease,color .16s ease}.panel[open]>summary .panel-chevron{transform:rotate(90deg)}.footer{display:flex;justify-content:space-between;gap:24px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted-2);font-size:.68rem;line-height:1.5}.footer a{color:var(--muted)}.footer a:hover{color:var(--rose-bright)}.footer-note{flex:0 0 auto;color:var(--amber);opacity:.9}.toast{position:fixed;z-index:50;bottom:24px;left:50%;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(680px,calc(100vw - 32px));padding:10px 12px 10px 16px;background:var(--toast-bg);border:1px solid var(--line-strong);border-left:2px solid var(--rose);border-radius:2px;box-shadow:var(--toast-shadow);color:var(--toast-ink);font-size:.8rem;transform:translate(-50%)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--amber)}.toast-message{flex:1;min-width:0}.toast-action,.toast-dismiss{flex:0 0 auto;padding:4px 6px;background:transparent;border:0;color:var(--rose-bright);font-size:.8rem;font-weight:600;cursor:pointer}.toast-dismiss{color:var(--muted-2);font-weight:500}.toast-action:hover,.toast-dismiss:hover{color:var(--text)}.help-dialog{width:min(720px,calc(100vw - 32px));max-height:min(86vh,760px);padding:0;overflow:auto;background:var(--paper);border:1px solid rgba(26,19,29,.2);border-radius:2px;box-shadow:0 40px 90px -30px #000000d1;color:var(--paper-ink);color-scheme:light}.help-dialog::backdrop{background:#09060bb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.help-dialog[open]{animation:dialog-in .16s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.help-inner{padding:30px 34px 28px}.help-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(26,19,29,.14)}.help-header h2{font-family:var(--font-display);font-size:2rem;font-weight:500;letter-spacing:-.015em;line-height:1}.help-dialog .btn-quiet{color:var(--paper-muted)}.help-dialog .btn-quiet:hover{background:#1a131d0f;color:var(--paper-ink)}.help-dialog :focus-visible{outline-color:var(--rose-deep)}.help-intro{max-width:60ch;margin-bottom:22px;color:var(--paper-copy);font-size:.95rem;line-height:1.55}.help-groups{display:grid;grid-template-columns:1fr 1fr;gap:26px 34px}.help-group h3{margin-bottom:8px;color:var(--paper-muted);font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:.05em}.key-list{margin:0}.key-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:7px 0;border-top:1px solid rgba(26,19,29,.09)}.key-row dt{color:#3a2d36;font-size:.8rem}.key-row dd{margin:0;text-align:right}.help-dialog kbd{border-color:#1a131d2e;background:#1a131d0a;color:var(--paper-muted)}.help-note{margin-top:24px;padding-top:16px;border-top:1px solid rgba(26,19,29,.14);color:var(--paper-muted);font-size:.74rem;line-height:1.55}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1080px){.app-shell{padding:24px 24px 32px}.layout{grid-template-columns:1fr;gap:16px 26px}.stage-frame{width:min(100%,760px)}.rail{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;width:min(100%,760px);margin-inline:auto}.panel-run{grid-column:1 / -1;padding-top:0;border-top:0}.panel-calibration,.panel-timings,.panel-layers{padding-top:18px;border-top:1px solid var(--line)}.panel-layers{grid-column:1 / -1}}@media(max-width:1080px)and (min-width:641px){.stage-frame{width:min(100%,760px,max(320px,calc((100vh - 300px) * 8 / 7)));width:min(100%,760px,max(320px,calc((100svh - 300px) * 8 / 7)))}}@media(max-width:820px){.rail{display:flex}.panel-calibration,.panel-timings,.panel-layers{padding-top:18px;border-top:1px solid var(--line)}.help-groups{grid-template-columns:1fr}.footer{flex-direction:column;gap:8px}.footer-note{white-space:normal}}@media(max-width:640px){.app-shell{padding:16px 14px 28px}.movement-num{display:none}.movement-track{height:14px}.movement-range{display:none}.masthead{flex-direction:row;align-items:center;gap:10px;padding-bottom:10px}.masthead-actions{width:auto;gap:8px}.brand{gap:10px}.brand-flower{width:44px;height:44px}.brand-flower img{width:36px}.brand-copy h1{font-size:1.45rem}.brand-copy p{margin-top:2px;font-size:.72rem;line-height:1.3}.layout{margin-top:18px}.stage{aspect-ratio:auto;height:clamp(400px,72vh,620px);height:clamp(400px,72svh,620px)}.stage-overlay{padding:16px}.stage-card{padding:20px}.stage-card h2{font-size:1.25rem}.stage-card p{font-size:.8rem}.stage-foot{font-size:.6rem}.readout{gap:6px}.readout-fact strong{font-size:.84rem}.btn-step{min-width:58px;padding-inline:7px}.btn-step kbd,.cal-note{display:none}.file-actions{grid-template-columns:1fr 1fr}.file-actions .btn:last-child{grid-column:1 / -1}.toast{bottom:12px;max-width:calc(100vw - 24px)}.help-dialog{width:calc(100vw - 20px);max-height:90vh}.help-inner{padding:22px 20px}.help-header h2{font-size:1.7rem}.key-row{gap:10px}}@media(max-width:349px){.readout{grid-template-columns:1fr 1fr}.timer{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
