*{margin:0;padding:0}.authx-overlay{z-index:100;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px;animation:.18s both authxFade;display:flex;position:fixed;inset:0;overflow-y:auto}.authx-card{border:1px solid var(--line);background:radial-gradient(120% 70% at 50% -20%, var(--accent-soft), transparent 62%), var(--panel2);width:min(100%,424px);box-shadow:0 32px 90px var(--shadow-strong);border-radius:18px;margin:auto;padding:28px 28px 24px;animation:.24s cubic-bezier(.2,.8,.2,1) both authxPop;position:relative}.authx-close{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.authx-close:hover{background:var(--surface-1-hover);color:var(--text);border:0}.authx-brand{align-items:center;gap:12px;margin:0 36px 22px 0;display:flex}.authx-mark{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-active));width:38px;height:38px;box-shadow:0 6px 18px var(--accent-soft), inset 0 1px 0 #ffffff47;border-radius:11px;flex:none;place-items:center;display:grid}.authx-wordmark{letter-spacing:.18em;color:var(--accent);white-space:nowrap;font-size:13px;font-weight:900}.authx-wordmark span{color:var(--muted)}.authx-tagline{color:var(--muted);text-wrap:balance;margin:3px 0 0;font-size:11.5px;line-height:1.35}.authx-seg{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px;display:grid;position:relative}.authx-seg:before{content:"";border:1px solid var(--border-strong);background:var(--panel3);width:calc(50% - 4px);box-shadow:0 1px 3px var(--shadow);border-radius:9px;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:absolute;top:4px;bottom:4px;left:4px}.authx-seg[data-active=register]:before{transform:translate(100%)}.authx-seg button{z-index:1;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:9px 8px;font-size:13px;font-weight:600;position:relative}.authx-seg button:hover{color:var(--text);background:0 0;border:0}.authx-seg button[aria-selected=true]{color:var(--text)}.authx-view{animation:.26s cubic-bezier(.2,.8,.2,1) both authxSlide}.authx-heading{letter-spacing:-.01em;color:var(--text);margin:0 0 4px;font-size:20px;font-weight:700}.authx-lead{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.authx-form{flex-direction:column;gap:4px;display:flex}.authx-form>.authx-alert{margin:6px 0}.authx-form>.authx-btn,.authx-form>.authx-link{margin-top:8px}.authx-field{flex-direction:column;gap:6px;display:flex}.authx-field>label{color:var(--muted);font-size:12px;font-weight:600}.authx-control{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;align-items:center;transition:border-color .14s,box-shadow .14s,background-color .14s;display:flex}.authx-control:hover{border-color:var(--border-strong)}.authx-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.authx-field[data-invalid=true] .authx-control{border-color:var(--danger)}.authx-field[data-invalid=true] .authx-control:focus-within{box-shadow:0 0 0 3px #e2606a33}.authx-control input{min-width:0;color:var(--text);background:0 0;border:0;border-radius:10px;outline:none;flex:1;padding:11px 12px;font-size:14px}.authx-control input::placeholder{color:var(--text-tertiary)}.authx-control input:focus-visible{outline:none}.authx-reveal{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin-right:3px;padding:0;display:grid}.authx-reveal:hover{background:var(--surface-1-hover);color:var(--text);border:0}.authx-fieldmsg{min-height:16px;color:var(--muted);margin:0;font-size:11.5px;line-height:16px}.authx-checkbox-field{margin:2px 0}.authx-checkbox{cursor:pointer;color:var(--muted);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45;display:flex}.authx-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none;margin-top:1px}.authx-checkbox a{color:var(--text);text-underline-offset:2px;text-decoration:underline}.authx-checkbox-field[data-invalid=true] .authx-checkbox{color:var(--danger)}.authx-legal-links{color:var(--text-tertiary);margin:-2px 0 2px 24px;font-size:11.5px}.authx-legal-links a{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.authx-legal-links a:hover{color:var(--text)}.authx-fieldmsg--error{color:var(--danger)}.authx-strength{align-items:center;gap:10px;min-height:16px;margin-bottom:6px;display:flex}.authx-strength-bars{flex:1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.authx-strength-bars i{background:var(--line);border-radius:2px;height:4px;transition:background-color .2s}.authx-strength[data-score="1"] i:nth-child(-n+1){background:var(--danger)}.authx-strength[data-score="2"] i:nth-child(-n+2){background:var(--warning)}.authx-strength[data-score="3"] i:nth-child(-n+3),.authx-strength[data-score="4"] i:nth-child(-n+4){background:var(--success)}.authx-strength-label{text-align:right;min-width:62px;color:var(--muted);font-size:11.5px;font-weight:600}.authx-alert{border:1px solid var(--authx-tone);background:#e2606a1f;background:color-mix(in srgb, var(--authx-tone) 12%, transparent);color:var(--text);border-radius:10px;align-items:flex-start;gap:10px;padding:11px 12px;font-size:12.5px;line-height:1.5;animation:.2s both authxSlide;display:flex}.authx-alert--error{--authx-tone:var(--danger)}.authx-alert--success{--authx-tone:var(--success)}.authx-alert>svg{color:var(--authx-tone);flex:none;margin-top:1px}.authx-alert-body{flex:1;min-width:0}.authx-alert-action{color:var(--accent);text-underline-offset:2px;background:0 0;border:0;margin-top:6px;padding:0;font-size:12.5px;font-weight:700;text-decoration:underline;display:block}.authx-alert-action:hover{color:var(--accent-hover);background:0 0;border:0}.authx-btn{border-radius:10px;justify-content:center;align-items:center;gap:9px;width:100%;padding:12px 14px;font-size:14px;font-weight:700;transition:background-color .14s,transform 80ms,box-shadow .14s,opacity .14s;display:inline-flex}.authx-btn--primary{background:var(--accent-solid);color:var(--accent-contrast-text);box-shadow:0 6px 18px var(--accent-soft);border:1px solid #0000}.authx-btn--primary:hover:not(:disabled){background:var(--accent-solid-hover);border-color:#0000}.authx-btn--primary:active:not(:disabled){transform:translateY(1px)}.authx-btn--primary:disabled{opacity:.45;box-shadow:none}.authx-btn--primary[aria-busy=true]:disabled{opacity:.85;cursor:progress}.authx-btn--ghost{border:1px solid var(--line);color:var(--text);background:0 0;font-weight:600}.authx-link{color:var(--accent);background:0 0;border:0;align-self:center;padding:2px 4px;font-size:12.5px;font-weight:600}.authx-link:hover{color:var(--accent-hover);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.authx-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite authxSpin}.authx-done{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.authx-done-icon{width:52px;height:52px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.authx-done-icon--success{color:var(--success);background:#4caf7d29}.authx-done .authx-alert{text-align:left;width:100%}.authx-chip{border:1px solid var(--line);background:var(--surface-2);max-width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;overflow:hidden}.authx-footnote{text-align:center;color:var(--text-tertiary);margin:18px 0 0;font-size:11.5px}@keyframes authxFade{0%{opacity:0}}@keyframes authxPop{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes authxSlide{0%{opacity:0;transform:translateY(6px)}}@keyframes authxSpin{to{transform:rotate(360deg)}}@media (max-width:520px){.authx-overlay{padding:10px}.authx-card{border-radius:16px;padding:22px 18px 20px}.authx-control input{font-size:16px}}@media (prefers-reduced-motion:reduce){.authx-overlay,.authx-card,.authx-view,.authx-alert{animation:none}.authx-seg:before,.authx-control,.authx-btn,.authx-strength-bars i{transition:none}.authx-spinner{animation-duration:1.6s}}.authx-captcha{flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;min-height:65px;display:flex}.authx-captcha-slot{max-width:100%;min-height:65px}.authx-captcha-status{color:var(--authx-muted,#9ca5b5);margin:0;font-size:12.5px}.authx-captcha-status--error{color:#fecaca}.team-panel{grid-template-columns:260px minmax(0,1fr);gap:20px;min-height:420px;display:grid}.team-sidebar{border-right:1px solid var(--line);flex-direction:column;gap:12px;min-width:0;padding-right:16px;display:flex}.team-sidebar-head{flex-direction:column;gap:2px;display:flex}.team-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.team-list-item{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-1);width:100%;color:var(--text);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.team-list-item:hover{background:var(--surface-1-hover)}.team-list-item.active{border-color:var(--accent);background:var(--accent-soft)}.team-list-name{font-weight:700}.team-list-meta,.team-muted,.team-price-note{color:var(--muted);font-size:12.5px;line-height:1.5}.team-create,.team-invite-form{flex-direction:column;gap:6px;display:flex}.team-label{color:var(--muted);font-size:12px}.team-input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:9px 10px}.team-input-small{width:auto;padding:6px 8px}.team-main{flex-direction:column;gap:14px;min-width:0;display:flex}.team-header h3{margin:2px 0 0;font-size:20px}.team-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding-bottom:6px;display:flex}.team-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:7px 12px}.team-tabs button.active{color:var(--text);background:var(--accent-soft)}.team-tabpanel{min-width:0}.team-gate{flex-direction:column;gap:12px;display:flex}.team-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.team-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-1);flex-direction:column;gap:6px;padding:14px;display:flex}.team-meter{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.team-meter span{background:var(--accent);height:100%;display:block}.team-billing,.team-section{border-radius:var(--radius);border:1px solid var(--line);flex-direction:column;gap:10px;padding:14px;display:flex}.team-billing h4,.team-section h4{margin:0;font-size:15px}.team-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.team-row{background:var(--surface-1);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.team-row-main{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.team-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.team-role-pill{background:var(--accent-soft);color:var(--text);border-radius:999px;padding:3px 9px;font-size:12px}.team-ghost,.team-ghost-danger{border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:8px;padding:6px 10px;font-size:13px}.team-ghost-danger{color:var(--danger);border-color:var(--danger)}.team-ghost:disabled,.team-ghost-danger:disabled{opacity:.5;cursor:default}.team-danger{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.team-actions{flex-wrap:wrap;gap:8px;display:flex}.team-invite{flex-direction:column;gap:12px;display:flex}@media (max-width:760px){.team-panel{grid-template-columns:1fr}.team-sidebar{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px;padding-right:0}}:root{--bg:#131214;--bg-elevated:#19181d;--panel:#19181d;--panel2:#201f25;--panel3:#28262d;--surface-1:#201f25;--surface-1-hover:#2b2932;--surface-2:#0e0d10;--line:#322f37;--border-strong:#45414b;--text:#efe9df;--muted:#9a938a;--text-tertiary:#8a8175;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-active:#2563eb;--accent-solid:#2563eb;--accent-solid-hover:#1d4ed8;--accent-strong:#60a5fa;--accent-soft:#3b82f629;--accent-contrast-text:#fff;--pink:#d65f96;--purple:#9d84d1;--warning:#dfa348;--warning-surface:#2c2015;--warning-border:#5c4326;--success:#4caf7d;--danger:#e2606a;--overlay:#080706b8;--shadow:#0006;--shadow-strong:#0000008c;--radius:10px;--stage-frame-bg:var(--panel3);--stage-frame-border:var(--border-strong);--stage-floor:#0c0c10;--stage-floor-deep:#060608;--stage-backdrop:#17161c;--stage-front-line:var(--accent);--stage-audience:#0a0a0d;--stage-audience-line:#232129;--stage-grid:#24242c;--stage-grid-axis:#35353f;--stage-guide:#262530;--stage-label:#888490;--fs-xs:11px;--fs-sm:12.5px;--fs-base:13.5px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--dur-fast:.12s;--dur-base:.18s;--ease-out:cubic-bezier(.2, .7, .2, 1);--tap-min:44px;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=light]{--bg:#f5f2ec;--bg-elevated:#fff;--panel:#fff;--panel2:#fff;--panel3:#efe8db;--surface-1:#fff;--surface-1-hover:#efe8db;--surface-2:#efe9de;--line:#ddd4c1;--border-strong:#c8bda5;--text:#2b2621;--muted:#766e60;--text-tertiary:#726850;--accent:#2563eb;--accent-hover:#3b82f6;--accent-active:#1d4ed8;--accent-solid:#2563eb;--accent-solid-hover:#1d4ed8;--accent-strong:#1d4ed8;--accent-soft:#2563eb1a;--accent-contrast-text:#fff;--pink:#b23e72;--purple:#7859b0;--warning:#93571a;--warning-surface:#f6ead6;--warning-border:#dcb578;--success:#2f8a5c;--danger:#b8394a;--overlay:#1e181073;--shadow:#3c322329;--shadow-strong:#28201447;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,.button,select{border:1px solid var(--line);background:var(--surface-1);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:7px;padding:7px 10px;transition:background-color .12s,border-color .12s,color .12s,opacity .12s}.artist-row,.formation-list-item,.project-card,.dropdown-menu-item,.context-menu-item,.view-menu-row,.move-library-item,.toast,.modal,.dropdown-menu,.context-menu{transition:background-color .12s,border-color .12s,box-shadow .12s}button:hover,.button:hover,select:hover{border-color:var(--border-strong);background:var(--surface-1-hover)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.wide{width:100%}.accent{border-color:var(--accent-solid);color:var(--accent-contrast-text);background:var(--accent-solid);font-weight:700}.accent:hover{border-color:var(--accent-solid-hover);background:var(--accent-solid-hover)}.danger{color:var(--danger);border-color:var(--danger);background:0 0}.danger:hover{background:var(--warning-surface)}kbd{background:var(--surface-1);border:1px solid var(--line);border-radius:5px;padding:2px 7px;font-size:11px}.app-shell{height:100vh;grid-template-rows:52px minmax(0, 1fr) 7px var(--timeline-height,280px);background:var(--bg);height:100dvh;display:grid;overflow:hidden}.app-loading{color:var(--muted);grid-template-rows:none;justify-content:center;align-items:center;font-size:13px;display:flex}.workspace{grid-template-columns:var(--left-panel-width,248px) 7px minmax(0, 1fr) 7px var(--right-panel-width,300px);min-height:300px;display:grid;overflow:hidden}.left-panel{grid-column:1}.panel-splitter--left{grid-column:2}.center{grid-column:3}.panel-splitter--right{grid-column:4}.right-panel{grid-column:5}.workspace.rehearsal-mode{grid-template-columns:0 0 minmax(0,1fr) 0 0}.workspace.rehearsal-mode .left-panel,.workspace.rehearsal-mode .right-panel,.workspace.rehearsal-mode .panel-splitter{display:none}.workspace.stage-expanded{grid-template-columns:0 0 minmax(0,1fr) 0 0}.workspace.stage-expanded .left-panel,.workspace.stage-expanded .right-panel,.workspace.stage-expanded .panel-splitter{display:none}.topbar{border-bottom:1px solid var(--line);background:var(--bg-elevated);align-items:center;gap:14px;padding:7px 14px;display:flex}.topbar-group{align-items:center;gap:8px;min-width:0;display:flex}.topbar-group--left{flex:0 auto}.topbar-group--center{flex:auto;justify-content:center}.topbar-group--right{flex:none;margin-left:auto}.brand{letter-spacing:.18em;color:var(--accent);white-space:nowrap;font-size:13px;font-weight:900}.brand span{color:var(--muted)}.topbar-projects-button{font-size:12px}.project-name{text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;min-width:60px;max-width:260px;padding:7px;font-size:14px;font-weight:600}.project-name:hover,.project-name:focus{border-color:var(--line);background:var(--surface-1-hover);outline:none}.topbar-mode-toggle{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.topbar-mode-toggle button{background:0 0;border:0;border-radius:0;padding:6px 12px;font-size:11px}.topbar-mode-toggle button.active{background:var(--accent-solid);color:var(--accent-contrast-text);font-weight:700}.topbar-history{gap:2px;display:flex}.save-status{color:var(--muted);white-space:nowrap;padding:0 4px;font-size:11px}.save-status--saved{color:var(--success)}.save-status--error{color:var(--danger,#ff5d6c);font-weight:600}.save-status--ephemeral{color:var(--accent-solid);font-weight:600}.icon-btn{border:1px solid var(--line);background:var(--surface-1);width:30px;height:30px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;padding:0;display:flex}.icon-btn:hover{color:var(--text)}.icon-btn[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.appearance-toggle{color:var(--muted)}.dropdown{position:relative}.dropdown-trigger{font-size:12px}.dropdown-caret{color:var(--muted);font-size:9px}.dropdown-menu{z-index:60;background:var(--panel2);border:1px solid var(--line);box-shadow:0 16px 40px var(--shadow-strong);border-radius:9px;min-width:200px;padding:5px;position:absolute;top:calc(100% + 6px)}.dropdown-menu--left{left:0}.dropdown-menu--right{right:0}.dropdown-menu-item,.view-menu-row{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;font-size:12px;display:flex}.dropdown-menu-item:hover,.view-menu-row:hover{background:var(--surface-1-hover)}.view-menu{width:240px}.view-menu-row span:first-child{color:var(--text)}.view-menu-row b{color:var(--accent);font-size:11px}.view-menu-row select,.view-menu-row input[type=number]{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;width:72px;padding:3px 6px;font-size:11px}.view-menu-row--action{color:var(--warning)}.stage-appearance-menu{min-width:180px}.stage-appearance-item.active{background:var(--surface-1-hover);font-weight:700}.stage-appearance-swatch{border:1px solid var(--line);border-radius:4px;flex-shrink:0;width:14px;height:14px}.stage-appearance-custom{border-top:1px solid var(--line);gap:10px;margin-top:4px;padding:8px 9px 4px;display:flex}.stage-appearance-custom label{color:var(--muted);flex-direction:column;gap:3px;font-size:10px;display:flex}.stage-appearance-custom input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:5px;width:44px;height:24px;padding:0}.context-menu{z-index:80;background:var(--panel2);border:1px solid var(--line);box-shadow:0 16px 40px var(--shadow-strong);border-radius:9px;min-width:170px;padding:5px;position:fixed}.context-menu-item{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:12px;display:block}.context-menu-item:hover{background:var(--surface-1-hover)}.context-menu-item--danger{color:var(--danger)}.modal-overlay{background:var(--overlay);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel2);border:1px solid var(--line);box-shadow:0 30px 80px var(--shadow-strong);border-radius:14px;flex-direction:column;max-width:95vw;max-height:82vh;display:flex}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-header h2{margin:0;font-size:15px}.modal-close{background:0 0;border:0;padding:4px 8px;font-size:14px}.modal-body{padding:16px 18px;overflow:auto}.confirm-dialog{flex-direction:column;gap:16px;max-width:360px;padding:20px;display:flex}.confirm-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.shortcuts-table{border-collapse:collapse;width:100%}.shortcuts-table td{border-bottom:1px solid var(--line);padding:7px 4px;font-size:12px}.shortcuts-table td:first-child{width:40%}.toast-viewport{z-index:120;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--panel3);border:1px solid var(--line);box-shadow:0 12px 30px var(--shadow);cursor:pointer;color:var(--text);border-radius:9px;padding:10px 16px;font-size:12.5px}.toast--success{border-color:var(--success);color:var(--success)}.toast--error{border-color:var(--danger);color:var(--danger)}.pdf-export-progress{z-index:120;background:var(--panel3);border:1px solid var(--line);width:260px;box-shadow:0 12px 30px var(--shadow);color:var(--text);border-radius:9px;flex-direction:column;align-items:stretch;gap:6px;padding:10px 14px;font-size:12.5px;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.pdf-export-progress-track{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.pdf-export-progress-fill{background:var(--accent);height:100%;transition:width .15s}.tutorial-overlay{z-index:90;pointer-events:none;position:fixed;inset:0;overflow:hidden}.tutorial-spotlight{box-shadow:0 0 0 4000px var(--overlay), 0 0 0 2px var(--accent);border-radius:12px;transition:left .2s,top .2s,width .2s,height .2s;position:fixed}.tutorial-tooltip{box-sizing:border-box;background:var(--panel2);border:1px solid var(--line);width:min(320px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:0 20px 50px var(--shadow-strong);pointer-events:auto;border-radius:12px;padding:16px;position:fixed;overflow:auto}.tutorial-tooltip b{font-size:var(--fs-xs);letter-spacing:.1em;color:var(--accent-strong)}.tutorial-tooltip h3{color:var(--text);margin:6px 0 4px;font-size:14px}.tutorial-tooltip p{color:var(--muted);margin:0 0 14px;font-size:12.5px;line-height:1.5}.tutorial-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.tutorial-skip{color:var(--muted);background:0 0;border:0;font-size:11px}.tutorial-nav{flex-shrink:0;gap:8px;display:flex}@media (max-width:380px){.tutorial-tooltip{padding:14px}.tutorial-actions{flex-direction:column;align-items:stretch}.tutorial-nav{justify-content:flex-end}}.left-panel,.right-panel{background:var(--panel);padding:11px;overflow:auto}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.panel-title{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:4px 0 10px;font-size:11px;font-weight:700;display:flex}.panel-title span{color:var(--accent);font-weight:700}.panel-subtitle{color:var(--muted);letter-spacing:.1em;margin-bottom:7px;font-size:10px;font-weight:700}.panel-section{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.panel-row-buttons{gap:6px;margin-bottom:8px;display:flex}.tool-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tool-grid button{font-size:11px}.pattern-grid{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px;display:grid}.pattern-btn{justify-content:center;align-items:center;padding:4px;display:flex}.pattern-btn.active{border-color:var(--accent-solid);background:var(--accent-soft)}.pattern-icon{width:22px;height:22px}.pattern-icon circle{fill:var(--text)}.pattern-btn.active .pattern-icon circle{fill:var(--accent-strong)}.formation-preview-actions{gap:6px;margin-top:10px;display:flex}.formation-preview-actions button{flex:1}.empty-state{text-align:center;color:var(--muted);font-size:var(--fs-sm);gap:var(--sp-2);flex-direction:column;align-items:center;padding:26px 14px;display:flex}.empty-state-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);margin-bottom:var(--sp-1);border-radius:50%;place-items:center;display:inline-grid}.empty-state-title{color:var(--text);font-size:var(--fs-base);margin:0;font-weight:600}.empty-state-description{max-width:240px;font-size:var(--fs-sm);margin:0;line-height:1.5}.error-boundary{background:var(--bg);justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.error-boundary-body{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:420px;display:flex}.error-boundary-icon{color:var(--warning);font-size:28px}.error-boundary-body h2{margin:0;font-size:15px}.error-boundary-body p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.error-boundary-actions{gap:8px;margin-top:6px;display:flex}.error-boundary-actions button{min-width:130px}.error-boundary-details{color:var(--muted);margin-top:14px;font-size:11.5px}.error-boundary-details summary{cursor:pointer}.error-boundary-details pre{white-space:pre-wrap;text-align:left;background:var(--surface-2);border-radius:6px;max-height:140px;margin-top:8px;padding:8px;overflow:auto}.error-boundary--compact{background:var(--surface-2);border-radius:8px}.error-boundary--compact .error-boundary-icon{font-size:22px}.error-boundary--compact .error-boundary-body h2{font-size:13px}.panel-collapsible{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.panel-collapsible summary{cursor:pointer;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:700;list-style:none;display:flex}.panel-collapsible summary::-webkit-details-marker{display:none}.panel-collapsible summary:before{content:"▸";margin-right:6px;font-size:9px;transition:transform .15s;display:inline-block}.panel-collapsible[open] summary:before{transform:rotate(90deg)}.panel-collapsible summary span{color:var(--accent);margin-left:auto;font-weight:700}.formation-list-item{color:var(--muted);cursor:pointer;border-left:2px solid #0000;border-radius:7px;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;margin-bottom:6px;padding:6px;display:grid}.formation-list-item:hover{background:var(--surface-1-hover)}.formation-list-item.active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--text)}.formation-thumb{background:var(--stage-floor);border:1px solid var(--line);border-radius:4px;width:40px;height:23px}.formation-thumb-bg{fill:var(--stage-floor)}.formation-list-item-info{min-width:0}.formation-list-item-info input{width:100%;min-width:0;color:inherit;background:0 0;border:0;padding:2px 0;font-size:12.5px}.formation-list-item-info small{color:var(--text-tertiary);font-size:10px;display:block}.formation-list-item.active .formation-list-item-info small{color:var(--text)}.formation-list-item-actions{gap:2px;display:flex}.formation-list-item-actions button{background:0 0;border:0;padding:3px 5px;font-size:12px}.dancer-search{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;width:100%;margin-bottom:8px;padding:7px 9px;font-size:12px}.dancers-list{flex:1;min-height:0;overflow:auto}.dancer-group{margin-bottom:10px}.dancer-group-header{grid-template-columns:10px 1fr 24px 24px 24px 22px;align-items:center;gap:5px;margin-bottom:4px;padding:4px 2px;display:grid}.dancer-group-header i{border-radius:50%;width:9px;height:9px}.dancer-group-name{border:0;border-bottom:1px dashed var(--line);letter-spacing:.04em;color:var(--text);background:0 0;padding:2px 0;font-size:11px;font-weight:700}.dancer-group-header button{background:0 0;border:0;padding:2px;font-size:12px}.artist-row{cursor:pointer;border-radius:8px;grid-template-columns:11px 1fr 26px 26px;align-items:center;gap:8px;margin-bottom:3px;padding:7px 6px;display:grid}.artist-row:hover,.artist-row.active{background:var(--panel2)}.artist-row--hidden{opacity:.5}.artist-row i{border-radius:50%;align-self:center;width:10px;height:10px;box-shadow:0 0 10px}.artist-row-info{min-width:0}.artist-row-info b{font-size:12px;font-weight:600;display:block}.artist-row-info input{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;width:100%;padding:3px 6px;font-size:12px}.artist-row-info select{width:100%;color:var(--muted);background:0 0;border:0;margin-top:2px;padding:0;font-size:9.5px}.artist-row button{opacity:0;background:0 0;border:0;padding:2px;transition:opacity .12s}:is(.artist-row:hover button,.artist-row:focus-within button,.artist-row.active button,.artist-row button:focus-visible){opacity:1}.properties{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.properties:first-child{border-top:0;margin-top:0}.properties label{color:var(--muted);letter-spacing:.02em;margin-bottom:10px;font-size:10px;display:block}.properties input,.properties select,.properties textarea{background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:6px;margin-top:4px;padding:7px;font-size:12.5px;display:block}.properties textarea{resize:vertical;font-family:inherit}.properties input[type=color]{height:34px;padding:2px}.properties input[type=range]{padding:0}.xy{grid-template-columns:1fr 1fr;gap:7px;display:grid}.properties-toggles{gap:14px;margin-bottom:12px;display:flex}.inspector-section-title{letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary);border-top:1px solid var(--line);margin:16px 0 8px;padding-top:12px;font-size:10px;font-weight:700}.inspector-section-title:first-of-type{margin-top:10px}.duration-field-row{gap:6px;display:flex}.duration-field-row input{flex:1;min-width:0}.duration-field-row select{flex:none;width:auto}.inspector-hint{color:var(--text-tertiary);margin:2px 0 12px;font-size:10.5px;line-height:1.5}.inspector-advanced{margin:4px 0 12px}.inspector-advanced summary{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:700;list-style:none}.inspector-advanced summary::-webkit-details-marker{display:none}.inspector-advanced summary:before{content:"▸ "}.inspector-advanced[open] summary:before{content:"▾ "}.project-summary-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;display:grid}.project-summary-grid div{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.project-summary-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:9.5px;display:block}.project-summary-grid b{font-size:13px;font-weight:700}.move-library{flex-direction:column;gap:4px;max-height:220px;display:flex;overflow:auto}.move-library-item{background:var(--surface-1);border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;padding:7px 9px;font-size:12px;display:flex}.move-library-item span{color:var(--muted);font-size:10.5px}.checkbox-label{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.checkbox-label input{width:auto;margin:0}.distance-readout{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:8px;margin-bottom:14px;padding:8px 10px;font-size:12px}.distance-readout b{color:var(--accent)}.dancer-override-list{flex-direction:column;gap:6px;display:flex}.dancer-override-row{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:11px;display:grid}.dancer-override-row i{border-radius:50%;width:8px;height:8px}.dancer-override-row select{width:auto;padding:4px 6px;font-size:10.5px}.dancer-override-row input[type=range]{grid-column:1/-1}.collision-warnings{flex-direction:column;gap:6px;margin-top:14px;display:flex}.collision-warning{background:var(--warning-surface);border:1px solid var(--warning-border);color:var(--warning);border-radius:7px;padding:7px 9px;font-size:11px}.dancer-inspector-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.dancer-inspector-header i{width:30px;height:30px;box-shadow:0 0 0 1px var(--line);border-radius:9px;flex:none}.dancer-inspector-header b{font-size:15px;font-weight:700;display:block}.dancer-inspector-header span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.segmented-tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;gap:2px;margin-bottom:14px;padding:3px;display:flex}.segmented-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;min-height:30px;padding:7px 4px;font-size:12px;font-weight:600}.segmented-tabs button.active{background:var(--panel3);color:var(--text);box-shadow:0 1px 0 var(--shadow)}.tab-panel label{display:block}.property-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:11.5px;display:flex}.property-row b{color:var(--text);font-size:12.5px}.property-row-value{color:var(--accent);margin-left:6px;font-size:10.5px;font-weight:700}.link-button{color:var(--accent);background:0 0;border:0;padding:0;font-size:11.5px;font-weight:600}.stepper-row{align-items:center;gap:8px;margin-top:4px;display:flex}.stepper-row button{width:30px;height:30px;padding:0;font-weight:800}.stepper-row span{text-align:center;min-width:20px;color:var(--text);font-size:13px;font-weight:700}.move-slot{border:1px solid var(--line);background:var(--surface-1);border-radius:12px;padding:10px;transition:border-color .12s,background-color .12s}.move-slot.drag-over{border-color:var(--accent);background:var(--accent-soft)}.move-slot-current{align-items:center;gap:10px;display:flex}.move-slot-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.move-slot-info{flex:1;min-width:0}.move-slot-info b{font-size:13px;font-weight:700;display:block}.move-slot-info span{color:var(--muted);font-size:10.5px}.move-slot-change{padding:7px 10px;font-size:11px}.move-slot-empty{justify-content:space-between;align-items:center;gap:10px;display:flex}.move-slot-empty span{color:var(--muted);font-size:11.5px}.motion-picker-inline{border:1px solid var(--line);background:var(--panel2);border-radius:12px;margin-top:8px;padding:10px}.move-tuning{margin-top:14px}.multi-move-section{flex-direction:column;gap:9px;display:flex}.multi-move-summary{border:1px solid var(--line);background:var(--surface-1);border-radius:11px;flex-direction:column;gap:9px;padding:10px;display:flex}.multi-move-summary-main{align-items:center;gap:9px;min-width:0;display:flex}.multi-move-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.multi-move-summary-main>div{min-width:0}.multi-move-summary-main b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.multi-move-summary-main span{color:var(--muted);margin-top:2px;font-size:9.8px;line-height:1.35;display:block}.multi-move-actions{gap:6px;display:flex}.multi-move-actions button{flex:1;min-width:0;padding:7px 8px;font-size:10.5px}.multi-motion-picker{margin-top:0}.multi-move-helper{color:var(--muted);margin:0 0 8px;font-size:9.8px;line-height:1.45}.motion-picker{flex-direction:column;gap:10px;min-width:0;display:flex}.motion-picker-search{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:7px 9px;display:flex}.motion-picker-search input{color:var(--text);background:0 0;border:0;flex:1;margin:0;padding:0;font-size:12px}.motion-picker-tabs{flex-wrap:wrap;gap:4px;display:flex}.motion-picker-tabs button{border:1px solid var(--line);background:var(--surface-1);color:var(--muted);border-radius:20px;padding:5px 11px;font-size:10.5px;font-weight:600}.motion-picker-tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.motion-picker-grid{scrollbar-gutter:stable;flex-direction:column;gap:7px;min-width:0;max-height:min(54vh,430px);padding:2px;display:flex;overflow:hidden auto}.motion-picker-empty{text-align:center}.motion-picker-section-label{min-height:24px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex:none;align-items:center;gap:6px;padding:3px 2px 1px;font-size:9.5px;font-weight:800;display:flex}.motion-picker-section-label-pro{border-top:1px solid var(--line);margin-top:5px;padding-top:9px}.move-card{border:1px solid var(--line);background:var(--surface-1);border-radius:10px;flex:none;align-items:stretch;width:100%;min-width:0;min-height:52px;display:flex;position:relative;overflow:hidden}.move-card:hover{border-color:var(--border-strong);background:var(--surface-1-hover)}.move-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.move-card-main{text-align:left;background:0 0;border:0;border-radius:0;flex:auto;align-items:center;gap:9px;width:auto;min-width:0;min-height:52px;padding:8px 6px 8px 8px;display:flex;overflow:hidden}.move-card-copy{flex-direction:column;flex:auto;justify-content:center;gap:2px;min-width:0;display:flex;overflow:hidden}.move-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:11.5px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.move-card-beats{color:var(--muted);font-size:9.5px;line-height:1.25;display:block}.move-card-actions{flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:6px 6px 6px 0;display:flex}.move-card-fav{width:27px;height:27px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:static}.move-card-fav.active{color:var(--accent)}.move-card-fav:hover{background:var(--surface-2)}.move-card-preview{border-radius:9px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.move-preview--basic{--cat-color:var(--muted);background:color-mix(in srgb, var(--cat-color) 16%, transparent);color:var(--cat-color);animation:1.7s ease-in-out infinite moveCardPulse}.move-preview--travel{--cat-color:var(--accent);background:color-mix(in srgb, var(--cat-color) 16%, transparent);color:var(--cat-color);animation:1s ease-in-out infinite moveCardWalk}.move-preview--turn{--cat-color:var(--purple);background:color-mix(in srgb, var(--cat-color) 16%, transparent);color:var(--cat-color);animation:1.8s linear infinite moveCardSpin}.move-preview--jump{--cat-color:var(--success);background:color-mix(in srgb, var(--cat-color) 16%, transparent);color:var(--cat-color);animation:.9s ease-in-out infinite moveCardJump}.move-preview--contemporary{--cat-color:var(--pink);background:color-mix(in srgb, var(--cat-color) 16%, transparent);color:var(--cat-color);animation:2.2s ease-in-out infinite moveCardSway}@keyframes moveCardWalk{0%,to{transform:translate(-2px)}50%{transform:translate(2px)}}@keyframes moveCardSpin{to{transform:rotate(360deg)}}@keyframes moveCardJump{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes moveCardSway{0%,to{transform:skew(-8deg)}50%{transform:skew(8deg)}}@keyframes moveCardPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.move-card-preview{animation:none!important}}.center{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.stage-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;height:38px;padding:6px 10px;display:flex}.zoom{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.zoom button{padding:3px 8px}.stage-expand-btn{margin-left:auto}.stage-wrap{background:var(--stage-frame-bg);flex:1;justify-content:center;align-items:center;min-height:0;padding:18px;display:flex;overflow:hidden}.stage{touch-action:none;background:var(--stage-floor);border:1px solid var(--stage-frame-border);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:0 24px 60px var(--shadow-strong), inset 0 0 0 1px #0000004d;border-radius:8px}.stage-bg{fill:var(--stage-floor)}.stage-backdrop-band{fill:var(--stage-backdrop)}.stage-audience-band{fill:var(--stage-audience)}.stage-audience-line{stroke:var(--stage-audience-line);stroke-width:1px}.stage-front-line{stroke:var(--stage-front-line);stroke-width:2.5px;opacity:.85}.coordinate-grid-line,.stage-guide{stroke:var(--stage-grid);stroke-width:1px}.coordinate-axis{stroke:var(--stage-grid-axis);stroke-width:1.5px;stroke-dasharray:5 6}.coordinate-label{fill:var(--stage-label);font-size:11px}.extra-guides line{stroke:var(--stage-guide);stroke-width:1px;stroke-dasharray:6 8}.stage-zone-label{fill:var(--stage-label);letter-spacing:.22em;font-size:11px;font-weight:600}.dancer-hitbox{fill:#0000;pointer-events:all}.dancer-circle{stroke:var(--stage-floor-deep);stroke-width:2px}.dancer-halo{fill:none;stroke-width:2.5px}.dancer-number{fill:var(--stage-floor-deep);text-anchor:middle;pointer-events:none;font-size:18px;font-weight:800}.dancer-name{fill:#c7c2ba;pointer-events:none;font-size:11px}.dancer-lock{pointer-events:none;font-size:13px}.dancer--locked{opacity:.72}.dancer-dimmed{opacity:.18;transition:opacity .15s}.dancer-coordinate-tag rect{fill:var(--stage-backdrop);stroke:var(--border-strong)}.dancer-coordinate-tag text{fill:#cfcabf;font-size:10px}.trajectory path{fill:none;stroke:var(--purple);stroke-width:2px;stroke-dasharray:5 6;opacity:.65}.trajectory circle{fill:var(--purple);opacity:.7}.orientation-arrow{stroke:var(--accent-strong);stroke-width:2.5px;stroke-linecap:round;opacity:.9;pointer-events:none}.distance-line line{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.8}.onion-skin circle{opacity:.16;pointer-events:none}.onion-skin--next circle{opacity:.1}.selection-box{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 5}.formation-ghost-line{stroke:var(--accent-strong);stroke-width:1.5px;stroke-dasharray:3 5;opacity:.55;pointer-events:none}.formation-ghost circle{fill:none;stroke:var(--accent-strong);stroke-width:2px;stroke-dasharray:4 4;opacity:.85;pointer-events:none}.formation-gizmo{cursor:grab}.formation-gizmo:active{cursor:grabbing}.formation-gizmo circle{fill:var(--accent-solid);stroke:var(--accent-contrast-text);stroke-width:2px;opacity:.92}.formation-gizmo path{stroke:var(--accent-contrast-text);stroke-width:1.6px;fill:none;opacity:.9}.quick-actions{font-size:13px}.quick-actions-bar{background:var(--panel2);border:1px solid var(--line);box-shadow:0 10px 26px var(--shadow-strong);border-radius:10px;gap:2px;width:fit-content;margin:0 auto;padding:4px;display:flex}.quick-actions-bar button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px}.quick-actions-bar button:hover:not(:disabled){background:var(--surface-1-hover);color:var(--text)}.quick-actions-bar button.active{background:var(--accent-soft);color:var(--accent)}.quick-actions-bar button:disabled{opacity:.35;cursor:not-allowed}.quick-actions-picker{background:var(--panel2);border:1px solid var(--line);box-shadow:0 16px 40px var(--shadow-strong);border-radius:12px;margin-top:6px;padding:10px}.view-mode-switch{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:flex}.view-mode-switch-btn{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600}.view-mode-switch-btn.active{background:var(--panel3);color:var(--text)}.stage3d-controls{color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.stage3d-camera-select{align-items:center;gap:6px;display:flex}.stage3d-camera-select select{padding:4px 6px;font-size:11px}.stage3d-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:6px;padding:4px 10px;font-size:11px}.stage3d-btn:hover{background:var(--panel3)}.stage3d-wrap,.stage3d-canvas-wrap{border:1px solid var(--stage-frame-border);width:100%;min-width:0;height:100%;min-height:0;box-shadow:0 24px 60px var(--shadow-strong);border-radius:8px;position:relative;overflow:hidden}.stage3d-loading{width:100%;height:100%;color:var(--muted);background:var(--stage-floor);justify-content:center;align-items:center;font-size:13px;display:flex}.stage3d-wrap canvas{touch-action:none;display:block}.stage-split{width:100%;min-width:0;height:100%;min-height:0;display:flex}.stage-split-pane{min-width:0;min-height:0;display:flex;position:relative}.perf-diag{z-index:5;background:color-mix(in srgb, var(--surface-1) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);width:240px;color:var(--text);box-shadow:0 8px 24px var(--shadow-strong);border-radius:8px;padding:10px 12px;font-size:11.5px;position:absolute;top:10px;right:10px}.perf-diag-head{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-weight:700;display:flex}.perf-diag-head span{text-transform:uppercase;letter-spacing:.06em;flex:1;font-size:10.5px}.perf-diag-grid{grid-template-columns:1fr auto;align-items:baseline;gap:3px 8px;display:grid}.perf-diag-grid span{color:var(--muted)}.perf-diag-grid b{text-align:right;font-weight:600}.perf-diag-good{color:var(--success,#4caf6a)}.perf-diag-warn{color:var(--warning)}.perf-diag-bad{color:var(--danger)}.perf-diag-empty,.perf-diag-events-empty{color:var(--muted);margin:0;font-size:11px}.perf-diag-events{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.perf-diag-events-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:10px}.perf-diag-events ul{flex-direction:column;gap:3px;max-height:90px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.perf-diag-events li{color:var(--text);font-size:10.5px;line-height:1.4}.preparing3d{z-index:10;background:var(--stage-floor);color:var(--text);opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .26s;display:flex;position:absolute;inset:0}.preparing3d--hidden{opacity:0;pointer-events:none}.preparing3d p{color:var(--muted);margin:0;font-size:13px}.preparing3d-spinner{border:2.5px solid var(--line);border-top-color:var(--accent-solid);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite preparing3d-spin}@keyframes preparing3d-spin{to{transform:rotate(360deg)}}.preparing3d-steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.preparing3d-steps li{background:var(--line);border-radius:50%;width:6px;height:6px;transition:background .2s}.preparing3d-steps li.active{background:var(--accent-solid)}.preparing3d-steps li.done{background:var(--muted)}@media (prefers-reduced-motion:reduce){.preparing3d-spinner{border-top-color:var(--line);animation:none}}.stage-split-pane .stage{width:100%;height:100%}.stage-split-pane--3d{border:1px solid var(--stage-frame-border);box-shadow:0 24px 60px var(--shadow-strong);border-radius:8px;overflow:hidden}.stage-split-pane--3d canvas{touch-action:none;display:block}.stage-split-divider{cursor:col-resize;touch-action:none;border-radius:5px;flex:0 0 10px;justify-content:center;align-items:center;display:flex}.stage-split-divider span{background:var(--border-strong);border-radius:2px;width:3px;height:28px}.stage-split-divider:hover,.stage-split-divider:active{background:var(--surface-1-hover)}.stage-split-divider:hover span,.stage-split-divider:active span{background:var(--accent)}@media (max-width:780px){.stage-split{flex-direction:column}.stage-split-divider{cursor:row-resize;flex-basis:10px}.stage-split-divider span{width:28px;height:3px}.stage3d-controls{flex-wrap:wrap}}.timeline-splitter{cursor:row-resize;background:var(--bg-elevated);border-top:1px solid var(--line);border-bottom:1px solid var(--line);touch-action:none;grid-row:3;justify-content:center;align-items:center;display:flex}.timeline-splitter span{background:var(--border-strong);border-radius:2px;width:32px;height:3px}.timeline-splitter:hover,.timeline-splitter:active{background:var(--surface-1-hover)}.timeline-splitter:hover span,.timeline-splitter:active span{background:var(--accent)}.panel-splitter{cursor:col-resize;background:var(--bg-elevated);border-left:1px solid var(--line);border-right:1px solid var(--line);touch-action:none;justify-content:center;align-items:center;display:flex}.panel-splitter span{background:var(--border-strong);border-radius:2px;width:3px;height:32px}.panel-splitter:hover,.panel-splitter:active{background:var(--surface-1-hover)}.panel-splitter:hover span,.panel-splitter:active span{background:var(--accent)}.transport{background:var(--bg-elevated);flex-direction:column;min-width:0;min-height:0;padding:8px 10px 10px;display:flex;overflow:hidden}.transport--rehearsal{flex-direction:column;justify-content:center;gap:14px;padding:16px 24px}.rehearsal-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.rehearsal-nav{padding:14px 20px;font-size:14px}.play--big{padding:16px 32px;font-size:16px}.rehearsal-info{flex-direction:column;align-items:center;gap:2px;margin:0 10px;display:flex}.rehearsal-info b{font-size:15px}.rehearsal-info span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.rehearsal-progress{cursor:pointer;height:14px}.transport-controls{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;height:36px;font-size:11px;display:flex}.transport-group{align-items:center;gap:6px;display:flex}.transport-group--nav .play{color:var(--accent-contrast-text);background:var(--accent-solid);border-color:var(--accent-solid);font-weight:800}.transport-group--nav .play:hover{background:var(--accent-solid-hover);border-color:var(--accent-solid-hover)}.transport-time{color:var(--muted);font-variant-numeric:tabular-nums}.transport-sep{background:var(--line);align-self:stretch;width:1px;margin:4px 2px}.volume-control{align-items:center;gap:4px;display:flex}.volume-control input{width:70px}.movements-toggle{align-items:center;gap:6px;font-weight:600;display:flex}.movements-toggle.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.audio-reimport-hint{color:var(--warning);font-size:10.5px}.audio-timeline{flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;display:flex}.timeline-toolbar{flex-shrink:0;align-items:center;gap:10px;height:22px;padding:0 2px;display:flex}.timeline-toolbar-time{font-variant-numeric:tabular-nums;color:var(--text);font-size:11px;font-weight:600}.timeline-toolbar-time i{color:var(--text-tertiary);margin:0 2px;font-style:normal}.loop-clear{color:var(--warning);background:0 0;border:0;padding:0;font-size:9.5px}.timeline-zoom{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;align-items:center;gap:1px;margin-left:auto;padding:2px;display:flex}.timeline-zoom button{color:var(--muted);background:0 0;border:0;border-radius:5px;min-width:0;padding:2px 8px;font-size:10.5px}.timeline-zoom button:hover:not(:disabled){background:var(--surface-1-hover);color:var(--text)}.timeline-zoom button.active{color:var(--accent);font-weight:700}.timeline-zoom button:disabled{opacity:.35;cursor:not-allowed}.timeline-scroll{flex:1;min-width:0;min-height:0;overflow:auto hidden}.timeline-inner{flex-direction:column;min-width:100%;height:100%;display:flex;position:relative}.timeline-ruler{border-bottom:1px solid var(--line);flex-shrink:0;height:14px;position:relative}.ruler-tick{border-left:1px solid var(--line);align-items:center;padding-left:4px;display:flex;position:absolute;top:0;bottom:0}.ruler-tick span{color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:9px}.wave-track{background:var(--surface-2);cursor:crosshair;border-radius:5px;flex-shrink:0;height:34px;margin-top:4px;position:relative;overflow:hidden}.waveform{align-items:center;gap:1px;display:flex;position:absolute;inset:4px 2px}.waveform i{background:var(--purple);opacity:.8;border-radius:2px;flex:1;min-width:1px;max-width:4px}.timeline-progress{background:var(--accent-soft);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.loop-band{border-left:1px solid var(--warning);border-right:1px solid var(--warning);pointer-events:none;background:#dfa3482e;position:absolute;top:0;bottom:0}.timeline-playhead{border-left:1.5px solid var(--accent-strong);pointer-events:none;z-index:8;width:0;position:absolute;top:0;bottom:0}.timeline-playhead b{border-left:4px solid #0000;border-right:4px solid #0000;border-top:7px solid var(--accent-strong);position:absolute;top:0;left:-4px}.loop-drag-track{background:var(--surface-2);cursor:crosshair;border-radius:4px;flex-shrink:0;height:5px}.counts-menu{width:220px}.counts-menu input[type=number]{width:64px;padding:3px 6px;font-size:11px}.demo-tracks-menu{width:240px}.demo-tracks-note{color:var(--muted);margin:2px 4px 6px;font-size:11px}.demo-track-row{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;min-height:36px}.demo-track-row:hover:not(:disabled){background:var(--surface-1-hover)}.demo-track-meta{color:var(--muted);white-space:nowrap;font-size:11px}.counts-track{flex-shrink:0;height:12px;position:relative}.count-tick{color:var(--text-tertiary);font-size:8px;position:absolute;top:0;transform:translate(-50%)}.count-tick--one{color:var(--accent);font-weight:800}.sections-track,.markers-track{background:var(--surface-2);cursor:copy;border-radius:4px;flex:0 18px;height:18px;min-height:12px;margin-top:4px;position:relative}.section-block{background:var(--surface-1);border-right:1px solid var(--border-strong);align-items:center;gap:4px;padding:0 4px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.section-block.compact{background:var(--purple);opacity:.7;padding:0}.section-edge{cursor:ew-resize;width:5px;position:absolute;top:0;bottom:0;left:0}.section-block input{min-width:0;color:var(--text);background:0 0;border:0;flex:1;padding:0;font-size:9.5px}.section-remove{color:var(--muted);background:0 0;border:0;padding:0 2px;font-size:10px}.marker-flag{background:var(--pink);cursor:ew-resize;width:2px;position:absolute;top:0;bottom:0}.marker-flag span{color:var(--pink);white-space:nowrap;font-size:8.5px;position:absolute;top:-1px;left:3px}.formation-track{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:5px;flex-shrink:0;height:38px;margin-top:4px;position:relative;overflow:visible}.formation-block{background:var(--panel3);border:1px solid var(--border-strong);cursor:pointer;border-radius:4px;align-items:center;padding:0 6px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.formation-block.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.formation-block span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:600;overflow:hidden}.formation-hold-edge{cursor:ew-resize;z-index:1;width:7px;position:absolute;top:0;bottom:0;right:-3px}.transition-block{background:repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 4px, var(--surface-1) 4px, var(--surface-1) 8px);border-radius:4px;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.transition-block button{color:var(--muted);background:0 0;border:0;min-width:0;padding:0 3px;font-size:10px}.transition-block span{color:var(--muted);white-space:nowrap;font-size:9px}.transition-block.compact{justify-content:center}.transition-block-dot{background:var(--border-strong);border-radius:50%;width:5px;height:5px}.motion-tracks-wrap{border-top:1px solid var(--line);flex-direction:column;flex:1;min-height:0;margin-top:10px;padding-top:10px;display:flex}.motion-tracks-heading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 10px;width:fit-content;margin-bottom:6px;font-size:10px;font-weight:700;display:flex;position:sticky;left:0}.motion-tracks-toggle{text-transform:none;letter-spacing:normal;cursor:pointer;align-items:center;gap:4px;font-size:10.5px;font-weight:600;display:flex}.motion-tracks-toggle input{margin:0}.motion-density-switch{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;gap:2px;margin-left:auto;padding:1px;display:flex}.motion-density-switch button{color:var(--muted);background:0 0;border:0;border-radius:4px;min-width:0;padding:1px 7px;font-size:9.5px;font-weight:700}.motion-density-switch button:hover:not(.active){background:var(--surface-1-hover);color:var(--text)}.motion-density-switch button.active{background:var(--panel3);color:var(--text)}.motion-tracks{flex-direction:column;flex:1;gap:3px;min-height:0;display:flex;overflow-y:auto}.motion-track-row{flex-shrink:0;position:relative}.motion-track{background:var(--surface-2);border-radius:5px;position:absolute;inset:0}.motion-track-label{z-index:3;background:linear-gradient(90deg, var(--bg-elevated) 78%, transparent);white-space:nowrap;text-overflow:ellipsis;align-items:center;width:84px;height:100%;padding:0 8px 0 3px;font-size:10px;font-weight:700;display:flex;position:sticky;left:0;overflow:hidden}.motion-block{cursor:pointer;border-left:3px solid var(--cat-color,var(--muted));background:color-mix(in srgb, var(--cat-color,var(--muted)) 20%, var(--surface-1));border-radius:4px;align-items:center;padding:0 6px;display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.motion-block span{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:600;overflow:hidden}.motion-block--idle{--cat-color:var(--line);background:var(--surface-1);cursor:default;opacity:.55}.motion-block--empty{--cat-color:var(--border-strong)}.motion-block--empty span{color:var(--muted)}.motion-block--basic{--cat-color:var(--muted)}.motion-block--travel{--cat-color:var(--accent)}.motion-block--turn{--cat-color:var(--purple)}.motion-block--jump{--cat-color:var(--success)}.motion-block--contemporary{--cat-color:var(--pink)}.motion-edit-backdrop{z-index:65;background:0 0;position:fixed;inset:0}.motion-edit-popover{z-index:66;background:var(--panel2);border:1px solid var(--line);width:260px;max-height:70vh;box-shadow:0 20px 50px var(--shadow-strong);border-radius:12px;padding:10px;position:fixed;overflow:auto;transform:translateY(-100%)}.video-export-subtitle{color:var(--muted);margin:-4px 0 12px;font-size:11.5px;line-height:1.4}.video-export-preview{border:1px solid var(--stage-frame-border);background:var(--stage-floor);border-radius:8px;margin-bottom:14px;position:relative;overflow:hidden}.video-export-preview-label{z-index:1;background:color-mix(in srgb, var(--panel2) 80%, transparent);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:700;position:absolute;top:6px;left:6px}.video-export-summary{color:var(--muted);margin:2px 0 10px;font-size:11px}.video-export-stage-label{align-items:center;gap:6px;display:flex}.video-export-stage-label svg{animation:1.1s ease-in-out infinite videoExportPulse}@keyframes videoExportPulse{0%,to{opacity:.4}50%{opacity:1}}.video-export-meta{color:var(--muted);margin:6px 0 0;font-size:10.5px}.video-export-progress{background:var(--surface-2);border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.video-export-progress-bar{background:var(--accent);height:100%;transition:width .1s linear}.video-export-done{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 4px 4px;display:flex}.video-export-done-check{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;margin-bottom:4px;font-size:20px;font-weight:900;display:grid}.video-export-done strong{font-size:14px}.video-export-done-filename{color:var(--muted);word-break:break-all;margin-bottom:8px;font-size:11.5px}.video-export-done .wide{margin-top:6px}.video-export-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:8px;display:grid}.video-export-options label{color:var(--muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.video-export-options select{width:100%;font-size:12.5px}.video-export-scrub{color:var(--muted);align-items:center;gap:10px;margin:-6px 0 12px;font-size:11px;display:flex}.video-export-scrub input[type=range]{flex:1}.video-export-scrub-time{font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.video-export-result{border:1px solid var(--stage-frame-border);background:#000;border-radius:8px;margin-bottom:8px}.project-manager-topbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.project-manager-topbar .dancer-search{flex:1;margin-bottom:0}.project-manager-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.project-manager-advanced{margin-bottom:0}.project-manager-advanced summary{cursor:pointer;color:var(--muted);margin-bottom:8px;font-size:11.5px}.project-manager-advanced .project-manager-actions{margin:8px 0 0}.project-manager-section{margin-bottom:20px}.project-manager-section:last-child{margin-bottom:0}.project-manager-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:baseline;gap:8px;margin:0 0 10px;font-size:11px;font-weight:800;display:flex}.project-manager-section-count{text-transform:none;letter-spacing:normal;color:var(--text-tertiary);font-size:10.5px;font-weight:600}.project-import-dropzone{border:1.5px dashed var(--line);border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:12px;transition:border-color .12s,background-color .12s;display:flex}.project-import-dropzone.dragging{border-color:var(--accent);background:var(--surface-1-hover)}.project-import-dropzone span{color:var(--muted);font-size:11.5px}button.warn{color:var(--warning);border-color:var(--warning-border);background:0 0}button.warn:hover{background:var(--warning-surface)}button.danger.accent{color:#fff;background:var(--danger);border-color:var(--danger)}button.danger.accent:hover{filter:brightness(1.08)}.project-import-preview-body{border:1px solid var(--line);background:var(--surface-1);border-radius:10px;gap:14px;margin-bottom:14px;padding:12px;display:flex}.project-import-preview-body .project-card-thumb{border-radius:6px;flex:none;width:150px;overflow:hidden}.project-import-preview-info{flex-direction:column;gap:4px;min-width:0;display:flex}.project-import-preview-info b{font-size:13.5px}.project-import-preview-info small{color:var(--muted);font-size:11px}.project-import-preview-warn{border:1px solid var(--warning-border);background:var(--warning-surface);color:var(--warning);border-radius:7px;margin:4px 0 0;padding:8px 10px;font-size:11.5px;line-height:1.4}.project-import-preview-ok{color:var(--muted);margin:4px 0 0;font-size:11.5px}.project-import-preview-notices{color:var(--muted);margin:6px 0 0;padding-left:16px;font-size:11px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;max-height:56vh;padding:2px;display:grid;overflow:auto}.project-card{border:1px solid var(--line);background:var(--surface-1);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.project-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.project-card-open{background:0 0;border:0;width:100%;padding:0;display:block}.project-card-thumb{aspect-ratio:16/9;width:100%;display:block}.project-card-thumb-bg{fill:var(--stage-floor)}.project-card-thumb-empty{fill:var(--stage-label);text-anchor:middle;dominant-baseline:middle;font-size:8px}.project-card-body{padding:8px 10px}.project-card-body b{font-size:12.5px;font-weight:600;display:block}.project-card-body input{margin:-3px 0 0;padding:3px 5px;font-size:12.5px}.project-card-body small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.project-card-actions{gap:2px;margin-top:auto;padding:4px 6px 8px;display:flex}.project-card-actions button{flex:1;padding:4px;font-size:12px}@media (max-width:1180px) and (min-width:861px){.app-shell{grid-template-rows:auto minmax(0, 1fr) 7px var(--timeline-height,280px)}.topbar{flex-wrap:wrap;row-gap:6px}.topbar-group--right{flex-wrap:wrap;flex-basis:100%;order:4;justify-content:flex-end;margin-left:0}}@media (max-width:1480px) and (min-width:861px){.topbar-lab-link span{display:none}.project-name{width:clamp(120px,16vw,240px)}}@media (max-width:1100px){.workspace{grid-template-columns:190px 7px minmax(0,1fr) 7px 230px}}@media (max-width:860px){.workspace{grid-template-columns:1fr}.left-panel,.right-panel,.panel-splitter{display:none}.center{grid-column:1}.project-name{min-width:0;max-width:40vw}.brand span{display:none}.brand{font-size:11px}.topbar-projects-button{padding:6px 8px;font-size:11px}.app-shell{grid-template-rows:auto minmax(0, 1fr) 7px var(--timeline-height,280px)}.topbar{flex-wrap:wrap;row-gap:6px;padding:7px 10px}.topbar-group--center{flex-basis:100%;order:3;justify-content:flex-start}.topbar-group--right{flex-wrap:wrap;flex-basis:100%;order:4;justify-content:flex-start;gap:6px;margin-left:0}.save-status{text-overflow:ellipsis;white-space:nowrap;max-width:92px;font-size:var(--fs-xs);overflow:hidden}.topbar-account-button{text-overflow:ellipsis;white-space:nowrap;max-width:132px;overflow:hidden}.topbar-group--left,.topbar-group--right{display:contents}.topbar .brand{order:1}.topbar-projects-button{order:2}.topbar .project-name{flex:90px;order:3;width:auto;min-width:60px;max-width:none}.topbar-history{order:4}.topbar .appearance-toggle{order:5}.topbar-group--center{order:10}.topbar .save-status{order:13}.topbar .topbar-export-menu{order:14}.topbar .topbar-help-menu{order:15}.topbar-account-button{order:16}.topbar .topbar-lab-link{display:none}.topbar button,.topbar .dropdown-trigger{min-width:40px;min-height:40px}.topbar-mode-toggle button,.view-mode-switch-btn{min-height:40px}.transport{padding:4px 8px 6px}.transport-controls{scrollbar-width:none;flex-wrap:nowrap;gap:8px;height:48px;overflow:auto hidden}.transport-controls::-webkit-scrollbar{display:none}.transport-controls>*{flex:none}.transport-time{white-space:nowrap}.transport-controls button,.transport-controls .button,.transport-controls .play{min-width:44px;min-height:44px}.timeline-toolbar{height:44px}.timeline-zoom button,.stage-toolbar .zoom button{min-width:44px;min-height:44px}.mobile-nav{z-index:120;border-top:1px solid var(--line);background:var(--bg-elevated);padding-bottom:env(safe-area-inset-bottom,0px);grid-column:1/-1;display:flex;position:relative}.mobile-nav button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 4px;font-size:10px;display:flex;position:relative}.mobile-nav button.active{color:var(--accent)}.mobile-nav-badge{background:var(--accent-solid);min-width:14px;height:14px;color:var(--accent-contrast-text);text-align:center;border-radius:7px;padding:0 3px;font-size:9px;font-style:normal;font-weight:700;line-height:14px;position:absolute;top:2px;right:22%}}@media (min-width:861px){.mobile-nav{display:none}}.bottom-sheet-overlay{z-index:110;background:var(--overlay);align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{width:100%;max-height:92dvh;transition:height var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);touch-action:pan-y;background:var(--panel2);border:1px solid var(--line);box-shadow:0 -20px 60px var(--shadow-strong);padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;animation:.18s ease-out sheet-up;display:flex}@media (prefers-reduced-motion:reduce){.bottom-sheet{animation:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-grabber{background:var(--line);border-radius:2px;flex:none;width:36px;height:4px;margin:8px auto 0}.bottom-sheet-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.bottom-sheet-header h2{margin:0;font-size:14px}.bottom-sheet-close{background:0 0;border:0;min-width:44px;min-height:44px;padding:8px;font-size:14px}.bottom-sheet-body{-webkit-overflow-scrolling:touch;padding:12px 14px;overflow:auto}.pdf-report{color:#151515;background:#fff;width:297mm;font-family:Inter,Arial,sans-serif}.pdf-page{box-sizing:border-box;color:#151515;background:#fff;width:297mm;height:210mm;padding:12mm;position:relative;overflow:hidden}.pdf-cover{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.pdf-cover-mark{color:#2563eb;letter-spacing:.22em;margin-bottom:14mm;font-size:13px;font-weight:900}.pdf-cover h1{letter-spacing:-.02em;max-width:80%;margin:0;font-size:31px;line-height:1.1}.pdf-cover-song{color:#555;margin:4mm 0 0;font-size:14px}.pdf-cover-stats{gap:8mm;margin-top:12mm;display:flex}.pdf-cover-stats span{color:#555;text-transform:uppercase;letter-spacing:.06em;border:1px solid #d9d9d9;border-radius:8px;min-width:33mm;padding:5mm 7mm;font-size:10px}.pdf-cover-stats b{color:#111;text-transform:none;letter-spacing:normal;margin-bottom:2mm;font-size:21px;line-height:1;display:block}.pdf-cover-notes{max-width:65%;margin-top:10mm!important}.pdf-cover-foot{color:#777;letter-spacing:.04em;margin:auto 0 0;font-size:9px}.pdf-cover-branding{flex-direction:column;align-items:center;gap:1.5mm;margin-top:10mm;display:flex}.pdf-cover-logo{object-fit:contain;max-width:32mm;max-height:20mm;margin-bottom:2mm}.pdf-cover-branding b{letter-spacing:-.01em;font-size:13px}.pdf-cover-branding span{color:#666;font-size:9px}.pdf-formation-header{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-end;gap:10mm;margin-bottom:4mm;padding-bottom:3mm;display:flex}.pdf-kicker{color:#2563eb;letter-spacing:.12em;margin-bottom:1mm;font-size:8px;font-weight:900;display:block}.pdf-formation-header h2{margin:0;font-size:18px;line-height:1.1}.pdf-time-block{text-align:right}.pdf-time-block strong{font-size:12px;display:block}.pdf-time-block span{color:#666;margin-top:1mm;font-size:8px;display:block}.pdf-continuation-header{border-bottom:2px solid #111;margin-bottom:4mm;padding-bottom:3mm}.pdf-continuation-header h2{margin:0;font-size:14px;line-height:1.2}.pdf-diagram-grid{grid-template-columns:1fr 1fr;gap:4mm;margin-bottom:3mm;display:grid}.pdf-diagram-grid figure{min-width:0;margin:0}.pdf-diagram-grid figcaption{color:#555;letter-spacing:.06em;text-transform:uppercase;margin:0 0 1.5mm;font-size:8px;font-weight:800}.pdf-stage{background:#fff;border:1px solid #bbb;border-radius:4px;width:100%;height:68mm;display:block}.pdf-stage-bg{fill:#f7f7f7}.pdf-guide{stroke:#dedede;stroke-width:1px}.pdf-axis{stroke:#b9b9b9;stroke-width:1.2px;stroke-dasharray:5 5}.pdf-zone-label{fill:#777;letter-spacing:.08em;font-size:9px;font-weight:700}.pdf-zone-label--front{fill:#333}.pdf-dancer-marker circle{stroke:#fff;stroke-width:2px}.pdf-dancer-number{fill:#fff;font-size:10px;font-weight:900}.pdf-dancer-name{fill:#222;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:8px;font-weight:700}.pdf-perspective-bg{fill:#f4f4f4}.pdf-perspective-floor{fill:#17171a;stroke:#333;stroke-width:1.5px}.pdf-perspective-grid{stroke:#4c4c52;stroke-width:1px;opacity:.78}.pdf-perspective-shadow{fill:#000;opacity:.22}.pdf-detail-title{justify-content:space-between;align-items:baseline;gap:8mm;margin:0 0 2mm;display:flex}.pdf-detail-title b{font-size:10px}.pdf-detail-title span{color:#666;font-size:8px}.pdf-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:8px}.pdf-table th{color:#444;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f2f2f2;border-bottom:1.5px solid #999;padding:2mm 2.2mm;font-size:7px}.pdf-table td{vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #dedede;padding:0 2.2mm}.pdf-table th:first-child,.pdf-table td:first-child{width:7%}.pdf-table th:nth-child(2),.pdf-table td:nth-child(2){width:19%}.pdf-table th:nth-child(3),.pdf-table td:nth-child(3),.pdf-table th:nth-child(4),.pdf-table td:nth-child(4){width:11%}.pdf-table th:nth-child(5),.pdf-table td:nth-child(5){width:25%}.pdf-table th:nth-child(6),.pdf-table td:nth-child(6){width:27%}.pdf-table td b{font-size:1em}.pdf-table td small{color:#777;margin-left:.4em;font-size:.85em}.pdf-table-number{color:#fff;border-radius:50%;place-items:center;width:6mm;height:6mm;font-size:7px;font-weight:900;display:inline-grid}.pdf-notes{color:#444;margin:3mm 0 0;font-size:8px;line-height:1.45}.pdf-page-footer{color:#999;letter-spacing:.04em;justify-content:space-between;font-size:7px;display:flex;position:absolute;bottom:6mm;left:12mm;right:12mm}.topbar-account-button{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:600;display:flex}.topbar-lab-link{border:1px solid var(--line);color:var(--text);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.topbar-lab-link:hover{border-color:var(--border-strong);background:var(--surface-1-hover)}.topbar-account-plan-tag{letter-spacing:.04em;color:var(--accent);text-transform:uppercase;font-size:9.5px;font-weight:700}.auth-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;display:flex}.auth-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-size:12px;font-weight:600}.auth-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-field{color:var(--muted);flex-direction:column;gap:5px;font-size:11.5px;display:flex}.auth-field input{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.auth-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-error{color:var(--danger);font-size:11.5px}.account-success{color:var(--success);font-size:11.5px}.auth-submit{background:var(--accent-solid);color:var(--accent-contrast-text);border:0;border-radius:8px;padding:9px;font-size:12.5px;font-weight:700}.auth-submit:hover:not(:disabled){background:var(--accent-solid-hover)}.auth-submit:disabled{opacity:.6}.account-panel{flex-direction:column;gap:12px;display:flex}.account-plan-card,.account-license-card,.account-danger-zone{border:1px solid var(--line);background:var(--surface-1);border-radius:13px}.account-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:4px 2px 10px;display:flex}.account-avatar{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line));width:38px;height:38px;color:var(--accent-strong);letter-spacing:.04em;border-radius:11px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.account-header-copy{flex:1;min-width:0}.account-header-copy b{font-size:13.5px;line-height:1.35;display:block}.account-header-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;display:block;overflow:hidden}.account-status-tag{color:var(--muted);flex:none;font-size:10px;font-weight:700}.account-status-active{color:var(--success)}.account-status-revoked,.account-status-expired{color:var(--warning)}.account-tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.account-tabs::-webkit-scrollbar{display:none}.account-tabs button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:9px 14px;font-size:12px;font-weight:700}.account-tabs button.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.account-tabpanel{flex-direction:column;gap:12px;max-height:56vh;padding:2px 2px 4px;display:flex;overflow-y:auto}.account-plan-card{padding:14px}.account-plan-card-head,.account-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.account-plan-card-head strong,.account-section-heading strong{margin-top:3px;font-size:13px;display:block}.account-eyebrow{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800;display:block}.account-plan-features{grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:12px;display:grid}.account-plan-features span{min-width:0;color:var(--muted);font-size:10.5px;line-height:1.35}.account-license-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:11px;display:grid}.account-license-meta span{color:var(--text);flex-direction:column;gap:3px;font-size:10.5px;display:flex}.account-license-meta b{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:700}.account-plans-button{background:0 0;width:100%;margin-top:12px;font-size:11.5px;font-weight:700}.account-license-card{padding:14px;position:relative;overflow:hidden}.account-section-hint{color:var(--accent-strong);letter-spacing:.07em;font-size:9px;font-weight:800}.account-license-copy{color:var(--muted);margin:9px 0 12px;font-size:10.8px;line-height:1.5}.account-redeem-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.account-key-field{min-width:0;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.01em;flex-direction:column;gap:5px;font-weight:600;display:flex}.account-key-field input{border:1px solid var(--line);background:var(--surface-2);width:100%;min-width:0;height:36px;color:var(--text);letter-spacing:.015em;border-radius:9px;padding:0 11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.account-key-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.account-redeem-button{white-space:nowrap;height:36px;padding-inline:15px}.account-inline-message{border:1px solid color-mix(in srgb, currentColor 28%, transparent);background:color-mix(in srgb, currentColor 7%, transparent);border-radius:8px;grid-column:1/-1;margin-top:8px;padding:8px 10px;line-height:1.35}.studio-form{grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:10px;display:grid}.studio-form .account-key-field input{letter-spacing:normal;font-family:inherit}.studio-form>button{grid-column:1/-1;justify-self:start}.studio-color-field input[type=color]{cursor:pointer;height:36px;padding:2px}@media (max-width:420px){.studio-form{grid-template-columns:1fr}}.studio-logo-row{align-items:center;gap:14px;margin:10px 0 4px;display:flex}.studio-logo-preview{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.studio-logo-preview img{object-fit:contain;width:100%;height:100%}.studio-logo-preview span{color:var(--muted);text-align:center;padding:4px;font-size:9px}.studio-logo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-logo-upload{cursor:pointer}.studio-logo-hint{color:var(--muted);flex-basis:100%;margin:0;font-size:9.5px}.studio-cast-empty{margin:4px 0 10px}.studio-cast-list{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.studio-cast-item{border:1px solid var(--line);background:var(--surface-1);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.studio-cast-item b{color:var(--text);font-size:12px;display:block}.studio-cast-item span{color:var(--muted);margin-top:2px;font-size:10px;display:block}.studio-cast-item-actions{flex:none;gap:6px;display:flex}.studio-cast-dancer-list{grid-column:1/-1;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.studio-cast-dancer-row{grid-template-columns:32px 1fr 56px 1fr 28px;align-items:center;gap:6px;display:grid}.studio-cast-dancer-row input[type=color]{cursor:pointer;height:32px;padding:2px}.studio-cast-dancer-row input[type=text],.studio-cast-dancer-row input:not([type=color]):not([type=number]){border:1px solid var(--line);background:var(--surface-2);height:32px;color:var(--text);border-radius:7px;min-width:0;padding:0 8px;font-size:11px}.studio-cast-dancer-row input[type=number]{border:1px solid var(--line);background:var(--surface-2);height:32px;color:var(--text);border-radius:7px;min-width:0;padding:0 6px;font-size:11px}@media (max-width:480px){.studio-cast-dancer-row{grid-template-columns:32px 1fr 1fr}}.account-upgrade-success{border:1px solid color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 9%, var(--surface-1));border-radius:10px;align-items:center;gap:10px;margin-top:11px;padding:10px 11px;display:flex;position:relative;overflow:hidden}.account-upgrade-success--celebrate{animation:.42s cubic-bezier(.2,.8,.2,1) both accountUpgradeIn}.account-upgrade-check{background:var(--success);color:#fff;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:15px;font-weight:900;display:grid}.account-upgrade-success b{font-size:11.5px;display:block}.account-upgrade-success span{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.35;display:block}.account-upgrade-sparkles{pointer-events:none;position:absolute;inset:0}.account-upgrade-sparkles i{background:var(--accent);opacity:0;border-radius:50%;width:4px;height:4px;animation:.8s ease-out both accountSparkle;position:absolute}.account-upgrade-sparkles i:first-child{animation-delay:30ms;top:18%;left:12%}.account-upgrade-sparkles i:nth-child(2){animation-delay:.12s;top:9%;left:42%}.account-upgrade-sparkles i:nth-child(3){animation-delay:.2s;top:24%;right:18%}.account-upgrade-sparkles i:nth-child(4){animation-delay:.28s;bottom:18%;right:8%}@keyframes accountUpgradeIn{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}@keyframes accountSparkle{0%{opacity:0;transform:translateY(8px)scale(.5)}45%{opacity:.9}to{opacity:0;transform:translateY(-10px)scale(1.2)}}.account-footer-actions{justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 0;display:flex}.account-footer-actions>span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.account-logout{border:1px solid var(--line);color:var(--danger);background:0 0;border-radius:8px;flex:none;padding:6px 10px;font-size:10.5px;font-weight:700}.account-plan-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-size:9.5px;font-weight:800}.account-plan-free{color:var(--muted)}.account-key-toggle{border:1px solid var(--accent);color:var(--accent-strong);background:0 0;border-radius:8px;flex:none;padding:6px 12px;font-size:10.5px;font-weight:700}.account-danger-zone{padding:14px;border-color:color-mix(in srgb, var(--danger) 35%, var(--line))!important}.account-danger-open{border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);border-radius:8px;padding:7px 12px;font-size:11px;font-weight:700}@media (max-width:520px){.account-plan-features,.account-license-meta,.account-redeem-form{grid-template-columns:1fr}.account-redeem-button{width:100%}.account-header{flex-wrap:wrap}.account-tabpanel{max-height:64vh}}@media (prefers-reduced-motion:reduce){.account-upgrade-success--celebrate,.account-upgrade-sparkles i{animation:none!important}}.plans-page{flex-direction:column;gap:14px;display:flex}.plans-subtitle{color:var(--muted);margin:-6px 0 0;font-size:12px}.plans-currency{border:1px solid var(--line);border-radius:999px;align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.plans-currency button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 14px;font-size:11px;font-weight:700}.plans-currency button.active{background:var(--accent-solid);color:var(--accent-contrast-text)}.plans-loading{color:var(--muted);text-align:center;padding:20px 0;font-size:12.5px}.plans-grid{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (max-width:1099px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.plans-grid{grid-template-columns:1fr}}.plan-card{border:1px solid var(--line);background:var(--surface-1);border-radius:12px;flex-direction:column;gap:8px;padding:16px 14px;display:flex;position:relative}.plan-card-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.plan-card-highlighted:not(.plan-card-current){border-color:var(--accent-solid);box-shadow:0 0 0 2px var(--accent-solid) inset}.plan-card-current-tag{background:var(--accent-solid);color:var(--accent-contrast-text);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-weight:700;position:absolute;top:-9px;left:12px}.plan-card-name{font-size:14px;font-weight:700}.plan-card-price{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.plan-card-description{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.plan-card-features{font-size:var(--fs-sm);color:var(--text);margin:6px 0 0;padding-left:16px;line-height:1.6}.plan-card-actions{margin-top:auto;padding-top:10px}.plan-card-subscribe{width:100%;min-height:40px;font-size:var(--fs-base);font-weight:700}.plan-card-current-note{text-align:center;color:var(--success);padding:8px 0;font-size:11.5px;font-weight:700;display:block}.plans-compare{border-top:1px solid var(--line);padding-top:10px}.plans-compare summary{cursor:pointer;color:var(--accent-strong);font-size:12px;font-weight:700;list-style:none}.plans-compare summary::-webkit-details-marker{display:none}.plans-compare summary:before{content:"▸ "}.plans-compare[open] summary:before{content:"▾ "}.plans-compare-table-wrap{margin-top:10px;overflow-x:auto}.plans-compare-table{border-collapse:collapse;width:100%;font-size:11.5px}.plans-compare-table th,.plans-compare-table td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:7px 10px}.plans-compare-table th[scope=row]{text-align:left;color:var(--muted);white-space:normal;font-weight:600}.plans-compare-table thead th{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.feature-gate-lock{border:1px dashed var(--border-strong);background:var(--surface-1);border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.feature-gate-icon{color:var(--muted);display:inline-flex}.feature-gate-text{flex:1;min-width:0}.feature-gate-title{font-size:13px;font-weight:700}.feature-gate-benefit{color:var(--text);margin-top:2px;font-size:11.5px;line-height:1.4}.feature-gate-subtitle{color:var(--muted);margin-top:3px;font-size:11px}.plan-lock{border:1px solid var(--warning-border);background:var(--warning-surface);color:var(--warning);letter-spacing:.05em;white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:3px;padding:1px 6px;font-size:9.5px;font-weight:800;line-height:1.5;display:inline-flex}.plan-star{background:color-mix(in srgb, var(--success) 16%, transparent);width:16px;height:16px;color:var(--success);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.feature-gate-inline{align-items:center;gap:8px;display:flex}.feature-gate-inline-content{opacity:.5;pointer-events:none;flex:1;min-width:0}.dropdown-menu-item .plan-lock,.dropdown-menu-item .plan-star{margin-left:8px}.move-card.locked .move-card-main{opacity:.72}.move-card.locked .plan-lock{flex:none;position:static}.pattern-btn.locked{opacity:.5;cursor:not-allowed;position:relative}.pattern-btn.locked .plan-lock{padding:0 3px;font-size:8px;position:absolute;top:1px;right:1px}.plan-note{color:var(--muted);align-items:center;gap:6px;margin:4px 0 0;font-size:11px;display:flex}.feature-gate-cta{border:1px solid var(--accent);color:var(--accent-strong);white-space:nowrap;background:0 0;border-radius:7px;padding:6px 12px;font-size:11.5px;font-weight:700}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.account-field-error{color:var(--danger);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;font-weight:600}.account-field-hint{color:var(--muted);font-size:var(--fs-xs);letter-spacing:0;font-weight:500}.account-key-field input[aria-invalid=true]{border-color:var(--danger)}.confirm-dialog{width:min(440px,94vw);padding:var(--sp-5);gap:var(--sp-3)}.confirm-dialog-title{font-size:var(--fs-md);color:var(--text);margin:0;font-weight:700}.confirm-dialog-message{font-size:var(--fs-base);color:var(--muted);margin:0;line-height:1.5}.confirm-dialog-details{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);gap:0;margin:0;display:grid;overflow:hidden}.confirm-dialog-details>div{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm);padding:8px 12px;display:flex}.confirm-dialog-details>div+div{border-top:1px solid var(--line)}.confirm-dialog-details dt{color:var(--muted)}.confirm-dialog-details dd{text-align:right;margin:0;font-weight:600}.confirm-dialog-actions{flex-wrap:wrap}.confirm-dialog-actions button{min-height:36px;padding:0 14px}.toast{align-items:center;gap:var(--sp-2);max-width:min(92vw,420px);font-size:var(--fs-sm);cursor:default;padding:9px 10px 9px 14px;line-height:1.4;display:flex}.toast-message{flex:1;min-width:0}.toast-dismiss{border-radius:var(--radius-sm);width:28px;height:28px;color:inherit;opacity:.75;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.toast-dismiss:hover{opacity:1;background:var(--surface-1-hover)}.toast--error{background:var(--panel3)}.modal-close{border-radius:var(--radius-sm);place-items:center;min-width:36px;min-height:36px;display:inline-grid}.academy-tab{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.academy-tab-picker{gap:var(--sp-2);display:grid}.academy-tab-picker select{min-height:40px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text)}.academy-subsection{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.academy-subsection strong{font-size:var(--fs-base)}.academy-readonly-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.academy-readonly-list li{border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--fs-sm);padding:8px 12px}.academy-readonly-list small{color:var(--muted)}.account-empty-state{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-5);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.account-empty-state strong{font-size:var(--fs-md)}.account-academy-summary{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.account-academy-summary>div{min-width:0}.studio-brand-preview{gap:var(--sp-2);flex-direction:column;display:flex}.studio-brand-card{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;max-width:420px;display:flex}.studio-brand-head{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.studio-brand-head img{object-fit:contain;border-radius:var(--radius-sm);background:var(--panel3);flex:none;width:44px;height:44px}.studio-brand-head strong{font-size:var(--fs-md);overflow-wrap:anywhere;display:block}.studio-brand-head small{color:var(--muted);font-size:var(--fs-sm);display:block}.studio-brand-mark{border-radius:var(--radius-sm);flex:none;width:44px;height:44px}.studio-brand-handle{color:var(--accent-strong);font-size:var(--fs-sm);font-weight:600}.studio-brand-footer{font-size:var(--fs-sm);margin:0;font-weight:600}.team-role-card{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel2);display:grid}.team-role-name{font-size:var(--fs-md);margin:2px 0;display:block}.team-role-name small{color:var(--muted);font-weight:500;font-size:var(--fs-sm)}.team-role-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.team-role-list li{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);line-height:1.4;display:flex}.team-role-list li.is-allowed{color:var(--text)}.team-role-list li.is-denied{color:var(--muted)}.team-role-mark{border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:inline-grid}.team-role-list li.is-allowed .team-role-mark{background:color-mix(in srgb, var(--success) 22%, transparent);color:var(--success)}.team-role-list li.is-denied .team-role-mark{background:var(--surface-1);color:var(--muted)}@media (prefers-reduced-motion:reduce){.toast,.toast-dismiss,.modal,.bottom-sheet,.confirm-dialog{transition:none!important;animation:none!important}}.stage-split--compact{flex-direction:column;height:100%;min-height:0;display:flex}.stage-compact-tabs{border-bottom:1px solid var(--line);background:var(--bg-elevated);flex-shrink:0;gap:4px;padding:6px 8px;display:flex}.stage-compact-tabs button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-1);min-height:44px;color:var(--muted);flex:1;font-weight:700}.stage-compact-tabs button.active{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--accent-contrast-text)}.stage-compact-pane{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.stage-compact-pane>*{flex:auto;min-height:0}.bottom-sheet.is-dragging{transition:none}.bottom-sheet-grabber{touch-action:none;cursor:grab}.bottom-sheet-header{touch-action:none}.bottom-sheet-close{place-items:center;min-width:44px;min-height:44px;display:inline-grid}@media (prefers-reduced-motion:reduce){.bottom-sheet{transition:none}}:root{--plan-free:#8b93a7;--plan-pro:#4f8cff;--plan-studio:#b07cff;--plan-team:#2dd4bf;--color-bg:var(--bg);--color-surface-1:var(--surface-1);--color-surface-2:var(--surface-2);--color-surface-3:var(--panel3);--color-border:var(--line);--color-primary:var(--accent);--color-pro:var(--plan-pro);--color-studio:var(--plan-studio);--color-team:var(--plan-team);--color-success:var(--success);--color-warning:var(--warning);--color-danger:var(--danger);--color-text:var(--text);--color-text-muted:var(--muted)}:root[data-theme=light]{--plan-free:#5f6779;--plan-pro:#2563eb;--plan-studio:#7c3aed;--plan-team:#0f8f83}:root{--plan-free-solid:#4b5563;--plan-pro-solid:#2563eb;--plan-studio-solid:#7c3aed;--plan-team-solid:#0f766e}.plan-card-free{--plan-color:var(--plan-free);--plan-solid:var(--plan-free-solid)}.plan-card-pro{--plan-color:var(--plan-pro);--plan-solid:var(--plan-pro-solid)}.plan-card-studio{--plan-color:var(--plan-studio);--plan-solid:var(--plan-studio-solid)}.plan-card-team{--plan-color:var(--plan-team);--plan-solid:var(--plan-team-solid)}.plan-card{border-top:3px solid var(--plan-color,var(--line));background:color-mix(in srgb, var(--plan-color,var(--line)) 5%, var(--surface-1))}.plan-card-name{color:var(--plan-color,var(--text))}.plan-card-current-tag{background:var(--plan-solid,var(--accent-solid))}.plan-card .plan-card-subscribe{border-color:var(--plan-color,var(--line))}.plan-card-highlighted:not(.plan-card-current){box-shadow:0 0 0 1px var(--plan-color) inset, 0 8px 20px -14px var(--plan-color)}.plan-card-current{box-shadow:0 0 0 1px var(--plan-color) inset;border-color:var(--plan-color)}.account-plan-free{color:var(--plan-free);border-color:var(--plan-free)}.account-plan-pro{color:var(--plan-pro);border-color:var(--plan-pro)}.account-plan-studio{color:var(--plan-studio);border-color:var(--plan-studio)}.account-plan-team{color:var(--plan-team);border-color:var(--plan-team)}.billing-success-list{margin:var(--sp-2) 0;text-align:left;font-size:var(--fs-sm);gap:6px;padding:0;list-style:none;display:grid}.billing-success-list li{gap:var(--sp-2);align-items:flex-start;display:flex}.billing-success-list li:before{content:"✓";color:var(--success);flex:none;font-weight:800}
