._message_1t4vx_1{margin:0;font-size:var(--font-md);color:var(--color-text-muted);line-height:1.5}._root_1td8c_1{display:flex;align-items:center;gap:6px;white-space:nowrap}._select_1td8c_8{font-size:12px;line-height:1.2;min-height:22px;padding:2px 8px;border-radius:var(--radius-sm);font-weight:500;cursor:pointer}._hash_1td8c_18{font-size:10px;color:var(--color-text-faint);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;padding:0;border:none;background:transparent}._envLocal_1td8c_27{color:#6b7280;background:transparent;border:1px solid #d1d5db}._envDev_1td8c_33{color:#0369a1;background:#f0f9ff;border:1px solid #0ea5e9}._envProd_1td8c_39{color:#92400e;background:#fde68a;border:1px solid #d97706;font-weight:700}._root_1xm7p_1{display:grid;grid-template-columns:clamp(260px,28vw,360px) minmax(0,1fr);height:100%;overflow:hidden;transition:grid-template-columns .3s ease}._rootExpanded_1xm7p_9{grid-template-columns:200px minmax(0,1fr)}._rootCollapsed_1xm7p_13{grid-template-columns:56px minmax(0,1fr)}._left_1xm7p_17{border-right:1px solid var(--color-border);background-color:var(--color-bg-subtle);position:relative;overflow:hidden;min-width:0}._leftInner_1xm7p_25{height:100%;overflow:hidden}._center_1xm7p_30{background-color:#fff;overflow:auto;position:relative;min-width:0}._leftNav_1lfr7_1{display:flex;flex-direction:column;background:var(--color-bg-subtle);height:100%;overflow:hidden;min-width:0}._leftNavHeader_1lfr7_10{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);height:var(--page-header-height);border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}._leftNavRailHeader_1lfr7_20{display:flex;align-items:center;justify-content:center;padding:10px 0 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}._brandBlock_1lfr7_29{display:inline-flex;align-items:center;gap:10px}._brandMark_1lfr7_35{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;color:#111827;font-weight:700;font-size:var(--font-md);letter-spacing:.08em;display:grid;place-items:center}._panelToggle_1lfr7_49{border:none;background:transparent;color:var(--color-text-muted);width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:16px;line-height:1;cursor:pointer}._panelToggle_1lfr7_49:hover{color:var(--color-text-primary);background:var(--color-bg-muted)}._toggleGlyph_1lfr7_68{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}._brandName_1lfr7_78{font-size:var(--font-lg);font-weight:600;color:#111827;white-space:nowrap;max-width:152px;overflow:hidden;transition:opacity .2s ease,max-width .2s ease}._collapsed_1lfr7_88 ._brandName_1lfr7_78{opacity:0;max-width:0}._leftNavItems_1lfr7_93{display:flex;flex-direction:column;gap:6px;padding:var(--space-3) var(--space-2);flex:1}._collapsed_1lfr7_88 ._leftNavItems_1lfr7_93{padding:var(--space-3) 8px}._leftNavItem_1lfr7_93{border:none;background:transparent;border-radius:var(--radius-md);padding:10px;cursor:pointer;text-align:left;transition:all .2s ease;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2);position:relative;width:100%}._collapsed_1lfr7_88 ._leftNavItem_1lfr7_93{justify-content:center;padding:10px 0}._leftNavItem_1lfr7_93:hover{background:var(--color-border)}._leftNavItemActive_1lfr7_130{background:#eff6ff;color:#1d4ed8;font-weight:600}._leftNavItemActive_1lfr7_130:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:999px;background:#2563eb}._collapsed_1lfr7_88 ._leftNavItemActive_1lfr7_130:before{left:2px}._leftNavIcon_1lfr7_151{width:24px;height:24px;border-radius:var(--radius-sm);display:grid;place-items:center;color:currentColor;opacity:.85;flex-shrink:0}._navGlyph_1lfr7_162{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}._leftNavItemActive_1lfr7_130 ._leftNavIcon_1lfr7_151{opacity:1}._leftNavText_1lfr7_176{display:flex;flex-direction:column;gap:2px;overflow:hidden;max-width:140px;transition:opacity .2s ease,max-width .2s ease}._collapsed_1lfr7_88 ._leftNavText_1lfr7_176{opacity:0;max-width:0}._leftNavLabel_1lfr7_190{font-size:var(--font-md);font-weight:600;white-space:nowrap}._leftNavCaption_1lfr7_196{font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);white-space:nowrap}._centerPanel_1lfr7_204,._fullHeightColumn_iz57o_1{display:flex;flex-direction:column;height:100%}._growColumn_iz57o_7{flex:1;min-height:0;display:flex;flex-direction:column}._loadingWrap_iz57o_14{display:flex;align-items:center;justify-content:center;height:100%}._loadingText_iz57o_21{color:var(--color-text-faint);font-size:var(--font-md)}._authMessage_iz57o_26{margin-top:var(--space-3);font-size:var(--font-md);color:var(--color-text-muted)}:root{--bg: #ffffff;--fg: #1a1a1a;--muted: #6b7280;--accent: #0284c7;--band: #f3f4f6;--text: #ea580c;--breath: #10b981;--page-header-height: 68px;--font-xs: 12px;--font-sm: 13px;--font-md: 15px;--font-lg: 17px;--font-xl: 20px;--font-2xl: 22px;--lh-tight: 1.2;--lh-normal: 1.4;--lh-relaxed: 1.6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--session-card-width: 180px;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-bg-subtle: #f9fafb;--color-bg-muted: #f3f4f6;--color-text-primary: #0f172a;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-danger: #dc2626;--color-danger-soft: #fee2e2;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-success: #10b981;--color-info: #3b82f6;--readonly-surface: #f8fafc;--readonly-surface-strong: #f1f5f9;--readonly-border: #d5dce6;--readonly-text: #64748b;--readonly-text-strong: #475569;--readonly-overlay: rgba(148, 163, 184, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--fg);overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:var(--accent);text-decoration:none}.app{position:relative;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-shell{flex:1;min-height:0}.system-bar{flex:0 0 28px;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--color-border);background:#f8fafc;position:relative;z-index:4}.system-bar-indicator{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#475569;padding:2px 8px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc}.system-bar-prod{background:#fef3c7;border-bottom-color:#f59e0b}.system-bar-dev{background:#f0f9ff;border-bottom-color:#bfdbfe}.system-bar-local{background:#f9fafb;border-bottom-color:#d1d5db}.system-bar-prod .system-bar-indicator{color:#fff;border-color:#b45309;background:#d97706}.toolbar{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid #e5e7eb;background:#f9fafb;position:sticky;top:0;z-index:2}.toolbar .group,.field{display:flex;gap:var(--space-2);align-items:center}.field label{font-size:var(--font-sm);color:var(--muted)}.helper-note{font-size:var(--font-sm);color:#9ca3af;line-height:1.3;min-height:1.3em}.helper-note.is-hidden{visibility:hidden}.control-group{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid #e5e7eb;border-radius:var(--radius-md);background:#fff;box-shadow:0 1px 2px #0f172a0a}.left-nav{display:flex;flex-direction:column;background:#f9fafb;height:100%;overflow:hidden;min-width:0}.left-nav-header{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:var(--page-header-height);border-bottom:1px solid #e5e7eb;background:#f9fafb}.brand-mark{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid #e5e7eb;background:#fff;color:#111827;font-weight:700;font-size:var(--font-sm);letter-spacing:.08em;cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.brand-mark:hover{background:#f3f4f6;border-color:#d1d5db}.brand-mark.static{cursor:default}.brand-name{font-size:var(--font-md);font-weight:600;color:#111827;white-space:nowrap;max-width:140px;overflow:hidden;transition:opacity .2s ease,max-width .2s ease}.left-nav.collapsed .brand-name{opacity:0;max-width:0}.left-nav-items{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-2);flex:1}.left-nav-item{border:none;background:transparent;border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;text-align:left;transition:all .2s ease;color:#374151;display:flex;align-items:center;gap:var(--space-2);position:relative;width:100%}.left-nav-icon{width:20px;height:20px;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:var(--font-xs);font-weight:700;letter-spacing:.08em;color:#6b7280;background:transparent}.left-nav-item.active .left-nav-icon{color:#1d4ed8}.left-nav-item:hover{background:#e5e7eb}.left-nav-item.active{background:#eff6ff;color:#1d4ed8;font-weight:600}.left-nav-item.active:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:999px;background:#2563eb}.left-nav-text{display:flex;flex-direction:column;gap:2px;overflow:hidden;max-width:140px;transition:opacity .2s ease,max-width .2s ease}.left-nav.collapsed .left-nav-text{opacity:0;max-width:0}.left-nav-label{font-size:var(--font-sm);font-weight:600;white-space:nowrap}.left-nav-caption{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;white-space:nowrap}.left-nav-panel{height:100%;overflow:auto;background:#f9fafb}.left-nav-panel.empty{display:none}.left-panel-empty{padding:var(--space-4);color:#9ca3af;font-size:var(--font-sm)}.section-shell{display:grid;grid-template-columns:minmax(200px,20vw) minmax(0,1fr);height:100%;min-height:0;flex:1}.section-shell.side-collapsed{grid-template-columns:56px minmax(0,1fr)}.section-side{border-right:1px solid #e5e7eb;background:#fff;min-width:0;overflow:hidden}.secondary-panel{display:flex;flex-direction:column;height:100%;min-height:0}.secondary-panel-section{display:flex;flex-direction:column;min-height:0}.secondary-panel-section:first-child{flex:0 1 42%;min-height:160px}.secondary-panel-section:last-child{flex:1 1 auto;min-height:220px}.secondary-panel-section.collapsed{flex:0 0 auto;min-height:0}.secondary-panel-section.collapsed .content-browser{height:auto}.secondary-panel-divider{height:1px;background:#e5e7eb}.workspace-sidepanel{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}.workspace-sidepanel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:10px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.workspace-sidepanel-tabs{display:inline-flex;gap:6px}.workspace-sidepanel-title{font-size:var(--font-sm);font-weight:600;color:#374151}.workspace-sidepanel-tab{border:1px solid #d1d5db;background:#fff;color:#4b5563;font-size:var(--font-sm);line-height:1;padding:6px 9px;border-radius:999px;cursor:pointer;transition:all .15s ease}.workspace-sidepanel-tab:hover:not(:disabled){border-color:#9ca3af;color:#111827}.workspace-sidepanel-tab.active{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8;font-weight:600}.workspace-sidepanel-tab:disabled{opacity:.55;cursor:not-allowed}.workspace-sidepanel-close{border:none;background:transparent;color:#6b7280;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:18px;line-height:1;cursor:pointer}.workspace-sidepanel-close:hover{color:#111827;background:#f3f4f6}.workspace-sidepanel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.workspace-sidepanel-body>.content-browser,.workspace-sidepanel-body>.stage-library{height:100%}.workspace-sidepanel-rail{display:flex;flex-direction:column;align-items:center;gap:10px;height:100%;padding:10px 6px;background:#f9fafb}.workspace-sidepanel-rail-expand{border:1px solid #d1d5db;background:#fff;color:#4b5563;width:30px;height:30px;border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:all .15s ease}.workspace-sidepanel-rail-expand:hover{border-color:#9ca3af;color:#111827}.workspace-sidepanel-rail-expand svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.workspace-sidepanel-rail-hint{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;-webkit-user-select:none;user-select:none}.workspace-sidepanel-rail-tabs{display:flex;flex-direction:column;gap:8px;margin-top:auto}.workspace-sidepanel-rail-tab{border:1px solid #d1d5db;background:#fff;color:#6b7280;width:34px;height:34px;border-radius:10px;cursor:pointer;display:grid;place-items:center;transition:all .15s ease}.workspace-sidepanel-rail-tab:hover:not(:disabled){border-color:#9ca3af;color:#111827}.workspace-sidepanel-rail-tab.active{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.workspace-sidepanel-rail-tab:disabled{opacity:.5;cursor:not-allowed}.workspace-sidepanel-rail-tab svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.section-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;height:100%;flex:1}.section-main.solo{height:100%}.section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid #e5e7eb;background:#fff;min-height:var(--page-header-height);gap:var(--space-4)}.section-actions{display:inline-flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.form-label{display:block;font-size:var(--font-xs);font-weight:500;margin-bottom:var(--space-2);color:#6b7280;text-transform:uppercase;letter-spacing:.5px;height:14px}.field-label{display:block;font-size:var(--font-sm);font-weight:500;margin-bottom:var(--space-2);color:#6b7280}.field-label-compact{margin-bottom:var(--space-1);font-weight:400}.field-hint{font-size:var(--font-sm);color:#9ca3af}.field-hint-tight{margin-top:4px}.form-optional{font-weight:400}.input-mono{font-family:monospace;font-size:var(--font-sm)}.content-browser{display:flex;flex-direction:column;height:100%;min-height:0}.content-browser-header{padding:var(--space-3);border-bottom:1px solid #e5e7eb}.content-browser-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);gap:var(--space-2)}.content-browser-title{font-size:var(--font-md);font-weight:600;margin:0;color:#374151}.content-browser-toggle{border:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-size:var(--font-xs);padding:2px var(--space-2);border-radius:999px;cursor:pointer;transition:all .15s ease}.content-browser-toggle:hover{border-color:#9ca3af;color:#374151;background:#f3f4f6}.content-browser-selected{font-size:var(--font-xs);color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-browser-list{flex:1;overflow:auto;padding:var(--space-2)}.content-browser-list.flush{padding:var(--space-3)}.content-browser-empty{padding:var(--space-5);text-align:center;color:#6b7280;font-size:var(--font-sm)}.content-card{padding:var(--space-3);background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;position:relative;width:100%;text-align:left}.content-card:focus-visible{outline:2px solid #0284c7;outline-offset:1px}.content-card:hover{background:#f9fafb;border-color:#9ca3af}.content-card.active,.content-card.active:hover{background:#eff6ff;border-color:#0284c7}.content-card-status{position:absolute;top:var(--space-3);right:var(--space-3);width:6px;height:6px;border-radius:50%}.content-card-title{font-size:var(--font-sm);font-weight:500;color:#1a1a1a;margin-bottom:var(--space-1)}.content-card-title.active{font-weight:600}.content-card-desc{font-size:var(--font-xs);color:#6b7280;margin-bottom:var(--space-2);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.content-card-meta{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;row-gap:4px}.content-card-badge{font-size:var(--font-xs);color:#6b7280;background:#f3f4f6;padding:2px var(--space-2);border-radius:var(--radius-sm)}.content-card-duration{font-size:var(--font-xs);color:#475569;background:#e2e8f0;padding:2px var(--space-2);border-radius:var(--radius-sm)}.content-browser-footer{padding:var(--space-2) var(--space-3);border-top:1px solid #e5e7eb;font-size:var(--font-xs);color:#6b7280;text-align:center}.stage-library{display:flex;flex-direction:column;height:100%;min-height:0}.stage-library-header{padding:var(--space-3);border-bottom:1px solid #e5e7eb;background:#fff}.stage-library-title{font-size:var(--font-md);font-weight:600;margin:0 0 var(--space-1) 0;color:#374151}.stage-library-subtitle{font-size:var(--font-xs);color:#6b7280;margin:0}.stage-library-list{flex:1;overflow:auto;padding:var(--space-3)}.stage-option{width:100%;padding:var(--space-3);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:all .2s ease;border:1px solid #e5e7eb;background:#fff}.stage-option.disabled{cursor:not-allowed;opacity:.6;background:#f9fafb;border-color:#f3f4f6}.stage-option-name{font-size:var(--font-sm);font-weight:500;margin-bottom:2px}.stage-option-desc{font-size:var(--font-xs);color:#6b7280}.stage-option-action{font-size:var(--font-xs);white-space:nowrap}.stages-list-empty{padding:var(--space-5);text-align:center;color:#6b7280;font-size:var(--font-sm)}.phases-editor{padding:var(--space-3);border:1px solid #e5e7eb;border-radius:var(--radius-md);background:#fff}.phases-grid-header{display:grid;grid-template-columns:160px 1fr;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--font-sm);color:#6b7280}.phase-row{display:grid;grid-template-columns:160px 1fr;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-top:1px solid #f3f4f6}.phase-name{font-size:var(--font-md);font-weight:600;color:#374151}.phase-duration{display:flex;align-items:center;gap:var(--space-2)}.phase-zero{margin-left:var(--space-2);font-size:var(--font-xs);color:#9ca3af}.phase-advanced-toggle{background:transparent;border:none;color:#0284c7;font-size:12px;text-decoration:underline;cursor:pointer}.phase-advanced-toggle:disabled{cursor:default;color:#94a3b8;text-decoration:none}.phase-advanced{grid-column:1 / -1;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:6px;padding:8px 10px}.empty-state{height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-7);text-align:center;color:#6b7280;flex-direction:column}.empty-state-icon{font-size:var(--font-xl);color:#9ca3af;margin-bottom:var(--space-2)}.empty-state-title{font-size:var(--font-lg);font-weight:500;color:#6b7280;margin-bottom:var(--space-1)}.empty-state-subtitle{font-size:var(--font-md);color:#9ca3af}.page-title{font-size:var(--font-lg);font-weight:600;color:#111827}.section-subtitle{font-size:var(--font-sm);color:#6b7280;margin-top:var(--space-1)}.content-meta-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.content-meta-title{font-size:var(--font-md);font-weight:600;color:#111827}.content-meta-subtitle{font-size:var(--font-xs);color:#6b7280;margin-top:2px}.content-meta-actions{display:inline-flex;gap:var(--space-1);flex-wrap:wrap}.content-editor-grid{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden}.content-editor-stages{border-right:1px solid #e5e7eb;overflow:auto;min-width:0}.content-editor-detail{overflow:auto;min-width:0}.content-readonly-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid #e5e7eb;background:#f8fafc;color:#374151;font-size:var(--font-sm);margin-bottom:var(--space-3)}@media (max-width: 1360px){.section-shell{grid-template-columns:198px minmax(0,1fr)}.content-editor-grid{grid-template-columns:200px minmax(0,1fr)}}@media (max-width: 1180px){.section-shell{grid-template-columns:190px minmax(0,1fr)}.secondary-panel-section:first-child{flex:0 1 36%;min-height:140px}.secondary-panel-section:last-child{min-height:180px}.content-editor-grid{grid-template-columns:1fr}.content-editor-stages{border-right:none;border-bottom:1px solid #e5e7eb;max-height:240px}}@media (max-width: 980px){.section-shell,.section-shell.side-collapsed{grid-template-columns:1fr}.section-side{border-right:none;border-bottom:1px solid #e5e7eb;max-height:48vh;overflow:auto}.section-shell.side-collapsed .section-side{max-height:68px}.section-shell.side-collapsed .workspace-sidepanel-rail{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:8px 10px;width:100%}.section-shell.side-collapsed .workspace-sidepanel-rail-hint{writing-mode:horizontal-tb;transform:none;font-size:11px}.section-shell.side-collapsed .workspace-sidepanel-rail-tabs{flex-direction:row;gap:8px;margin-top:0;margin-left:auto}.section-header{align-items:flex-start;flex-wrap:wrap}.section-actions{width:100%;justify-content:flex-start}.exercise-container,.exercise-container.is-regular{flex:1 1 120px;min-width:90px;max-width:none}.exercise-container.is-intro-outro{flex:1 1 70px;min-width:64px}}@media (max-width: 620px){.exercise-container,.exercise-container.is-regular{flex:1 1 min(48vw,160px);min-width:72px;max-width:none}.exercise-container.is-intro-outro{flex:1 1 min(34vw,80px);min-width:56px}.exercise-meta{font-size:11px;white-space:normal}.exercise-phase-line{white-space:normal;flex-wrap:wrap;justify-content:center}}.auth-screen{position:relative;height:100%;display:flex;align-items:center;justify-content:center;color:#6b7280}.auth-brand{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:.6rem}.auth-body{display:flex;flex-direction:column;align-items:center;gap:16px}.section-toolbar{padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.toolbar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-subrow{margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar-meta{font-size:12px;color:#9ca3af;min-height:16px}.toolbar-tools{display:inline-flex;gap:.5rem}.status-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid #fca5a5;background:#fee2e2;color:#991b1b;font-size:var(--font-sm)}.status-banner button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:var(--font-md)}.ui-readonly-scope .input,.ui-readonly-scope .select,.ui-readonly-scope .textarea{background:var(--readonly-surface-strong);border-color:var(--readonly-border);color:var(--readonly-text-strong)}.ui-readonly-scope .chip{background:#eef2f7;border-color:var(--readonly-border);color:var(--readonly-text);filter:saturate(.55);opacity:.92}.ui-readonly-scope .ui-readonly-accent{filter:saturate(.55);opacity:.82}.ui-readonly-surface{background:var(--readonly-surface)}.ui-readonly-media{border-color:var(--readonly-border)!important;background:var(--readonly-surface-strong)!important}.ui-readonly-overlay{position:relative}.ui-readonly-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--readonly-overlay);pointer-events:none;z-index:1}.input,.select{background:#fff;border:1px solid #d1d5db;color:var(--fg);padding:var(--space-2);border-radius:var(--radius-sm);min-width:7rem;font-size:var(--font-sm)}.input-sm,.select-sm{height:32px;line-height:32px;font-size:var(--font-sm)}.input-block,.select-block,.textarea-block,.btn-block{width:100%}.input-disabled{background:var(--color-bg-subtle)}.select,select.select{height:32px;line-height:32px}.select.required{border-color:#ef4444;animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:#ef4444}50%{border-color:#dc2626}}.btn{background:#4b5563;border:1px solid #374151;color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-size:var(--font-sm);line-height:var(--lh-tight);min-height:32px}.btn-sm{min-height:28px;padding:var(--space-1) var(--space-2);font-size:var(--font-sm)}.btn:hover{background:#374151;border-color:#1f2937}.btn.primary{background:#0284c7;border-color:#0369a1}.btn.primary:hover{background:#0369a1;border-color:#075985}.btn.secondary{background:#fff;border-color:#d1d5db;color:#374151}.btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn.danger{background:#ef4444;border-color:#dc2626;color:#fff}.btn.danger:hover{background:#dc2626;border-color:#b91c1c}.btn.success{background:#10b981;border-color:#059669;color:#fff}.btn.success:hover{background:#059669;border-color:#047857}.btn:disabled{opacity:.55;cursor:not-allowed}.main{display:grid;grid-template-columns:1fr 320px;height:100%;overflow:hidden}.content-area{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.panel{overflow:auto;flex:1;display:flex;flex-direction:column}.sidebar{border-left:0;background:#f9fafb;padding:.75rem;overflow:hidden;height:100%;display:flex;flex-direction:column}.hstack{display:flex;gap:.5rem;align-items:center}.vstack{display:flex;flex-direction:column;gap:.5rem}.section-title{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.rule{height:1px;background:#e5e7eb;margin:.5rem 0}.cueli{padding:.35rem .4rem;border-radius:.3rem;cursor:pointer;transition:background .15s ease}.cueli:hover{background:#f3f4f6}.cue-text{color:#374151;margin-top:4px;font-size:.85rem;line-height:1.4;opacity:.95}.badge{font-size:.72rem;color:#6b7280;border:1px solid #d1d5db;padding:.05rem .35rem;border-radius:.25rem}.small{font-size:.85rem;color:var(--muted)}.timeline-wrap{width:100%;overflow-x:auto;overflow-y:visible;position:relative}.timeline-lane-labels{position:sticky;left:0;top:0;width:0;height:0;z-index:2;pointer-events:none}.timeline-lane-labels-inner{position:absolute;left:0;top:0;background:linear-gradient(90deg,#f9fafb,#f9fafbe6 70%,#f9fafb00);border-right:1px solid #e5e7eb}.lane-label{position:absolute;left:12px;transform:translateY(-50%);font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ruler{position:sticky;top:0;background:#f9fafb;border-bottom:1px solid #e5e7eb;z-index:1}svg{display:block}.loader-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:10}.loader{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px;background:linear-gradient(135deg,#fff,#f3f4f6);border-radius:12px;box-shadow:0 4px 16px #0000001a;border:1px solid #e5e7eb}.loader-spinner{width:48px;height:48px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loader-spinner-small{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{color:#6b7280;font-size:14px;font-weight:600;text-align:center;animation:pulse 1.5s ease-in-out infinite}.loader-text-small{color:#6b7280;font-size:13px;font-weight:500;margin-left:8px}.script-loader{display:flex;align-items:center;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff;color:#111827;box-shadow:0 8px 24px #00000014}.card.auditioner{max-width:none;margin:0;box-shadow:0 2px 10px #0f172a14}.auditioner-page{border:none;border-radius:0;padding:0;background:transparent;color:#111827;box-shadow:none}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-title{margin:0;font-size:16px;font-weight:600}.section{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fff}.controls-row{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;margin-bottom:16px}.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.cue-list{flex:1;overflow-y:auto;overflow-x:hidden;display:grid;gap:6px;align-content:start}.cue-item{border:1px solid #e5e7eb;border-radius:6px;padding:6px;display:grid;gap:4px;width:100%;overflow:hidden}.cue-item-meta{font-size:11px;color:#6b7280;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px}.cue-item-meta-left{display:inline-flex;align-items:center;gap:6px;min-width:0}.lane-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid transparent;border-radius:999px;font-size:var(--font-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.cue-item-text{font-size:13px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%}.header-right-inline{display:flex;align-items:center;gap:8px}input[type=range]{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end}.form-col{display:flex;flex-direction:column;gap:4px}.session-anatomy{padding:10px 16px;margin:0;border-bottom:1px solid rgba(229,231,235,.8);flex-shrink:0;background:#f9fafb99}.anatomy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;row-gap:8px}.anatomy-title{margin:0;color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:12px}.session-duration{color:#9ca3af;font-size:11px;font-weight:400}.phase-legend-inline{display:flex;gap:8px;align-items:center;font-size:11px;color:#6b7280;flex-wrap:wrap}.exercise-flow{display:flex;align-items:stretch;justify-content:stretch;gap:4px;padding:0 var(--space-2) var(--space-1);overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scroll-padding-inline:var(--space-2)}.exercise-container{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 120px;min-width:88px;max-width:none;width:auto;align-items:stretch}.exercise-container.is-regular{flex:1 1 110px;min-width:82px;max-width:none}.exercise-container.is-intro-outro{flex:1 1 78px;min-width:80px}.exercise-block{padding:8px 7px 7px;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;border:1px solid rgba(229,231,235,.5);min-height:64px;justify-content:space-between;display:flex;flex-direction:column;text-align:center;width:100%}.exercise-block:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a;opacity:1!important;filter:brightness(1.05)}.legend-item{display:flex;align-items:center;gap:4px;color:#6b7280;font-size:11px}.legend-item span:first-child{font-size:13px;font-weight:700}.exercise-header-strip{margin:-8px -7px 5px;padding:4px 6px;border-bottom:1px solid rgba(148,163,184,.35);background:#fff9;color:#475569;font-size:10px;font-weight:600;letter-spacing:.02em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-title{color:#1f2937;font-weight:600;font-size:11px;margin-bottom:2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.exercise-cycle{color:#1f2937;font-size:var(--font-sm);font-weight:600;margin-bottom:2px}.exercise-meta{display:inline-flex;align-items:center;gap:0;font-size:var(--font-xs);color:#6b7280;margin-bottom:var(--space-2);justify-content:center;width:100%;white-space:nowrap;overflow:hidden}.exercise-meta--stacked{flex-direction:column;gap:2px}.exercise-meta--stacked span+span:before{content:none}.exercise-meta span+span:before{content:"•";margin-right:var(--space-2);color:#cbd5e1}.exercise-technique{font-weight:600;color:#475569;text-transform:capitalize}.exercise-phase-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:10px;margin-top:auto;white-space:normal;overflow:hidden;justify-content:center;width:100%}.phase-token{display:inline-flex;align-items:center;gap:4px;font-weight:600}.phase-token--approx{color:#64748b}.phase-icon{font-size:var(--font-md);line-height:1}.phase-time{font-size:var(--font-xs);font-weight:500;color:inherit;opacity:.9}.phase-dot{color:#cbd5e1;font-size:var(--font-sm)}.flow-arrow{color:#3a4451;font-size:12px;display:flex;align-items:center;height:auto;line-height:1;opacity:.5}.script-section{border-top:1px solid #e5e7eb;background:#f9fafb;padding:20px 24px;margin-top:auto}.script-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.script-content{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px;max-height:300px;overflow-y:auto}.script-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;color:#374151;font-size:13px;line-height:1.6;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;opacity:.95}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .2s ease}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,900px);max-width:900px;height:auto;max-height:80vh;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-md);z-index:1000;display:flex;flex-direction:column;animation:slideIn .3s ease;box-shadow:0 20px 60px #00000026}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-title{margin:0;font-size:var(--font-md);font-weight:600;color:#1a1a1a;text-transform:none;letter-spacing:0}.modal-actions{display:flex;gap:var(--space-2);align-items:center}.modal-body{flex:1;overflow:auto;padding:var(--space-4);background:#fff}.json-viewer{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--font-sm);line-height:var(--lh-relaxed);color:#374151}.json-key{color:#059669;font-weight:500}.json-string{color:#b45309}.json-number{color:#0369a1}.json-bool{color:#7c3aed;font-weight:600}.json-null{color:#dc2626;font-style:italic}.json-bracket{color:#6b7280;font-weight:600}.json-bracket.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.json-bracket.clickable:hover{color:#0284c7}.json-comma{color:#6b7280}.json-colon{color:#6b7280;margin:0 4px}.p-lg{padding:16px}.p-xl{padding:24px}.gap-sm{gap:8px}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.min-w-0{min-width:0}.min-w-140{min-width:140px}.min-w-180{min-width:180px}.bg-surface{background-color:#f9fafb}.text-muted{color:#6b7280}.text-error{color:#ef4444}.text-sm{font-size:12px}.text-lg{font-size:16px}.border{border:1px solid #e5e7eb}.border-b{border-bottom:1px solid #e5e7eb}.opacity-50{opacity:.5}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.hidden{display:none}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;border-radius:12px;border:1px solid var(--color-border-strong);background:var(--color-bg-subtle);color:var(--color-text-muted);font-weight:400;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;line-height:18px}.chip:hover:not(:disabled){border-color:#9ca3af;background:var(--color-bg-muted)}.chip:disabled{opacity:.5;cursor:not-allowed}.chip-sm{padding:2px 6px;font-size:10px;border-radius:8px;line-height:16px}.stepper-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-secondary);font-weight:500;cursor:pointer;flex-shrink:0}.stepper{display:inline-flex;align-items:center;gap:6px}.stepper-input{text-align:center;padding:4px 6px}.stepper-input-sm{width:56px}.stepper-input-md{width:48px}.stepper-input-wide{width:64px}.stepper-btn-sm{width:22px;height:22px;font-size:12px}.stepper-btn-md{width:28px;height:28px;font-size:14px}.stepper-suffix{font-size:var(--font-sm);color:var(--color-text-faint);margin-left:4px}.ui-gap-xs{gap:var(--space-1)}.ui-gap-sm{gap:var(--space-2)}.ui-gap-md{gap:var(--space-3)}.ui-gap-lg{gap:var(--space-4)}.ui-stack{display:flex;flex-direction:column}.ui-align-start{align-items:flex-start}.ui-align-center{align-items:center}.ui-align-end{align-items:flex-end}.ui-align-stretch{align-items:stretch}.ui-inline{display:flex}.ui-inline-wrap{flex-wrap:wrap}.ui-inline-align-start{align-items:flex-start}.ui-inline-align-center{align-items:center}.ui-inline-align-end{align-items:flex-end}.ui-surface{border-radius:var(--radius-md);padding:var(--space-3)}.ui-surface-bordered{border:1px solid var(--color-border)}.ui-surface-default{background:#fff}.ui-surface-subtle{background:var(--color-bg-subtle)}.ui-surface-muted{background:var(--color-bg-muted)}.stepper-btn:hover:not(:disabled){background:var(--color-bg-muted);border-color:var(--color-border-strong)}.stepper-btn:disabled{cursor:default;opacity:.5}.textarea{background:#fff;border:1px solid var(--color-border-strong);color:var(--fg);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-sm);resize:vertical;min-height:60px;font-family:inherit}.textarea-sm{font-size:var(--font-sm);padding:var(--space-2)}.textarea:disabled{background:var(--color-bg-subtle)}.textarea-disabled{background:var(--color-bg-subtle)}.textarea:focus{outline:none;border-color:var(--accent)}
