:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f9;color:#111827}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(20,184,166,.08),transparent 260px),#f6f7f9}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}label{display:grid;gap:6px;color:#475569;font-size:13px;font-weight:700}input,select,textarea{width:100%;max-width:100%;min-width:0;min-height:40px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;padding:9px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e29}.password-field{position:relative;display:grid}.password-field input{padding-right:46px}.password-toggle{position:absolute;top:4px;right:4px;display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:6px;background:transparent;color:#475569;padding:0}.password-toggle:hover,.password-toggle:focus-visible{background:#f1f5f9;color:#0f172a;outline:none}textarea{min-height:112px;resize:vertical;line-height:1.4}.app-shell{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:100vh}.access-shell{display:grid;min-height:100vh;place-items:center;padding:20px}.access-panel{display:grid;width:min(420px,100%);gap:16px;border:1px solid #dbe4ed;border-radius:8px;background:#fff;padding:22px;box-shadow:0 18px 42px #0f172a14}.access-disclaimer{margin:0;color:#64748b;font-size:13px;line-height:1.45}.sidebar{display:flex;flex-direction:column;gap:18px;border-right:1px solid #e2e8f0;background:#ffffffeb;padding:20px}.brand-row{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#0f766e;color:#fff;font-size:20px;font-weight:800}.brand-row h1,.brand-row p,.work-header h2,.work-header p,.section-heading h2,.section-heading h3{margin:0}.brand-row h1{font-size:22px;line-height:1.1}.brand-row p,.muted,.file-hint,.mode-copy,.voice-hint{color:#64748b}.import-panel,.work-list,.panel{display:grid;gap:14px}.section-heading{display:flex;align-items:center;gap:8px;color:#0f172a}.section-heading h2,.section-heading h3{font-size:15px}.file-hint,.error-text,.mode-copy,.muted,.voice-hint,.access-disclaimer{margin:0;font-size:13px;line-height:1.45}.error-text{color:#b91c1c;font-weight:700}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:40px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:9px 10px;color:#0f172a;font-size:13px;font-weight:800}.checkbox-row input{width:16px;min-width:16px;height:16px;min-height:16px;margin:0;accent-color:#0f766e}.primary-button,.secondary-button,.danger-button,.icon-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid transparent;padding:9px 12px;font-weight:800}.primary-button{background:#0f766e;color:#fff}.primary-button:hover:not(:disabled){background:#115e59}.secondary-button{border-color:#cbd5e1;background:#fff;color:#0f172a}.secondary-button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.jump-button{justify-content:center;width:100%}.danger-button{border-color:#fecaca;background:#fff1f2;color:#be123c}.danger-button:hover:not(:disabled){background:#ffe4e6}.icon-button{width:40px;padding:0;border-color:#cbd5e1;background:#fff;color:#0f172a}.work-items{display:grid;gap:8px}.work-item{display:grid;gap:3px;width:100%;min-height:76px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:12px;text-align:left;color:#64748b}.work-item.active{border-color:#0f766e;background:#ecfdf5;color:#334155}.work-title{color:#0f172a;font-size:15px;font-weight:800}.workspace{min-width:0;padding:24px}.empty-state{display:grid;min-height:calc(100vh - 48px);place-items:center;align-content:center;gap:12px;color:#475569;text-align:center}.empty-state h2{margin:0;color:#0f172a}.empty-state p{max-width:460px;margin:0}.work-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.work-header h2{font-size:28px;line-height:1.15}.eyebrow{margin:0 0 6px;color:#0f766e;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.header-actions,.button-row,.transport{display:flex;flex-wrap:wrap;gap:8px}.warning-band{display:grid;gap:6px;margin-bottom:16px;border-left:4px solid #a16207;background:#fffbeb;padding:12px;color:#713f12;font-size:13px;font-weight:700}.warning-band p{margin:0}.tabs{display:inline-flex;gap:4px;margin-bottom:18px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:4px}.tabs button{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:0;border-radius:6px;background:transparent;padding:7px 12px;color:#475569;font-weight:800}.tabs button.active{background:#0f172a;color:#fff}.setup-grid,.rehearsal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px;align-items:start}.panel{min-width:0;border:1px solid #e2e8f0;border-radius:8px;background:#fffffff0;padding:18px}.setup-grid>*,.rehearsal-layout>*{min-width:0}.characters-list{display:grid;gap:10px}.access-list{display:grid;gap:8px}.access-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) 40px;gap:8px;align-items:center}.access-note{display:flex;align-items:flex-start;gap:8px;border:1px solid #bae6fd;border-radius:8px;background:#f0f9ff;padding:10px;color:#075985;font-size:13px;font-weight:750;line-height:1.35}.access-note svg{flex:0 0 auto;margin-top:1px}.invite-box{display:grid;gap:10px;border:1px solid #dbe4ed;border-radius:8px;background:#f8fafc;padding:12px}.character-row{display:grid;grid-template-columns:16px minmax(120px,.7fr) 112px minmax(220px,1.4fr) 40px;gap:10px;align-items:center}.character-swatch{width:12px;height:32px;border-radius:8px}.voice-gender-filter{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:112px;min-height:40px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:3px}.gender-button{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:#475569;font-weight:900}.gender-button:hover{background:#f1f5f9}.gender-button.active{background:#0f766e;color:#fff}.voice-select-control{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:6px;align-items:center;min-width:0}.voice-select-control select{min-width:0}.voice-preview-button{height:40px}.character-profile-input{grid-column:2 / 6;min-height:64px}.character-profile-summary{grid-column:2 / 6;margin:-4px 0 0;color:#64748b;font-size:12px;font-weight:800;line-height:1.35}.summary-list{display:grid;gap:10px}.session-summary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px 10px;border:1px solid #dbe4ed;border-radius:8px;background:#f8fafc;padding:10px}.session-summary span{color:#64748b;font-size:13px;font-weight:800}.session-summary strong{min-width:0;overflow-wrap:anywhere;color:#0f172a;font-size:13px;text-align:right}.summary-list div{display:flex;min-width:0;min-height:46px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e8f0}.summary-list div:last-child{border-bottom:0}.summary-list span{color:#64748b;font-size:13px}.summary-list strong{display:block;min-width:0;max-width:58%;color:#0f172a;font-size:14px;text-align:right;overflow-wrap:anywhere}.rehearsal-layout{grid-template-columns:320px minmax(0,1fr)}.rehearsal-controls{position:sticky;top:18px}.script-stage{display:grid;gap:14px;min-width:0}.stage-meta{display:flex;flex-wrap:wrap;gap:8px}.stage-meta span{border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:6px 10px;color:#475569;font-size:12px;font-weight:800}.line-card{display:grid;min-height:260px;gap:18px;align-content:start;border:1px solid #dbe4ed;border-radius:8px;background:#fff;padding:26px;box-shadow:0 18px 42px #0f172a14}.line-card.speaking{border-color:#0f766e;box-shadow:0 18px 42px #0f766e29}.line-card.own-line{border-color:#fdba74;background:linear-gradient(180deg,#fff7ed,#fff 74%);box-shadow:0 18px 42px #c2410c24}.line-card.own-line.speaking{border-color:#f97316;box-shadow:0 18px 42px #c2410c2e}.line-character{display:flex;align-items:center;gap:10px;color:#0f172a}.line-character span{width:14px;height:14px;border-radius:999px}.line-text{margin:0;color:#111827;font-size:28px;line-height:1.35}.hidden-line{display:grid;gap:12px;max-width:520px}.hidden-line p{margin:0;color:#475569;font-size:20px;font-weight:800}.page-preview{display:grid;gap:10px}.page-preview h3{margin:0;font-size:15px}.upcoming-lines{display:grid;gap:8px}.upcoming-line{display:grid;grid-template-columns:54px 150px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:48px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:9px 12px;color:#475569;text-align:left}.upcoming-line:hover{border-color:#94a3b8;background:#f8fafc}.upcoming-line.own-line{border-color:#fdba74;background:#fff7ed;box-shadow:inset 4px 0 #f97316}.upcoming-line.own-line:hover{border-color:#fb923c;background:#ffedd5}.upcoming-line strong{color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-line span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #e2e8f0}.setup-grid,.rehearsal-layout{grid-template-columns:1fr}.rehearsal-controls{position:static}.empty-state{min-height:420px}}@media (max-width: 680px){.workspace,.sidebar{padding:14px}.work-header{display:grid}.work-header h2{font-size:24px}.character-row{grid-template-columns:16px 1fr 40px}.character-row>.icon-button{grid-column:3;grid-row:1}.voice-gender-filter{grid-column:2 / 4;justify-content:flex-start}.character-row select,.character-row .voice-select-control{grid-column:2 / 4}.character-row .voice-select-control select{grid-column:auto}.character-profile-input,.character-profile-summary{grid-column:2 / 4}.access-row{grid-template-columns:1fr 40px}.access-row input:first-child{grid-column:1;grid-row:1}.access-row select{grid-column:1 / 3}.access-row>.icon-button{grid-column:2;grid-row:1}.line-card{min-height:220px;padding:18px}.line-text{font-size:22px}.empty-state{min-height:360px;padding:28px 0}.upcoming-line{grid-template-columns:50px minmax(0,1fr)}.upcoming-line span:last-child{grid-column:1 / 3}}
