@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--radius-2xl:var(--radius-2xl);--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-strong:var(--surface-strong);--color-surface-muted:var(--surface-muted);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-ink:var(--ink);--color-muted:var(--muted);--color-accent:var(--accent);--color-accent-strong:var(--accent-strong);--color-accent-soft:var(--accent-soft);--color-success-soft:var(--success-soft);--color-success-ink:var(--success-ink);--color-warning-soft:var(--warning-soft);--color-warning-ink:var(--warning-ink);--color-danger-soft:var(--danger-soft);--color-danger-ink:var(--danger-ink);--color-info-soft:var(--info-soft);--color-info-ink:var(--info-ink);--spacing-0:var(--spacing-0);--spacing-px:var(--spacing-px);--spacing-1:var(--spacing-1);--spacing-2:var(--spacing-2);--spacing-3:var(--spacing-3);--spacing-4:var(--spacing-4);--spacing-5:var(--spacing-5);--spacing-6:var(--spacing-6);--spacing-8:var(--spacing-8);--spacing-10:var(--spacing-10);--spacing-12:var(--spacing-12);--spacing-16:var(--spacing-16);--radius-pill:var(--radius-pill)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-start{inset-inline-start:calc(var(--spacing)*-1)}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.-end{inset-inline-end:calc(var(--spacing)*-1)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.isolate{isolation:isolate}.float-left{float:left}.float-right{float:right}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.container\!{width:100%!important}@media (min-width:40rem){.container\!{max-width:40rem!important}}@media (min-width:48rem){.container\!{max-width:48rem!important}}@media (min-width:64rem){.container\!{max-width:64rem!important}}@media (min-width:80rem){.container\!{max-width:80rem!important}}@media (min-width:96rem){.container\!{max-width:96rem!important}}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.list-item{display:list-item}.table{display:table}.table-row{display:table-row}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)!important}.resize{resize:both}.resize\!{resize:both!important}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}}:root{--parchment-50:#fffdf8;--parchment-100:#fff9ef;--parchment-200:#f8f0e5;--parchment-300:#f4ebde;--parchment-400:#f2e6d5;--parchment-500:#efe4d4;--parchment-600:#dbc6aa;--parchment-700:#be9f78;--parchment-800:#9b785f;--parchment-900:#70604c;--clay-50:#f3dfd0;--clay-100:#f6eae0;--clay-200:#e6b898;--clay-300:#db875d;--clay-400:#c25b38;--clay-500:#8a3d22;--clay-600:#6d2d18;--clay-700:#4f1f10;--ink-50:#f2e8d9;--ink-100:#c4b39f;--ink-200:#70604c;--ink-300:#57616f;--ink-400:#2f2518;--forest-50:#dce6da;--forest-100:#b8d2bc;--forest-200:#597445;--forest-300:#33513c;--sea-200:#2d6a73;--sea-300:#5b6c9d;--amber-50:#f6ead1;--amber-100:#efe7c5;--amber-200:#ddb58b;--amber-300:#8a5c16;--amber-400:#7a5014;--amber-500:#5d4d1d;--ember-50:#ffebee;--ember-100:#fce4ec;--ember-200:#ef9a9a;--ember-300:#ef5350;--ember-400:#c62828;--ember-500:#b42828;--white:#fff;--black:#000;--font-family-sans:var(--font-sans),sans-serif;--font-family-serif:var(--font-serif),serif;--font-family-mono:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Monaco,Consolas,monospace;--font-size-3xs:.56rem;--font-size-2xs:.65rem;--font-size-xs:.72rem;--font-size-sm:.78rem;--font-size-base:.9rem;--font-size-md:1rem;--font-size-lg:1.15rem;--font-size-xl:1.35rem;--font-size-2xl:1.65rem;--font-size-3xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.65;--spacing-0:0px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--spacing-px:1px;--spacing-0-5:2px;--spacing-1-5:6px;--spacing-2-5:10px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:20px;--radius-pill:999px;--duration-snappy:.12s;--duration-standard:.2s;--duration-expressive:.4s;--easing-out:cubic-bezier(.2,0,0,1);--easing-in-out:cubic-bezier(.4,0,.2,1);--button-height-sm:30px;--button-height-md:36px;--button-height-lg:48px;--input-height-sm:32px;--input-height-md:40px;--chip-height:26px;--touch-target-min:24px;--touch-target-comfortable:48px;--border-width-default:1px;--border-width-strong:2px;--color-surface:#fff9eff0;--color-info-soft:#5b6c9d1f;--shadow-default:0px 24px 60px 0px #4f34181f;--button-radius:var(--radius-pill);--input-radius:var(--radius-md);--chip-radius:var(--radius-pill);--panel-radius:var(--radius-xl);--panel-padding:var(--spacing-3);--color-bg:var(--parchment-300);--color-surface-strong:var(--parchment-50);--color-surface-muted:var(--parchment-400);--color-border:var(--parchment-600);--color-border-strong:var(--parchment-700);--color-ink:var(--ink-400);--color-muted:var(--ink-200);--color-accent:var(--clay-500);--color-accent-strong:var(--clay-600);--color-accent-soft:var(--clay-50);--color-success-soft:var(--forest-50);--color-success-ink:var(--forest-300);--color-warning-soft:var(--amber-50);--color-warning-ink:var(--amber-300);--color-danger-soft:var(--ember-50);--color-danger-ink:var(--ember-400);--color-danger-ink-strong:var(--ember-500);--color-info-ink:var(--sea-300)}html[data-theme=dark]{--color-bg:#17120f;--color-surface:#211b17eb;--color-surface-strong:#221b17;--color-surface-muted:#2b221d;--color-border:#5c483b;--color-border-strong:#8d654e;--color-accent-strong:#c46d42;--color-accent-soft:#db875d24;--color-success-soft:#5d8c6633;--color-warning-soft:#8a5c162e;--color-danger-soft:#c6282829;--color-info-soft:#5b6c9d29;--color-info-ink:#8fa0cc;--shadow-default:0px 28px 70px 0px #0000005c;--color-ink:var(--ink-50);--color-muted:var(--ink-100);--color-accent:var(--clay-300);--color-success-ink:var(--forest-100);--color-warning-ink:var(--amber-200);--color-danger-ink:var(--ember-200)}:root{--bg:var(--color-bg);--surface:var(--color-surface);--surface-strong:var(--color-surface-strong);--surface-muted:var(--color-surface-muted);--border:var(--color-border);--border-strong:var(--color-border-strong);--ink:var(--color-ink);--fg:var(--ink);--muted:var(--color-muted);--accent:var(--color-accent);--accent-strong:var(--color-accent-strong);--accent-soft:var(--color-accent-soft);--success-soft:var(--color-success-soft);--success-ink:var(--color-success-ink);--warning-soft:var(--color-warning-soft);--warning-ink:var(--color-warning-ink);--danger-soft:var(--color-danger-soft);--danger-ink:var(--color-danger-ink);--info-soft:var(--color-info-soft);--info-ink:var(--color-info-ink);--shadow:var(--shadow-default);--motion-snappy:var(--duration-snappy);--motion-standard:var(--duration-standard);--motion-expressive:var(--duration-expressive);--ease-out:var(--easing-out);--ease-in-out:var(--easing-in-out)}html[data-theme=dark]{--bg:var(--color-bg);--surface:var(--color-surface);--surface-strong:var(--color-surface-strong);--surface-muted:var(--color-surface-muted);--border:var(--color-border);--border-strong:var(--color-border-strong);--ink:var(--color-ink);--fg:var(--ink);--muted:var(--color-muted);--accent:var(--color-accent);--accent-strong:var(--color-accent-strong);--accent-soft:var(--color-accent-soft);--success-soft:var(--color-success-soft);--success-ink:var(--color-success-ink);--warning-soft:var(--color-warning-soft);--warning-ink:var(--color-warning-ink);--danger-soft:var(--color-danger-soft);--danger-ink:var(--color-danger-ink);--info-soft:var(--color-info-soft);--info-ink:var(--color-info-ink);--shadow:var(--shadow-default)}*{box-sizing:border-box}html{height:100%}body{min-height:100%;color:var(--ink);font-family:var(--font-sans),sans-serif;background:radial-gradient(circle at top left,#ffffffa6,transparent 28%),radial-gradient(circle at top right,#bc9f782e,transparent 24%),linear-gradient(180deg,#f8f0e5 0%,var(--bg)38%,#efe4d4 100%);margin:0}:root{--mobile-chrome-nudge-size:32px}html[data-theme=dark] body{background:radial-gradient(circle at top left,#f0b89014,transparent 28%),radial-gradient(circle at top right,#7e543a38,transparent 24%),linear-gradient(180deg,#231a15 0%,var(--bg)42%,#120d0a 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ring-focus,.editor-mode-switcher__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-card{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:14px}.ui-card--subtle{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.ui-card--subtle{background:color-mix(in srgb,var(--surface)88%,black 12%)}}.ui-card--lg{padding:2rem 1rem}.ui-card--center{text-align:center}.ui-card--dashed{border-style:dashed;border-color:#be9f78cc}.ui-dialog{z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ui-dialog__panel{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;width:min(92vw,480px);max-height:80vh;padding:1.4rem 1.6rem;overflow-y:auto;box-shadow:0 20px 60px #0006}.ui-dialog__panel--sm{width:min(92vw,360px)}.ui-dialog__panel--lg{width:min(92vw,720px)}.ui-dialog__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.ui-dialog__title{color:var(--ink);margin:0;font-size:1rem;font-weight:700}.ui-dialog__footer{justify-content:flex-end;margin-top:1rem;display:flex}.ui-popover-panel{top:var(--ui-popover-top);left:var(--ui-popover-left);width:var(--ui-popover-width);transform:var(--ui-popover-transform,none);pointer-events:auto;position:fixed}.keyboard-help{gap:1rem;display:grid}.keyboard-help__group{gap:.3rem;display:grid}.keyboard-help__group-title{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;margin:0;font-size:.68rem;font-weight:600}.keyboard-help__items{gap:.15rem;display:grid}.keyboard-help__item{align-items:center;gap:.6rem;padding:.2rem 0;font-size:.82rem;display:flex}.keyboard-help__key{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:6px;min-width:52px;padding:.12rem .4rem;font-family:inherit;font-size:.74rem;font-weight:600;display:inline-block}.keyboard-help__desc{color:var(--ink)}.editor-mode-switcher{justify-items:center;gap:.22rem;display:grid}.editor-mode-switcher__tablist{border:1px solid var(--border);border-radius:8px;gap:0;font-size:.72rem;display:inline-flex;overflow:hidden}.editor-mode-switcher__tab{border:none;border-right:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:inherit;cursor:pointer;outline:none;padding:.25rem .65rem;font-weight:400;line-height:1.4}.editor-mode-switcher__tab.is-active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.editor-mode-switcher__tab.is-active{background:color-mix(in srgb,var(--accent)12%,var(--surface))}}.editor-mode-switcher__tab.is-active{color:var(--accent);font-weight:600}.editor-mode-switcher__tab.is-last{border-right:none}.editor-mode-switcher__purpose{max-width:28rem;color:var(--muted);text-align:center;margin:0;font-size:.62rem;line-height:1.3}.mini-player-dock{z-index:120;gap:10px;width:min(680px,100vw - 24px);transition:transform .35s cubic-bezier(.4,0,.2,1);display:grid;position:fixed;bottom:18px;right:18px}.mini-player-dock.is-slid-out{transform:translate(calc(100% + 18px))}.mini-player-handle{background:var(--surface-strong);width:16px;height:42px;color:var(--muted);font-size:var(--font-size-3xs);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #be9f7880;border-right:0;border-radius:8px 0 0 8px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;left:-15px;transform:translateY(-50%);box-shadow:-3px 3px 8px #4f341814}.mini-player-handle:hover{color:var(--accent);background:var(--surface)}.mini-player-bar,.mini-player-panel{border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mini-player-bar{border-radius:18px;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:6px 5px;padding:8px 12px;display:grid}.mini-player-icon,.mini-player-play,.mini-player-queue-btn,.mini-player-clear{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;transition:background .15s,border-color .15s,color .15s}.mini-player-icon,.mini-player-play{width:30px;height:30px;font-size:var(--font-size-sm);place-items:center;padding:0;display:inline-grid}.mini-player-play{border-color:var(--accent);background:var(--accent);color:#fff}.mini-player-icon:disabled{opacity:.38;cursor:default}.mini-player-copy{text-align:left;min-width:0;color:inherit;background:0 0;border:0;grid-area:1/4;gap:2px;padding:0;display:grid}.mini-player-copy strong,.mini-player-queue-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-player-copy strong{font-size:var(--font-size-base)}.mini-player-copy span,.mini-player-queue-main span{color:var(--muted);font-size:var(--font-size-sm)}.mini-player-progress{min-width:0;color:var(--muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;grid-area:2/1/auto/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.mini-player-progress input{width:100%;accent-color:var(--accent)}.mini-player-link,.mini-player-open{color:var(--accent);font-size:var(--font-size-sm);white-space:nowrap;background:#8a3d2214;border:1px solid #8a3d2233;border-radius:999px;justify-content:center;align-items:center;padding:7px 11px;font-weight:700;text-decoration:none;display:inline-flex}.mini-player-link{grid-area:1/5;justify-self:end}.mini-player-panel{border-radius:20px;gap:10px;padding:12px;display:grid}.mini-player-panel-head{font-size:var(--font-size-sm);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.mini-player-clear,.mini-player-queue-btn{font-size:var(--font-size-sm);padding:6px 10px;font-weight:600}.mini-player-queue{gap:8px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.mini-player-queue-item{background:#ffffffb8;border:1px solid #be9f7857;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.mini-player-queue-item.is-active{background:#f6eae0eb;border-color:#8a3d2257}.mini-player-queue-main{text-align:left;min-width:0;color:inherit;background:0 0;border:0;gap:3px;padding:0;display:grid}.mini-player-queue-actions{align-items:center;gap:6px;display:flex}.mini-player-queue-btn.is-danger{color:var(--accent)}.page-shell{min-height:100vh;padding:12px 16px 24px}.page-frame{gap:10px;max-width:1560px;margin:0 auto;display:grid}.page-header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.page-admin-link{color:var(--accent);font-size:var(--font-size-sm);background:#8a3d2214;border:1px solid #8a3d222e;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-weight:700;text-decoration:none;display:inline-flex}.page-signout-btn{border:1px solid var(--border);background:var(--surface-strong);width:32px;height:32px;color:var(--ink);font-size:var(--font-size-sm);cursor:pointer;border-radius:50%;font-weight:700;transition:background .15s,border-color .15s}.page-signout-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.view-tabs{background:#be9f7826;border-radius:10px;flex-shrink:0;gap:2px;padding:2px;display:flex}.view-tab{appearance:none;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-weight:600;transition:all .12s}.view-tab:hover{color:var(--ink)}.view-tab.is-active{background:var(--surface-strong);border-color:var(--border);color:var(--ink);box-shadow:0 1px 3px #4f341814}.page-title-block{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.section-kicker{font-size:var(--font-size-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;display:inline-flex}.page-header h1{font-family:var(--font-serif),serif;margin:0;font-size:clamp(1.2rem,2.5vw,1.6rem);line-height:1}.page-subtitle{font-size:var(--font-size-base);color:var(--muted);margin:0}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;padding:16px}.panel-tight{padding:12px 14px}.workspace-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:12px;display:grid}.analysis-stack,.catalog-stack,.playlist-rail{gap:12px;display:grid}.playlist-rail{scrollbar-width:thin;scrollbar-color:var(--border)transparent;max-height:calc(100vh - 24px);position:sticky;top:12px;overflow:hidden auto}.section-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.section-head h2{font-size:var(--font-size-xl);margin:6px 0 0}.section-head p{max-width:36ch;color:var(--muted);margin:0;line-height:1.55}.section-head-compact{margin-bottom:14px}.region-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.region-chip-list{flex-wrap:wrap;flex:1;gap:8px;display:flex}.map-toggle{white-space:nowrap;font-size:var(--font-size-sm)}.map-card{background:linear-gradient(#ffffffd1,#f0e2cfcc);border:1px solid #be9f7873;border-radius:22px;padding:18px;overflow:hidden}.region-map-image{width:100%;height:auto;display:block}.catalog-header{align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.catalog-header h2{font-size:var(--font-size-xl);margin:0}.catalog-count{color:var(--muted);font-size:var(--font-size-base)}.region-chip,.button{border:1px solid var(--border-strong);background:var(--surface-strong);color:var(--ink);border-radius:999px;transition:transform .12s,background-color .12s,border-color .12s,color .12s}.region-chip{font-size:var(--font-size-base);padding:10px 14px}.region-chip:hover,.button:hover{transform:translateY(-1px)}.region-chip.is-active,.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-subtle{background:var(--success-soft);color:var(--success-ink);border-color:#406a4e47}.button-ghost{background:0 0}.button-danger{color:var(--accent);background:0 0;border-color:#8a3d2247}.button-danger:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.button-danger:hover{background:color-mix(in srgb,var(--accent)8%,transparent)}}.button-sm{font-size:var(--font-size-sm);padding:6px 10px}.button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.button[aria-pressed=true]:hover{background:var(--accent);border-color:var(--accent)}.catalog-panel{min-height:560px}.catalog-panel-compact{min-height:0;max-height:50vh;overflow:auto}.library-tools{gap:10px;margin-bottom:14px;display:grid}.library-search input{padding-right:40px}.library-filter-row,.recent-chip-list{flex-wrap:wrap;gap:8px;display:flex}.recent-strip{gap:8px;margin-bottom:14px;display:grid}.recent-strip-label{color:var(--muted);font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase}.recent-chip{color:var(--ink);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;background:#ffffffc7;border:1px solid #be9f786b;border-radius:999px;max-width:100%;padding:7px 12px;overflow:hidden}.recent-chip.is-active{color:var(--accent);background:#8a3d221a;border-color:#8a3d226b}.lib-row{cursor:pointer;border-bottom:1px solid #be9f7826;align-items:center;gap:8px;padding:6px 10px;transition:background .1s;display:flex}.lib-row:hover{background:#be9f7814}.lib-row--child{padding-left:24px}.lib-row--loaded{background:#8a3d220f}.lib-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-sm);flex:1;line-height:1.4;overflow:hidden}.lib-row-title strong{color:var(--ink);font-weight:600}.lib-row-count{min-width:18px;height:18px;color:var(--ink-muted);font-size:var(--font-size-2xs);vertical-align:middle;background:#8a5c161f;border-radius:9px;justify-content:center;align-items:center;margin-left:4px;padding:0 5px;font-weight:600;display:inline-flex}.lib-row-variant{color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:600}.lib-row-hint{color:var(--ink-muted);font-size:var(--font-size-sm)}.lib-row-end{flex-shrink:0;align-items:center;gap:6px;display:flex}.lib-row-queue{font-size:var(--font-size-2xs);color:var(--ink-muted);font-weight:600}.lib-row-add{width:24px;height:24px;color:var(--accent);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:1px solid #be9f784d;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:background .1s,border-color .1s;display:inline-flex}.lib-row-add:hover{background:#8a3d2214;border-color:#8a3d224d}.track-group-list{gap:18px;display:grid}.track-group{border-top:1px solid #be9f7847;gap:8px;padding-top:14px;display:grid}.track-group:first-child{border-top:0;padding-top:0}.track-group-head{align-items:baseline;gap:8px;display:flex}.track-group-head h3{font-size:var(--font-size-md);margin:0}.track-group-head p{color:var(--muted);font-size:var(--font-size-sm);margin:0}.track-group-head--collapsible{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:baseline;gap:6px;padding:0;display:flex}.track-group-head--collapsible:hover h3{color:var(--accent)}.track-group-chevron{font-size:var(--font-size-sm);color:var(--muted);flex-shrink:0;width:12px}.track-group-count{background:var(--accent-soft,#8a3d221a);min-width:20px;height:20px;color:var(--accent);font-size:var(--font-size-xs);border-radius:10px;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:inline-flex}.track-row-list{gap:6px;display:grid}.track-row{background:var(--surface-strong);cursor:pointer;border:1px solid #be9f784d;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;transition:border-color .12s,box-shadow .12s;display:grid}.track-row:hover{border-color:#be9f7899}.track-row:focus-visible{outline-offset:2px;outline:2px solid #8a3d224d}.track-row.is-previewing{border-color:#406a4e80;box-shadow:0 0 0 2px #406a4e14}.track-row.is-loaded{border-color:#8a3d2266;box-shadow:0 0 0 2px #8a3d2214}.track-copy{gap:2px;min-width:0;display:grid}.track-title-row{align-items:center;gap:8px;min-width:0;display:flex}.track-title-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-base);line-height:1.35;overflow:hidden}.track-source{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);overflow:hidden}.track-queued-badge{background:var(--accent-soft);min-width:22px;height:20px;color:var(--accent);font-size:var(--font-size-xs);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:inline-flex}.track-loaded-badge{min-width:44px;height:20px;color:var(--accent);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;background:#8a3d221a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 7px;font-weight:700;display:inline-flex}.track-badges{flex-shrink:0;gap:6px;display:flex}.rhythm-badge{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-weight:600;display:inline-flex}.rhythm-badge-seed{background:var(--warning-soft);color:var(--warning-ink)}.rhythm-badge-teacher{background:var(--amber-100);color:var(--amber-500)}.rhythm-badge-reviewed{background:var(--success-soft);color:var(--success-ink)}.rhythm-badge-grouping{opacity:.72;font-weight:400}.track-copy strong,.player-copy strong,.playlist-row-copy strong{line-height:1.35}.track-copy span,.player-copy span,.playlist-row-copy span,.empty-state,.field span,.list-head span{color:var(--muted)}.track-actions,.transport-row,.playlist-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.button-icon{width:32px;height:32px;font-size:var(--font-size-sm);justify-content:center;align-items:center;padding:0;display:inline-flex}.session-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.field{gap:8px;display:grid}.field-grow{min-width:0}.field span{font-size:var(--font-size-sm);letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:14px;padding:11px 13px}.checkbox-pill{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.checkbox-pill input{width:16px;height:16px}.player-panel{gap:8px;display:grid}.player-panel-wide{gap:10px}.analysis-toolbar,.analysis-mode-group,.analysis-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.analysis-toolbar{justify-content:space-between}.analysis-status-card{background:linear-gradient(#ffffffa8,#f3ece1e0);border:1px solid #be9f7857;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.analysis-status-card.is-loading{background:linear-gradient(#f8eedaeb,#f4e9d7f0);border-color:#8a5c1652}.analysis-status-card.is-ready{background:linear-gradient(#f1f6fcf5,#e8eff8f0);border-color:#5975944d}.analysis-status-card.is-error{background:linear-gradient(#faf0eaf5,#f6e7e0f0);border-color:#8a3d2247}.analysis-status-copy{gap:4px;min-width:0;display:grid}.analysis-status-copy strong{font-size:var(--font-size-base)}.analysis-status-copy span{color:var(--muted);font-size:var(--font-size-sm);line-height:1.45}.analysis-status-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.compare-panel{background:linear-gradient(#f4f8fdf5,#ecf2f9f0);border:1px solid #59759438;border-radius:12px;gap:8px;padding:8px 10px;display:grid}.compare-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.compare-head-copy{gap:4px;display:grid}.compare-head-copy span{color:var(--muted);font-size:var(--font-size-sm);line-height:1.5}.compare-actions{flex-wrap:wrap;gap:8px;display:flex}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.compare-card{background:#ffffffb8;border:1px solid #be9f7847;border-radius:16px;gap:6px;padding:12px;display:grid}.compare-card-reference{border-color:#59759442}.compare-card-current{border-color:#8a3d2238}.compare-card-kicker{color:var(--muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.compare-metrics{flex-wrap:wrap;gap:8px;display:flex}.compare-metrics span{color:var(--muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;background:#be9f781f;border-radius:999px;align-items:center;padding:5px 8px;display:inline-flex}.section-navigator{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;gap:8px;padding:10px 12px;display:grid}.section-navigator-head,.section-group-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-navigator-head div,.section-group{gap:10px;display:grid}.section-navigator-head span,.section-group-head span,.section-card-meta,.section-card-hint{color:var(--muted)}.section-navigator-head span,.section-card-meta,.section-card-hint{font-size:var(--font-size-sm)}.section-chip-flow{flex-wrap:wrap;gap:4px;display:flex}.section-chip-stack{gap:4px;display:grid}.section-subchip-flow{flex-wrap:wrap;gap:4px;padding-left:10px;display:flex}.section-chip-group{align-items:stretch;gap:0;display:flex}.section-chip{appearance:none;background:var(--surface-strong);color:var(--ink);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;border:1px solid #be9f784d;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-weight:600;transition:background .12s,border-color .12s,transform .1s;display:inline-flex}.section-chip:hover{background:#be9f781f;border-color:#8a5c1659;transform:translateY(-1px)}.section-chip.is-looping{border-color:var(--accent);color:var(--accent);background:#8a3d221f}.section-chip.is-in-loop{color:var(--accent);background:#8a3d220f;border-color:#8a3d2266}.section-chip.is-active{color:var(--success-ink);background:#5390701a;border-color:#53907080;box-shadow:0 0 0 1px #5390702e}.section-chip.is-suggested{background:#f1f6fccc;border-color:#5975944d}.section-chip.is-suggested:hover{border-color:#59759480}.section-chip.section-chip-sub{font-size:var(--font-size-xs);opacity:.92;border-style:dashed;padding:3px 8px}.section-chip.is-merged{border-left:3px solid #59759480}.section-chip-label{font-weight:700}.section-chip-time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400;font-size:var(--font-size-xs)}.section-chip-accel{color:var(--clay-300);font-size:var(--font-size-xs)}.section-chip-adopt{appearance:none;width:22px;color:var(--info-ink);font-size:var(--font-size-sm);cursor:pointer;background:#59759414;border:1px solid #59759440;border-left:0;border-radius:0 8px 8px 0;justify-content:center;align-items:center;padding:0;font-weight:700;transition:background .12s;display:inline-flex}.section-chip-adopt:hover{background:#59759433}.section-chip-group .section-chip{border-radius:8px 0 0 8px}.section-group-toggle{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.section-group-toggle:hover strong{color:var(--accent)}.section-grid{gap:6px;display:grid}.section-card{background:var(--surface-strong);border:1px solid #be9f7840;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:5px 8px;display:grid}.section-card.is-suggested{background:linear-gradient(#f4f8fdeb,#edf3faf0);border-color:#59759447}.section-card.is-reviewed-merge{border-color:#59759466;box-shadow:inset 0 0 0 1px #59759414}.section-card.is-looping{border-color:#8a3d2261;box-shadow:0 0 0 2px #8a3d2214}.section-card-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.section-card-label{font-weight:700;line-height:1.35;font-size:var(--font-size-sm)}.section-card-meta{font-variant-numeric:tabular-nums;font-size:var(--font-size-sm)}.section-card-hint{text-transform:uppercase;letter-spacing:.06em;font-size:var(--font-size-xs)}.section-review-pill{width:fit-content;color:var(--info-ink);font-size:var(--font-size-2xs);letter-spacing:.04em;text-transform:uppercase;background:#5975941f;border-radius:8px;align-items:center;padding:1px 7px;font-weight:700;display:inline-flex}.section-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.section-card-characteristics{flex-wrap:wrap;align-items:center;gap:5px;margin-top:2px;display:flex}.section-tempo-pill,.section-timbre-pill,.section-tag-pill{font-size:var(--font-size-2xs);letter-spacing:.02em;white-space:nowrap;border-radius:8px;padding:1px 7px;font-weight:600;line-height:1.5;display:inline-block}.section-tempo-pill{color:var(--amber-400);background:#8a5c1624}.section-timbre-pill{color:var(--info-ink);background:#59759429}.section-tag-pill{color:var(--ink-muted);background:#be9f7826}.tempo-profile-summary{flex-shrink:0;align-items:center;gap:8px;display:flex}.tempo-badge{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--amber-400);background:#8a5c161f;border-radius:10px;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.tempo-accelerando-badge{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--clay-300);background:#b4501e1f;border-radius:10px;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.sub-section-list{border-top:1px dashed #be9f783d;flex-wrap:wrap;gap:5px;margin-top:4px;padding:6px 0 2px;display:flex}.sub-section-chip{appearance:none;color:var(--ink-muted);font-size:var(--font-size-2xs);cursor:pointer;background:#fff8f0cc;border:1px solid #be9f7852;border-radius:6px;padding:2px 8px;font-weight:600;transition:background .15s,border-color .15s}.sub-section-chip:hover{background:#be9f782e;border-color:#8a5c1666}.sub-section-chip.is-active{border-color:var(--accent);color:var(--accent);background:#8a3d2224}.sub-chip-group{margin-right:2px;font-weight:700}.sub-section-chip.repeat-A{border-left:3px solid #8a6e22}.sub-section-chip.repeat-B{border-left:3px solid #597594}.sub-section-chip.repeat-C{border-left:3px solid #6a8a5c}.repetition-badge{font-size:var(--font-size-2xs);letter-spacing:.06em;color:var(--muted);background:#be9f781f;border-radius:8px;align-items:center;gap:2px;padding:1px 7px;font-family:monospace;font-weight:700;display:inline-flex}.repetition-badge.is-strong{color:var(--amber-400);background:#8a5c1624}.section-focus-panel{background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;margin:0;padding:8px 10px;box-shadow:0 2px 8px #4f34180f}.section-focus-panel.is-live{border-color:#8a3d2247}.section-focus-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.section-focus-title{flex-direction:column;gap:1px;display:flex}.section-focus-title strong{font-size:var(--font-size-base);color:var(--ink)}.section-focus-time{font-size:var(--font-size-xs);color:var(--muted);font-variant-numeric:tabular-nums}.section-focus-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.section-focus-chip-row{flex-wrap:wrap;gap:5px;margin:0 0 8px;display:flex}.section-focus-chip{padding:2px 7px}.section-focus-progress{margin-bottom:8px}.section-focus-progress-track{background:#be9f782e;border-radius:3px;height:6px;position:relative;overflow:visible}.section-focus-progress-fill{inset:0;right:unset;background:linear-gradient(90deg,var(--accent)0%,#8a3d2299 100%);border-radius:3px;height:100%;transition:width .15s linear;position:absolute}.section-focus-sub-marker{pointer-events:none;background:#8a5c1673;width:1px;height:10px;position:absolute;top:-2px}.section-focus-sub-labels{height:22px;margin-top:4px;position:relative}.section-focus-sub-label{font-size:var(--font-size-3xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;transition:background .15s,color .15s;display:flex;position:absolute;top:0;overflow:hidden}.section-focus-sub-label.is-active{color:var(--accent);background:#8a3d221a;font-weight:600}.sub-label-group{font-family:monospace;font-weight:700;font-size:var(--font-size-2xs);opacity:.7}.sub-label-name{opacity:.85}.section-focus-curves{gap:6px;display:grid}.mini-curve{align-items:flex-end;gap:0;display:flex;position:relative}.mini-curve-label{font-size:var(--font-size-3xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;opacity:.7;pointer-events:none;z-index:1;font-weight:600;position:absolute;top:0;left:0}.mini-curve-bars{align-items:flex-end;gap:0;width:100%;height:100%;display:flex}.mini-curve-bar{opacity:.7;border-radius:1px 1px 0 0;flex:1;min-width:0;transition:opacity .1s}.mini-curve-bar.is-playhead{opacity:1;box-shadow:0 0 3px #8a3d2280}.section-focus-band-chart{height:32px;position:relative}.band-chart-bars{align-items:flex-end;gap:0;width:100%;height:100%;display:flex}.band-chart-bar{opacity:.75;flex-direction:column-reverse;flex:1;min-width:0;height:100%;display:flex}.band-chart-bar.is-playhead{opacity:1}.band-low{background:#8a5c1666;min-height:0}.band-mid{background:#59759473;min-height:0}.band-high{background:#aa8c6459;min-height:0}.tempo-curve-strip{border-bottom:1px dashed #be9f7833;align-items:center;gap:6px;padding:4px 0 6px;display:flex}.tempo-curve-svg{flex:1;min-width:0;height:28px}.tempo-curve-interactive{cursor:pointer}.tempo-curve-interactive circle{cursor:pointer;transition:opacity .12s}.tempo-curve-interactive circle:hover{opacity:1}.tempo-curve-label-min,.tempo-curve-label-max{font-size:var(--font-size-3xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;min-width:28px;font-weight:600}.analysis-strip{background:#fff9ef99;border:1px solid #be9f7833;border-radius:6px;height:36px;margin:2px 0 4px;position:relative;overflow:hidden}.analysis-strip-label{font-size:var(--font-size-3xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;opacity:.6;pointer-events:none;z-index:1;font-weight:600;position:absolute;top:2px;left:6px}.analysis-strip-canvas{width:100%;height:100%;display:block}.boundary-review-panel{border-top:1px solid #be9f783d;padding-top:12px}.boundary-review-list{gap:10px;display:grid}.boundary-review-card{background:#ffffffbd;border:1px solid #be9f7840;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.boundary-review-accepted{background:linear-gradient(#f1f8f3f5,#e8f3ecf0);border-color:#5390705c}.boundary-review-rejected{background:linear-gradient(#faf2eef5,#f7eae3f0);border-color:#8a3d2247}.boundary-review-copy{gap:3px;min-width:0;display:grid}.boundary-review-copy span,.boundary-review-hint{color:var(--muted)}.boundary-review-hint{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase}.boundary-review-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.now-playing{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.now-playing-info{gap:3px;min-width:0;display:grid}.now-playing-title{font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.now-playing-meta{font-size:var(--font-size-sm);color:var(--muted)}.waveform-shell{gap:8px;display:grid}.waveform-shell ::part(spec-labels){border-right:1px solid #be9f7852}.waveform-stage{background:linear-gradient(#ffffffdb,#f2e6d5d1);border:1px solid #be9f785c;border-radius:18px;position:relative;overflow:hidden}.waveform-stage.is-annotating{border-color:#8a3d227a;box-shadow:0 0 0 2px #8a3d2214}.waveform-canvas{min-height:120px}.waveform-timeline{min-height:24px;color:var(--ink-muted);margin-top:-4px}.waveform-timeline ::part(timeline){border-top:1px solid #be9f7847}.waveform-timeline ::part(timeline-notch),.waveform-timeline ::part(timeline-notch-primary){color:var(--ink-muted)}.waveform-zoom-row{grid-template-columns:auto auto minmax(0,1fr) auto auto auto;align-items:center;gap:8px;display:grid}.waveform-zoom-label,.waveform-zoom-value{color:var(--muted);font-size:var(--font-size-sm)}.waveform-zoom-label{letter-spacing:.06em;text-transform:uppercase}.waveform-zoom-value{text-align:right;font-variant-numeric:tabular-nums;min-width:52px}.waveform-zoom-slider{width:100%;accent-color:var(--accent)}.waveform-empty{text-align:center;color:var(--muted);font-size:var(--font-size-base);pointer-events:none;place-items:center;padding:16px;line-height:1.5;display:grid;position:absolute;inset:0}.waveform-meta{font-size:var(--font-size-sm);color:var(--muted);justify-content:space-between;gap:12px;display:flex}.waveform-stage ::part(region){border-radius:10px}.waveform-stage ::part(marker){border-radius:0}.waveform-stage ::part(region-content){font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--ink);text-transform:uppercase;padding:2px 6px;font-weight:700}.waveform-stage ::part(cursor){opacity:.9}.playlist-player{width:100%}.control-icon{display:block}.lesson-schedule-card{background:linear-gradient(#ffffffb8,#f6ede1e0);border:1px solid #be9f7857;border-radius:18px;gap:10px;padding:12px 14px;display:grid}.lesson-schedule-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.lesson-schedule-copy{gap:3px;min-width:0;display:grid}.lesson-schedule-copy strong{font-size:var(--font-size-base);color:var(--ink);display:block}.lesson-schedule-copy span,.lesson-load-note,.lesson-nearby-label,.lesson-schedule-meta{color:var(--muted)}.lesson-schedule-copy span,.lesson-load-note{font-size:var(--font-size-sm);white-space:normal;overflow-wrap:anywhere;line-height:1.45;display:block}.lesson-schedule-meta{font-size:var(--font-size-xs);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-schedule-meta>span{white-space:normal;overflow-wrap:anywhere;min-width:0;display:block}.lesson-schedule-pill,.lesson-segment-badge{font-size:var(--font-size-2xs);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:3px 7px;font-weight:700;display:inline-flex}.lesson-schedule-pill{color:var(--accent);background:#8a3d221a}.lesson-segment-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.lesson-segment-button{appearance:none;text-align:left;width:100%;min-width:0;color:inherit;cursor:pointer;background:#ffffff8a;border:1px solid #be9f7857;border-radius:14px;flex-direction:column;align-items:stretch;gap:4px;padding:10px 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.lesson-segment-button>*{min-width:0}.lesson-segment-button:hover{border-color:#8a3d2261}.lesson-segment-button.is-recommended{border-color:#8a5c1657}.lesson-segment-button.is-active{background:linear-gradient(#fff9f3f5,#f3dfd0a8);border-color:#8a3d2285;box-shadow:0 0 0 1.5px #8a3d221f}.lesson-segment-topline{font-size:var(--font-size-xs);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;display:flex}.lesson-segment-topline>:first-child{white-space:normal;overflow-wrap:anywhere;flex:auto;min-width:0}.lesson-segment-button strong{font-size:var(--font-size-base);color:var(--ink);white-space:normal;overflow-wrap:anywhere;line-height:1.35;display:block}.lesson-segment-button span{font-size:var(--font-size-xs);white-space:normal;overflow-wrap:anywhere;display:block}.lesson-segment-button small{font-size:var(--font-size-xs);color:var(--accent);white-space:normal;overflow-wrap:anywhere;line-height:1.45;display:block}.lesson-segment-badge{color:var(--warning-ink);background:#be9f782e}.lesson-segment-badge.is-live{color:var(--success-ink);background:#53907029}.lesson-nearby-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-nearby-label{font-size:var(--font-size-sm);font-weight:600}html[data-theme=dark] .lesson-schedule-card{background:linear-gradient(#281f1aeb,#1c1612f5);border-color:#8d654e6b}html[data-theme=dark] .lesson-segment-button{background:#ffffff0a;border-color:#8d654e61}html[data-theme=dark] .lesson-segment-button.is-active{background:linear-gradient(#3f281df5,#351f16fa);border-color:#db875d8a;box-shadow:0 0 0 1.5px #db875d1f}html[data-theme=dark] .lesson-schedule-pill{color:var(--accent);background:#db875d1f}html[data-theme=dark] .lesson-segment-badge{color:var(--amber-200);background:#be9f7824}html[data-theme=dark] .lesson-segment-badge.is-live{color:#b8d2bc;background:#5d8c662e}.transport-loop-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:4px 0;display:flex}.transport-loop-row .button-play{width:38px;min-width:38px;height:32px;padding:0}.transport-loop-row .button-icon>span,.transport-loop-row .button-play>span,.speed-btn>span{flex-shrink:0;display:block}.transport-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.speed-control{align-items:center;gap:2px;display:flex}.speed-btn{width:26px;min-width:26px;height:26px;font-size:var(--font-size-base);padding:0;line-height:1}.speed-display{border:1px solid var(--border);min-width:48px;height:26px;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--muted);cursor:pointer;background:#fff9;border-radius:6px;justify-content:center;align-items:center;padding:0 4px;font-weight:600;transition:all .15s;display:inline-flex}.speed-display:hover{border-color:var(--accent);color:var(--accent)}.speed-display.is-changed{color:var(--warning-ink);background:#f8eedab3;border-color:#8a5c1666}.analysis-status-strip{font-size:var(--font-size-sm);background:#ffffff80;border:1px solid #be9f7847;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:0;padding:6px 10px;display:flex}.analysis-status-strip.is-loading{background:#f8eeda99;border-color:#8a5c1647}.analysis-status-strip.is-ready{background:#f1f6fc99;border-color:#5975943d}.analysis-status-strip.is-error{background:#faf0ea99;border-color:#8a3d223d}.analysis-status-headline{font-weight:600;font-size:var(--font-size-sm);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.analysis-status-note{color:var(--muted);font-weight:400}.transport-row{justify-content:center;gap:8px}.button-play{min-width:100px}.list-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.playlist-list{gap:4px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.playlist-row{background:var(--surface-strong);border:1px solid #be9f784d;border-radius:10px}.playlist-row.is-selected{border-color:#8a3d2273;box-shadow:0 0 0 1.5px #8a3d2214}.playlist-row.is-current{background:linear-gradient(180deg,#fff9f3 0%,var(--accent-soft)100%)}.playlist-row.is-dragging{box-shadow:0 12px 24px #4f341826}.playlist-row-shell{grid-template-columns:6px auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 8px 5px 6px;display:grid}.stage-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.stage-warmup{background:#e8a94e}.stage-teach{background:#5a8fcb}.stage-drill{background:var(--accent)}.stage-transition{background:#9b7ec8}.stage-runthrough{background:#4aaa6e}.stage-cooldown{background:#82a4ae}.playlist-grip{width:20px;min-width:20px;color:var(--border-strong);font-size:var(--font-size-2xs);touch-action:none;background:0 0;border:0;border-radius:6px;padding:0}.playlist-grip:hover{color:var(--muted)}.playlist-row-copy{align-items:center;gap:6px;min-width:0;display:flex}.playlist-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);line-height:1.3;overflow:hidden}.playlist-row-repeat{font-size:var(--font-size-2xs);color:var(--muted);background:#8a3d2214;border-radius:4px;flex-shrink:0;padding:1px 4px}.playlist-row-btn{width:24px;height:24px;color:var(--muted);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.playlist-row-btn:hover{color:var(--accent);background:#8a3d2214}.playlist-row-btn.is-playing{color:var(--accent)}.playlist-row-btn.is-danger:hover{color:var(--ember-500);background:#b4282814}.inspector-header{gap:2px;margin-bottom:8px;display:grid}.inspector-header strong{font-size:var(--font-size-md)}.inspector-header span{color:var(--muted);font-size:var(--font-size-sm)}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.notes-input{resize:vertical;min-height:120px}.inspector-intake-card{background:linear-gradient(#f4f8fdeb,#edf3faf0);border:1px solid #5975943d;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:grid}.inspector-intake-copy{gap:4px;display:grid}.inspector-intake-copy span{color:var(--muted);font-size:var(--font-size-sm);line-height:1.5}.rhythm-card{background:#ffffff94;border:1px solid #be9f786b;border-radius:14px;padding:10px}.rhythm-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rhythm-card-head strong{display:block}.guidance-note,.rights-note{color:var(--muted);line-height:1.5}.loop-row{background:#ffffff7a;border:1px solid #be9f7840;border-radius:10px;flex-wrap:wrap;gap:6px;padding:4px 8px;display:flex}.loop-btn{font-variant-numeric:tabular-nums}.loop-btn.has-value{color:var(--accent);font-weight:600}.status-pill{font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase;background:var(--surface-strong);border:1px solid #be9f785c;border-radius:999px;align-items:center;padding:6px 10px;display:inline-flex}.status-pill-seed{color:var(--warning-ink);background:var(--warning-soft)}.status-pill-teacher{color:var(--amber-500);background:var(--amber-100)}.status-pill-reviewed{color:var(--success-ink);background:var(--success-soft)}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.info-grid div{background:var(--surface-strong);border:1px solid #be9f7857;border-radius:16px;gap:6px;padding:12px;display:grid}.info-grid span{color:var(--muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.guidance-note,.rights-note{margin:12px 0 0}.annotation-card{scrollbar-width:thin;scrollbar-color:var(--border)transparent;background:#ffffff94;border:1px solid #be9f786b;border-radius:14px;gap:8px;max-height:360px;margin-top:10px;padding:10px;display:grid;overflow-y:auto}.annotation-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.annotation-head-copy{gap:2px;display:grid}.annotation-head-copy span,.annotation-note,.annotation-time,.annotation-empty{color:var(--muted)}.annotation-head-copy span{font-size:var(--font-size-sm)}.annotation-mode-group,.annotation-toolbar{flex-wrap:wrap;gap:6px;display:flex}.annotation-mode-btn.is-active{background:var(--accent-soft);color:var(--accent);border-color:#8a3d226b}.annotation-note{line-height:1.5;font-size:var(--font-size-sm);margin:0}.annotation-columns{gap:6px;display:grid}.annotation-list{background:var(--surface-strong);border:1px solid #be9f7857;border-radius:16px;gap:6px;padding:8px;display:grid}.annotation-list-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.annotation-list-head span{color:var(--muted);font-size:var(--font-size-sm)}.annotation-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.annotation-item{border-top:1px solid #be9f7829;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:6px;padding-top:4px;display:grid}.annotation-item:first-child{border-top:0;padding-top:0}.annotation-field{gap:6px}.annotation-time{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.annotation-empty{background:#ffffff7a;border:1px dashed #be9f7894;border-radius:14px;padding:10px 12px;line-height:1.5}.empty-state{background:#ffffff7a;border:1px dashed #be9f78cc;border-radius:18px;padding:16px;line-height:1.6}.empty-state__title{color:var(--ink);margin-bottom:.35rem;font-size:.98rem;font-weight:700;display:block}.empty-state__message{color:var(--muted);line-height:1.6}.empty-state__actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}@media (max-width:1180px){.workspace-grid{grid-template-columns:1fr}.playlist-rail{position:static}}@media (max-width:860px){.page-shell{padding:22px 16px 28px}.mini-player-dock{width:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.mini-player-queue-item{grid-template-columns:1fr}.mini-player-queue-actions{justify-content:flex-start}.page-header,.section-head{flex-direction:column}.page-metrics{width:100%;min-width:0}.track-row,.session-row,.editor-grid,.info-grid{grid-template-columns:1fr}.waveform-meta{flex-direction:column}.analysis-toolbar{flex-direction:column;align-items:stretch}.analysis-status-card{grid-template-columns:1fr}.compare-head{flex-direction:column}.compare-grid{grid-template-columns:1fr}.analysis-mode-group,.analysis-actions,.analysis-status-actions,.compare-actions{width:100%}.section-navigator-head,.section-group-head{flex-direction:column;align-items:flex-start}.section-card{grid-template-columns:1fr}.section-card-actions,.boundary-review-actions{justify-content:flex-start}.boundary-review-card{grid-template-columns:1fr}.waveform-zoom-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.waveform-zoom-label{grid-column:1/-1}.loop-copy,.rhythm-card-head,.annotation-head{flex-direction:column}.inspector-intake-card{grid-template-columns:1fr}.annotation-item{grid-template-columns:1fr;align-items:stretch}.playlist-row-shell{grid-template-columns:6px auto minmax(0,1fr) auto}}@media (max-width:480px){.page-shell{padding:12px 10px 20px}.page-header h1{font-size:var(--font-size-lg)}.panel{border-radius:14px;padding:12px 10px}.mini-player-dock{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px))}.mini-player-bar{border-radius:14px;grid-template-columns:auto auto minmax(0,1fr) auto;column-gap:6px;padding:8px 10px}.mini-player-icon{display:none}.mini-player-play{width:38px;height:38px;font-size:var(--font-size-base)}.mini-player-copy{grid-column:3}.mini-player-copy strong{font-size:var(--font-size-sm)}.mini-player-copy span{font-size:var(--font-size-xs)}.mini-player-link{font-size:var(--font-size-xs);grid-column:4;padding:6px 10px}.mini-player-progress{grid-column:1/-1}.mini-player-handle{width:20px;height:48px;font-size:var(--font-size-2xs);left:-18px}.mini-player-panel{border-radius:14px;padding:10px}.admin-main{padding:16px 12px 72px}.admin-page-header h1{font-size:var(--font-size-xl)}.admin-toolbar{gap:8px}.admin-search{width:100%;min-width:0}.admin-table th,.admin-table td{font-size:var(--font-size-sm);padding:8px 10px}.admin-table th{font-size:var(--font-size-2xs)}.admin-detail-header{flex-direction:column}.admin-detail-grid,.admin-form-grid{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:1fr 1fr;gap:10px}.admin-stat-card{padding:14px}.admin-stat-value{font-size:var(--font-size-2xl)}.workspace-grid{gap:8px}.playlist-rail{max-height:none}.waveform-zoom-row{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.user-menu-dropdown{min-width:200px}.assumed-role-banner{font-size:var(--font-size-2xs);gap:6px;max-width:calc(100vw - 24px);padding:6px 12px}}.global-admin-shell{background:var(--bg);min-height:100vh;display:flex}.global-admin-sidebar-wrap{flex-shrink:0;width:240px;transition:width .2s;position:relative;overflow:visible}.global-admin-shell.is-collapsed .global-admin-sidebar-wrap{width:0}.global-admin-shell.is-collapsed .admin-sidebar{pointer-events:none;transition:transform .2s;transform:translate(-100%)}.admin-sidebar{transition:transform .2s}.global-admin-content{flex-direction:column;flex:1;min-width:0;display:flex}.global-admin-toggle{z-index:201;border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--muted);font-size:var(--font-size-md);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;transition:left .2s,background .15s,color .15s,box-shadow .15s;display:flex;position:fixed;top:12px;left:228px;box-shadow:0 1px 3px #00000014}.global-admin-toggle:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.global-admin-shell.is-collapsed .global-admin-toggle{left:8px}.global-admin-backdrop{display:none}@media (max-width:768px){.global-admin-sidebar-wrap{z-index:200;width:260px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0}.global-admin-shell.is-collapsed .global-admin-sidebar-wrap{width:260px;transform:translate(-100%)}.global-admin-shell:not(.is-collapsed) .global-admin-sidebar-wrap{transform:translate(0)}.global-admin-shell.is-collapsed .admin-sidebar{pointer-events:auto;transform:none}.admin-sidebar{width:260px;height:100%}.global-admin-toggle{width:36px;height:36px;font-size:var(--font-size-lg);border-radius:10px;left:12px}.global-admin-shell:not(.is-collapsed) .global-admin-toggle{left:272px}.global-admin-shell.is-collapsed .global-admin-toggle{left:12px}.global-admin-backdrop{z-index:199;opacity:0;pointer-events:none;background:#0006;transition:opacity .25s;display:block;position:fixed;inset:0}.global-admin-shell:not(.is-collapsed) .global-admin-backdrop{opacity:1;pointer-events:auto}.global-admin-shell.is-collapsed .global-admin-content{padding-top:0}.admin-main{padding:16px 16px 120px}.global-admin-shell.is-collapsed .admin-main{padding-top:56px;padding-left:60px}.global-admin-shell.is-collapsed .admin-page-header{min-height:36px;padding-left:0}.global-admin-shell.is-collapsed .page-shell{padding-top:56px;padding-left:60px}}.assumed-role-banner{z-index:9999;background:var(--ink);color:var(--white);font-size:var(--font-size-sm);border-radius:24px;align-items:center;gap:10px;padding:8px 16px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.assumed-role-banner strong{text-transform:capitalize}.assumed-role-select{font-size:var(--font-size-sm);color:var(--white);cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;padding:3px 6px}.assumed-role-select option{color:var(--black);background:var(--white)}.assumed-role-reset{background:var(--accent);color:var(--white);font-size:var(--font-size-sm);cursor:pointer;border:none;border-radius:12px;padding:3px 12px;font-weight:600}.assumed-role-reset:hover{opacity:.85}.address-autocomplete-dropdown{z-index:100;background:var(--surface,#fff);border:1px solid var(--border);border-radius:6px;max-height:220px;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.address-autocomplete-item{font-size:var(--font-size-sm);cursor:pointer;border-bottom:1px solid var(--border-light);padding:8px 12px;line-height:1.35}.address-autocomplete-item:last-of-type{border-bottom:none}.address-autocomplete-item.is-active,.address-autocomplete-item:hover{background:var(--accent-soft)}.address-autocomplete-attribution{font-size:var(--font-size-2xs);color:var(--muted);text-align:right;border-top:1px solid var(--border-light);padding:4px 12px}.admin-shell{background:var(--bg);min-height:100vh;display:flex}.admin-sidebar{background:var(--surface-strong);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:16px 0;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:0 16px 16px;display:flex}.admin-sidebar-brand{font-family:var(--font-serif);font-size:var(--font-size-base);color:var(--ink);font-weight:600;text-decoration:none}.admin-sidebar-badge{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:2px 6px;font-weight:600}.admin-sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.admin-sidebar-link{color:var(--muted);font-size:var(--font-size-base);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;transition:background .15s,color .15s;display:flex}.admin-sidebar-link:hover{background:var(--surface-muted);color:var(--ink)}.admin-sidebar-link.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.admin-sidebar-icon{font-size:var(--font-size-md);text-align:center;width:20px}.admin-sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 8px 0;display:flex}.admin-sidebar-user{flex-direction:column;gap:2px;padding:8px 12px;display:flex}.admin-sidebar-user-name{font-size:var(--font-size-sm);color:var(--ink);font-weight:600}.admin-sidebar-user-role{font-size:var(--font-size-2xs);color:var(--muted);text-transform:capitalize}.admin-sidebar-role-switcher{padding:4px 12px}.admin-sidebar-role-select{width:100%;font-size:var(--font-size-2xs);border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:4px;padding:4px 6px}.admin-sidebar-role-select:focus{outline:2px solid var(--accent);outline-offset:-1px}.admin-sidebar-signout{color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 12px}.admin-sidebar-signout:hover{color:var(--accent)}.admin-sidebar-advanced{margin-top:4px}.admin-sidebar-advanced-toggle{width:100%;color:var(--muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 20px;font-weight:600;transition:color .15s;display:flex}.admin-sidebar-advanced-toggle:hover{color:var(--fg)}.admin-sidebar-practice-link{margin-top:4px;font-weight:500;color:var(--accent)!important}.admin-main{flex:1;min-width:0;padding:24px 32px 80px;overflow-y:auto}html.choreo-editor-route-active .global-admin-sidebar-wrap,html.choreo-editor-route-active .global-admin-toggle,html.choreo-editor-route-active .global-admin-backdrop,html.choreo-editor-route-active.global-admin-shell .global-admin-sidebar-wrap,html.choreo-editor-route-active.global-admin-shell .global-admin-toggle,html.choreo-editor-route-active.global-admin-shell .global-admin-backdrop,body.choreo-editor-route-active .global-admin-sidebar-wrap,body.choreo-editor-route-active .global-admin-toggle,body.choreo-editor-route-active .global-admin-backdrop,.global-admin-shell.choreo-editor-route-active .global-admin-sidebar-wrap,.global-admin-shell.choreo-editor-route-active .global-admin-toggle,.global-admin-shell.choreo-editor-route-active .global-admin-backdrop{display:none}.global-admin-shell:has(.choreo-route) .global-admin-sidebar-wrap{display:none}.global-admin-shell:has(.choreo-route) .global-admin-toggle{display:none}.global-admin-shell:has(.choreo-route) .global-admin-backdrop{display:none}html.choreo-editor-route-active .global-admin-content,body.choreo-editor-route-active .global-admin-content,.global-admin-content.choreo-editor-route-active{min-width:0;margin:0;padding:0}.global-admin-shell:has(.choreo-route) .global-admin-content{min-width:0;margin:0;padding:0}html.choreo-editor-route-active .admin-main,body.choreo-editor-route-active .admin-main,.admin-main.choreo-editor-route-active,.global-admin-shell.choreo-editor-route-active .admin-main{width:100%;max-width:none;padding:0;overflow:hidden}.global-admin-shell:has(.choreo-route) .admin-main{width:100%;max-width:none;padding:0;overflow:hidden}.admin-main:has(.choreo-route){width:100%;max-width:none;padding:0;overflow:hidden}.admin-page{max-width:1200px}.admin-page-header{margin-bottom:24px}.admin-page-header h1{font-family:var(--font-serif);font-size:var(--font-size-2xl);color:var(--ink);margin:0;font-weight:700}.admin-page-subtitle{font-size:var(--font-size-base);color:var(--muted);margin:4px 0 0}.admin-stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.admin-stat-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:20px;display:flex}.admin-stat-value{font-family:var(--font-serif);font-size:var(--font-size-3xl);color:var(--ink);font-weight:700}.admin-stat-label{font-size:var(--font-size-sm);color:var(--muted);font-weight:500}.admin-stat-note{font-size:var(--font-size-2xs);color:var(--muted);opacity:.7}.admin-section{background:var(--surface-strong);border:1px solid var(--border);border-radius:10px;margin-bottom:24px;padding:20px}.admin-section h2{font-size:var(--font-size-md);color:var(--ink);margin:0 0 12px;font-weight:600}.admin-empty-state{color:var(--muted);font-size:var(--font-size-base);text-align:center;padding:32px 16px}.admin-empty-state--stack{justify-items:center;gap:.45rem;display:grid}.admin-empty-state__title{color:var(--ink);font-size:var(--font-size-base);font-weight:700}.admin-empty-state__message{color:inherit}.admin-empty-state__actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.admin-code-hint{text-align:center;font-family:monospace;font-size:var(--font-size-sm);color:var(--accent);background:var(--surface-muted);border-radius:6px;width:fit-content;margin:12px auto 0;padding:8px 16px;display:block}.admin-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.admin-search{border:1px solid var(--border);background:var(--surface-strong);min-width:200px;font-size:var(--font-size-base);color:var(--ink);border-radius:6px;flex:1;padding:8px 12px}.admin-search::placeholder{color:var(--muted)}.admin-filter{border:1px solid var(--border);background:var(--surface-strong);width:100%;min-width:0;font-size:var(--font-size-sm);color:var(--ink);border-radius:6px;padding:8px 12px}.admin-loading{min-height:100vh;color:var(--muted);font-size:var(--font-size-base);place-items:center;display:grid}.admin-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-unauthorized{text-align:center;place-items:center;min-height:100vh;padding:32px;display:grid}.admin-unauthorized h2{font-family:var(--font-serif);font-size:var(--font-size-xl);color:var(--ink);margin:0 0 8px}.admin-unauthorized p{color:var(--muted);font-size:var(--font-size-base)}.admin-btn{font-size:var(--font-size-sm);border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.admin-btn:hover{background:var(--surface-muted);border-color:var(--muted)}.admin-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-btn-primary:hover{opacity:.9}.admin-btn--sm{font-size:var(--font-size-xs);padding:.2rem .5rem}.admin-btn--xs{font-size:var(--font-size-2xs);padding:.12rem .38rem}.admin-btn:disabled{opacity:.45;pointer-events:none}.admin-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-btn[aria-pressed=true]{background:color-mix(in srgb,var(--accent)12%,var(--surface-strong))}}.admin-btn[aria-pressed=true]:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-btn[aria-pressed=true]:hover{background:color-mix(in srgb,var(--accent)18%,var(--surface-strong))}}.choreo-cast-chip{font-size:var(--font-size-xs);border:1.5px solid var(--border);background:var(--surface-strong);color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color var(--motion-snappy)var(--ease-out),color var(--motion-snappy)var(--ease-out),background var(--motion-snappy)var(--ease-out);border-radius:14px;align-items:center;gap:4px;padding:.18rem .5rem;font-weight:500;display:inline-flex}.choreo-cast-chip:hover{border-color:var(--border-strong);background:var(--surface-muted)}.choreo-cast-chip[data-selected=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.choreo-cast-chip[data-absent=true]{opacity:.7;border-style:dashed}.choreo-cast-chip[data-absent=true]:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.choreo-group-chip{font-size:var(--font-size-xs);border:1px solid var(--border);background:var(--surface-strong);color:var(--muted);cursor:pointer;white-space:nowrap;transition:border-color var(--motion-snappy)var(--ease-out),color var(--motion-snappy)var(--ease-out);border-radius:12px;align-items:center;padding:.14rem .45rem;font-weight:500;display:inline-flex}.choreo-group-chip:hover{border-color:var(--border-strong)}.choreo-group-chip[data-selected=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.choreo-group-chip[data-pinned=true]{border-style:dashed;border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-group-chip[data-pinned=true]{border-color:color-mix(in srgb,var(--accent)72%,var(--border))}}.choreo-group-chip[data-pinned=true]{color:var(--accent-strong)}.choreo-group-chip[data-pinned=true][data-selected=true]{border-style:solid}.choreo-colour-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.choreo-colour-swatch{cursor:pointer;width:22px;height:22px;transition:border-color var(--motion-snappy)var(--ease-out),transform var(--motion-snappy)var(--ease-out);border:2px solid #0000;border-radius:50%;padding:0}.choreo-colour-swatch:hover{transform:scale(1.15)}.choreo-colour-swatch[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.colour-picker{position:relative}.colour-picker__trigger{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.colour-picker__trigger-swatch{border:1px solid var(--ink);border-radius:50%;width:18px;height:18px}@supports (color:color-mix(in lab, red, red)){.colour-picker__trigger-swatch{border:1px solid color-mix(in srgb,var(--ink)25%,transparent)}}.colour-picker__presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;display:grid}.colour-picker__swatch{cursor:pointer;width:20px;height:20px;font-size:var(--font-size-2xs);color:var(--muted);transition:border-color var(--motion-snappy)var(--ease-out),transform var(--motion-snappy)var(--ease-out);border:2px solid #0000;border-radius:50%;padding:0;line-height:1}.colour-picker__swatch:hover{transform:scale(1.15)}.colour-picker__swatch[data-selected]{border-color:var(--ink);box-shadow:0 0 0 2px var(--accent-soft)}.colour-picker__popover{z-index:200;background:var(--surface-strong);border:1px solid var(--border);animation:choreo-fade-in var(--motion-snappy)var(--ease-out);border-radius:10px;flex-direction:column;gap:.4rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}.colour-picker__popover .react-colorful{width:180px!important;height:140px!important}.colour-picker__popover .react-colorful__saturation{border-radius:6px 6px 0 0}.colour-picker__popover .react-colorful__hue{border-radius:0 0 6px 6px;height:12px}.colour-picker__popover .react-colorful__pointer{width:16px;height:16px}.colour-picker__hex-input{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs);border:1px solid var(--border);background:var(--surface);color:var(--ink);text-align:center;border-radius:5px;padding:.2rem .35rem}.admin-table-wrap{background:var(--surface-strong);border:1px solid var(--border);-webkit-overflow-scrolling:touch;border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.admin-table thead{background:var(--surface-muted)}.admin-table th{text-align:left;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 16px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);color:var(--ink);vertical-align:middle;padding:12px 16px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--surface-muted)}.admin-table tbody tr.is-clickable{cursor:pointer}.admin-track-title{font-weight:500}.admin-track-variant{color:var(--muted);font-size:var(--font-size-sm)}.admin-track-variant-hint{color:var(--muted);font-size:var(--font-size-2xs);margin-left:4px}.admin-track-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.admin-track-queue-count{font-size:var(--font-size-2xs);color:var(--muted);text-align:right;min-width:16px}.admin-track-group-badge{background:var(--accent-soft);min-width:20px;height:20px;color:var(--accent);font-size:var(--font-size-2xs);vertical-align:middle;border-radius:10px;justify-content:center;align-items:center;margin-left:6px;padding:0 6px;font-weight:600;display:inline-flex}.admin-track-group-child td:first-child{padding-left:2rem}.queue-track-btn{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--accent);font-size:var(--font-size-lg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.queue-track-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.queue-track-btn.is-queued{background:var(--success-soft);border-color:var(--success-ink);color:var(--success-ink);font-size:var(--font-size-base)}.queue-track-btn.is-queued:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.admin-status-badge{font-size:var(--font-size-2xs);background:var(--surface-muted);color:var(--muted);border-radius:4px;padding:2px 8px;font-weight:500;display:inline-block}.admin-status-badge[data-status=reviewed],.admin-status-badge[data-status=complete]{background:var(--success-soft);color:var(--success-ink)}.admin-status-badge[data-status=needs_review]{background:var(--warning-soft);color:var(--clay-400)}.admin-status-list{flex-direction:column;gap:8px;display:flex}.admin-status-row{background:var(--surface-muted);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.admin-status-count{font-weight:600;font-size:var(--font-size-base);color:var(--ink)}.admin-pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:12px 0;display:flex}.admin-pagination-info{font-size:var(--font-size-sm);color:var(--muted)}.image-upload{flex-direction:column;gap:.5rem;display:flex}.image-upload-grid{flex-wrap:wrap;gap:.5rem;display:flex}.image-upload-thumb{width:100px;height:100px;position:relative}.image-upload-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;height:100%}.image-upload-remove{border:1px solid var(--border);background:var(--surface-strong);width:22px;height:22px;color:var(--accent);font-size:var(--font-size-base);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:600;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.image-upload-remove:hover{background:var(--accent);color:#fff}.image-upload-error{font-size:var(--font-size-sm);color:var(--accent);margin:0}.admin-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-detail-title{font-family:var(--font-serif);font-size:var(--font-size-2xl);color:var(--ink);margin:0;font-weight:700}.admin-detail-meta{font-size:var(--font-size-base);color:var(--muted);margin:4px 0 0}.admin-detail-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-field-group{flex-direction:column;gap:4px;display:flex}.admin-field-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.admin-field-value{font-size:var(--font-size-base);color:var(--ink);word-break:break-word}.admin-field-value.is-empty{color:var(--muted);font-style:italic}.admin-back-link{font-size:var(--font-size-sm);color:var(--accent);align-items:center;gap:4px;margin-bottom:16px;text-decoration:none;display:inline-flex}.admin-back-link:hover{text-decoration:underline}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-section-header h2{font-size:var(--font-size-md);color:var(--ink);margin:0;font-weight:600}.admin-btn-group{gap:8px;display:flex}.admin-form-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.admin-form-input,.admin-form-select{width:100%;font-size:var(--font-size-base);border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:6px;padding:8px 12px;transition:border-color .15s}.admin-form-input:focus,.admin-form-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.admin-form-error{color:var(--danger-ink);font-size:var(--font-size-sm);background:var(--ember-100);border-radius:6px;margin:0 0 12px;padding:8px 12px}.admin-form-success{color:var(--success-ink);font-size:var(--font-size-sm);background:var(--success-soft);border-radius:6px;margin:0 0 12px;padding:8px 12px}.admin-audio-player{background:var(--surface-strong);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.admin-audio-btn{background:var(--accent);color:#fff;width:40px;height:40px;font-size:var(--font-size-md);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;place-items:center;transition:opacity .15s;display:grid}.admin-audio-btn:hover{opacity:.85}.admin-audio-progress-wrap{flex:1;min-width:0}.admin-audio-progress{appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.admin-audio-progress::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:14px;height:14px}.admin-audio-progress::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.admin-audio-time{font-size:var(--font-size-sm);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.ann-badge{font-size:var(--font-size-2xs);vertical-align:middle;border-radius:10px;margin-left:8px;padding:2px 8px;font-weight:600;display:inline-block}.ann-badge-auto{background:var(--warning-soft);color:var(--clay-400)}.ann-badge-reviewed{background:var(--success-soft);color:var(--success-ink)}.ann-waveform-wrap{margin:16px 0 20px}.ann-waveform-stage{background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;padding:8px 0 0;overflow:hidden}.ann-waveform-canvas{min-height:128px}.ann-waveform-timeline{min-height:24px}.ann-transport{align-items:center;gap:12px;margin-top:10px;display:flex}.ann-transport-btn{border:1px solid var(--border);background:var(--surface-strong);width:40px;height:40px;font-size:var(--font-size-md);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.ann-transport-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.ann-transport-section-play{width:auto;font-size:var(--font-size-sm);border-radius:8px;gap:4px;padding:0 12px;font-weight:600}.ann-transport-time{font-size:var(--font-size-sm);color:var(--muted);font-variant-numeric:tabular-nums}.ann-editor{background:var(--surface-strong);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:16px}.ann-editor-fields{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.ann-editor-fields .admin-field-group{flex:1;min-width:120px}.ann-editor-actions{flex-wrap:wrap;gap:8px;display:flex}.ann-btn-reject{color:var(--danger-ink)!important;border-color:var(--ember-200)!important}.ann-btn-reject:hover{background:var(--danger-soft)!important}.ann-hint{font-size:var(--font-size-sm);color:var(--muted);margin:8px 0 16px;font-style:italic}.ann-list{flex-direction:column;gap:4px;display:flex}.ann-list-item{cursor:pointer;font-size:var(--font-size-sm);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;transition:background .15s;display:flex}.ann-list-item:hover{background:var(--surface-muted)}.ann-list-item.is-selected{background:var(--accent-soft);outline:2px solid var(--accent)}.ann-list-label{min-width:60px;font-weight:600}.ann-list-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm)}.ann-list-actions{gap:4px;margin-left:auto;display:flex}.ann-mini-btn{border:1px solid var(--border);background:var(--surface-strong);width:28px;height:28px;font-size:var(--font-size-base);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.ann-mini-accept:hover{background:var(--success-soft);border-color:var(--forest-200);color:var(--success-ink)}.ann-mini-reject:hover{background:var(--danger-soft);border-color:var(--ember-300);color:var(--danger-ink)}.ann-badge-cue{color:#3949ab;background:#e8eaf6}.ann-cue-list{margin-top:.75rem}.ann-cue-list-title{font-size:var(--font-size-base);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem;font-weight:600}.ann-cue-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.ann-list-child{padding-left:40px!important}.ann-check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.ann-toggle-btn{width:24px;height:24px;font-size:var(--font-size-2xs);cursor:pointer;color:var(--muted,#7d6854);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.ann-toggle-btn:hover{background:var(--surface-muted,#f5f0eb)}.ann-toggle-spacer{flex-shrink:0;width:24px}.ann-group-bar{background:var(--accent-soft,#fff3e0);border:1px solid var(--accent);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.ann-group-count{font-size:var(--font-size-sm);color:var(--accent);white-space:nowrap;font-weight:600}.ann-group-input{max-width:180px}.user-menu{position:relative}.user-menu-trigger-sidebar{text-align:left;width:100%;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;padding:8px 16px;transition:color .15s}.user-menu-trigger-sidebar:hover{color:var(--fg)}.user-menu-dropdown{background:var(--surface-strong,#faf7f2);border:1px solid var(--border,#e8e0d4);box-shadow:var(--shadow);z-index:200;border-radius:10px;min-width:220px;padding:6px 0}.user-menu-info{flex-direction:column;gap:2px;padding:10px 14px;display:flex}.user-menu-name{font-weight:600;font-size:var(--font-size-base);color:var(--fg)}.user-menu-email{font-size:var(--font-size-sm);color:var(--muted)}.user-menu-divider{background:var(--border,#e8e0d4);height:1px;margin:4px 0}.user-menu-item{font-size:var(--font-size-sm);color:var(--fg);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.user-menu-lang-toggle{gap:4px;display:flex}.user-menu-theme{align-items:flex-start;gap:10px}.user-menu-theme-toggle{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:132px;display:flex}.user-menu-choice.admin-btn{min-height:24px;font-size:var(--font-size-sm);color:var(--muted);background:0 0;border-radius:6px;padding:3px 10px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.user-menu-choice.admin-btn:hover{border-color:var(--accent);color:var(--fg);background:0 0}.user-menu-choice.admin-btn[aria-pressed=true],.user-menu-choice.admin-btn[aria-pressed=true]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.user-menu-action.admin-btn{width:100%;color:var(--muted);font-size:var(--font-size-sm);background:0 0;border:none;justify-content:flex-start;padding:8px 14px;font-weight:400;transition:background .15s,color .15s}.user-menu-action.admin-btn:hover{color:var(--accent);background:0 0}.offline-indicator{z-index:9999;pointer-events:none;position:fixed;top:0;left:0;right:0}.offline-indicator__banner{font-size:var(--font-size-sm);pointer-events:auto;text-align:center;justify-content:center;align-items:center;gap:12px;padding:6px 16px;font-weight:500;display:flex}.offline-indicator__banner--offline{color:var(--white);background:#b45309}.offline-indicator__banner--update{color:var(--white);background:#1e40af}.offline-indicator__refresh{color:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:2px 10px}.offline-indicator__refresh:hover{background:#ffffff26}.list-head-actions{align-items:center;gap:4px;display:flex}.offline-cache-btn{font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.offline-cache-btn--done{color:var(--success-ink);opacity:.8}.offline-cache-btn--progress{color:var(--accent,#e8552a)}.offline-cache-label{font-size:var(--font-size-xs);letter-spacing:.02em;font-weight:600}.offline-cache-progress-ring{animation:1.5s linear infinite spin-slow;display:inline-flex}@keyframes spin-slow{to{transform:rotate(360deg)}}.rehearse-shell{--rehearse-transport-clearance:7rem;background:radial-gradient(circle at top,var(--surface-strong)0%,var(--bg)42%);min-height:100dvh}@supports (color:color-mix(in lab, red, red)){.rehearse-shell{background:radial-gradient(circle at top,color-mix(in srgb,var(--surface-strong)82%,var(--accent)18%)0%,var(--bg)42%)}}.rehearse-shell{padding:.5rem .6rem var(--rehearse-transport-clearance);-webkit-user-select:none;user-select:none}.rehearse-shell--details-open{--rehearse-transport-clearance:12.2rem}.rehearse-shell--transport-minimized{--rehearse-transport-clearance:1.4rem}.rehearse-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;max-width:1320px;margin:0 auto .4rem;display:flex}.rehearse-stage-container{gap:.5rem;max-width:1320px;margin:0 auto;padding-bottom:.35rem;display:grid}.rehearse-transport{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;width:min(94vw,1100px);padding:.42rem .62rem .36rem;position:fixed;bottom:.85rem;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.rehearse-transport{background:color-mix(in srgb,var(--surface-strong)90%,black 10%)}}.rehearse-transport{z-index:50;gap:.28rem;display:grid;box-shadow:0 18px 48px #00000047}.rehearse-transport.is-expanded{gap:.35rem;padding:.6rem .8rem .5rem}.rehearse-mini-transport{z-index:55;width:min(640px,100vw - 24px);transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;bottom:18px;right:18px}.rehearse-mini-transport.is-slid-out{transform:translate(calc(100% + 18px))}.rehearse-mini-transport__handle{background:var(--surface-strong);width:16px;height:42px;color:var(--muted);font-size:var(--font-size-3xs);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #be9f7880;border-right:0;border-radius:8px 0 0 8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:-15px;transform:translateY(-50%);box-shadow:-3px 3px 8px #4f341814}.rehearse-mini-transport__bar{border:1px solid var(--border);background:var(--surface-strong);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.rehearse-mini-transport__bar{background:color-mix(in srgb,var(--surface-strong)92%,black 8%)}}.rehearse-mini-transport__bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:8px 12px;display:grid;box-shadow:0 18px 48px #00000047}.rehearse-mini-transport__play.button,.rehearse-mini-transport__action.button{transition:background .15s,border-color .15s,color .15s}.rehearse-mini-transport__play.button{width:30px;height:30px;font-size:var(--font-size-sm)}.rehearse-mini-transport__copy{text-align:left;min-width:0;color:inherit;background:0 0;border:0;gap:2px;padding:0;display:grid}.rehearse-mini-transport__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-base);overflow:hidden}.rehearse-mini-transport__copy span{color:var(--muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rehearse-mini-transport__progress{grid-column:1/-1;min-width:0}.rehearse-mini-transport__progress input{width:100%;accent-color:var(--accent)}.rehearse-mini-transport__action.button{font-size:var(--font-size-sm);white-space:nowrap;padding:6px 10px;font-weight:600}.rehearse-mini-transport__action.button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-mini-transport__action.button[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent)32%,transparent)}}.rehearse-mini-transport__action.button[aria-pressed=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-mini-transport__action.button[aria-pressed=true]{background:color-mix(in srgb,var(--accent)10%,var(--surface))}}.rehearse-transport-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.rehearse-transport__secondary.button{font-size:.68rem}.rehearse-transport-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem;display:flex}.rehearse-transport-tools__cluster{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.rehearse-transport-tools__loop.button{font-size:.68rem}.rehearse-transport-menu{z-index:70;border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;gap:.35rem;padding:.45rem;display:grid}@supports (color:color-mix(in lab, red, red)){.rehearse-transport-menu{background:color-mix(in srgb,var(--surface-strong)94%,black 6%)}}.rehearse-transport-menu{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 48px #00000047}.rehearse-transport-menu__item.admin-btn{justify-content:stretch;width:100%;min-height:40px;padding:.45rem .55rem}.rehearse-transport-menu__item-copy{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.rehearse-transport-menu__item-hint{color:var(--muted);font-size:.66rem;font-weight:700}.rehearse-readout{gap:.32rem;display:grid}.rehearse-readout--compact{gap:.24rem}.rehearse-readout__context{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.rehearse-pill{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;min-height:24px;padding:.16rem .48rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.rehearse-pill{background:color-mix(in srgb,var(--surface)80%,black 20%)}}.rehearse-pill{color:var(--muted);font-size:.66rem;font-weight:600;line-height:1}.rehearse-pill--accent{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-pill--accent{border-color:color-mix(in srgb,var(--accent)30%,transparent)}}.rehearse-pill--accent{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-pill--accent{background:color-mix(in srgb,var(--accent)14%,var(--surface))}}.rehearse-pill--accent{color:var(--accent)}.rehearse-pill--strong{color:var(--text);font-variant-numeric:tabular-nums}.rehearse-readout__summary{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.45rem;display:grid}.rehearse-readout__compact-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rehearse-readout__compact-primary{flex-wrap:wrap;flex:auto;align-items:baseline;gap:.45rem;min-width:0;display:flex}.rehearse-readout__compact-current{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.92rem;font-weight:700;line-height:1.15;overflow:hidden}.rehearse-readout__compact-next{max-width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.rehearse-readout__compact-countdown{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;min-height:28px;padding:.18rem .48rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.rehearse-readout__compact-countdown{background:color-mix(in srgb,var(--surface)84%,black 16%)}}.rehearse-readout__compact-countdown{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.68rem;font-weight:700}.rehearse-readout__compact-countdown.is-urgent{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-readout__compact-countdown.is-urgent{border-color:color-mix(in srgb,var(--accent)35%,transparent)}}.rehearse-readout__compact-countdown.is-urgent{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-readout__compact-countdown.is-urgent{background:color-mix(in srgb,var(--accent)12%,var(--surface))}}.rehearse-readout__compact-countdown.is-urgent{color:var(--accent)}.rehearse-readout__block,.rehearse-readout__countdown{border:1px solid var(--border);background:var(--surface);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.rehearse-readout__block,.rehearse-readout__countdown{background:color-mix(in srgb,var(--surface)84%,black 16%)}}.rehearse-readout__block,.rehearse-readout__countdown{min-width:0;padding:.36rem .5rem}.rehearse-readout__block--next{text-align:right}.rehearse-readout__countdown{align-content:center;justify-items:center;gap:.18rem;min-width:96px;display:grid}.rehearse-readout__countdown.is-urgent{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-readout__countdown.is-urgent{border-color:color-mix(in srgb,var(--accent)35%,transparent)}}.rehearse-readout__countdown.is-urgent{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-readout__countdown.is-urgent{background:color-mix(in srgb,var(--accent)12%,var(--surface))}}.rehearse-readout__eyebrow{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.25rem;font-size:.62rem;font-weight:700;display:inline-flex}.rehearse-readout__value{white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.9rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}.rehearse-readout__countdown-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.05rem;font-weight:800;line-height:1.1}.rehearse-readout__countdown.is-urgent .rehearse-readout__countdown-value{color:var(--accent)}.rehearse-readout__meta,.rehearse-readout__meta-row{color:var(--muted);font-size:.68rem}.rehearse-readout__meta{margin-top:.12rem;display:block}.rehearse-readout__jump{justify-self:end;margin-top:.35rem}.rehearse-queue-drawer{left:50%;bottom:calc(var(--rehearse-transport-clearance,8.4rem) + .6rem);border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;flex-direction:column;gap:.5rem;width:min(94vw,520px);max-height:min(60vh,520px);padding:.7rem .85rem .6rem;display:flex;position:fixed;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer{background:color-mix(in srgb,var(--surface-strong)92%,black 8%)}}.rehearse-queue-drawer{z-index:60;animation:rehearse-queue-drawer-in var(--motion-snappy)var(--ease-out);box-shadow:0 22px 60px #00000059}@keyframes rehearse-queue-drawer-in{0%{opacity:0;transform:translate(-50%,.4rem)}to{opacity:1;transform:translate(-50%)}}.rehearse-queue-drawer__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rehearse-queue-drawer__title{gap:.1rem;min-width:0;display:grid}.rehearse-queue-drawer__title strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.rehearse-queue-drawer__title span{color:var(--muted);font-size:.68rem}.rehearse-queue-drawer__current{border:var(--border-width-default)solid var(--accent);gap:.18rem;padding:.5rem .6rem;display:grid}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer__current{border:var(--border-width-default)solid color-mix(in srgb,var(--accent)32%,transparent)}}.rehearse-queue-drawer__current{background:var(--accent);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer__current{background:color-mix(in srgb,var(--accent)10%,var(--surface))}}.rehearse-queue-drawer__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.6rem;font-weight:700}.rehearse-queue-drawer__current-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;overflow:hidden}.rehearse-queue-drawer__current-meta{color:var(--muted);font-size:.7rem}.rehearse-queue-drawer__current-actions{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.rehearse-queue-drawer__empty{text-align:center;color:var(--muted);margin:0;padding:.6rem .4rem;font-size:.74rem}.rehearse-queue-drawer__list{gap:.32rem;max-height:28vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.rehearse-queue-drawer__item{border:var(--border-width-default)solid var(--border);background:var(--surface);border-radius:10px;align-items:stretch;gap:.35rem;display:flex}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer__item{background:color-mix(in srgb,var(--surface)88%,black 12%)}}.rehearse-queue-drawer__item{overflow:hidden}.rehearse-queue-drawer__item.is-current{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer__item.is-current{border-color:color-mix(in srgb,var(--accent)38%,transparent)}}.rehearse-queue-drawer__item.is-current{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer__item.is-current{background:color-mix(in srgb,var(--accent)10%,var(--surface))}}.rehearse-queue-drawer__item-main.admin-btn{text-align:left;background:0 0;border:none;border-radius:0;flex:1;justify-content:flex-start;gap:.1rem;min-width:0;padding:.45rem .55rem;display:grid}.rehearse-queue-drawer__item-main.admin-btn:hover{background:var(--surface);border-color:#0000}@supports (color:color-mix(in lab, red, red)){.rehearse-queue-drawer__item-main.admin-btn:hover{background:color-mix(in srgb,var(--surface)70%,var(--accent)30%)}}.rehearse-queue-drawer__item-main.admin-btn strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;overflow:hidden}.rehearse-queue-drawer__item-main.admin-btn span{color:var(--muted);font-size:.66rem}.rehearse-queue-drawer__item-remove.admin-btn{width:32px;min-width:32px;color:var(--muted);transition:color var(--motion-snappy)var(--ease-out);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex}.rehearse-queue-drawer__item-remove.admin-btn:hover{color:var(--color-danger-ink-strong,var(--accent));background:0 0;border-color:#0000}.rehearse-queue-drawer__foot{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;padding-top:.2rem;display:flex}@media (max-width:768px){.rehearse-queue-drawer{width:calc(100vw - .6rem);max-height:65vh;bottom:calc(var(--rehearse-transport-clearance,6.4rem) + .4rem);border-radius:14px}.rehearse-queue-drawer__list{max-height:36vh}.rehearse-shell{--rehearse-transport-clearance:5.6rem;padding:.3rem .3rem var(--rehearse-transport-clearance)}.rehearse-shell--details-open{--rehearse-transport-clearance:10.1rem}.rehearse-shell--transport-minimized{--rehearse-transport-clearance:1rem}.rehearse-header{margin-bottom:.2rem;padding-inline:.15rem}.rehearse-transport{width:calc(100vw - .6rem);bottom:max(.3rem,env(safe-area-inset-bottom,0px));padding:.42rem .45rem calc(.32rem + env(safe-area-inset-bottom,0px));border-radius:14px 14px 0 0}.rehearse-transport.is-expanded{padding:.5rem .5rem calc(.4rem + env(safe-area-inset-bottom,0px))}.rehearse-mini-transport{right:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px));width:calc(100vw - 12px)}.rehearse-mini-transport__bar{grid-template-columns:auto minmax(0,1fr)}.rehearse-mini-transport__action:last-child{justify-self:end}.rehearse-transport-controls{gap:.25rem}.rehearse-readout__summary{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.25rem}.rehearse-readout__compact-summary{gap:.3rem}.rehearse-readout__compact-current{font-size:.82rem}.rehearse-readout__compact-next{font-size:.64rem}.rehearse-readout__compact-countdown{min-height:24px;padding:.14rem .38rem;font-size:.6rem}.rehearse-readout__block,.rehearse-readout__countdown{border-radius:8px;padding:.22rem .35rem}.rehearse-readout__countdown{min-width:56px}.rehearse-readout__eyebrow{font-size:.52rem}.rehearse-readout__value{margin-top:.04rem;font-size:.76rem}.rehearse-readout__countdown-value{font-size:.88rem}.rehearse-readout__meta{margin-top:.04rem;font-size:.58rem}.rehearse-readout__jump{margin-top:.15rem}.rehearse-transport-controls .button-sm{min-width:44px;min-height:44px;padding:6px 10px}.rehearse-transport-controls .button-sm.button-primary{min-width:80px;font-size:var(--font-size-base)}.rehearse-transport-tools{align-items:stretch}.rehearse-transport-tools__cluster{width:100%}.rehearse-transport-menu{width:min(220px,100vw - 1rem)!important}}@media (max-width:480px){.rehearse-shell{--rehearse-transport-clearance:5.2rem;padding:.2rem .15rem var(--rehearse-transport-clearance)}.rehearse-shell--details-open{--rehearse-transport-clearance:9.5rem}.rehearse-shell--transport-minimized{--rehearse-transport-clearance:.85rem}.rehearse-header{gap:.3rem}.rehearse-header h1{font-size:.82rem}.rehearse-transport{width:100vw;padding:.38rem .4rem calc(.28rem + env(safe-area-inset-bottom,0px));border-radius:14px 14px 0 0;bottom:0;left:0;transform:none}.rehearse-transport.is-expanded{padding:.45rem .45rem calc(.35rem + env(safe-area-inset-bottom,0px))}.rehearse-mini-transport{width:100vw;bottom:0;right:0}.rehearse-mini-transport__bar{padding:7px 10px calc(7px + env(safe-area-inset-bottom,0px));border-radius:14px 14px 0 0}.rehearse-mini-transport__copy strong{font-size:var(--font-size-sm)}.rehearse-mini-transport__copy span{font-size:var(--font-size-xs)}}@media (pointer:coarse){.rehearse-transport .button-sm{min-width:44px;min-height:44px;font-size:var(--font-size-base);padding:8px 12px}.rehearse-transport .button-sm.button-primary{min-width:80px}.rehearse-transport{bottom:calc(.85rem + env(safe-area-inset-bottom,0px))!important}}@keyframes count-in-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}30%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.35)}}.count-in-overlay{z-index:1000;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.count-in-number{color:var(--accent);opacity:0;animation:count-in-pulse var(--beat-duration,.6s)var(--ease-out)forwards;font-size:clamp(4rem,18vw,10rem);font-weight:800;position:absolute;top:50%;left:50%}.disclosure-drawer{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.disclosure-drawer-header{width:100%;color:inherit;font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:.35rem;padding:.45rem .7rem;font-weight:600;display:flex}.disclosure-drawer-header:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.disclosure-drawer-header:hover{background:color-mix(in srgb,var(--surface)80%,var(--accent)20%)}}.disclosure-drawer-chevron{font-size:var(--font-size-base);color:var(--muted);flex-shrink:0;font-weight:700;line-height:1;display:inline-block}.disclosure-drawer-label{flex:1;min-width:0}.disclosure-drawer-kbd{font-size:var(--font-size-3xs);color:var(--muted);opacity:.5;border:1px solid var(--border);background:0 0;border-radius:3px;padding:.05rem .25rem;font-family:inherit}.disclosure-drawer-body{display:grid;overflow:hidden}.disclosure-drawer-body>div{min-height:0}.disclosure-drawer-content{min-width:0;padding:.35rem .6rem .55rem}.view-toggle-group{border:1px solid var(--border);background:var(--border);border-radius:6px;gap:1px;display:inline-flex;overflow:hidden}.view-toggle-btn{background:var(--surface);color:var(--muted);font-size:var(--font-size-3xs);cursor:pointer;transition:background var(--motion-snappy,.12s)ease,color var(--motion-snappy,.12s)ease;white-space:nowrap;border:none;border-radius:0;min-height:22px;padding:.18rem .45rem;font-weight:600;line-height:1.2}.view-toggle-btn:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.view-toggle-btn:hover{background:color-mix(in srgb,var(--surface)80%,var(--accent)20%)}}.view-toggle-btn:hover{transform:none}.view-toggle-btn[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:#0000}.view-toggle-btn[aria-pressed=true]:hover{background:var(--accent)}.choreo-route{width:100%;min-height:100dvh}.mobile-chrome-nudge-route{width:100%}.mobile-chrome-nudge-spacer{display:none}.choreo-shell{background:var(--bg);isolation:isolate;-webkit-user-select:none;user-select:none;grid-template-rows:auto auto minmax(0,1fr) auto auto;width:100%;height:100dvh;min-height:100dvh;display:grid;position:relative;overflow:hidden}.choreo-shell--loading,.choreo-shell--error{justify-content:center;align-items:center;min-height:100dvh;display:flex}@keyframes skeleton-shimmer{0%{background-position:-200%}to{background-position:200%}}.skeleton-bone{background:linear-gradient(90deg,var(--surface-strong)25%,var(--surface-strong)50%,var(--surface-strong)75%);border-radius:4px}@supports (color:color-mix(in lab, red, red)){.skeleton-bone{background:linear-gradient(90deg,var(--surface-strong)25%,color-mix(in srgb,var(--surface-strong)60%,var(--surface-muted,#e8e8e8))50%,var(--surface-strong)75%)}}.skeleton-bone{background-size:200% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.choreo-skeleton{grid-template-rows:auto auto minmax(0,1fr) auto auto;width:100%;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.choreo-skeleton__topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.5rem;min-height:44px;padding:.4rem .6rem;display:flex}.choreo-skeleton__strip{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.28rem;padding:.22rem .44rem;display:flex}.choreo-skeleton__main{background:var(--bg);grid-template-columns:1fr auto;display:grid;overflow:hidden}.choreo-skeleton__stage-area{flex-direction:column;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.choreo-skeleton__sidebar{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.4rem;width:220px;padding:.5rem;display:flex}.choreo-skeleton__transport{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.3rem;padding:.28rem .4rem .32rem;display:flex}@media (prefers-reduced-motion:reduce){.skeleton-bone{background:var(--surface-strong);animation:none}}.choreo-topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;padding:.4rem .6rem;display:flex}.choreo-topbar__left{flex:1;align-items:center;gap:.45rem;min-width:0;display:flex}.choreo-topbar__center{flex-shrink:0}.choreo-topbar__right{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.3rem;display:flex}.choreo-back-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--ink);font-size:var(--font-size-base);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.choreo-back-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.choreo-topbar-icon{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--motion-snappy)var(--ease-out),border-color var(--motion-snappy)var(--ease-out),color var(--motion-snappy)var(--ease-out);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.choreo-topbar-icon:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.choreo-topbar-icon[data-active]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.choreo-topbar__title-block{min-width:0;overflow:hidden}.choreo-topbar__title{font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;line-height:1.2;overflow:hidden}.choreo-topbar__meta{font-size:var(--font-size-2xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;display:block;overflow:hidden}.choreo-notice{font-size:var(--font-size-xs);border-bottom:1px solid var(--border);animation:choreo-slide-down var(--motion-standard,.2s)var(--ease-out);align-items:center;gap:.35rem;padding:.35rem .55rem;display:flex}@keyframes choreo-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.choreo-notice[data-tone=error]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-notice[data-tone=error]{background:color-mix(in srgb,var(--accent)10%,var(--surface)90%)}}.choreo-notice[data-tone=error]{color:var(--accent)}.choreo-notice[data-tone=success]{background:var(--surface-strong);color:var(--muted)}.choreo-main{grid-template-columns:minmax(0,1fr) auto;gap:0;min-height:0;display:grid;overflow:hidden}.choreo-stage-area{overscroll-behavior:contain;flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;min-width:0;min-height:0;padding:.5rem;display:flex;position:relative;overflow:hidden auto}.choreo-stage-stack{box-sizing:border-box;align-content:start;justify-items:center;gap:.35rem;width:100%;max-width:900px;min-height:100%;margin:0 auto;padding:2.75rem 0 .4rem;display:grid;position:relative}.choreo-stage-canvas-wrap{justify-content:center;width:100%;display:flex;position:relative}.choreo-stage-empty-state{text-align:center;width:100%;color:var(--muted);font-size:var(--font-size-sm);padding:2rem 1rem}.choreo-stage-tray{flex-wrap:wrap;align-items:center;gap:.3rem;width:100%;display:flex}.choreo-stage-tray--cast{padding:.1rem .35rem 0}.choreo-stage-tray--groups{padding:0 .35rem}.choreo-stage-actions{z-index:10;animation:choreo-fade-in var(--motion-standard,.2s)var(--ease-out);gap:4px;display:flex;position:absolute;top:.6rem;left:.6rem}.choreo-stage-actions button{border:1px solid var(--border);background:var(--surface-strong);min-height:30px;color:var(--ink);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--motion-snappy,.12s)var(--ease-out),border-color var(--motion-snappy,.12s)var(--ease-out),opacity var(--motion-snappy,.12s)var(--ease-out);justify-content:center;align-items:center;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #00000014}.choreo-stage-actions button[data-kind=icon]{width:30px;min-width:30px;font-size:var(--font-size-base);border-radius:8px;padding:0}.choreo-stage-actions button[data-kind=pill]{border-radius:999px;min-width:0;padding:0 .65rem}.choreo-stage-actions button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.choreo-stage-actions button:disabled{opacity:.35;cursor:default}.choreo-stage-actions button[data-action=save]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-stage-actions button[data-action=save]{border-color:color-mix(in srgb,var(--accent)26%,var(--border))}}.choreo-stage-actions button[data-action=save]{color:var(--accent-strong);gap:4px}.choreo-perform-as{z-index:10;border:1px solid var(--border);gap:.3rem;min-width:min(15rem,100% - 1.2rem);padding:.55rem .65rem;display:grid;position:absolute;top:.6rem;right:.6rem}@supports (color:color-mix(in lab, red, red)){.choreo-perform-as{border:1px solid color-mix(in srgb,var(--border)88%,white 12%)}}.choreo-perform-as{background:var(--surface-strong);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.choreo-perform-as{background:color-mix(in srgb,var(--surface-strong)90%,black 10%)}}.choreo-perform-as{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000002e}.choreo-perform-as__label{font-size:var(--font-size-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.choreo-perform-as__select{min-height:34px;font-size:var(--font-size-xs);font-weight:600}.choreo-perform-as__hint{font-size:var(--font-size-2xs);color:var(--muted);line-height:1.35}.choreo-selection-badge{z-index:10;background:var(--accent-soft);border:1px solid var(--accent);border-radius:14px;align-items:center;gap:6px;padding:.2rem .65rem;display:flex;position:absolute;top:.6rem;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.choreo-selection-badge{border:1px solid color-mix(in srgb,var(--accent)30%,transparent)}}.choreo-selection-badge{color:var(--accent-strong);font-size:var(--font-size-xs);white-space:nowrap;animation:choreo-badge-in var(--motion-snappy,.12s)var(--ease-out);font-weight:600}@keyframes choreo-badge-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.choreo-selection-badge__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.choreo-path-quick-panel{box-sizing:border-box;border:1px solid var(--accent);border-radius:14px;justify-self:stretch;gap:.5rem;width:100%;max-width:900px;margin:0 auto .35rem;padding:.65rem .75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.choreo-path-quick-panel{border:1px solid color-mix(in srgb,var(--accent)18%,var(--border)82%)}}.choreo-path-quick-panel{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.choreo-path-quick-panel{background:color-mix(in srgb,var(--surface)92%,white 8%)}}.choreo-path-quick-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:choreo-fade-in var(--motion-snappy,.12s)var(--ease-out);box-shadow:0 14px 36px #0f172a14}.choreo-path-quick-panel__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.choreo-path-quick-panel__title{gap:.15rem;min-width:0;display:grid}.choreo-path-quick-panel__title strong{font-size:.86rem;line-height:1.2}.choreo-path-quick-panel__title span{color:var(--muted);font-size:.72rem;line-height:1.35}.choreo-path-quick-panel__close{border:1px solid var(--border);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;width:30px;min-width:30px;min-height:30px;padding:0;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.choreo-path-quick-panel__close{background:color-mix(in srgb,var(--surface)86%,black 14%)}}.choreo-path-quick-panel__close{color:var(--muted);cursor:pointer;font-size:1rem;line-height:1}.choreo-path-quick-panel__close:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.choreo-path-quick-panel__summary{color:var(--muted);flex-wrap:wrap;gap:.35rem .75rem;font-size:.74rem;display:flex}.choreo-path-quick-panel__summary strong{color:var(--ink)}.choreo-path-quick-panel__actions,.choreo-path-quick-panel__segments{flex-wrap:wrap;gap:.35rem;display:flex}@keyframes choreo-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.choreo-inspector{border-left:1px solid var(--border);background:var(--surface);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:min(360px,31vw);min-width:320px;max-width:min(100vw,390px);min-height:0;display:flex;overflow:hidden}.choreo-inspector__scroll{min-height:0;padding:.75rem max(.75rem,env(safe-area-inset-right)).75rem .75rem;overscroll-behavior:contain;flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.choreo-field{font-size:var(--font-size-xs);flex-direction:column;gap:.15rem;min-width:0;display:flex}.choreo-field--floating{gap:0;position:relative}.choreo-field__label{font-size:var(--font-size-3xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.choreo-field__input{box-sizing:border-box;width:100%;min-width:0;font-size:var(--font-size-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);transition:border-color var(--motion-snappy)var(--ease-out);border-radius:6px;padding:.3rem .4rem}.choreo-field--floating>.choreo-field__label{z-index:1;white-space:nowrap;background:var(--surface);box-shadow:0 0 0 1px var(--surface);border-radius:999px;padding:0 .22rem;line-height:1.05;position:absolute;top:0;left:.42rem;transform:translateY(-56%)}.choreo-field--floating>.choreo-field__input{padding-top:.74rem;padding-bottom:.2rem}.choreo-field--with-suffix{align-items:stretch;display:flex}.choreo-field--with-suffix>.choreo-field__input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.choreo-field__suffix{font-size:var(--font-size-2xs);color:var(--muted);background:var(--surface-muted);border:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;border-left:none;border-radius:0 6px 6px 0;align-items:center;padding:0 .4rem;display:flex}.choreo-field--floating>textarea.choreo-field__input{min-height:3rem;padding-top:.9rem}.choreo-field--floating:focus-within>.choreo-field__label{color:var(--accent)}.choreo-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.choreo-stage-settings-form{grid-template-columns:1fr 1fr;gap:.55rem .45rem;display:grid}.choreo-stage-settings-form>button{align-self:end}.choreo-cast-management{gap:.45rem;display:grid}.choreo-cast-toolbar{justify-content:space-between;align-items:center;display:flex}.choreo-cast-toolbar__hint{font-size:var(--font-size-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.choreo-cast-inline-editor{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:.35rem;display:grid}.choreo-cast-inline-editor--selected{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto auto}.choreo-cast-add-block{gap:.35rem;display:grid}.choreo-cast-link-field{max-width:100%}.choreo-floating-field{min-width:0;position:relative}.choreo-floating-field__input{box-sizing:border-box;width:100%;min-width:0;font-size:var(--font-size-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:6px;padding:.72rem .42rem .22rem}.choreo-floating-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.choreo-floating-field__label{z-index:1;white-space:nowrap;line-height:1.05;font-size:var(--font-size-3xs);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;pointer-events:none;background:var(--surface);box-shadow:0 0 0 1px var(--surface);transition:color var(--motion-snappy)var(--ease-out);border-radius:999px;padding:0 .22rem;position:absolute;top:0;left:.42rem;transform:translateY(-56%)}.choreo-floating-field__input:not(:placeholder-shown)+.choreo-floating-field__label,.choreo-floating-field__input:focus+.choreo-floating-field__label{color:var(--accent)}.choreo-inline-icon-btn{border:1px solid var(--border);background:var(--surface-strong);width:30px;height:30px;color:var(--ink);font-size:var(--font-size-sm);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.choreo-inline-icon-btn--primary{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-inline-icon-btn--primary{border-color:color-mix(in srgb,var(--accent)45%,var(--border)55%)}}.choreo-inline-icon-btn--primary{color:var(--accent)}.choreo-inline-icon-btn--danger{border-color:#b8513d}@supports (color:color-mix(in lab, red, red)){.choreo-inline-icon-btn--danger{border-color:color-mix(in srgb,#b8513d 45%,var(--border)55%)}}.choreo-inline-icon-btn--danger{color:var(--clay-300)}.choreo-inline-icon-btn:disabled{opacity:.55;cursor:default}@media (max-width:720px){.choreo-cast-inline-editor,.choreo-cast-inline-editor--selected{grid-template-columns:auto 1fr 1fr}.choreo-cast-inline-editor .choreo-inline-icon-btn,.choreo-cast-inline-editor--selected .choreo-inline-icon-btn{grid-column:span 1}}.kf-inspector{border:1px solid var(--border);background:var(--surface-strong);border-radius:10px;overflow:hidden}.kf-inspector__header{cursor:pointer;width:100%;font-size:var(--font-size-sm);color:var(--ink);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.5rem .65rem;font-weight:600;display:flex}.kf-inspector__header:hover{background:var(--surface-strong)}@supports (color:color-mix(in lab, red, red)){.kf-inspector__header:hover{background:color-mix(in srgb,var(--surface-strong)80%,var(--accent)20%)}}.kf-inspector__title{align-items:baseline;gap:.35rem;display:flex}.kf-inspector__subtitle{color:var(--muted);font-weight:400;font-size:var(--font-size-xs)}.kf-inspector__chevron{font-size:var(--font-size-base);color:var(--muted);transition:transform var(--motion-snappy,.12s)ease;font-weight:700;line-height:1;display:inline-block;transform:rotate(0)}.kf-inspector__chevron[data-open]{transform:rotate(90deg)}.kf-inspector__body{gap:.55rem;padding:0 .65rem .6rem;display:grid}.kf-inspector__fields-row{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.kf-inspector__time-row{grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:.4rem;display:grid}.kf-inspector__snap-hint{flex-direction:column;align-items:flex-end;gap:.15rem;min-width:0;max-width:100%;padding-bottom:.05rem;display:flex;overflow:hidden}.kf-inspector__snap-label{font-size:var(--font-size-2xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.kf-inspector__snap-offset{opacity:.7}.kf-inspector__snap-btn{font-size:var(--font-size-2xs);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;white-space:nowrap;transition:background var(--motion-snappy)ease,opacity var(--motion-snappy)ease;border-radius:4px;align-self:flex-end;align-items:center;gap:3px;padding:.12rem .4rem;font-weight:600;display:inline-flex}.kf-inspector__snap-btn:hover:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.kf-inspector__snap-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent)20%,transparent)}}.kf-inspector__snap-btn:disabled{opacity:.4;cursor:default}.kf-inspector__section{background:var(--ink);border-radius:8px;gap:.35rem;padding:.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.kf-inspector__section{background:color-mix(in srgb,var(--ink)3%,var(--surface)97%)}}.kf-inspector__section{border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.kf-inspector__section{border:1px solid color-mix(in srgb,var(--border)60%,transparent)}}.kf-inspector__section-header{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.kf-inspector__section-title{font-size:var(--font-size-xs);color:var(--ink);align-items:center;gap:.3rem;font-weight:600;display:flex}.kf-inspector__section-hint{font-size:var(--font-size-2xs);color:var(--muted)}.kf-inspector__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kf-inspector__badge{font-size:var(--font-size-3xs);color:var(--muted);background:var(--border);border-radius:8px;padding:.08rem .32rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.kf-inspector__badge{background:color-mix(in srgb,var(--border)40%,transparent)}}.kf-inspector__copy-prev-btn{font-size:var(--font-size-2xs);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color var(--motion-snappy)ease,color var(--motion-snappy)ease;border-radius:4px;align-items:center;gap:3px;padding:.1rem .35rem;font-weight:500;display:inline-flex}.kf-inspector__copy-prev-btn:hover{border-color:var(--accent);color:var(--accent)}.kf-inspector__prev-coords{font-size:var(--font-size-2xs);color:var(--muted);font-variant-numeric:tabular-nums}.kf-inspector__coords-grid{grid-template-columns:1fr 1fr 1fr;gap:.35rem;display:grid}.kf-inspector__waypoints{flex-wrap:wrap;gap:.3rem;display:flex}.kf-inspector__waypoint-chip{font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--motion-snappy)ease,background var(--motion-snappy)ease;border-radius:5px;align-items:center;gap:.2rem;padding:.15rem .38rem;display:inline-flex}.kf-inspector__waypoint-chip:hover{border-color:var(--border-strong,var(--muted));background:var(--surface-muted)}.kf-inspector__waypoint-chip[data-selected]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.kf-inspector__waypoint-num{width:14px;height:14px;font-size:var(--font-size-3xs);background:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kf-inspector__waypoint-num{background:color-mix(in srgb,var(--muted)15%,transparent)}}.kf-inspector__waypoint-num{color:var(--muted)}.kf-inspector__waypoint-chip[data-selected] .kf-inspector__waypoint-num{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.kf-inspector__waypoint-chip[data-selected] .kf-inspector__waypoint-num{background:color-mix(in srgb,var(--accent)20%,transparent)}}.kf-inspector__waypoint-chip[data-selected] .kf-inspector__waypoint-num{color:var(--accent-strong)}.kf-inspector__waypoint-actions{flex-wrap:wrap;gap:.3rem;display:flex}.kf-inspector__empty-hint{font-size:var(--font-size-xs);color:var(--muted);line-height:1.45}.kf-inspector__actions{border-top:1px solid var(--border);gap:.3rem;padding-top:.15rem;display:grid}@supports (color:color-mix(in lab, red, red)){.kf-inspector__actions{border-top:1px solid color-mix(in srgb,var(--border)50%,transparent)}}.kf-inspector__save-btn{width:100%;font-size:var(--font-size-xs);border:1px solid var(--accent);background:var(--accent);color:var(--white);cursor:pointer;transition:opacity var(--motion-snappy)ease;border-radius:6px;justify-content:center;align-items:center;padding:.38rem .5rem;font-weight:600;display:flex}.kf-inspector__save-btn:hover:not(:disabled){opacity:.9}.kf-inspector__save-btn:disabled{opacity:.5;cursor:default}.kf-inspector__delete-btn{width:100%;font-size:var(--font-size-2xs);color:var(--muted);cursor:pointer;transition:color var(--motion-snappy)ease,background var(--motion-snappy)ease;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem .5rem;font-weight:500;display:flex}.kf-inspector__delete-btn:hover:not(:disabled){color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.kf-inspector__delete-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent)8%,transparent)}}.kf-inspector__delete-btn:disabled{opacity:.4;cursor:default}.choreo-stage-actions button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent)}.choreo-context-bar{border-top:1px solid var(--border);background:var(--surface);font-size:var(--font-size-sm);animation:choreo-fade-in var(--motion-snappy,.12s)var(--ease-out);align-items:center;gap:.4rem;padding:.3rem .6rem;display:flex}.choreo-context-bar__label{color:var(--ink);align-items:center;gap:5px;font-weight:600;display:flex}.choreo-context-bar__sep{background:var(--border);flex-shrink:0;width:1px;height:18px}.choreo-context-bar__field{align-items:center;gap:4px;display:flex}.choreo-storyboard{border-top:1px solid var(--border);background:var(--surface);padding:.3rem .5rem;overflow-x:auto}.choreo-formation-strip{scrollbar-width:thin;align-items:center;gap:6px;padding:.2rem 0;display:flex;overflow:auto hidden}.choreo-formation-pill{border:1.5px solid var(--border);background:var(--surface-strong);height:26px;color:var(--muted);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:background var(--motion-snappy,.12s)var(--ease-out),border-color var(--motion-snappy,.12s)var(--ease-out),color var(--motion-snappy,.12s)var(--ease-out);border-radius:13px;flex:none;align-items:center;gap:4px;padding:0 .45rem;font-weight:500;display:inline-flex}.choreo-formation-pill:hover{border-color:var(--border-strong);background:var(--surface-muted)}.choreo-formation-pill--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.choreo-formation-pill--active:hover{background:var(--accent-soft);border-color:var(--accent-strong)}.choreo-formation-pill__num{background:var(--ink);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.choreo-formation-pill__num{background:color-mix(in srgb,var(--ink)8%,transparent)}}.choreo-formation-pill__num{font-size:var(--font-size-3xs);font-weight:700;line-height:1}.choreo-formation-pill--active .choreo-formation-pill__num{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-formation-pill--active .choreo-formation-pill__num{background:color-mix(in srgb,var(--accent)18%,transparent)}}.choreo-formation-pill--active .choreo-formation-pill__num{color:var(--accent-strong)}.choreo-formation-pill__label{text-overflow:ellipsis;max-width:80px;font-size:var(--font-size-xs);overflow:hidden}.choreo-formation-pill--add{color:var(--muted);font-weight:500;font-size:var(--font-size-md);border-style:dashed;padding:0 .35rem;line-height:1}.choreo-formation-pill--add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.choreo-formation-strip__sep{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 2px;display:block}.choreo-formation-pill-actions{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.choreo-formation-action-btn{border:1px solid var(--border);background:var(--surface-strong);width:22px;height:22px;color:var(--muted);font-size:var(--font-size-base);cursor:pointer;transition:background var(--motion-snappy)var(--ease-out),border-color var(--motion-snappy)var(--ease-out),color var(--motion-snappy)var(--ease-out);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}.choreo-formation-action-btn:hover{border-color:var(--border-strong);background:var(--surface-muted);color:var(--ink)}.choreo-formation-action-btn--danger:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.choreo-transport{border-top:1px solid var(--border);background:var(--surface-strong);overscroll-behavior:contain;scrollbar-width:thin;max-height:min(34dvh,248px);overflow-y:auto}.choreo-transport-mini{background:var(--surface);border-bottom:1px solid #be9f7833;align-items:center;gap:.55rem;padding:.45rem .55rem;display:none}@supports (color:color-mix(in lab, red, red)){.choreo-transport-mini{background:color-mix(in srgb,var(--surface)82%,var(--surface-strong))}}.choreo-transport-mini__controls{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.choreo-transport-mini__summary{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .6rem;padding:0;display:grid}.choreo-transport-mini__time{font-size:var(--font-size-xs);color:var(--muted);font-variant-numeric:tabular-nums}.choreo-transport-mini__label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);grid-column:1;font-weight:700;overflow:hidden}.choreo-transport-mini__chevron{color:var(--muted);grid-area:1/2/span 2;align-self:center;font-size:1rem}.choreo-segment-backdrop{pointer-events:none;background:var(--accent);position:absolute}@supports (color:color-mix(in lab, red, red)){.choreo-segment-backdrop{background:color-mix(in srgb,var(--accent)10%,transparent)}}.choreo-segment-backdrop{border-left:2px solid var(--accent-strong);border-right:2px solid var(--accent-strong);z-index:1;border-radius:3px;animation:.72s ease-out choreo-segment-backdrop-pulse}.choreo-segment-backdrop--inferred{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-backdrop--inferred{background:color-mix(in srgb,var(--accent)6%,transparent)}}.choreo-segment-backdrop--inferred{border-left:1px dashed var(--accent-strong)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-backdrop--inferred{border-left:1px dashed color-mix(in srgb,var(--accent-strong)50%,transparent)}}.choreo-segment-backdrop--inferred{border-right:1px dashed var(--accent-strong)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-backdrop--inferred{border-right:1px dashed color-mix(in srgb,var(--accent-strong)50%,transparent)}}.choreo-segment-backdrop--inferred{animation:none}.choreo-segment-backdrop[data-active=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-backdrop[data-active=true]{background:color-mix(in srgb,var(--accent)18%,transparent)}}.choreo-segment-backdrop[data-active=true]{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-backdrop[data-active=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent)45%,transparent)}}@keyframes choreo-segment-backdrop-pulse{0%{box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--accent)65%,transparent),0 0 0 0 color-mix(in srgb,var(--accent)55%,transparent)}55%{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent)35%,transparent),0 0 0 6px color-mix(in srgb,var(--accent)15%,transparent)}to{box-shadow:inset 0 0 #0000,0 0 #0000}}.choreo-segment-handle{background:var(--surface);flex-direction:column;justify-content:space-between;align-items:center;gap:2px;padding:4px 2px 5px;display:flex;position:absolute}@supports (color:color-mix(in lab, red, red)){.choreo-segment-handle{background:color-mix(in srgb,var(--surface)90%,transparent)}}.choreo-segment-handle{border:1.5px solid var(--accent-strong);color:var(--accent-strong);cursor:ew-resize;touch-action:none;box-shadow:0 0 0 1px var(--accent),0 2px 6px #00000047;border-radius:6px}@supports (color:color-mix(in lab, red, red)){.choreo-segment-handle{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)28%,transparent),0 2px 6px #00000047}}.choreo-segment-handle{z-index:4;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .12s,background .12s,box-shadow .12s}.choreo-segment-handle:before{content:"";position:absolute;inset:-12px -14px}.choreo-segment-handle:hover,.choreo-segment-handle:focus-visible{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-handle:hover,.choreo-segment-handle:focus-visible{background:color-mix(in srgb,var(--accent)20%,var(--surface))}}.choreo-segment-handle:hover,.choreo-segment-handle:focus-visible{box-shadow:0 0 0 2px var(--accent),0 3px 8px #00000052;outline:none}@supports (color:color-mix(in lab, red, red)){.choreo-segment-handle:hover,.choreo-segment-handle:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent)45%,transparent),0 3px 8px #00000052}}.choreo-segment-handle:active,.choreo-segment-handle[data-dragging=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-segment-handle:active,.choreo-segment-handle[data-dragging=true]{background:color-mix(in srgb,var(--accent)32%,var(--surface))}}.choreo-segment-handle:active,.choreo-segment-handle[data-dragging=true]{box-shadow:0 0 0 2px var(--accent-strong),0 4px 12px #0000006b;transform:scaleY(1.02)}.choreo-segment-handle[data-boundary=start]{border-top-left-radius:2px;border-bottom-left-radius:2px}.choreo-segment-handle[data-boundary=end]{border-top-right-radius:2px;border-bottom-right-radius:2px}.choreo-segment-handle__glyph{letter-spacing:-.04em;font-size:.9rem;font-weight:700;line-height:1}.choreo-segment-handle__label{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.5rem;font-weight:700}.choreo-segment-handle__time{font-variant-numeric:tabular-nums;background:var(--surface-strong);border-radius:3px;padding:1px 3px;font-size:.54rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.choreo-segment-handle__time{background:color-mix(in srgb,var(--surface-strong)82%,transparent)}}.choreo-segment-handle__time{color:var(--ink);opacity:.94}.choreo-node-handle{background:var(--surface);justify-content:center;align-items:center;gap:3px;padding:1px 4px;display:flex;position:absolute}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle{background:color-mix(in srgb,var(--surface)92%,transparent)}}.choreo-node-handle{border:1px dashed var(--foreground)}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle{border:1px dashed color-mix(in srgb,var(--foreground)55%,transparent)}}.choreo-node-handle{color:var(--foreground);border-radius:4px}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle{color:color-mix(in srgb,var(--foreground)82%,transparent)}}.choreo-node-handle{cursor:ew-resize;touch-action:none;z-index:3;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .12s,background .12s,border-color .12s,box-shadow .12s;box-shadow:0 1px 3px #00000038}.choreo-node-handle:before{content:"";position:absolute;inset:-10px -12px}.choreo-node-handle:hover,.choreo-node-handle:focus-visible{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle:hover,.choreo-node-handle:focus-visible{background:color-mix(in srgb,var(--accent)14%,var(--surface))}}.choreo-node-handle:hover,.choreo-node-handle:focus-visible{border-color:var(--accent-strong);color:var(--accent-strong);box-shadow:0 0 0 2px var(--accent);outline:none}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle:hover,.choreo-node-handle:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent)38%,transparent)}}.choreo-node-handle[data-pinned=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle[data-pinned=true]{background:color-mix(in srgb,var(--accent)18%,var(--surface))}}.choreo-node-handle[data-pinned=true]{border-style:solid;border-color:var(--accent-strong);color:var(--accent-strong)}.choreo-node-handle:active,.choreo-node-handle[data-dragging=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle:active,.choreo-node-handle[data-dragging=true]{background:color-mix(in srgb,var(--accent)32%,var(--surface))}}.choreo-node-handle:active,.choreo-node-handle[data-dragging=true]{border-style:solid;border-color:var(--accent-strong);color:var(--accent-strong);box-shadow:0 0 0 2px var(--accent-strong),0 3px 8px #00000052;transform:scaleY(1.04)}.choreo-node-handle__glyph{font-size:.7rem;font-weight:700;line-height:1}.choreo-node-handle__time{font-variant-numeric:tabular-nums;background:var(--surface-strong);border-radius:3px;padding:0 2px;font-size:.52rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.choreo-node-handle__time{background:color-mix(in srgb,var(--surface-strong)82%,transparent)}}.choreo-node-handle__time{color:var(--ink);opacity:.94}.choreo-shell--present .choreo-topbar{min-height:36px;padding:.25rem .6rem}.choreo-shell--present .choreo-topbar__title{font-size:.86rem}.choreo-shell--present .choreo-topbar__meta{display:none}.choreo-shell--present .choreo-main{grid-template-columns:1fr}.choreo-shell--present .choreo-stage-area{padding:.3rem}.choreo-shell--fullscreen .choreo-topbar,.choreo-shell--fullscreen .choreo-action-row,.choreo-shell--fullscreen .choreo-stage-actions{display:none}.choreo-shell--fullscreen .choreo-stage-area{background:#000;padding:0}.choreo-shell--fullscreen .choreo-stage-stack{max-width:none}.rehearse-shell--fullscreen .rehearse-header,.rehearse-shell--fullscreen .rehearse-transport,.rehearse-shell--fullscreen .rehearse-mini-transport{display:none}.rehearse-shell--fullscreen .rehearse-stage-container{background:#000;position:relative}.choreo-fullscreen-overlay{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;transition:opacity .3s;display:flex;position:absolute;inset:0}.choreo-fullscreen-overlay.is-hidden{opacity:0}.choreo-fullscreen-overlay__top,.choreo-fullscreen-overlay__bottom{pointer-events:auto;background:linear-gradient(#0000008c,#0000);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.choreo-fullscreen-overlay__bottom{background:linear-gradient(#0000,#0000008c)}.choreo-fullscreen-overlay__top{justify-content:space-between}.choreo-fullscreen-overlay__label,.choreo-fullscreen-overlay__time,.choreo-fullscreen-overlay__section{color:#fff;text-shadow:0 1px 3px #0009;font-size:.82rem;font-weight:500}.choreo-fullscreen-overlay__time{font-variant-numeric:tabular-nums}.choreo-fullscreen-exit{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;opacity:.7;pointer-events:auto;background:#0006;border:1px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:opacity .15s,background .15s;display:flex}.choreo-fullscreen-exit:hover,.choreo-fullscreen-exit:focus-visible{opacity:1;background:#0009}.choreo-fullscreen-landscape-hint{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;white-space:nowrap;pointer-events:none;z-index:12;background:#000000b3;border-radius:20px;padding:.5rem 1rem;font-size:.82rem;font-weight:500;animation:4s forwards fullscreen-hint-fade;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%)}@keyframes fullscreen-hint-fade{0%{opacity:0;transform:translate(-50%)translateY(8px)}10%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1}to{opacity:0}}.choreo-present-bar{background:var(--surface);align-items:center;gap:.5rem;padding:.4rem .8rem;display:flex}@supports (color:color-mix(in lab, red, red)){.choreo-present-bar{background:color-mix(in srgb,var(--surface)85%,transparent)}}.choreo-present-bar{-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.choreo-present-bar{border-top:1px solid color-mix(in srgb,var(--border)60%,transparent)}}.choreo-present-bar__play{border:1px solid var(--border);background:var(--surface-strong);cursor:pointer;width:32px;height:32px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .1s;display:flex}.choreo-present-bar__play:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-present-bar__play:hover{background:color-mix(in srgb,var(--accent)12%,var(--surface-strong))}}.choreo-present-bar__progress{background:var(--border);box-sizing:content-box;border-radius:3px;flex:1;height:6px;margin:-8px 0;padding:8px 0;overflow:hidden}.choreo-present-bar__fill{background:var(--accent);pointer-events:none;border-radius:3px;height:6px;transition:width .1s linear}.choreo-present-bar__time{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0;font-size:.72rem}.choreo-present-bar__exit{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:4px;flex-shrink:0;padding:.2rem .4rem;font-size:.72rem;transition:color .1s,background .1s}.choreo-present-bar__exit:hover{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.choreo-present-bar__exit:hover{background:color-mix(in srgb,var(--ink)8%,transparent)}}.choreo-present-bar__exit:hover{color:var(--ink)}.choreo-ml-banner{background:var(--surface-strong);border-radius:10px;padding:.4rem .7rem;position:fixed;bottom:6rem;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.choreo-ml-banner{background:color-mix(in srgb,var(--surface-strong)90%,black 10%)}}.choreo-ml-banner{border:1px solid var(--border);font-size:var(--font-size-xs);color:var(--muted);z-index:50;white-space:nowrap;box-shadow:0 8px 24px #0000002e}.editor-context-menu{z-index:80;border:1px solid var(--border);gap:.2rem;min-width:13rem;max-height:min(70vh,32rem);padding:.35rem;display:grid;position:fixed;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.editor-context-menu{border:1px solid color-mix(in srgb,var(--border)88%,white 12%)}}.editor-context-menu{background:var(--surface);border-radius:.85rem}@supports (color:color-mix(in lab, red, red)){.editor-context-menu{background:color-mix(in srgb,var(--surface)94%,white 6%)}}.editor-context-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px #0f172a3d}.editor-context-menu__item{appearance:none;color:var(--foreground);text-align:left;font:inherit;cursor:pointer;transition:background var(--motion-fast)var(--ease-out),color var(--motion-fast)var(--ease-out);background:0 0;border:0;border-radius:.65rem;padding:.6rem .7rem;font-size:.82rem;font-weight:600;line-height:1.2}.editor-context-menu__item:hover:not(:disabled),.editor-context-menu__item:focus-visible:not(:disabled){background:var(--accent-subtle)}@supports (color:color-mix(in lab, red, red)){.editor-context-menu__item:hover:not(:disabled),.editor-context-menu__item:focus-visible:not(:disabled){background:color-mix(in srgb,var(--accent-subtle)82%,white 18%)}}.editor-context-menu__item:hover:not(:disabled),.editor-context-menu__item:focus-visible:not(:disabled){outline:none}.editor-context-menu__item[data-tone=danger]{color:var(--accent)}.editor-context-menu__item:disabled{opacity:.45;cursor:not-allowed}.editor-path-details-popover,.editor-dancer-details-popover{z-index:85;border:1px solid var(--border);gap:.75rem;width:min(26rem,100vw - 1rem);max-height:min(72dvh,42rem);padding:.85rem;display:grid;position:fixed}@supports (color:color-mix(in lab, red, red)){.editor-path-details-popover,.editor-dancer-details-popover{border:1px solid color-mix(in srgb,var(--border)88%,white 12%)}}.editor-path-details-popover,.editor-dancer-details-popover{background:var(--surface);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.editor-path-details-popover,.editor-dancer-details-popover{background:color-mix(in srgb,var(--surface)94%,white 6%)}}.editor-path-details-popover,.editor-dancer-details-popover{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;box-shadow:0 18px 48px #0f172a3d}.editor-path-details-popover__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.editor-path-details-popover__title{gap:.2rem;min-width:0;display:grid}.editor-path-details-popover__title strong{font-size:var(--font-size-sm);color:var(--foreground)}.editor-path-details-popover__title span{font-size:var(--font-size-2xs);color:var(--muted);line-height:1.4}.editor-path-details-popover__close{appearance:none;border:1px solid var(--border);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.editor-path-details-popover__close{background:color-mix(in srgb,var(--surface)88%,black 12%)}}.editor-path-details-popover__close{color:var(--muted);width:30px;min-width:30px;height:30px;font:inherit;cursor:pointer;border-radius:999px;font-size:1rem;line-height:1}.editor-path-details-popover__close:hover,.editor-path-details-popover__close:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);outline:none}.editor-path-details-popover__body{overscroll-behavior:contain;min-height:0;padding-right:.1rem;overflow:auto}@media (max-width:768px),(hover:none) and (pointer:coarse){html.mobile-chrome-nudge-active,body.mobile-chrome-nudge-active{min-height:100%}body.mobile-chrome-nudge-active{overscroll-behavior-y:none;overflow-y:auto}.global-admin-content.mobile-chrome-nudge-active,.admin-main.mobile-chrome-nudge-active{min-height:auto;overflow:visible}.mobile-chrome-nudge-route{min-height:calc(100dvh + var(--mobile-chrome-nudge-size))}.mobile-chrome-nudge-spacer{height:var(--mobile-chrome-nudge-size);pointer-events:none;display:block}.global-admin-shell.is-collapsed .admin-main.choreo-editor-route-active,.global-admin-shell.choreo-editor-route-active .admin-main{width:100%;max-width:none;margin:0;overflow:visible;padding:0!important}.global-admin-shell:has(.choreo-route) .admin-main{width:100%;max-width:none;margin:0;overflow:visible;padding:0!important}.admin-main:has(.choreo-route){width:100%;max-width:none;margin:0;overflow:visible;padding:0!important}.global-admin-shell.choreo-editor-route-active .global-admin-content{padding-top:0}.global-admin-shell:has(.choreo-route) .global-admin-content{padding-top:0}.choreo-shell{grid-template-rows:auto auto minmax(0,1fr) auto auto}.choreo-topbar{min-height:40px;padding:.35rem .45rem}.choreo-topbar__center{flex-shrink:0;order:0;width:auto}.choreo-topbar__right{flex-shrink:0;width:auto}.choreo-topbar__meta{display:none}.editor-path-details-popover,.editor-dancer-details-popover{right:max(.3rem,env(safe-area-inset-right,0px));bottom:max(.3rem,env(safe-area-inset-bottom,0px));border-radius:1rem;width:auto;max-height:none;padding:.75rem;left:max(.3rem,env(safe-area-inset-left,0px))!important;top:max(.3rem,env(safe-area-inset-top,0px))!important}.editor-path-details-popover__close{width:32px;min-width:32px;height:32px}.choreo-inspector{border-left:none;border-top:1px solid var(--border);z-index:100;border-radius:16px 16px 0 0;width:100%;min-width:0;max-height:min(48dvh,460px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #00000026}.choreo-inspector__scroll{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.choreo-transport{max-height:min(28dvh,200px)}.choreo-transport-mini{display:flex}.choreo-transport--collapsed{max-height:52px;overflow:hidden}.choreo-stage-area{padding:.2rem .2rem max(.75rem,env(safe-area-inset-bottom))}.choreo-shell--inspector-open .choreo-stage-area{padding-bottom:calc(min(48dvh,460px) + max(.85rem,env(safe-area-inset-bottom)))}.choreo-stage-stack{flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;gap:.35rem;max-width:100%;min-height:0;padding:0 0 .25rem;display:flex}.choreo-stage-canvas-wrap{flex-direction:column;flex:auto;justify-content:center;align-items:stretch;width:100%;min-height:0;display:flex}.choreo-stage-canvas-wrap>:not(.choreo-perform-as){flex:auto;min-height:0}.choreo-stage-empty-state{text-align:center;flex:auto;justify-content:center;align-items:center;display:flex}.choreo-stage-actions{width:100%;max-width:100%;padding:.1rem max(.1rem,env(safe-area-inset-right)).2rem max(.1rem,env(safe-area-inset-left));background:linear-gradient(180deg,var(--bg)0%,transparent 100%);flex-wrap:wrap;justify-content:center;gap:.35rem;margin:0;position:sticky;top:0;left:auto}@supports (color:color-mix(in lab, red, red)){.choreo-stage-actions{background:linear-gradient(180deg,color-mix(in srgb,var(--bg)94%,transparent)0%,transparent 100%)}}.choreo-stage-actions{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.choreo-stage-actions button[data-kind=pill]{min-height:32px;padding:0 .72rem}.choreo-stage-actions button[data-kind=icon]{width:32px;min-width:32px;min-height:32px}.choreo-perform-as{min-width:0;box-shadow:none;margin:0 .35rem .35rem;position:static}.choreo-selection-badge{max-width:calc(100% - 1rem);font-size:var(--font-size-2xs);white-space:nowrap;text-overflow:ellipsis;align-self:center;padding:.15rem .5rem;position:sticky;top:2.9rem;left:auto;overflow:hidden;transform:none}.choreo-path-quick-panel{border-radius:12px;gap:.45rem;padding:.55rem .6rem}.choreo-path-quick-panel__summary{gap:.18rem;display:grid}.choreo-path-quick-panel__actions,.choreo-path-quick-panel__segments{gap:.3rem}.choreo-path-quick-panel__close{width:32px;min-width:32px;min-height:32px}.choreo-context-bar{font-size:var(--font-size-xs);gap:.3rem;padding:.25rem .4rem;overflow-x:auto}.choreo-formation-pill{height:24px;font-size:var(--font-size-2xs);padding:0 .4rem}.choreo-formation-pill__num{width:16px;height:16px;font-size:var(--font-size-3xs)}.choreo-stage-tray{scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-start;padding-inline:.15rem;overflow:auto hidden}.choreo-stage-tray:after{content:"";flex:0 0 .2rem}.choreo-cast-chip,.choreo-group-chip{flex:none}}.shape-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:4px;width:fit-content;padding:4px;display:flex}.shape-toolbar-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;transition:background .15s,color .15s,border-color .15s;display:flex}.shape-toolbar-btn:hover{background:var(--surface-hover);color:var(--text)}.shape-toolbar-btn--active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.shape-toolbar-btn--active:hover{background:var(--accent-hover,var(--accent))}.shape-toolbar-icon{font-size:1rem;line-height:1}.shape-toolbar-label{font-weight:500}.path-draw-hud{background:var(--surface);border:1px solid var(--accent);animation:hud-appear .15s var(--easing-out,ease)both;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:.8rem;display:flex}@keyframes hud-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.path-draw-hud__status{color:var(--text-muted);flex:1}.path-draw-hud__actions{align-items:center;gap:6px;display:flex}.path-draw-hud__key{border:1px solid var(--border);background:var(--surface-raised,var(--surface));color:var(--text-muted);white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;padding:1px 6px;font-family:inherit;font-size:.72rem;display:inline-flex}.path-draw-guide{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:.5rem;padding:.6rem .75rem;font-size:.8rem;display:grid}.path-draw-guide--active{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-draw-guide--active{background:color-mix(in srgb,var(--accent)8%,var(--surface))}}.path-draw-guide--active{animation:hud-appear .15s var(--easing-out,ease)both;align-items:flex-start;gap:.6rem;display:flex}.path-draw-guide__icon{color:var(--accent);flex-shrink:0;margin-top:1px;font-size:1.4rem;line-height:1}.path-draw-guide__steps{gap:.45rem;display:grid}.path-draw-guide__step{color:var(--text-muted);align-items:flex-start;gap:.5rem;line-height:1.4;display:flex}.path-draw-guide__num{background:var(--accent);width:1.3em;height:1.3em;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1em;font-size:.7rem;font-weight:700;display:inline-flex}.path-workflow{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:.6rem;padding:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.path-workflow{background:color-mix(in srgb,var(--surface)88%,white 12%)}}.path-workflow__header{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.74rem;display:flex}.path-workflow__header strong{color:var(--ink);font-size:.8rem}.path-workflow__grid{gap:.5rem;display:grid}.path-workflow-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:.18rem;padding:.55rem .65rem;display:grid}.path-workflow-card[data-complete]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-workflow-card[data-complete]{border-color:color-mix(in srgb,var(--accent)36%,var(--border))}}.path-workflow-card[data-complete]{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-workflow-card[data-complete]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent)16%,transparent)}}.path-workflow-card__step{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.69rem;font-weight:600}.path-workflow-card strong{color:var(--ink);font-size:.82rem}.path-workflow-card p{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.4}.path-workflow__actions{flex-wrap:wrap;gap:.35rem;display:flex}.path-workflow__status{color:var(--text-muted);font-size:.75rem;line-height:1.45}.path-segment-row{border-radius:6px;transition:background .12s,border-color .12s}.path-segment-row.is-active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-segment-row.is-active{background:color-mix(in srgb,var(--accent)8%,transparent)}}.path-segment-row__meta{color:var(--text-muted);margin-top:.08rem;font-size:.67rem;display:block}.shape-assignment-panel{flex-direction:column;gap:8px;display:flex}.shape-assignment-empty{color:var(--text-muted);padding:8px 0;font-size:.85rem}.shape-assignment-row{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 10px;transition:border-color .15s}.shape-assignment-row:hover{border-color:var(--text-muted)}.shape-assignment-row--selected{border-color:var(--accent)}.shape-assignment-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.shape-assignment-type{text-transform:capitalize;font-size:.85rem;font-weight:600}.shape-assignment-info{color:var(--text-muted);flex-wrap:wrap;gap:4px;margin-top:6px;font-size:.82rem;display:flex}.shape-assignment-actions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}@media (pointer:coarse){.choreo-stage-actions button[data-kind=pill]{min-height:40px;font-size:var(--font-size-sm);padding:0 .85rem}.choreo-stage-actions button[data-kind=icon]{width:40px;min-width:40px;min-height:40px}.choreo-formation-pill{height:36px;padding:0 .6rem}.choreo-formation-action-btn{width:32px;height:32px}.choreo-cast-chip,.choreo-group-chip{min-height:36px;padding:.15rem .5rem}.shape-toolbar-btn{min-height:40px;padding:6px 14px}}.shape-toolbar-btn--compact{justify-content:center;min-width:44px;min-height:44px;padding:4px 8px}.editor-mode-switcher--compact{align-items:center;display:inline-flex}.editor-mode-switcher__select{appearance:none;background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.editor-mode-switcher__select{background:color-mix(in srgb,var(--accent)12%,var(--surface))}}.editor-mode-switcher__select{color:var(--accent);border:1px solid var(--border);font-size:var(--font-size-xs);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;background-size:8px 5px;border-radius:6px;outline:none;padding:.2rem 1.4rem .2rem .45rem;font-weight:600}.editor-topbar-menu{position:relative}.editor-topbar-menu__dropdown{z-index:200;background:var(--surface-strong);border:1px solid var(--border);min-width:180px;animation:choreo-fade-in var(--motion-snappy,.12s)var(--ease-out);border-radius:10px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000002e}.editor-topbar-menu__item{text-align:left;width:100%;color:var(--ink);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--motion-snappy,.12s)var(--ease-out);background:0 0;border:none;border-radius:6px;padding:.55rem .75rem;display:block}.editor-topbar-menu__item:hover:not(:disabled){background:var(--accent-soft)}.editor-topbar-menu__item:disabled{opacity:.4;cursor:default}.choreo-action-row{height:44px;padding:0 max(.35rem,env(safe-area-inset-right))0 max(.35rem,env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--border);touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain;flex-shrink:0;align-items:center;gap:6px;display:flex;overflow:hidden clip}.choreo-action-row__group{flex-shrink:0;align-items:center;gap:4px;display:flex}.choreo-action-row__group--end{margin-left:auto}.choreo-action-row button[data-kind=icon]{width:36px;min-width:36px;height:36px;color:var(--ink);font-size:var(--font-size-base);cursor:pointer;transition:background var(--motion-snappy,.12s)var(--ease-out),border-color var(--motion-snappy,.12s)var(--ease-out);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.choreo-action-row button[data-kind=icon]:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.choreo-action-row button[data-kind=icon]:disabled{opacity:.35;cursor:default}.choreo-action-row button[data-kind=icon][aria-pressed=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choreo-action-row button[data-kind=icon][aria-pressed=true]{background:color-mix(in srgb,var(--accent)14%,transparent)}}.choreo-action-row button[data-kind=icon][aria-pressed=true]{color:var(--accent)}.choreo-action-row button[data-action=save]{color:var(--accent-strong)}.choreo-action-chip,.choreo-perform-as-chip{border:1px solid var(--border);background:var(--surface);height:32px;color:var(--ink);font-size:var(--font-size-2xs);cursor:pointer;white-space:nowrap;transition:background var(--motion-snappy,.12s)var(--ease-out),border-color var(--motion-snappy,.12s)var(--ease-out);border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:0 .55rem;font-weight:600;display:inline-flex}.choreo-action-chip:hover,.choreo-perform-as-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.choreo-action-chip{justify-content:center;min-width:4.75rem}.perform-as-sheet__backdrop{z-index:999;animation:choreo-fade-in var(--motion-snappy,.12s)var(--ease-out);background:#00000059;position:fixed;inset:0}.perform-as-sheet{z-index:1000;background:var(--surface-strong);max-height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);animation:perform-as-sheet-slide-up var(--motion-standard,.2s)var(--ease-out);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #0003}@keyframes perform-as-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.perform-as-sheet__handle{background:var(--border);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.perform-as-sheet__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.perform-as-sheet__title{font-size:var(--font-size-sm);font-weight:600}.perform-as-sheet__close{background:var(--surface);width:30px;height:30px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.perform-as-sheet__hint{font-size:var(--font-size-2xs);color:var(--muted);padding:0 .75rem .35rem}.perform-as-sheet__options{padding:0 .5rem .75rem;overflow-y:auto}.perform-as-sheet__group-label{font-size:var(--font-size-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:.5rem .25rem .15rem;font-weight:600}.perform-as-sheet__option{text-align:left;width:100%;color:var(--ink);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--motion-snappy,.12s)var(--ease-out);background:0 0;border:none;border-radius:8px;padding:.55rem .5rem;display:block}.perform-as-sheet__option:hover{background:var(--accent-soft)}.perform-as-sheet__option[data-selected]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.perform-as-sheet__option[data-selected]{background:color-mix(in srgb,var(--accent)14%,transparent)}}.perform-as-sheet__option[data-selected]{color:var(--accent);font-weight:600}.shape-tool-sheet__backdrop{z-index:999;animation:choreo-fade-in var(--motion-snappy,.12s)var(--ease-out);background:#00000059;position:fixed;inset:0}.shape-tool-sheet{z-index:1000;background:var(--surface-strong);max-height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);animation:perform-as-sheet-slide-up var(--motion-standard,.2s)var(--ease-out);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #0003}.shape-tool-sheet__handle{background:var(--border);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.shape-tool-sheet__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.shape-tool-sheet__title{font-size:var(--font-size-sm);font-weight:600}.shape-tool-sheet__close{background:var(--surface);width:30px;height:30px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.shape-tool-sheet__hint{font-size:var(--font-size-2xs);color:var(--muted);padding:0 .75rem .35rem}.shape-tool-sheet__options{padding:0 .5rem .75rem;overflow-y:auto}.shape-tool-sheet__option{text-align:left;width:100%;color:var(--ink);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--motion-snappy,.12s)var(--ease-out);background:0 0;border:none;border-radius:10px;grid-template-columns:1.5rem 1fr auto;align-items:center;gap:.6rem;padding:.7rem .65rem;display:grid}.shape-tool-sheet__option:hover{background:var(--accent-soft)}.shape-tool-sheet__option[data-selected]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.shape-tool-sheet__option[data-selected]{background:color-mix(in srgb,var(--accent)14%,transparent)}}.shape-tool-sheet__option[data-selected]{color:var(--accent);font-weight:600}.shape-tool-sheet__option-icon{justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.shape-tool-sheet__option-shortcut{font-size:var(--font-size-2xs);color:var(--muted)}::view-transition-old(choreo-stage){animation:var(--duration-snappy)var(--easing-out)both vt-fade-out}::view-transition-new(choreo-stage){animation:var(--duration-standard)var(--easing-out)both vt-fade-in-up}@keyframes vt-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes vt-fade-in-up{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){::view-transition-old(choreo-stage){animation:none}::view-transition-new(choreo-stage){animation:none}}.tour-overlay{z-index:9500;pointer-events:none;position:fixed;inset:0}.tour-overlay__scrim{background:#0a06058f;position:absolute;inset:0}.tour-overlay__spotlight{border:1px solid #ffffff1f;border-radius:18px;position:absolute;box-shadow:0 0 0 9999px #0a060599,0 0 0 2px #e8552a73,0 18px 42px #00000059}.tour-overlay__panel{border:1px solid var(--border);background:var(--surface-strong);border-radius:18px;gap:.8rem;padding:1rem 1rem .9rem;display:grid}@supports (color:color-mix(in lab, red, red)){.tour-overlay__panel{background:color-mix(in srgb,var(--surface-strong)90%,#120a08eb)}}.tour-overlay__panel{box-shadow:0 24px 80px #0000006b}.tour-overlay__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:.75rem;font-size:.68rem;font-weight:700;display:flex}.tour-overlay__title{margin:0;font-size:1rem;line-height:1.2}.tour-overlay__body{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.55}.tour-overlay__footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tour-overlay__footer-left,.tour-overlay__footer-right{align-items:center;gap:.5rem;display:flex}@media (max-width:720px){.tour-overlay__panel{bottom:1rem;width:min(92vw,360px)!important;top:auto!important;left:50%!important;transform:translate(-50%)!important}.tour-overlay__footer{flex-direction:column;align-items:stretch}.tour-overlay__footer-left,.tour-overlay__footer-right{justify-content:stretch}.tour-overlay__footer-right>*{flex:1}}.stage-debug-overlay{z-index:9999;color:#f4f4f5;letter-spacing:.01em;pointer-events:none;-webkit-backdrop-filter:blur(6px);background:#0c0c10db;border-radius:.5rem;min-width:10rem;padding:.5rem .625rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.72rem;line-height:1.3;position:fixed;bottom:.75rem;right:.75rem;box-shadow:0 10px 30px #00000059}.stage-debug-overlay__title{letter-spacing:.12em;text-transform:uppercase;color:#fbbf24;margin-bottom:.35rem;font-size:.62rem;font-weight:700}.stage-debug-overlay__list{flex-direction:column;gap:.15rem;margin:0;padding:0;display:flex}.stage-debug-overlay__row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.stage-debug-overlay__label{color:#a1a1aa;margin:0;font-weight:500}.stage-debug-overlay__value{font-variant-numeric:tabular-nums;color:#f4f4f5;margin:0;font-weight:600}.stage-debug-overlay__value[data-warn]{color:#f87171}@keyframes speed-dial-enter{0%{opacity:0;transform:translate(-50%)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}.speed-dial{display:inline-flex}.speed-dial__trigger{font-variant-numeric:tabular-nums;touch-action:none;-webkit-user-select:none;user-select:none;min-width:38px}.speed-dial__trigger[data-changed=true]{color:var(--accent-strong);font-weight:600}.speed-dial__panel{width:64px;height:var(--speed-dial-height);padding:var(--speed-dial-padding)0;border:1px solid var(--border);background:var(--surface-strong,#1a1a1a);pointer-events:none;z-index:100;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;animation:.1s ease-out speed-dial-enter;display:flex;box-shadow:0 8px 24px #00000059}.speed-dial__panel[data-reduced-motion=true]{animation:none}.speed-dial__option{width:100%;height:var(--speed-dial-detent-height);font-variant-numeric:tabular-nums;color:var(--text-secondary,#999);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:background 60ms ease-out,color 60ms ease-out,font-size 60ms ease-out,font-weight 60ms ease-out;display:flex;position:relative}.speed-dial__option[data-current=true]{color:var(--text-primary,#fff)}.speed-dial__option[data-home=true]{font-weight:700}.speed-dial__option[data-hovered=true]{color:var(--accent-strong,#5b9cf5);background:var(--surface-hover,#ffffff14);font-size:16px;font-weight:700}.speed-dial__home-dot{background:var(--text-secondary,#666);border-radius:50%;width:4px;height:4px;position:absolute;right:8px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
