.prompter-stage{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#000}.prompter-viewport{position:relative;width:100%;height:100%;overflow:hidden;cursor:none;transform-origin:center center;transform-style:preserve-3d;backface-visibility:hidden}.prompter-transform-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform-origin:center center;transform-style:preserve-3d;backface-visibility:hidden}.prompter-link-indicator{position:absolute;top:.9rem;right:1rem;width:10px;height:10px;border-radius:50%;z-index:22}.prompter-link-indicator.connected{background:#2ecc71;box-shadow:0 0 8px #2ecc71e6}.prompter-link-indicator.disconnected{background:#e74c3c;box-shadow:0 0 8px #e74c3ce6}.prompter-voice-indicator{position:absolute;top:.7rem;left:1rem;z-index:22;color:#ff3b30;font-size:1.25rem;line-height:1;text-shadow:0 0 10px rgba(255,59,48,.85)}.prompter-voice-status{position:absolute;top:2.25rem;left:.9rem;z-index:22;font-size:.68rem;line-height:1;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:.32rem .45rem;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:#0000008f;color:#d5d8dc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prompter-voice-status.status-listening{color:#7bed9f;border-color:#7bed9f80}.prompter-voice-status.status-starting,.prompter-voice-status.status-waiting{color:#ffe082;border-color:#ffe08280}.prompter-voice-status.status-no-speech{color:#ffb86b;border-color:#ffb86b73}.prompter-voice-status.status-error{color:#ff6b6b;border-color:#ff6b6b8c}.prompter-project-title{position:absolute;top:.85rem;left:50%;transform:translate(-50%);z-index:22;width:fit-content;min-width:min(24vw,220px);max-width:calc(100% - 3rem);padding:.42rem .8rem;border-radius:10px;background:#606060e8;border:1.5px solid rgba(255,255,255,.28);color:#f3f3f3;text-align:center;box-shadow:0 8px 20px #0000003d}.prompter-project-title-label{display:block;margin-bottom:.14rem;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:#fffc}.prompter-project-title strong{display:block;font-size:.88rem;line-height:1.25;word-break:break-word}.prompter-content{position:absolute;top:0;left:0;width:100%;max-width:100%;padding:0 8%;box-sizing:border-box;will-change:transform;transform:translateY(0)}.prompter-segment{padding-block:.25em}.prompter-segment[data-directors-note]{opacity:.4;font-style:italic}.prompter-end-pad{height:70vh}.cue-marker{position:absolute;left:0;width:100%;height:3px;background:#ff5000b3;pointer-events:none;z-index:10;box-shadow:0 0 8px #ff500080}.prompter-status-overlay{position:absolute;bottom:1rem;right:1.5rem;font-size:.75rem;font-family:monospace;color:#fff6;letter-spacing:.15em;pointer-events:none;z-index:20}.control-panel{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.btn{padding:.4rem .9rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-size:1rem;transition:background .1s}.btn:hover{background:var(--hover)}.btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--play{background:#27ae60;color:#fff;border-color:#27ae60}.btn--pause{background:#f39c12;color:#fff;border-color:#f39c12}.btn--stop{background:#2980b9;color:#fff;border-color:#2980b9}.btn--restart{background:#8e44ad;color:#fff;border-color:#8e44ad}.btn--voice-on{background:#c0392b;color:#fff;border-color:#c0392b}.btn--voice-off{background:#7f8c8d;color:#fff;border-color:#7f8c8d}.btn--play:hover{background:#2ecc71}.btn--pause:hover{background:#f1c40f}.btn--stop:hover{background:#3498db}.btn--restart:hover{background:#9b59b6}.btn--voice-on:hover{background:#e74c3c}.btn--voice-off:hover{background:#95a5a6}.transport-buttons,.voice-quick-controls{display:flex;gap:.3rem}.speed-control{display:flex;align-items:center;gap:.4rem;flex:1;min-width:200px}.speed-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap;display:flex;align-items:baseline;gap:4px}.speed-value{font-variant-numeric:tabular-nums;min-width:3ch;text-align:right;color:var(--text);font-weight:600}.speed-unit{font-size:.7em;color:var(--text-muted)}.speed-input{width:7rem;padding:.3rem .45rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:.9rem}.speed-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.btn--nudge{padding:.3rem .6rem;font-size:1.1rem;line-height:1}.mirror-controls{display:flex;gap:.3rem}.btn--mirror{font-size:.8rem;padding:.35rem .7rem}.rotation-controls{display:flex;align-items:center;gap:.3rem}.btn--rotate{font-size:.8rem;padding:.35rem .7rem}.rotation-value{font-size:.85rem;min-width:2.5rem;text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums}@media(max-width:1024px){.control-panel{gap:.55rem;padding:.45rem .6rem}.transport-buttons,.voice-quick-controls,.mirror-controls,.rotation-controls{flex-wrap:wrap}.btn{padding:.34rem .62rem;font-size:.88rem}.speed-control{flex:1 1 100%;min-width:0;justify-content:space-between;gap:.3rem}.speed-input{width:5.4rem}}@media(max-width:680px){.control-panel{display:grid;grid-template-columns:1fr}.transport-buttons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.18rem}.speed-label{font-size:.74rem}.btn--nudge{padding:.26rem .5rem}}.app{display:grid;grid-template-rows:auto auto 1fr;grid-template-columns:1fr;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);position:relative}.app.output-only{grid-template-rows:1fr}.app.output-only .app-workspace{grid-row:1}.brand-site{min-height:100dvh;padding:2rem clamp(1rem,3vw,2.5rem);color:#f6f7fb;background:radial-gradient(circle at top left,rgba(255,59,48,.18),transparent 32%),radial-gradient(circle at top right,rgba(255,255,255,.09),transparent 28%),linear-gradient(160deg,#08111c,#0b1624 38%,#09131f)}.brand-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:1.25rem;align-items:stretch}.brand-hero-copy,.brand-hero-panel,.brand-card,.brand-legal-box{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#0a1018cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 50px #0000003d}.brand-hero-copy{padding:clamp(1.3rem,3vw,2.2rem)}.brand-kicker{margin:0 0 .8rem;color:#e4ebf7b8;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.brand-hero h1{margin:0;display:grid;gap:.8rem;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.94}.brand-wordmark{display:inline-flex;flex-wrap:wrap;gap:.08em;letter-spacing:-.04em}.brand-red{color:#ff3b30;font-weight:900}.brand-white{color:#f7f8fb;font-weight:700}.brand-hero-subtitle{font-size:clamp(1rem,2vw,1.45rem);line-height:1.15;color:#d9e4f3}.brand-hero-text{max-width:64ch;margin:1rem 0 0;color:#c7d3e1;font-size:1.02rem;line-height:1.65}.brand-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}.brand-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#f6f7fb;text-decoration:none;font-weight:700;background:#ffffff0a}.brand-cta--primary{background:linear-gradient(135deg,#ff3b30,#ff5f57);border-color:transparent;color:#fff}.brand-hero-panel{padding:1rem;display:grid;gap:.75rem}.brand-stat{padding:.9rem 1rem;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09)}.brand-stat-label{display:block;margin-bottom:.2rem;color:#e4ebf7ad;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.brand-grid,.brand-details{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.brand-card,.brand-legal-box{padding:1rem 1.1rem}.brand-card h2,.brand-legal-box h2{margin:0 0 .55rem;font-size:1.02rem}.brand-card p,.brand-legal-box p{margin:0;color:#c8d4e2;line-height:1.55}.brand-details{margin-top:1rem}.app-header{grid-row:1;display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#000;border-bottom:1px solid #1a1a1a;color:#f3f3f3;height:48px}.app-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;white-space:nowrap}.logo-icon{font-size:1.2rem}.logo-text{letter-spacing:-.01em}.brand-red{color:#ff3b30;font-weight:800;letter-spacing:.01em}.brand-white{color:#fff;font-weight:700}.brand-gap{margin-left:.1rem}.beta-badge{display:inline-block;padding:.1em .45em;border-radius:3px;background:#e65c00;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;line-height:1.5;-webkit-user-select:none;user-select:none}.beta-warning{display:inline-block;padding:.1em .45em;border-radius:3px;background:#5a1f1f;color:#ffe1e1;font-size:.62rem;font-weight:700;letter-spacing:.02em;line-height:1.5;-webkit-user-select:none;user-select:none}.restart-hint{display:inline-block;padding:.1em .45em;border-radius:3px;background:#132018;color:#bff6cd;font-size:.62rem;font-weight:700;letter-spacing:.02em;line-height:1.5;-webkit-user-select:none;user-select:none}.license-hint{display:inline-block;padding:.1em .45em;border-radius:3px;background:#2c2f36;color:#d9e6ff;font-size:.62rem;font-weight:700;letter-spacing:.02em;line-height:1.5;-webkit-user-select:none;user-select:none}.room-hint{display:inline-block;padding:.1em .45em;border-radius:3px;background:#1c2533;color:#d3e7ff;font-size:.62rem;font-weight:700;letter-spacing:.02em;line-height:1.5;-webkit-user-select:text;user-select:text}.room-copy-btn{border:1px solid #334154;border-radius:3px;background:#152131;color:#d3e7ff;padding:.12rem .45rem;font-size:.62rem;font-weight:700;letter-spacing:.02em;cursor:pointer}.room-copy-btn:hover{background:#1c2c41}.license-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000c;display:grid;place-items:center;padding:1rem}.license-gate-card{width:min(680px,100%);border:1px solid #2f2f2f;border-radius:8px;background:#141414;color:#f3f3f3;padding:1rem;display:grid;gap:.6rem}.license-gate-card h2{margin:0;font-size:1.15rem}.license-gate-card p{margin:0;color:#cfd2d9}.license-gate-card label{font-size:.85rem;color:#b8bfca}.license-gate-card textarea{width:100%;resize:vertical;min-height:90px;border-radius:4px;border:1px solid #373737;background:#0e0e0e;color:#f5f5f5;padding:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.license-gate-actions{display:flex;gap:.5rem;flex-wrap:wrap}.license-gate-actions button{border:1px solid #3a3a3a;border-radius:4px;background:#1d1d1d;color:#f3f3f3;padding:.45rem .8rem;cursor:pointer}.license-gate-actions button:disabled{opacity:.65;cursor:not-allowed}.license-gate-message{color:#c7f9d1}.license-gate-reason{color:#f7b4b4;font-size:.85rem}.view-switcher{display:flex;gap:.25rem;margin-left:auto}.view-btn{padding:.25rem .7rem;border:1px solid #3a3a3a;border-radius:3px;background:transparent;color:#d3d3d3;cursor:pointer;font-size:.82rem;transition:background .1s,color .1s}.view-btn:hover{background:#1b1b1b;color:#fff}.view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.settings-toggle{padding:.25rem .7rem;border:1px solid #3a3a3a;border-radius:3px;background:transparent;color:#d3d3d3;cursor:pointer;font-size:1rem;transition:background .1s}.settings-toggle:hover{background:#1b1b1b}.app-workspace{grid-row:3;display:flex;overflow:hidden;flex:1}.editor-pane{flex:1;min-width:0;overflow:hidden;border-right:1px solid var(--border);display:flex;flex-direction:column}.editor-template-row{display:flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,#000 8%)}.editor-template-label{min-width:170px;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.editor-template-search,.editor-template-select{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.35rem .45rem;font-size:.82rem}.editor-template-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:.35rem .55rem;cursor:pointer;white-space:nowrap;font-size:.8rem}.editor-template-btn:disabled{opacity:.45;cursor:not-allowed}.editor-scroll{flex:1;overflow-y:auto;padding:.75rem}.prompter-pane{flex:1;min-width:0;overflow:hidden;position:relative}.view-split .editor-pane{flex:0 0 40%}.view-split .prompter-pane{flex:1}.view-editor .prompter-pane,.view-prompter .editor-pane{display:none}.editor-title-bar{display:grid;gap:.45rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--surface)}.project-title-banner{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;width:fit-content;max-width:100%;align-self:start;padding:.45rem .7rem;border:1.5px solid rgba(255,255,255,.28);border-radius:8px;background:#606060e8;color:#f3f3f3;box-shadow:0 4px 14px #00000038}.project-title-banner-label{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:#ffffffc7}.project-title-banner-value{font-size:.86rem;font-weight:700;text-align:left;line-height:1.2;word-break:break-word}.project-title-toggle-btn{justify-self:start;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:.35rem .55rem;cursor:pointer;font-size:.8rem}.project-title-toggle-btn:hover{background:var(--hover)}.project-title-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.project-title-inline-control{display:inline-flex;align-items:center;gap:.42rem;padding:.32rem .5rem;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--surface) 92%,#000 8%);color:var(--text);font-size:.76rem}.project-title-inline-control span{color:var(--text-muted)}.project-title-inline-control strong{font-size:.75rem}.project-title-inline-control input[type=range]{width:120px}.project-title-inline-color input[type=color]{width:32px;height:24px;border:none;background:transparent;padding:0;cursor:pointer}.script-title-input{width:100%;background:transparent;border:none;border-radius:3px;color:var(--text);font-size:1rem;font-weight:600;padding:.25rem .4rem;outline:none;transition:box-shadow .1s}.script-title-input:focus{box-shadow:inset 0 0 0 2px var(--accent)}.script-title-input::placeholder{color:var(--text-muted);font-weight:400}.add-segment-btn{display:block;width:100%;padding:.6rem;margin-top:.5rem;border:1px dashed var(--border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:background .1s,color .1s}.add-segment-btn:hover{background:var(--hover);color:var(--text)}.settings-drawer{position:fixed;top:0;right:0;width:min(420px,100vw);height:100%;background:var(--bg);border-left:1px solid var(--border);z-index:100;overflow-y:auto;box-shadow:-4px 0 16px #0000004d;animation:slideIn .18s ease}.settings-loading{padding:1rem;color:var(--text-muted);font-size:.9rem}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:768px){.view-split .editor-pane,.view-split .prompter-pane{flex:1}.view-split .editor-pane{display:none}.settings-drawer{width:100%}.editor-template-row{flex-wrap:wrap}.editor-template-label{min-width:100%}.logo-text,.beta-warning,.restart-hint,.license-hint{display:none}}@media(max-width:1024px){.app-header{height:auto;min-height:48px;align-items:flex-start;flex-wrap:wrap;row-gap:.4rem;padding:.5rem .65rem}.app-logo{flex-wrap:wrap;row-gap:.22rem;max-width:100%;white-space:normal;gap:.7rem;font-size:1.12rem}.logo-icon{font-size:1.52rem}.beta-badge,.beta-warning,.restart-hint,.license-hint,.room-hint,.room-copy-btn{font-size:.7rem}.room-copy-btn{padding:.18rem .55rem}.view-switcher{margin-left:0;width:100%;justify-content:flex-start;order:2;gap:.55rem}.view-btn{padding:.58rem 1.05rem;font-size:1.02rem;min-height:40px}.settings-toggle{margin-left:auto;order:1;padding:.58rem 1.05rem;font-size:1.15rem;min-height:40px}.editor-template-row{flex-wrap:wrap}.editor-template-label{min-width:100%}}@media(max-width:900px){.brand-hero,.brand-grid,.brand-details{grid-template-columns:1fr}}@media(max-width:680px){.app-workspace{min-height:0}.editor-scroll{padding:.55rem}.project-title-controls{gap:.45rem}.project-title-inline-control input[type=range]{width:96px}.room-hint{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}:root{--bg: #f5f5f5;--surface: #ffffff;--border: #ddd;--text: #1a1a1a;--text-muted: #666;--hover: #e8e8e8;--accent: #0066cc;--accent-warning: #e67e22;--accent-info: #2980b9;color-scheme:light dark}:root,.dark-mode{--bg: #0a0a0a;--surface: #141414;--border: #2a2a2a;--text: #e8e8e8;--text-muted: #888;--hover: #1e1e1e;--accent: #4d94ff;--accent-warning: #f39c12;--accent-info: #5dade2;color-scheme:dark}.light-mode{--bg: #f5f5f5;--surface: #ffffff;--border: #ddd;--text: #1a1a1a;--text-muted: #666;--hover: #e8e8e8;--accent: #0066cc;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
