@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/zen-maru-gothic-japanese-500-normal-D4izSh-C.woff2) format("woff2")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zen-kaku-gothic-new-japanese-400-normal-CQIKlIYt.woff2) format("woff2")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/zen-kaku-gothic-new-japanese-500-normal-Ddd6B-De.woff2) format("woff2")}:root{--blue-90: #101d2e;--blue-80: #1d3452;--blue-70: #2e4a72;--blue-60: #3d5f8a;--blue-50: #5478a0;--blue-40: #7f9bbc;--blue-20: #c3d2e2;--blue-10: #eaf0f6;--sage-70: #5c7458;--sage-60: #728d6d;--sage-50: #8fa88a;--sage-10: #eff4ed;--mist-60: #5f7c82;--mist-40: #93aab0;--berry-60: #a8814f;--berry-50: #c9a57e;--berry-10: #f6ede0;--ink-90: #26282a;--ink-70: #3f4245;--ink-50: #6a6e70;--ink-30: #a3a7a6;--ink-10: #dbdfdb;--paper-100: #f9faf7;--paper-90: #f2f3ee;--paper-80: #e6e8e0;--white: #ffffff;--red-50: #b1584a;--red-10: #f8e9e5;--color-bg: var(--paper-90);--color-bg-sunken: var(--paper-80);--color-surface: var(--white);--color-ink-primary: var(--ink-90);--color-ink-secondary: var(--ink-50);--color-ink-tertiary: var(--ink-30);--color-ink-on-primary: var(--white);--color-primary: var(--blue-70);--color-primary-strong: var(--blue-80);--color-primary-soft: var(--blue-10);--color-primary-border: var(--blue-40);--color-accent-berry: var(--berry-50);--color-success: var(--sage-60);--color-warning: var(--berry-60);--color-danger: var(--red-50);--color-info: var(--mist-60);--color-live: var(--sage-60);--color-border: var(--ink-10);--color-border-strong: var(--ink-30);--color-focus-ring: var(--blue-50);--scrim: rgba(38, 34, 29, .35);--font-display: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--font-body: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(38, 34, 29, .06), 0 1px 1px rgba(38, 34, 29, .04);--shadow-md: 0 4px 16px rgba(38, 34, 29, .08), 0 1px 3px rgba(38, 34, 29, .06);--shadow-lg: 0 12px 32px rgba(38, 34, 29, .12), 0 2px 8px rgba(38, 34, 29, .06);--ease-standard: cubic-bezier(.32, .08, .24, 1);--duration-fast: .12s;--duration-base: .22s;--duration-glow: .42s;--seek-groove: rgb(38 40 42 / 15%);--seek-fill: var(--blue-50);--lane-bg: rgb(249 250 247 / 96%);--lane-bar: var(--ink-10);--lane-head: var(--color-primary);--lane-ok: var(--color-success);--lane-off: var(--color-danger);--lane-trace: var(--color-accent-berry)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--color-bg);color:var(--color-ink-primary);font-family:var(--font-body);overflow-x:hidden}.app{display:flex;flex-direction:column;height:100svh;padding-bottom:env(safe-area-inset-bottom)}.app-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.bar{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;min-height:3rem;padding:.4rem .75rem;background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border);flex:none}@media(max-width:26rem){.bar{gap:.3rem;padding-inline:.5rem}.menu-btn,.icon-btn{width:1.9rem;height:1.9rem}.test-entry{padding-inline:.5rem}}.menu-btn{display:flex;align-items:center;justify-content:center;flex:none;width:2.1rem;height:2.1rem;border:none;border-radius:50%;background:transparent;color:var(--color-ink-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.menu-btn:active{transform:scale(.96)}.icon-btn{display:flex;align-items:center;justify-content:center;flex:none;width:2.1rem;height:2.1rem;border:none;border-radius:50%;background:transparent;color:var(--color-ink-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.icon-btn:active{transform:scale(.96)}.icon-btn.is-on{background:var(--color-primary);color:var(--color-ink-on-primary)}.title{padding:0;border:none;background:none;color:inherit;font-family:var(--font-display);font-size:1rem;font-weight:600;text-align:left;cursor:pointer;flex:1 1 4rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}span.title{cursor:default}button.title:active{color:var(--color-primary)}.seg{display:flex;flex:none;border-radius:var(--radius-pill);overflow:hidden;border:1px solid var(--color-border)}.seg button{min-width:2.6rem;padding:.3rem .5rem;border:none;background:var(--color-surface);color:inherit;font-family:inherit;font-size:.85rem;cursor:pointer}.seg button+button{border-left:1px solid var(--color-border)}.seg button.is-on{background:var(--color-primary);color:var(--color-ink-on-primary)}.seg button:disabled{color:var(--color-ink-tertiary);cursor:not-allowed}.speed{position:relative}.speed-btn{display:flex;align-items:center;justify-content:center;height:2.25rem;min-width:2.8rem;padding:0 .3rem;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-primary);font-size:.85rem;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;transition:background var(--duration-glow) var(--ease-standard),color var(--duration-glow) var(--ease-standard)}.speed-btn:active{transform:scale(.96);background:var(--color-primary-soft);color:var(--color-primary);transition:none}.speed-pop{position:absolute;right:0;bottom:calc(100% + .5rem);z-index:10;display:flex;flex-direction:column;gap:.6rem;min-width:13rem;padding:.75rem .9rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.speed-pop-slider{display:flex;align-items:center;gap:.5rem}.speed-pop-base{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.6rem;border-bottom:1px solid var(--color-border)}.speed-pop-label{color:var(--color-ink-tertiary);font-size:.72rem}.speed-pop-unit{font-variant-numeric:tabular-nums}.tempo-bpm{width:3.4rem;min-width:0;padding:.2rem .3rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font-family:inherit;font-size:.85rem;text-align:right}.tempo-slider{flex:1;accent-color:var(--color-primary)}.tempo-value{min-width:3rem;font-variant-numeric:tabular-nums}.sheet-open{display:inline-flex;align-items:center;flex:none;white-space:nowrap;gap:.35rem;padding:.4rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:inherit;font-size:.9rem;font-family:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.sheet-open:active{transform:scale(.96)}.sheet-open.is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink-on-primary)}.test-entry{display:inline-flex;align-items:center;gap:.3rem;flex:none;padding:.3rem .65rem;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:.78rem;font-weight:600;font-family:inherit;white-space:nowrap;cursor:pointer}.test-entry:active{transform:scale(.96)}.transport{position:absolute;left:0;right:0;bottom:0;padding:.45rem .5rem .5rem;background:transparent}.transport-card{position:relative;z-index:11;border-radius:var(--radius-lg);background:var(--color-bg-sunken);box-shadow:var(--shadow-md)}.transport-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.2rem .5rem .45rem}.transport-side{display:flex;align-items:center;gap:.5rem;min-width:0}.transport-side-left{justify-self:start}.transport-side-right{justify-self:end}.transport-play{grid-column:2;display:flex;align-items:center;gap:.4rem}.nudge{display:flex;align-items:center;justify-content:center;flex:none;width:2.75rem;height:2.75rem;border:none;border-radius:50%;background:transparent;color:var(--color-ink-secondary);font-family:inherit;cursor:pointer;transition:background var(--duration-glow) var(--ease-standard),color var(--duration-glow) var(--ease-standard)}.nudge:active{background:var(--color-primary-soft);color:var(--color-primary);transform:scale(.96);transition:none}.transport-error{padding:.6rem .85rem 0;color:var(--color-danger);font-size:.8rem;text-align:center}.mic{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:transparent;color:var(--color-ink-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.mic:active{transform:scale(.96)}.mic.is-on{background:var(--color-live);color:var(--color-ink-on-primary)}.piano{flex:none;max-height:0;overflow:hidden;background:var(--color-bg-sunken);transition:max-height var(--duration-base) var(--ease-standard)}.piano.is-open{max-height:8.5rem}.piano-scrubber{position:relative;height:1.1rem;margin:.6rem .9rem .3rem}.piano-scrubber-track{position:absolute;inset:.35rem 0;border-radius:var(--radius-pill);background:var(--color-bg);border:1px solid var(--color-border)}.piano-scrubber-thumb{position:absolute;top:0;bottom:0;border-radius:var(--radius-pill);background:var(--color-primary);box-shadow:var(--shadow-sm);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}.piano-scrubber-thumb:active{cursor:grabbing}.piano-viewport{position:relative;height:5.75rem;margin:0 .9rem .75rem;overflow:hidden;touch-action:none}.piano-keys{position:relative;height:100%;will-change:transform}.piano-key{position:absolute;top:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard)}.piano-key.white{height:100%;background:linear-gradient(to bottom,#fff,#f4f1ea 88%,#e9e4d8);border:1px solid var(--color-border);border-radius:0 0 6px 6px;box-shadow:0 2px 3px #26221d1a,inset 0 -3px 4px #26221d0d;z-index:1}.piano-key.white.is-pressed{background:linear-gradient(to bottom,#efece3,#e6e2d6);box-shadow:inset 0 2px 4px #26221d24;transform:translateY(1px)}.piano-key.black{height:55%;background:linear-gradient(to bottom,#4a4642,#232120);border-radius:0 0 4px 4px;box-shadow:0 3px 4px #00000059,inset 0 -2px 3px #ffffff14;z-index:2}.piano-key.black.is-pressed{background:linear-gradient(to bottom,#232120,#141312);box-shadow:inset 0 2px 3px #00000080;transform:translateY(1px)}.pitch-readout{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .75rem .1rem}.pitch-name{font-family:var(--font-display);font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--color-ink-primary)}.pitch-meter{position:relative;width:min(18rem,80vw);height:.5rem;border-radius:var(--radius-pill);background:var(--color-bg-sunken);border:1px solid var(--color-border)}.pitch-tick{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:var(--color-border-strong)}.pitch-needle{position:absolute;top:50%;width:.75rem;height:.75rem;margin:-.375rem 0 0 -.375rem;border-radius:50%;background:var(--color-primary)}.pitch-cents{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--color-ink-secondary)}.mic-hint-row{position:absolute;left:50%;bottom:calc(100% + .3rem);transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:.3rem;padding:.15rem .2rem .15rem .5rem;border-radius:var(--radius-pill);background:var(--color-bg-sunken);box-shadow:var(--shadow-sm);font-size:.68rem;color:var(--color-ink-secondary);white-space:nowrap}.mic-adjust-btn{display:flex;align-items:center;justify-content:center;flex:none;width:1.4rem;height:1.4rem;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-ink-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.mic-adjust-btn:active{transform:scale(.96)}.mic-adjust-btn.is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink-on-primary)}.mic-adjust-pop{position:absolute;left:50%;bottom:calc(100% + .5rem);transform:translate(-50%);z-index:15;display:flex;flex-direction:column;gap:.6rem;min-width:14rem;padding:.75rem .9rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.mic-adjust-pop .pitch-smooth{margin-top:0}.pitch-smooth{display:flex;align-items:center;gap:.5rem;margin-top:.15rem;font-size:.75rem;color:var(--color-ink-secondary)}.pitch-smooth input{width:min(12rem,55vw);accent-color:var(--color-primary)}.pitch-smooth-value{font-variant-numeric:tabular-nums;min-width:3.2rem}.pitch-readout.is-silent{opacity:.4}.pitch-note{margin-top:.35rem;font-size:.68rem;color:var(--color-ink-tertiary);text-align:center;max-width:min(20rem,85vw)}.pitch-note.is-device{padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);word-break:break-all}.pitch-note-key{color:var(--color-ink-secondary);font-weight:600}.mic-lab{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--color-border)}.mic-lab-title{font-size:.68rem;font-weight:600;color:var(--color-ink-tertiary)}.mic-lab-row{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--color-ink-secondary)}.mic-lab-row input{accent-color:var(--color-primary)}.mic-lab-reset{align-self:flex-start;padding:.2rem .5rem;font-size:.68rem;color:var(--color-ink-tertiary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.metro{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:transparent;color:var(--color-ink-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.metro:active{transform:scale(.96)}.metro.is-on{background:var(--color-primary);color:var(--color-ink-on-primary)}.play{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border:none;border-radius:50%;background:var(--color-primary);color:var(--color-ink-on-primary);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.play:hover{background:var(--color-primary-strong)}.play:active{transform:scale(.96)}.play.is-singing{background:var(--color-live)}.note{padding:1rem}.note.error{color:var(--color-danger)}.stage{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem 1.5rem;background:radial-gradient(120% 70% at 50% 38%,var(--paper-100) 0%,var(--color-bg) 68%)}.mark{position:relative;width:13.5rem;height:13.5rem;flex:none}.mark-ring{position:absolute;inset:0;width:100%;height:100%;color:var(--color-ink-tertiary);opacity:.5}.mark-spin{transform-origin:50% 50%;animation:mark-spin 1.5s linear infinite;color:var(--color-primary-border);stroke-width:1.8}@keyframes mark-spin{to{transform:rotate(360deg)}}.mark-feather{position:absolute;inset:8%;background:var(--color-ink-tertiary);opacity:.75;-webkit-mask:url(/art/feather.png) center / contain no-repeat;mask:url(/art/feather.png) center / contain no-repeat}.stage-text{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center}.stage-line{display:flex;align-items:center;gap:.4rem;margin:0;color:var(--color-ink-secondary);font-size:.85rem}.stage-line svg{color:var(--color-ink-tertiary)}.stage-sub{margin:0;color:var(--color-ink-tertiary);font-size:.75rem;font-variant-numeric:tabular-nums}.stage-sub svg{vertical-align:-.2em;margin-right:.1em}.stage-core{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.stage-wait{position:absolute;top:100%;left:50%;transform:translate(-50%);margin:.9rem 0 0;width:min(18rem,84vw);color:var(--color-ink-tertiary);font-size:.72rem;line-height:1.6;text-align:center;opacity:.85}@media(prefers-reduced-motion:reduce){.mark-spin{animation:none}}.mixer{display:flex;flex-direction:column;gap:.75rem}.mixer-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.3rem .375rem}.mixer-row.has-kind{grid-template-columns:1fr auto auto}.mixer-menu-btn{justify-self:end;margin-right:-.35rem}.mixer-row .take-name{margin-left:0}.mixer-row.is-excluded{opacity:.45}.mixer-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mixer-kind{padding:.2rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font-family:inherit}.mixer-vol{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem}.mixer-vol input[type=range]{flex:1;min-width:0;accent-color:var(--color-primary)}.mixer-vol-value{min-width:2.6rem;color:var(--color-ink-tertiary);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right}.settings{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 0}.settings-row+.settings-row{border-top:1px solid var(--color-border)}.settings-label{flex:1;min-width:0}.settings-hint{display:block;margin-top:.15rem;font-size:.72rem;line-height:1.5;color:var(--color-ink-secondary)}.settings-row-install{flex-direction:column;align-items:stretch}.install-steps{display:flex;flex-direction:column;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none}.install-steps li{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.8rem;color:var(--color-ink-secondary)}.install-steps li svg{flex:none;color:var(--color-primary)}.switch{flex:none;display:inline-flex;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{display:block;width:2.75rem;height:1.6rem;padding:.15rem;border-radius:var(--radius-pill);background:var(--color-border);transition:background var(--duration-fast) var(--ease-standard)}.switch-knob{display:block;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard)}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track .switch-knob{transform:translate(1.15rem)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.switch-knob{transition:none}}.mascot-stage{width:7.5rem;height:9rem;box-sizing:border-box;cursor:pointer}.mascot-sway{width:100%;height:100%;perspective:700px;transform-origin:50% 100%;animation:mascot-sway 3.6s ease-in-out infinite}@keyframes mascot-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.mascot-img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(.12rem .22rem .18rem rgba(20,20,40,.28));transition:transform .15s ease}.mascot-guide{display:flex;align-items:flex-end;gap:.5rem}.mascot-bubble{position:relative;max-width:14rem;padding:.65rem .85rem;background:var(--paper-100);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .15rem .4rem #1414281f;font-size:.85rem;line-height:1.5}.mascot-bubble:before{content:"";position:absolute;left:-.4rem;bottom:.9rem;width:.75rem;height:.75rem;background:var(--paper-100);border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:rotate(45deg)}.mascot-overlay{position:fixed;inset:0;z-index:30;pointer-events:none}.mascot-highlight-hole{position:absolute;border-radius:.5rem;pointer-events:none;animation:mascot-hole-breathe 2.6s ease-in-out infinite}@keyframes mascot-hole-breathe{0%,to{box-shadow:0 0 .6rem .15rem #ffffff40,0 0 0 9999px #14142899}50%{box-shadow:0 0 1.6rem .5rem #ffffff8c,0 0 0 9999px #14142899}}.mascot-tap-finger{position:absolute;transform:translate(-50%,-50%);color:#fff;line-height:0;pointer-events:none;animation:mascot-tap-finger-bob 1.1s ease-in-out infinite;filter:drop-shadow(0 .1rem .2rem rgba(20,20,40,.55)) drop-shadow(0 0 .08rem rgba(20,20,40,.7))}@keyframes mascot-tap-finger-bob{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(.35rem)}}.mascot-block{position:absolute;pointer-events:auto}.mascot-dim{position:fixed;inset:0;background:#14142899;pointer-events:auto}.mascot-overlay-char{position:absolute;left:50%;top:50%;transform-origin:50% 100%;pointer-events:auto}.mascot-overlay-char .mascot-stage{width:12rem;height:14.4rem}.mascot-overlay-bubble{position:absolute;left:50%;top:50%;max-width:16rem;padding:.85rem 1rem;background:var(--paper-100);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .15rem .4rem #1414281f;font-size:1rem;line-height:1.5;pointer-events:none}.mascot-overlay-bubble.is-tappable{pointer-events:auto;cursor:pointer}.mascot-tap-hint{position:absolute;right:.6rem;bottom:.4rem;font-size:.9rem;line-height:1;color:var(--color-ink-tertiary);animation:mascot-tap-bounce 1.1s ease-in-out infinite}@keyframes mascot-tap-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(.2rem)}}.mascot-demo-card{width:min(90vw,22rem);pointer-events:auto;background:var(--paper-100);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .15rem .4rem #1414281f;overflow:hidden}.mascot-demo-close{position:absolute;top:.4rem;right:.4rem;z-index:1;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--paper-100);border:1px solid var(--color-border);color:var(--color-ink-secondary);pointer-events:auto}.mascot-demo-media{position:relative;aspect-ratio:16 / 9;width:100%;background:var(--paper-90)}.mascot-demo-video{display:block;width:100%;height:100%;object-fit:cover}.mascot-demo-video.is-pending{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#14142814,#14142814 10px,#14142808 10px 20px);color:var(--color-ink-secondary);font-size:.8rem}.mascot-demo-spinner{position:absolute;inset:0;margin:auto;width:1.75rem;height:1.75rem;border-radius:50%;border:.2rem solid var(--color-border);border-top-color:var(--color-primary-border);animation:mascot-demo-spin .8s linear infinite;pointer-events:none}@keyframes mascot-demo-spin{to{transform:rotate(360deg)}}.mascot-demo-caption{padding:.65rem .85rem;font-size:.85rem;line-height:1.5}.mascot-skip{position:fixed;top:calc(3.5rem + 1px);left:50%;transform:translate(-50%);z-index:35}.mascot-skip button{padding:.3rem .7rem;background:var(--paper-100);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:0 .15rem .4rem #14142826;color:var(--color-ink-secondary);font-size:.72rem}.mascot-tuner{position:fixed;right:.75rem;bottom:.75rem;z-index:35;width:min(88vw,19rem);max-height:75vh;overflow-y:auto;padding:.6rem .75rem;background:var(--paper-100);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .25rem .6rem #14142833;font-size:.78rem}.mascot-tuner.is-collapsed{max-height:none;overflow:visible}.mascot-tuner-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mascot-tuner-header button{padding:.15rem .5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:.75rem}.mascot-tuner-title{font-weight:700}.mascot-tuner-body{margin-top:.5rem}.mascot-tuner-section{display:flex;align-items:center;justify-content:space-between;margin:.75rem 0 .35rem;padding-top:.5rem;border-top:1px solid var(--color-border);font-weight:700;color:var(--color-ink-secondary)}.mascot-tuner-toggle{display:flex;align-items:center;gap:.3rem;font-weight:400;font-size:.72rem}.mascot-tuner-row{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.45rem}.mascot-tuner-row label{display:flex;justify-content:space-between;gap:.5rem}.mascot-tuner-row-inputs{display:flex;align-items:center;gap:.4rem}.mascot-tuner-row-inputs input[type=range]{flex:1}.mascot-tuner-row-inputs input[type=number]{width:4.2rem;padding:.15rem .3rem;border:1px solid var(--color-border);border-radius:.4rem;font-size:.75rem}.mascot-tuner-text{width:100%;padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:.4rem;font-size:.75rem}.mascot-tuner-actions{display:flex;gap:.4rem;margin-top:.6rem}.mascot-tuner-actions button{flex:1;padding:.4rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;font-size:.78rem}.song-info{display:flex;flex-direction:column}.song-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.4}.song-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.badge{flex:none;padding:.15rem .55rem;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:.72rem}.badge.is-quiet{background:var(--color-bg-sunken);color:var(--color-ink-secondary);font-variant-numeric:tabular-nums}.song-section-label{margin:1.25rem 0 .5rem;font-size:.72rem;letter-spacing:.06em;color:var(--color-ink-secondary)}.song-parts{display:flex;flex-direction:column}.song-part{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;font-size:.9rem}.song-part+.song-part{border-top:1px solid var(--color-border)}.song-part-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-part-kind{flex:none;color:var(--color-ink-secondary);font-size:.78rem}.song-note{margin:.6rem 0 0;font-size:.75rem;line-height:1.7;color:var(--color-ink-secondary)}.song-note.is-warn{color:var(--color-warning)}.song-bpm{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.85rem}.song-bpm-label{flex:1;min-width:0}.song-bpm input{flex:none;width:4.5rem;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font-family:inherit;font-variant-numeric:tabular-nums}.score-area{position:relative;flex:1;display:flex;min-height:0}.lane{position:absolute;left:0;right:0;top:0;z-index:6;background:var(--lane-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden;pointer-events:none}.lane-slot{position:absolute;left:.4rem;right:.4rem;z-index:6;display:flex;padding-top:.25rem;pointer-events:none}.lane-part,.lane-parts{pointer-events:auto}.lane-parts{display:flex;flex:1;flex-wrap:wrap;gap:.25rem}.lane-part{flex:none;max-width:8rem;padding:.15rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);font-family:inherit;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-sm);cursor:pointer}.lane-part.is-on{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-ink-on-primary)}.lane-part.is-fixed{cursor:default;opacity:.75}.lane-bar{position:absolute;border-radius:4px;background:var(--lane-bar);overflow:hidden}.lane-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--lane-bar)}.lane-sung-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.lane-sung{fill:none;stroke-linecap:round;stroke-linejoin:round}.lane-sung.is-ok{stroke:var(--lane-ok)}.lane-sung.is-off{stroke:var(--lane-off)}.lane-sung-wave{fill:none;stroke:var(--lane-trace);stroke-linecap:round;stroke-linejoin:round;opacity:.85}.lane-sung-dot{stroke:var(--white);stroke-width:3;filter:drop-shadow(0 1px 3px rgba(38,34,29,.25))}.lane-sung-dot.is-ok{fill:var(--lane-ok)}.lane-sung-dot.is-off{fill:var(--lane-off)}.lane-sung-dot.is-neutral{fill:var(--lane-trace)}.lane-head{position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--lane-head);will-change:transform}.score-corner{position:absolute;right:.75rem;bottom:calc(.75rem + var(--transport-h, 0px));z-index:8;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.follow{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-primary);font-size:.9rem;font-family:inherit;box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.score-hint{position:absolute;left:.75rem;bottom:calc(.95rem + var(--transport-h, 0px));z-index:8;margin:0;color:var(--color-ink-tertiary);font-size:.75rem;pointer-events:none}.follow.is-on{background:var(--color-primary);color:var(--color-ink-on-primary)}.sheet-scrim{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end;background:var(--scrim)}.sheet{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:1.25rem 1.375rem 1.625rem;max-height:75dvh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:sheet-rise .18s var(--ease-standard)}@keyframes sheet-rise{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-title{font-size:.8rem;color:var(--color-ink-secondary);letter-spacing:.06em;margin-bottom:1rem}.sidebar-scrim{position:fixed;inset:0;z-index:40;display:flex;background:var(--scrim)}.sidebar{width:min(296px,84vw);height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-lg);animation:sidebar-slide .18s var(--ease-standard)}@keyframes sidebar-slide{0%{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.sidebar{animation:none}}.sidebar-header{display:flex;flex-direction:column;gap:.15rem;padding:1.5rem 1.375rem .9rem;border-bottom:1px solid var(--color-border)}.sidebar-logo{font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1;margin-top:-.3em;letter-spacing:-.01em;color:var(--color-primary)}.sidebar-logo-beta{font-size:.5em;font-weight:500;letter-spacing:0;vertical-align:middle}.sidebar-tagline{font-size:.7rem;color:var(--color-ink-secondary);letter-spacing:.06em}.sidebar-search{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin:.9rem 1.375rem;padding-bottom:.6rem;border-bottom:1px solid var(--color-border);color:var(--color-ink-secondary)}.sidebar-search input{flex:1;min-width:0;border:none;outline:none;background:none;color:inherit;font-family:inherit;font-size:.85rem}.sidebar-settings{display:inline-flex;align-items:center;border:none;background:none;color:var(--color-ink-secondary);cursor:pointer}.sidebar-settings:active{color:var(--color-primary)}.sidebar-section-label{padding:.25rem 1.375rem .5rem;font-size:.7rem;color:var(--color-ink-secondary);letter-spacing:.06em}.sidebar-songs{flex:1;min-height:0;overflow-y:auto;border-bottom:1px solid var(--color-border)}.sidebar-song{position:relative;display:flex;align-items:center;gap:.5rem;padding:.7rem 1.375rem;font-size:.9rem;color:var(--color-ink-primary);cursor:pointer}.sidebar-song-name-input{flex:1;min-width:0;padding:.15rem .3rem;border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font-family:inherit;font-size:inherit}.sidebar-song-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-song.is-current{color:var(--color-primary);font-weight:500;background:var(--color-primary-soft)}.sidebar-song-favorite{flex:none;display:inline-flex;align-items:center;border:none;background:none;color:var(--color-ink-tertiary);cursor:pointer}.sidebar-song-favorite.is-on{color:var(--color-warning)}.sidebar-song-menu-btn{flex:none;display:inline-flex;align-items:center;padding:.2rem;border:none;background:none;color:var(--color-ink-tertiary);cursor:pointer}.sidebar-song-actions{position:absolute;right:.9rem;top:100%;z-index:10;display:flex;flex-direction:column;min-width:9rem;padding:.3rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.sidebar-song-tag{flex:none;padding:.1rem .4rem;border-radius:var(--radius-pill);background:var(--berry-10);color:var(--color-warning);font-size:.65rem;white-space:nowrap}.sidebar-add{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.375rem;color:var(--color-primary);font-size:.85rem;cursor:pointer}.sidebar-add:first-of-type{border-top:1px solid var(--color-border)}.sidebar-add>span{flex:1;min-width:0}.sidebar-add-hint{display:block;margin-top:.1rem;color:var(--color-ink-secondary);font-size:.7rem;line-height:1.5}.sidebar-add-plus{flex:none;color:var(--color-ink-tertiary)}.sidebar-add input{display:none}.sidebar-rights{margin:0;padding:.5rem 1.375rem 1.1rem;color:var(--color-ink-tertiary);font-size:.68rem;line-height:1.6}.score{flex:1;overflow-y:auto;scrollbar-gutter:stable;overflow-x:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--color-surface);padding-bottom:var(--transport-h, 0px)}.is-zoomable{overflow-x:auto;touch-action:pan-x pan-y}.scan-zoom,.editor-zoom,.score-zoom{margin-inline:auto}.score-zoom{position:relative}.is-zoomable .editor-page{touch-action:pan-x pan-y}.score-page+.score-page{border-top:1px solid var(--color-border)}.score svg{display:block;width:100%;height:auto}.score-scroll{position:relative}.score-system-band{position:absolute;left:0;top:0;width:0;height:0;z-index:4;background:var(--color-primary);opacity:0;pointer-events:none}.score-system-band.is-visible{opacity:.06}.score-cursor{position:absolute;left:0;width:2px;margin-left:-1px;background:var(--lane-head);opacity:0;z-index:5;pointer-events:none;will-change:transform}.score-precount{position:absolute;left:0;top:0;z-index:5;opacity:0;pointer-events:none;will-change:transform}.score-precount.is-visible{opacity:1}.score-precount-number{position:absolute;left:0;top:0;transform:translate(-50%,calc(-100% - .4rem));padding:.1rem .55rem;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4;color:var(--color-primary)}.score-precount-number.is-pulsing{animation:score-precount-pulse var(--duration-fast) var(--ease-standard)}@keyframes score-precount-pulse{0%{transform:translate(-50%,calc(-100% - .4rem)) scale(1.2);opacity:.6}}@media(prefers-reduced-motion:reduce){.score-precount-number.is-pulsing{animation:none}}.loop-band{position:absolute;background:var(--color-info);opacity:.14;border-radius:4px;pointer-events:none}.loop-handle{position:absolute;width:16px;height:34px;margin-left:-8px;margin-top:-17px;border-radius:8px;background:var(--color-info);box-shadow:var(--shadow-sm);cursor:ew-resize;touch-action:none}.loop-handle.is-on{outline:2px solid var(--color-surface);box-shadow:var(--shadow-md)}.loop-close{position:absolute;z-index:7;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);box-shadow:var(--shadow-md);line-height:0;cursor:pointer;touch-action:none;transform:translate(-50%,calc(-100% - 20px))}.loop-close:active{transform:translate(-50%,calc(-100% - 20px)) scale(.94)}.score .is-active,.score .is-active *{fill:var(--color-primary-border)!important;stroke:var(--color-primary-border)!important}.scan-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;padding:.5rem .5rem calc(3rem + var(--transport-h, 0px));background:var(--color-bg)}.scan-page{position:relative;line-height:0;margin-bottom:.5rem;border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm)}.scan-page img{display:block;width:100%;height:auto;border-radius:inherit;-webkit-user-select:none;user-select:none}.scan-sys{position:absolute;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:root{--yt-h: 200px;--yt-w: 356px}.yt-slot{flex:none;height:var(--yt-slot-h, 0px)}.yt-stage{position:fixed;z-index:9;display:flex;flex-direction:column;align-items:center;height:var(--yt-h);pointer-events:none}.yt-box{width:min(var(--yt-w),100%);height:var(--yt-h);background:#000;pointer-events:auto}.yt-stage.is-band{background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border)}.yt-stage.is-sheer{background:none}.yt-stage.is-float{width:min(var(--yt-w),100vw);height:auto;box-shadow:var(--shadow-md)}.yt-grip{display:flex;align-items:center;justify-content:center;width:100%;height:24px;background:var(--color-bg-sunken);color:var(--color-ink-secondary);cursor:grab;touch-action:none;pointer-events:auto}.yt-grip:active{cursor:grabbing}.yt-stage.is-folded{display:none}.yt-host,.yt-host iframe{display:block;width:100%;height:100%;border:0}.yt-error{margin:0;padding:.35rem .6rem;background:var(--color-surface);color:var(--color-danger);font-size:.75rem;pointer-events:auto}.editor{display:flex;flex-direction:column;height:100svh;padding-bottom:env(safe-area-inset-bottom);background:var(--color-bg)}.editor-count{flex:none;white-space:nowrap;color:var(--color-ink-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.editor-history{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-ink-secondary);cursor:pointer}.editor-history:disabled{color:var(--color-ink-tertiary);opacity:.5;cursor:not-allowed}.editor-history:not(:disabled):active{transform:scale(.96)}.editor-history-group{display:flex;flex:none;gap:.75rem}.editor-scroll{flex:1;min-height:0;overflow-y:auto;padding:.5rem}.editor-page{position:relative;line-height:0;margin-bottom:.5rem;background:var(--color-surface);box-shadow:var(--shadow-sm);touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.editor-page img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.editor-page-no{position:absolute;right:4px;bottom:4px;padding:0 .35rem;border-radius:3px;background:#fffc;color:var(--color-ink-tertiary);font-size:.65rem;line-height:1.6;font-variant-numeric:tabular-nums;pointer-events:none}.editor-sys{position:absolute;border:1.5px solid var(--color-success);border-radius:3px;background:#728d6d14;cursor:pointer}.editor-sys.is-on{border-color:var(--color-primary);background:#2e4a721f;z-index:2}.editor-sys-no{position:absolute;top:2px;left:3px;padding:0 .25rem;border-radius:3px;background:#fffc;color:var(--color-ink-secondary);font-size:.62rem;line-height:1.5;font-variant-numeric:tabular-nums;pointer-events:none}.editor-head{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink-secondary);font-size:.75rem}.editor-head input[type=range]{flex:1;min-width:0;accent-color:var(--color-primary)}.editor-head-note{min-width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}.editor-sys-head{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed var(--color-primary);opacity:.75;pointer-events:none}.editor-handle{position:absolute;background:var(--color-primary);border:2px solid var(--white);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);touch-action:none}.editor-handle.is-top,.editor-handle.is-bottom{left:50%;width:2.5rem;height:.9rem;margin-left:-1.25rem;cursor:ns-resize}.editor-handle.is-top{top:-.45rem}.editor-handle.is-bottom{bottom:-.45rem}.editor-handle.is-left,.editor-handle.is-right{top:50%;width:.9rem;height:2.5rem;margin-top:-1.25rem;cursor:ew-resize}.editor-handle.is-left{left:-.45rem}.editor-handle.is-right{right:-.45rem}.editor-grip{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:2.4rem;height:1.7rem;margin:-.85rem 0 0 -1.2rem;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-ink-on-primary);box-shadow:var(--shadow-sm);line-height:0;touch-action:none;cursor:grab}.editor-grip:active{cursor:grabbing}.editor-remove{position:absolute;top:-.7rem;right:-.7rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:2px solid var(--white);border-radius:50%;background:var(--color-danger);color:var(--white);box-shadow:var(--shadow-sm);cursor:pointer}.editor-remove:active{transform:scale(.94)}.editor-draw{position:absolute;border:1.5px dashed var(--color-primary);border-radius:3px;background:#2e4a721a;pointer-events:none}.align-ask{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--color-warning);color:var(--white);font-size:.82rem}.align-ask span{flex:1;min-width:10rem}.align-ask button{padding:.3rem .8rem;border:1px solid rgb(255 255 255 / 55%);border-radius:var(--radius-pill);background:none;color:inherit;font-family:inherit;font-size:.8rem;cursor:pointer}.align-ask button.is-primary{background:var(--white);border-color:var(--white);color:var(--color-warning);font-weight:600}.align-note{padding:.5rem .75rem;background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:.78rem;line-height:1.6}.align-sys{position:absolute;cursor:pointer;border:3px solid rgb(46 74 114 / 16%);border-radius:3px;background:#2e4a720a}.align-sys.is-here{background:#2e4a721c}.align-bar{flex:none;padding:.45rem .5rem .5rem}.align-seek{display:flex;align-items:center;gap:.6rem;padding:.5rem .85rem .2rem}.align-time{min-width:2.6rem;color:var(--color-ink-secondary);font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right}.align-track{position:relative;flex:1;min-width:0}.seek input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:1.75rem;margin:0;background:none;touch-action:none}.seek input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-pill);background:linear-gradient(to right,var(--seek-fill) calc(var(--p, 0) * 100%),var(--seek-groove) 0)}.seek input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:12px;height:12px;margin-top:-4px;border:2px solid var(--seek-fill);border-radius:50%;background:var(--color-surface)}.seek input[type=range]::-moz-range-track{height:4px;border-radius:var(--radius-pill);background:var(--seek-groove)}.seek input[type=range]::-moz-range-progress{height:4px;border-radius:var(--radius-pill);background:var(--seek-fill)}.seek input[type=range]::-moz-range-thumb{box-sizing:border-box;width:12px;height:12px;border:2px solid var(--seek-fill);border-radius:50%;background:var(--color-surface)}.seek-bubble{position:absolute;bottom:calc(100% - .35rem);left:calc(var(--p, 0) * (100% - 12px) + 6px);transform:translate(-50%);padding:.05rem .35rem;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-ink-on-primary);font-size:.68rem;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.seek-bar{padding:.5rem .85rem 0}.align-marks{position:absolute;inset:0;pointer-events:none}.align-mark{position:absolute;top:50%;width:.9rem;height:1.4rem;margin:-.7rem 0 0 -.45rem;padding:0;border:none;background:none;pointer-events:none}.align-mark:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:.75rem;margin:-.375rem 0 0 -1px;border-radius:1px;background:var(--color-primary-strong)}.align-mark.is-jump:after{width:3px;height:1.1rem;margin:-.55rem 0 0 -1.5px;background:var(--color-accent-berry)}.align-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.2rem .5rem .45rem}.align-mk{position:absolute;width:0;z-index:3;touch-action:none;cursor:grab}.align-mk:active{cursor:grabbing}.align-mk-stem{position:absolute;top:0;bottom:0;left:-1px;width:2px;border-radius:1px;background:var(--mk);opacity:.75}.align-mk-head{position:absolute;top:50%;left:-.5rem;width:1rem;height:2.3rem;margin-top:-1.15rem;border:2px solid var(--color-surface);border-radius:.5rem;background:var(--mk);box-shadow:var(--shadow-md)}.align-mk-head.is-jump:after{content:"";position:absolute;inset:-.32rem;border:2px solid var(--mk);border-radius:.75rem}.align-mk:before{content:"";position:absolute;top:50%;left:-1.2rem;width:2.4rem;height:3.3rem;margin-top:-1.65rem}.editor.is-playing .align-mk{pointer-events:none}.align-mk.is-off{opacity:.45}.align-mk.is-off:before{content:none}.align-mk.is-off.is-on{opacity:1}.align-mk-time{position:absolute;top:-1.7rem;left:50%;transform:translate(-50%);padding:0 .25rem;border-radius:3px;background:#ffffffd9;color:var(--color-ink-secondary);font-size:.6rem;line-height:1.6;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.align-mk.is-on .align-mk-stem{width:3px;left:-1.5px;opacity:1}.align-mk.is-on .align-mk-head{left:-.6rem;width:1.2rem;height:2.6rem;margin-top:-1.3rem;border-color:var(--color-ink-primary)}.align-mk-trash{position:absolute;top:-1.65rem;left:.95rem;display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-danger);color:var(--white);box-shadow:var(--shadow-sm);cursor:pointer}.align-mk-trash:active{transform:scale(.94)}.align-precount{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;pointer-events:none}.align-precount-number{display:flex;align-items:center;justify-content:center;width:5.5rem;height:5.5rem;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-md);font-family:var(--font-display);font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--color-primary);animation:align-precount-in var(--duration-fast) var(--ease-standard)}@keyframes align-precount-in{0%{transform:scale(.85);opacity:0}}@media(prefers-reduced-motion:reduce){.align-precount-number{animation:none}}.editor-stage{position:relative;flex:1;display:flex;min-height:0}.editor-stage .editor-scroll{flex:1}.transport.is-idle .speed-btn{opacity:.4}.play.is-locked{opacity:.4;box-shadow:none}.transport-foot{padding:.5rem .85rem 0;color:var(--color-ink-tertiary);font-size:.72rem;font-variant-numeric:tabular-nums;text-align:center}.take-url{display:flex;gap:.4rem}.take-url input{flex:1;min-width:0;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-ink-primary);font-family:inherit;font-size:.8rem}.take-url button{flex:none;padding:.4rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-primary);font-family:inherit;font-size:.8rem;cursor:pointer}.take-url button:disabled{opacity:.45;cursor:default}.take-error{color:var(--color-danger);font-size:.72rem}.scan-shared{display:block;width:calc(100% - 1.2rem);margin:.5rem .6rem 0;padding:.4rem .7rem;border:none;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-strong);font-family:inherit;font-size:.78rem;cursor:pointer}.take{position:relative;min-width:0}.take-btn{display:flex;align-items:center;gap:.3rem;max-width:7.5rem;overflow:hidden;height:2.25rem;padding:0 .4rem;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-secondary);font-family:inherit;font-size:.75rem;cursor:pointer}.take-btn.is-empty{background:var(--color-primary-soft);color:var(--color-primary-strong)}.take-btn-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.take-hint{position:absolute;left:0;bottom:calc(100% + .4rem);z-index:7;width:max-content;max-width:60vw;padding:.4rem .7rem;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-ink-on-primary);font-size:.72rem;box-shadow:var(--shadow-md)}.take-item{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font-family:inherit;font-size:.8rem;text-align:left;cursor:pointer}.take-item:disabled{color:var(--color-ink-tertiary);opacity:.45;cursor:default}.take-item-note{flex:none;color:var(--color-ink-tertiary);font-size:.68rem}.take-todo{flex:none;padding:.2rem .5rem;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);background:none;color:var(--color-primary);font-family:inherit;font-size:.68rem;white-space:nowrap;cursor:pointer}.take-card{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.take-card.is-on{border-color:var(--color-primary-border)}.take-head{display:flex;align-items:center;gap:.4rem;padding:.1rem .5rem .1rem .1rem}.take-pick{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.6rem .5rem;border:none;background:none;color:inherit;font-family:inherit;font-size:.85rem;text-align:left;cursor:pointer}.take-pick-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.take-dot{flex:none;width:.7rem;height:.7rem;border:2px solid var(--color-border-strong);border-radius:50%}.take-card.is-on .take-dot{border-color:var(--color-primary);background:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-surface)}.take-menu-btn{flex:none;display:flex;align-items:center;padding:.35rem;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-ink-tertiary);cursor:pointer}.take-actions{position:absolute;right:.3rem;top:100%;z-index:10;display:flex;flex-direction:column;min-width:9.5rem;padding:.3rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.take-actions .take-item{justify-content:flex-start;white-space:nowrap}.take-item.is-danger{color:var(--color-danger)}.take-body{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .75rem .75rem;border-top:1px solid var(--color-border)}.take-name{flex:1;min-width:0;margin:.35rem 0 .35rem .5rem;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-ink-primary);font-family:inherit;font-size:.8rem}.take-file{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border:1px dashed var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-ink-secondary);font-size:.78rem;cursor:pointer}.take-file input{display:none}.takes{display:flex;flex-direction:column;gap:.6rem}.test-screen{display:flex;flex-direction:column;height:100svh;background:var(--color-bg);overflow:hidden;position:relative}.test-body{flex:1;min-height:0;overflow-y:auto;padding:.75rem 1rem 1rem}.test-label{margin:1.25rem 0 .5rem;font-size:.72rem;letter-spacing:.06em;color:var(--color-ink-secondary)}.test-group{margin-top:.9rem}.test-group:first-child{margin-top:.25rem}.test-group-label{margin:0 0 .3rem .2rem;font-size:.72rem;letter-spacing:.06em;color:var(--color-ink-secondary)}.test-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.test-field{display:block;width:100%;padding:.55rem .8rem;border:none;border-top:1px solid var(--color-border);background:transparent;text-align:left}.test-field:first-child{border-top:none}.test-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.test-field-label{font-size:.76rem;color:var(--color-ink-secondary)}.test-field .test-hint{margin-top:0;margin-bottom:.1rem;font-size:.74rem}.test-field .test-toggle,.test-field .test-earphone{margin:0}.test-field.is-flush{padding:0}.test-field.is-flush .test-earphone{padding:.55rem .8rem;border-radius:0}.test-field.is-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-block:.5rem;color:var(--color-ink-primary);font-size:.85rem;cursor:pointer}.test-row-label{display:inline-flex;align-items:center;gap:.45rem}.test-switch{flex:none;padding:.2rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-sunken);color:var(--color-ink-tertiary);font-size:.68rem;font-weight:600;letter-spacing:.06em}.test-switch.is-on{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-strong)}.test-choices{display:flex;flex-wrap:wrap;gap:.4rem}.test-choice{padding:.35rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);font-size:.85rem;cursor:pointer}.test-choice.is-on{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-strong);font-weight:600}.test-hint{margin:.5rem 0 0;color:var(--color-ink-secondary);font-size:.78rem;line-height:1.5}.test-speed{display:flex;align-items:center;gap:.75rem}.test-speed-value{flex:none;width:4.2rem;padding:.15rem 0;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-primary);font-family:var(--font-display);font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;cursor:pointer;-webkit-user-select:none;user-select:none}.test-speed-value:active{color:var(--color-primary)}.test-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;padding:.5rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);font-size:.85rem;cursor:pointer}.test-toggle.is-on{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-strong)}.mascot-demo-list{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.mascot-demo-list .test-toggle{margin-top:0}.test-earphone{display:flex;align-items:flex-start;gap:.4rem;margin:1.25rem 0 0;padding:.6rem .75rem;border-radius:var(--radius-md);background:var(--color-bg-sunken);color:var(--color-ink-secondary);font-size:.78rem;line-height:1.5}.test-earphone svg{flex:none;margin-top:.15rem}.test-start{display:block;width:100%;margin-top:.9rem;padding:.85rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-ink-on-primary);font-family:var(--font-display);font-size:1rem;font-weight:600;cursor:pointer}.test-start:disabled{background:var(--color-border);color:var(--color-ink-tertiary);cursor:not-allowed}.badge.is-testing{background:var(--red-10);color:var(--color-danger);font-weight:600}.app.is-testing{box-shadow:inset 0 0 0 2px var(--color-danger)}.test-run{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--color-bg-sunken);border-top:1px solid var(--color-border);flex:none}.test-run-left{color:var(--color-ink-secondary);font-size:.85rem;font-variant-numeric:tabular-nums}.test-run-left span{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--color-ink-primary)}.test-skip{position:absolute;left:.75rem;bottom:.75rem;z-index:8;display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-primary);font-size:.9rem;font-family:inherit;box-shadow:var(--shadow-md);cursor:pointer}.test-skip span{font-family:var(--font-display);font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.test-run-quit{min-width:6.25rem;padding:.5rem 1.1rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);font-size:.85rem;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.test-run-quit.is-confirming{border-color:var(--color-danger);background:var(--color-surface);color:var(--color-danger);font-weight:600}.review-title{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.25rem 0;color:var(--color-ink-secondary);font-size:.88rem}.review-title:before,.review-title:after{content:"";flex:1 1 0;max-width:3.25rem;height:1px}.review-title:before{background:linear-gradient(to right,transparent,var(--color-border-strong))}.review-title:after{background:linear-gradient(to left,transparent,var(--color-border-strong))}.review-title-text{letter-spacing:.16em;margin-right:-.16em}.review{--art-h: min(54vh, 118vw);display:flex;justify-content:center;height:var(--art-h);margin-top:.5rem}.review-art{position:relative;width:100%;max-width:calc(var(--art-h) * 1.15);height:100%;overflow:hidden}.review-art img{position:absolute;top:0;left:50%;width:auto;height:100%;transform:translate(-50%);-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent 87%);mask-image:linear-gradient(to bottom,#000 82%,transparent 87%)}.review-face{display:block;width:2.2rem;height:2.2rem;border-radius:50%;object-fit:cover;background:var(--color-bg-sunken)}.review-bubble{position:absolute;width:max-content;padding:.55rem .7rem;background:var(--paper-100);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 1px 6px #00000014;font-size:.85rem;line-height:1.45;text-wrap:pretty}.review-bubble[data-h=left]{left:3%}.review-bubble[data-h=right]{right:3%}.review-bubble[data-h=center]{left:50%;transform:translate(-50%)}.review-bubble[data-v=top]{top:3%}.review-bubble[data-v=bottom]{bottom:3%}.review-bubble[data-v=middle]{top:50%;transform:translateY(-50%)}.review-bubble[data-v=middle][data-h=center]{transform:translate(-50%,-50%)}.review-bubble:before{content:"";position:absolute;width:.7rem;height:.7rem;background:var(--paper-100);transform:rotate(45deg)}.review-bubble[data-tail^=bottom]:before{bottom:-.4rem;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.review-bubble[data-tail^=top]:before{top:-.4rem;border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.review-bubble[data-tail=left]:before{left:-.4rem;top:1.1rem;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.review-bubble[data-tail=right]:before{right:-.4rem;top:1.1rem;border-right:1px solid var(--color-border);border-top:1px solid var(--color-border)}.review-bubble[data-tail$=-left]:before{left:1.1rem}.review-bubble[data-tail$=-right]:before{right:1.1rem}.review-bubble[data-tail$=-center]:before{left:50%;transform:translate(-50%) rotate(45deg)}.review-line{margin:0}.review-line.is-note{margin-top:.3rem;color:var(--color-ink-secondary)}.review-case{margin-top:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.review-case .review{margin-top:.35rem;margin-inline:-1rem}.review-case-label{display:flex;justify-content:space-between;gap:.5rem;padding:0 1rem;font-size:.72rem;color:var(--color-ink-secondary)}.review-case-label span{color:var(--color-ink-tertiary);text-align:right}.test-run-quit.is-dev{opacity:.6;font-size:.75rem}.test-result-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:1.5rem}.test-result-scroll.is-reviewing{padding-bottom:calc(var(--transport-h, 7rem) + 1.5rem)}.test-result-head{display:flex;align-items:center;gap:1.25rem;padding:1rem 1rem 0}.test-score-block{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.test-score{display:flex;align-items:baseline;color:var(--color-primary-strong)}.test-score-value{font-family:var(--font-display);font-size:3rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;text-align:right}.test-score-unit{font-size:1rem;margin-left:.15rem}.test-breakdown{display:flex;flex-direction:column;gap:.2rem;color:var(--color-ink-secondary);font-size:.8rem;font-variant-numeric:tabular-nums}.test-breakdown b{color:var(--color-ink-primary)}.test-mean{margin-top:.2rem}.test-conditions{padding:.5rem 1rem 0;color:var(--color-ink-tertiary);font-size:.75rem}.run-marks{display:flex;align-items:center;gap:.4rem}.run-delta{display:inline-flex;align-items:center;gap:.1rem;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.run-delta.is-up{color:var(--color-success)}.run-delta.is-down{color:var(--color-danger)}.run-delta.is-flat{color:var(--color-ink-tertiary)}.run-delta.is-up:not(.is-strong),.run-delta.is-down:not(.is-strong){opacity:.5}.run-best{padding:.1rem .4rem;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:.68rem;font-weight:600}.review-balance{flex:1;min-width:2.5rem;max-width:4.5rem;margin-right:.15rem;accent-color:var(--color-primary);cursor:pointer}.review-balance:disabled{opacity:.4;cursor:default}.review-transport .transport-side-left{gap:.3rem}.review-balance-icon{flex:none;color:var(--color-ink-tertiary)}.review-delay{display:flex;align-items:center;gap:.2rem;margin-left:auto;color:var(--color-ink-tertiary);font-size:.7rem;white-space:nowrap}.review-delay-label{margin-right:.1rem}.review-delay b{min-width:2.2rem;color:var(--color-ink-secondary);font-variant-numeric:tabular-nums;text-align:right}.review-delay-btn{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);cursor:pointer}.review-note{display:flex;align-items:center;gap:.4rem;padding:.3rem .7rem 0;color:var(--color-ink-secondary);font-size:.72rem}.review-erase{display:flex;flex:none;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border:none;border-radius:var(--radius-pill);background:none;color:var(--color-ink-tertiary);cursor:pointer}.review-erase:hover{color:var(--color-danger)}.review-confirm{position:absolute;right:.5rem;bottom:calc(100% + .4rem);display:flex;flex-direction:column;gap:.5rem;max-width:min(18rem,calc(100vw - 2rem));padding:.6rem .7rem;border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);color:var(--color-ink-primary);font-size:.75rem;line-height:1.5}.review-confirm-buttons{display:flex;justify-content:flex-end;gap:.4rem}.review-confirm-no,.review-confirm-yes{flex:none;padding:.3rem .8rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;cursor:pointer}.review-confirm-no{border:1px solid var(--color-border);background:none;color:var(--color-ink-secondary)}.review-confirm-yes{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--color-ink-on-primary)}.review-practice{padding:.45rem .7rem;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);background:var(--color-primary-strong);color:var(--color-ink-on-primary);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.test-retry-link{flex:none;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:none;color:var(--color-primary-strong);font-size:.8rem;font-weight:600;cursor:pointer}.review-band{position:relative;flex:none;margin:.5rem .75rem 0;border-radius:var(--radius-sm);overflow:hidden;background:var(--lane-bg);box-shadow:var(--shadow-sm)}.review-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:7;pointer-events:none}.review-empty span{padding:.3rem .7rem;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-ink-secondary);font-size:.8rem}.review-close{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-secondary);z-index:7;opacity:.85;cursor:pointer}.test-screen .test-hint{padding:0 1rem}.test-curtain{position:fixed;inset:0;z-index:50;background:var(--color-bg);animation:test-curtain-fall var(--ease-standard) both}@keyframes test-curtain-fall{0%{opacity:0}to{opacity:1}}.app.is-testing.is-rising{animation:test-rise var(--ease-standard) both}@keyframes test-rise{0%{opacity:0}to{opacity:1}}.test-screen.is-entering{--in-fade: .34s;--in-beat: .3s;--in-rule: .26s;--in-art: .47s;--in-bubble: 325ms;--in-say: .2s;--in-hold: 0ms}.test-screen.is-entering.is-pass{--in-hold: .26s}.test-screen.is-entering>.bar,.test-screen.is-entering .test-result-head,.test-screen.is-entering .test-conditions,.test-screen.is-entering .test-hint,.test-screen.is-entering .map-scroll{animation:result-fade-in var(--in-fade) var(--ease-standard) both}@keyframes result-fade-in{0%{opacity:0}to{opacity:1}}.test-screen.is-entering .review-title{animation:result-fade-in var(--in-rule) var(--ease-standard) both;animation-delay:calc(var(--in-beat) + var(--in-hold))}.test-screen.is-entering .review-title:before,.test-screen.is-entering .review-title:after{animation:result-rule-draw var(--in-rule) var(--ease-standard) both;animation-delay:calc(var(--in-beat) + var(--in-hold))}.test-screen.is-entering .review-title:before{transform-origin:right center}.test-screen.is-entering .review-title:after{transform-origin:left center}@keyframes result-rule-draw{0%{scale:0 1}to{scale:1 1}}.test-screen.is-entering .review-art img{animation:result-art-rise var(--in-art) var(--ease-standard) both;animation-delay:calc(var(--in-beat) + var(--in-hold) + 90ms)}@keyframes result-art-rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}.test-screen.is-entering .review-bubble{animation:result-bubble-pop var(--in-bubble) var(--ease-standard) both;animation-delay:calc(var(--in-beat) + var(--in-hold) + 90ms + var(--in-say))}.test-screen.is-entering .review-bubble[data-tail=right]{transform-origin:right center}.test-screen.is-entering .review-bubble[data-tail=left]{transform-origin:left center}.test-screen.is-entering .review-bubble[data-tail^=bottom]{transform-origin:center bottom}.test-screen.is-entering .review-bubble[data-tail^=top]{transform-origin:center top}@keyframes result-bubble-pop{0%{opacity:0;scale:.86}60%{opacity:1;scale:1.04}to{opacity:1;scale:1}}.review-shine{position:absolute;left:50%;top:40%;width:92%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#fff3c4fa,#ffce4acc,#ffbe2800 72%);opacity:0;pointer-events:none}.test-screen.is-entering.is-pass .review-shine{animation:review-shine-burst 5s var(--ease-standard) both;animation-delay:calc(var(--in-beat) + var(--in-hold) + 90ms)}@keyframes review-shine-burst{0%{opacity:0;scale:.5}16%{opacity:.3;scale:.8}40%{opacity:.06;scale:1}62%{opacity:.24;scale:1.14}to{opacity:0;scale:1.4}}@media(prefers-reduced-motion:reduce){.test-curtain{animation:none;opacity:0}.app.is-testing.is-rising{animation:none}.test-screen.is-entering>.bar,.test-screen.is-entering .test-result-head,.test-screen.is-entering .test-conditions,.test-screen.is-entering .test-hint,.test-screen.is-entering .map-scroll,.test-screen.is-entering .review-title,.test-screen.is-entering .review-title:before,.test-screen.is-entering .review-title:after,.test-screen.is-entering .review-art img,.test-screen.is-entering .review-bubble,.test-screen.is-entering.is-pass .review-shine{animation:none}}.map-scroll{padding:.75rem}.map-stack{position:relative;background:var(--color-surface);box-shadow:var(--shadow-sm)}.map-pages svg{display:block;width:100%;height:auto}.map-marks{position:absolute;inset:0;pointer-events:none}.map-mark{position:absolute;border:none;border-radius:var(--radius-sm);background:var(--color-danger);mix-blend-mode:multiply;filter:opacity(.28);pointer-events:none}.map-system-band{position:absolute;left:0;top:0;width:0;height:0;z-index:4;background:var(--color-primary);opacity:0;pointer-events:none}.map-system-band.is-visible{opacity:.09}.map-cursor{position:absolute;left:0;width:2px;margin-left:-1px;background:var(--lane-head);opacity:0;z-index:5;pointer-events:none;will-change:transform}.map-hit{position:absolute;border:none;background:transparent;cursor:pointer;pointer-events:auto}.map-hit:active{background:var(--color-primary);opacity:.18}.song-test{display:block;width:100%;margin-top:.6rem;padding:.5rem;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary-strong);font-size:.85rem;font-weight:600;cursor:pointer}.song-test{margin-top:1rem}.song-test.is-quiet{margin-top:.5rem;border-color:var(--color-border);color:var(--color-ink-secondary);font-weight:400}.run-summary{margin-bottom:.4rem;color:var(--color-ink-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.run-summary b{color:var(--color-ink-primary)}.run-list{display:flex;flex-direction:column;gap:.3rem}.run-row{display:flex;align-items:center;gap:.25rem}.run-open{flex:1;min-width:0;display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer}.run-when{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:var(--color-ink-primary);font-variant-numeric:tabular-nums}.run-conditions{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-ink-tertiary);font-size:.68rem}.run-rate{flex:none;display:inline-flex;align-items:baseline;gap:.3rem;font-size:.95rem;font-weight:600;color:var(--color-primary-strong);font-variant-numeric:tabular-nums}.run-delete{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border:none;border-radius:50%;background:transparent;color:var(--color-ink-tertiary);cursor:pointer}.run-more{display:flex;align-items:center;justify-content:center;gap:.3rem;width:100%;margin-top:.35rem;padding:.4rem;border:none;background:transparent;color:var(--color-ink-secondary);font-size:.75rem;font-variant-numeric:tabular-nums;cursor:pointer}
