#replay-scene{width:100%;height:100%;display:block;position:fixed;inset:0}#replay-crosshair{pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;position:fixed;top:50%;left:50%}#replay-crosshair.is-live{width:auto;height:auto;margin:0;inset:0}#replay-crosshair.is-live:before,#replay-crosshair.is-live:after{content:none}#replay-crosshair:before,#replay-crosshair:after{content:"";background:var(--fg);position:absolute}#replay-crosshair:before{height:1px;margin-top:-.5px;top:50%;left:0;right:0}#replay-crosshair:after{width:1px;margin-left:-.5px;top:0;bottom:0;left:50%}#replay-ui{pointer-events:none;font-family:var(--font-body);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}#replay-ui a,#replay-ui button,#replay-ui input,#replay-ui select{pointer-events:auto}.replay-head{align-items:center;gap:var(--s-4);padding:var(--s-3) var(--gutter);background:linear-gradient(color-mix(in oklab, var(--ink-000) 75%, transparent), transparent);display:flex}.replay-back{align-items:center;gap:var(--s-1);color:var(--fg-muted);font-size:var(--t-sm);transition:color var(--d-hover) var(--e-glide);text-decoration:none;display:inline-flex}.replay-back:hover{color:var(--fg)}.replay-back svg{display:block}.replay-title{color:var(--fg);font-size:var(--t-sm);font-weight:500}.replay-badge{margin-left:var(--s-2);border:var(--hairline) solid var(--rule-strong);border-radius:var(--r-s);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--tr-mono);padding:.1rem .45rem;font-weight:400;display:inline-block}.replay-badge.is-warn{color:#d99a55;border-color:#8a5a2a}.replay-export{align-items:center;gap:var(--s-3);flex:none;margin-left:auto;display:flex}.replay-export .replay-note{text-align:right}.replay-status{color:var(--fg-muted);font-size:var(--t-sm);text-align:center;align-self:center;max-width:36rem}.replay-status:empty{display:none}.replay-controls{gap:var(--s-3);padding:var(--s-4) var(--gutter) var(--s-4);background:linear-gradient(transparent, color-mix(in oklab, var(--ink-000) 88%, transparent));display:grid}.replay-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.replay-row--tools .tbar__keys{margin-left:auto}.replay-controls .btn,.replay-export .btn,.replay-card .btn{min-height:2rem;padding:0 var(--s-3);gap:var(--s-2);font-size:var(--t-xs)}.replay-controls .btn svg,.replay-export .btn svg,.replay-card .btn svg{stroke-width:1.5px;width:15px;height:15px}.replay-controls .btn--icon,.replay-card .btn--icon{width:2rem;padding:0}.btn.is-staff{border-style:dashed}.tbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.tbar__group{align-items:center;gap:var(--s-1);display:inline-flex}.tbar__score{margin-left:auto}.tbar__play kbd,.replay-card kbd,.tbar__keys kbd{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--tr-mono);color:var(--fg-muted);padding:2px var(--s-2);border:var(--hairline) solid var(--rule-strong);border-radius:var(--r-s);line-height:1}.tbar__play kbd{margin-left:var(--s-1)}.tbar__play{min-width:7.75rem}.btn--solid kbd{color:inherit;opacity:.55;border-color:currentColor}.tbar__clock,.tbar__score{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:var(--tr-mono);font-variant-numeric:tabular-nums;color:var(--fg);white-space:nowrap}.tbar__clock b{font-weight:500}.tbar__dim{color:var(--fg-muted)}.tbar__tick{margin-left:var(--s-3)}.tbar__keys{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.tbar__key{align-items:center;gap:var(--s-2);font-size:var(--t-xs);color:var(--fg-faint);white-space:nowrap;display:flex}.replay-note{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:var(--tr-mono);color:var(--fg-muted)}.replay-note:empty{display:none}.scrub{pointer-events:auto;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;gap:0;display:grid;position:relative}.scrub-legend{font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg-faint);gap:.8rem;font-size:.625rem;display:flex;position:absolute;top:-.2rem;right:0}.scrub-key:before{content:"";vertical-align:-.05rem;width:.5rem;height:.5rem;margin-right:.3rem;display:inline-block}.scrub-key.is-kill:before{background:var(--ink-950,#eff3f7)}.scrub-key.is-hit:before{background:var(--ink-500,#646971)}.scrub-key.is-miss:before{background:#b0763a}.scrub-stage{height:2.4rem;position:relative}.scrub-spark{width:100%;height:100%;position:absolute;inset:0}.scrub-mark{cursor:pointer;border:none;border-radius:1px 1px 0 0;width:3px;margin-left:-1.5px;padding:0;position:absolute;bottom:0}.scrub-mark.is-kill{background:var(--ink-950,#eff3f7);height:100%}.scrub-mark.is-hit{background:var(--ink-500,#646971);height:55%}.scrub-mark.is-miss{background:#b0763a;height:32%}.scrub-mark:hover{filter:brightness(1.25);width:5px;margin-left:-2.5px}.scrub-cursor{background:var(--fg);opacity:.55;pointer-events:none;width:1px;margin-left:-.5px;position:absolute;top:0;bottom:0}.scrub-track{background:color-mix(in oklab, var(--fg) 14%, transparent);border-radius:2px;height:4px;margin:.3rem 0 .55rem;position:relative}.scrub-fill{border-radius:inherit;background:var(--fg);opacity:.8;transform-origin:0;will-change:transform;position:absolute;inset:0;transform:scaleX(0)}.scrub-handle{background:var(--fg);width:12px;height:12px;box-shadow:0 0 0 2px var(--ink-000);border-radius:50%;margin:-6px 0 0 -6px;position:absolute;top:50%}.scrub.is-dragging{cursor:grabbing}.scrub-tip{border:var(--hairline) solid var(--rule-strong);border-radius:var(--r-s);background:color-mix(in oklab, var(--ink-000) 92%, transparent);color:var(--fg);font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--tr-mono);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;padding:.15rem .45rem;position:absolute;bottom:calc(100% + .35rem);transform:translate(-50%)}@media (prefers-reduced-motion:no-preference){.scrub-mark{transition:width var(--d-hover) var(--e-glide), margin-left var(--d-hover) var(--e-glide), filter var(--d-hover) var(--e-glide)}.scrub-handle{transition:transform var(--d-hover) var(--e-glide)}.scrub:hover .scrub-handle,.scrub.is-dragging .scrub-handle{transform:scale(1.25)}.xdlg__bar-fill{transition:transform var(--d-hover) var(--e-glide)}}#replay-meta{top:3.6rem;right:var(--gutter);border:var(--hairline) solid var(--rule-strong);border-radius:var(--r-s);background:color-mix(in oklab, var(--ink-000) 88%, transparent);max-width:20rem;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:var(--tr-mono);grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:0;padding:.8rem 1rem;display:grid;position:fixed}#replay-meta dt{color:var(--fg-faint)}#replay-meta dd{color:var(--fg);overflow-wrap:anywhere;margin:0}.replay-card{z-index:40;position:fixed}.replay-card .fbk__inner{width:min(calc(100% - 2 * var(--gutter)), 28rem)}.replay-card--notice .fbk__inner,.replay-card--confirm .fbk__inner{width:min(calc(100% - 2 * var(--gutter)), 27rem)}.replay-card__actions{gap:var(--s-2);margin-top:var(--s-2);display:flex}.replay-card__actions .btn{text-decoration:none}.replay-card--export .replay-card__actions .btn{flex:1}.xdlg__group{gap:var(--s-2);display:grid}.xdlg__label{font-size:var(--t-mono);letter-spacing:var(--tr-label,.08em);text-transform:uppercase;color:var(--fg-faint);padding-bottom:var(--s-1);border-bottom:var(--hairline) solid var(--rule)}.xdlg__row{justify-content:space-between;align-items:center;gap:var(--s-4);font-size:var(--t-sm);display:flex}.xdlg__row .field{width:auto;min-width:8rem;min-height:2rem;padding:0 var(--s-3)}.xdlg__check{align-items:center;gap:var(--s-2);font-size:var(--t-sm);cursor:pointer;display:flex}.xdlg__check input{accent-color:var(--fg)}.xdlg__note{font-size:var(--t-xs);color:var(--fg-muted);line-height:1.45}.xdlg__state{gap:var(--s-2);padding:var(--s-3);border:var(--hairline) solid var(--rule);border-radius:var(--r-s);background:color-mix(in oklab, var(--ink-000) 40%, transparent);display:grid}.xdlg__state-head{align-items:center;gap:var(--s-2);font-size:var(--t-sm);font-weight:500;display:flex}.xdlg__state-glyph{color:var(--fg-muted);display:inline-flex}.xdlg__state-glyph svg{display:block}.xdlg__bar{background:color-mix(in oklab, var(--fg) 14%, transparent);border-radius:2px;height:4px;position:relative;overflow:hidden}.xdlg__bar-fill{background:var(--fg);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.xdlg__progress{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:var(--tr-mono);font-variant-numeric:tabular-nums;color:var(--fg-muted);min-height:1.2em}
