@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#242220;font-synthesis:none;text-rendering:optimizelegibility;--ink:#242220;--muted:#766f66;--paper:#fffefa;--canvas:#f5f2ec;--line:#ddd7ce;--red:#dd4b3e;--red-dark:#b8372d;--selection:#496f91;--selection-soft:#e8f1f7;--sage:#6a806b;--sage-soft:#e5ece3;--shadow:0 18px 60px #3a302617;background:#f5f2ec;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}audio{width:100%;height:42px}.app-shell{background:radial-gradient(circle at 85% 12%, #dd4b3e0f, transparent 30%), var(--canvas);min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#fffefae6;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--ink);letter-spacing:-.1em;border-radius:50%;place-items:center;width:36px;height:36px;font-family:DM Mono,monospace;font-size:12px;display:grid}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 20px;font-weight:700;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.45}.button.primary{color:#fff;background:var(--ink)}.button.primary:hover:not(:disabled){background:#000}.button.secondary{color:var(--ink);background:var(--paper);border-color:var(--line)}.button.ghost{color:var(--muted);background:0 0}.button.record{color:#fff;background:var(--red);box-shadow:0 9px 24px #dd4b3e3d}.button.stop,.button.danger{color:#fff;background:var(--red-dark)}.button.compact{min-height:40px;padding-inline:16px;font-size:13px}.button.full{width:100%}.record-dot{border:2px solid;border-radius:50%;width:10px;height:10px}.dashboard{max-width:1180px;margin:0 auto;padding:72px 28px 100px}.hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:40px;min-height:360px;margin-bottom:64px;padding:40px 4vw 60px;display:flex}.eyebrow{color:var(--red);letter-spacing:.16em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.hero h1{letter-spacing:-.065em;max-width:760px;margin:18px 0;font-size:clamp(48px,7vw,92px);line-height:.95}.hero h1 em{color:var(--red);font-family:Georgia,serif;font-weight:400}.hero p{max-width:600px;color:var(--muted);margin:0;font-size:18px;line-height:1.65}.hero-action{flex:none;margin-bottom:8px}.section-heading,.pane-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.section-heading h2,.pane-heading h1,.pane-heading h2{letter-spacing:-.04em;margin:7px 0 0}.section-heading h2{font-size:32px}.section-heading>span,.pane-heading>span{color:var(--muted);font-family:DM Mono,monospace;font-size:12px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px;display:grid}.project-card{appearance:none;border:1px solid var(--line);color:inherit;text-align:left;background:var(--paper);border-radius:16px;padding:25px;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 4px 20px #3a30260a}.project-card:hover{box-shadow:var(--shadow);border-color:#bbb3a8;transform:translateY(-4px)}.project-card-top,.progress-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-icon{background:var(--sage-soft);width:38px;height:38px;color:var(--sage);border-radius:10px;place-items:center;display:grid}.project-date,.project-count,.project-card p{color:var(--muted);font-size:12px}.project-card h3{letter-spacing:-.03em;margin:26px 0 8px;font-size:20px}.project-card p{margin:0 0 24px}.progress{background:#e8e3db;border-radius:99px;flex:1;height:5px;overflow:hidden}.progress span,.workspace-progress span{background:var(--red);height:100%;display:block}.progress-row strong{font-family:DM Mono,monospace;font-size:11px}.project-count{margin-top:9px;display:block}.empty-state{text-align:center;background:#fffefa8c;border:1px dashed #cfc7bc;border-radius:18px;margin-top:28px;padding:70px 24px}.empty-state h3{margin:12px 0 6px;font-size:24px}.empty-state p{color:var(--muted)}.empty-icon{color:var(--red);font-size:38px}.project-dialog{width:min(620px,100vw - 28px);max-height:calc(100vh - 28px);color:var(--ink);background:var(--paper);border:0;border-radius:20px;padding:0;overflow:auto;box-shadow:0 30px 100px #1d181440}.project-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f1b1794}.confirmation-dialog{width:min(470px,100vw - 28px);color:var(--ink);background:var(--paper);border:0;border-radius:20px;padding:0;box-shadow:0 30px 100px #1d181447}.confirmation-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1f1b17a8}.confirmation-content{text-align:center;justify-items:center;padding:38px;display:grid}.confirmation-icon{width:52px;height:52px;color:var(--red-dark);background:#fae6e3;border-radius:50%;place-items:center;margin-bottom:20px;font-family:Georgia,serif;font-size:27px;font-weight:700;display:grid}.confirmation-content h2{letter-spacing:-.045em;margin:9px 0 10px;font-size:30px}.confirmation-content p{color:var(--muted);margin:0;line-height:1.65}.confirmation-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:28px;display:grid}.project-dialog form,.dialog-content{padding:40px;position:relative}.project-dialog h2{letter-spacing:-.05em;margin:8px 0;font-size:34px}.project-dialog p{color:var(--muted);margin:0 0 28px;line-height:1.6}.dialog-close{width:36px;height:36px;color:var(--muted);background:#f0ece6;border:0;border-radius:50%;font-size:24px;position:absolute;top:18px;right:18px}label{letter-spacing:.02em;gap:8px;margin-bottom:20px;font-size:12px;font-weight:800;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:0;padding:12px 14px}input:focus,textarea:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px #dd4b3e1a}textarea{resize:vertical;min-height:210px;line-height:1.55}.mode-tabs{background:#eee9e1;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:4px;display:grid}.mode-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:10px;font-size:12px;font-weight:700}.mode-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #28231e14}.script-file-picker{background:radial-gradient(circle at 92% 8%,#dd4b3e17,#0000 36%),#faf8f3;border:1px dashed #b8afa4;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:168px;margin-bottom:20px;padding:24px;transition:border-color .16s,background .16s,transform .16s;display:grid;position:relative;overflow:hidden}.script-file-picker:after{content:"";pointer-events:none;border:1px solid #ffffffb8;border-radius:11px;position:absolute;inset:7px}.script-file-picker.dragging{border-color:var(--red);background:#fcebe8;transform:scale(1.01)}.script-file-picker.has-file{background:radial-gradient(circle at 92% 8%,#496f4e1f,#0000 36%),#f3f6f0;border-style:solid;border-color:#a9b9a0}.script-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker-icon{z-index:1;color:#fff;background:var(--ink);border-radius:14px;place-items:center;width:52px;height:52px;font-family:DM Mono,monospace;font-size:22px;display:grid;position:relative;box-shadow:0 10px 24px #1d181429}.has-file .file-picker-icon{background:var(--sage)}.file-picker-copy{z-index:1;gap:7px;min-width:0;display:grid;position:relative}.file-picker-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.file-picker-copy span{color:var(--muted);font-size:11px;font-weight:500;line-height:1.5}.file-picker-actions{z-index:1;justify-items:center;gap:8px;display:grid;position:relative}.file-picker-button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;margin:0;padding:0 16px;font-size:12px;font-weight:800;transition:border-color .15s,transform .15s;display:inline-flex;box-shadow:0 3px 10px #28231e0f}.file-picker-button:hover{border-color:var(--red);transform:translateY(-1px)}.script-file-input:focus-visible+.file-picker-icon{outline-offset:3px;outline:3px solid #dd4b3e3d}.file-picker-remove{color:var(--muted);background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.file-picker-error{color:var(--red-dark);margin:-10px 0 20px;font-size:12px;font-weight:700}.notice{border-radius:9px;padding:13px 16px;font-size:13px}.notice.error{color:#822b24;background:#fae6e3;border:1px solid #edc1bb;margin:14px 0}.page-loading{text-align:center;place-content:center;gap:14px;min-height:100vh;display:grid}.workspace-topbar{padding-inline:28px}.workspace-title{flex:1;display:grid}.workspace-title strong{font-size:14px}.workspace-title span{color:var(--muted);font-size:11px}.header-actions{align-items:center;gap:10px;display:flex}.menu{position:relative}.menu summary{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;place-items:center;width:42px;height:42px;list-style:none;display:grid}.menu[open]{z-index:25}.menu button{border:1px solid var(--line);text-align:left;background:var(--paper);width:170px;padding:12px 16px;position:absolute;top:48px;right:0}.menu button:first-of-type{border-radius:10px 10px 0 0}.menu button:last-of-type{border-top:0;border-radius:0 0 10px 10px;top:89px}.danger-text,.error-text{color:var(--red-dark)!important}.workspace-progress{z-index:19;background:#e7e1d8;height:3px;position:sticky;top:72px}.workspace{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:calc(100vh - 75px);display:grid}.script-pane,.recording-pane{padding:42px clamp(24px,4vw,64px) 100px}.script-pane{border-right:1px solid var(--line);background:var(--paper)}.recording-pane{background:var(--canvas)}.pane-heading h1{max-width:520px;font-size:clamp(34px,4vw,52px)}.helper{color:var(--muted);font-size:13px;line-height:1.6}.section-list{gap:9px;margin-top:30px;display:grid}.section-filters{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.section-filters button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--paper);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.section-filters button span{min-width:20px;color:var(--muted);background:#eeeae4;border-radius:999px;padding:2px 6px;font-family:DM Mono,monospace;font-size:9px}.section-filters button.active{color:#fff;border-color:var(--selection);background:var(--selection)}.section-filters button.active span{color:var(--selection);background:#fff}.section-filter-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;padding:28px;font-size:12px}.script-section-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.script-section{width:100%;color:var(--ink);text-align:left;white-space:pre-wrap;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:32px 1fr;align-items:start;gap:13px;padding:15px 16px;line-height:1.65;display:grid}.script-section:hover:not(:disabled){background:#faf7f2;border-color:#d7d0c7}.script-section.selected{border-color:var(--selection);background:var(--selection-soft);box-shadow:inset 3px 0 0 var(--selection)}.script-section.selected .section-index{color:#fff;border-color:var(--selection);background:var(--selection)}.script-section.recorded{color:#79746d;opacity:.75;background:#f1f4ee}.script-section.skipped{color:#716758;opacity:1;background:#f2eee7;border-color:#d8cdbc}.section-index{width:25px;height:25px;color:var(--muted);border:1px solid #cfc7bd;border-radius:50%;place-items:center;font-family:DM Mono,monospace;font-size:10px;display:grid}.recorded .section-index{color:#fff;border-color:var(--sage);background:var(--sage)}.skipped .section-index{color:#fff;background:#8a7655;border-color:#8a7655}.section-status-action{border:1px solid var(--line);width:70px;color:var(--muted);background:#faf8f4;border-radius:9px;font-size:10px;font-weight:800}.section-status-action:hover:not(:disabled){color:#6d5837;background:#f3ede2;border-color:#b9a889}.section-status-action.restore{color:var(--selection);background:var(--selection-soft);border-color:#b9cad8}.section-status-action:disabled{cursor:wait;opacity:.55}.range-builder{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-bottom:12px;padding:12px}.range-builder>span{margin-bottom:10px;font-size:12px;font-weight:800;display:block}.range-builder>div{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.range-builder button{border:1px solid var(--line);color:var(--ink);background:#faf8f4;border-radius:7px;padding:8px 5px;font-size:10px;font-weight:700}.range-builder button:disabled{opacity:.35}.recorder-panel{background:var(--paper);box-shadow:var(--shadow);border:1px solid #d7d0c5;border-radius:18px;padding:clamp(22px,3.5vw,38px)}.recorder-panel h2{letter-spacing:-.04em;margin:8px 0 20px}.teleprompter{color:#1f1d1a;white-space:pre-wrap;background:#f4f0e9;border-radius:12px;align-content:center;min-height:180px;max-height:44vh;padding:30px;font-family:Georgia,serif;font-size:clamp(19px,2vw,28px);line-height:1.65;display:grid;overflow:auto}.recorder-tools{grid-template-columns:1fr 100px auto;align-items:end;gap:10px;margin-top:18px;display:grid}.recorder-tools label{margin:0}.recorder-tools select{padding-block:10px}.meter{border:1px solid var(--line);background:#f4f1eb;border-radius:8px;align-items:center;height:40px;padding:4px;display:flex}.meter span{background:linear-gradient(90deg, var(--sage), #d6a944, var(--red));border-radius:5px;min-width:2px;height:100%;transition:width 80ms linear;display:block}.test-playback{grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:12px;font-size:11px;font-weight:800;display:grid}.recording-stage{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:120px;margin-top:24px;display:grid}.button-row{justify-content:center;gap:10px;display:flex}.countdown{color:var(--red);font-family:DM Mono,monospace;font-size:84px;font-weight:500;animation:1s infinite count}@keyframes count{0%{opacity:.4;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.recording-live{color:var(--red);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:11px}.recording-live span{background:var(--red);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3}}.timer{font-family:DM Mono,monospace;font-size:38px}.saving{align-items:center;gap:10px;display:flex}.spinner{border:2px solid #d6d0c8;border-top-color:var(--red);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.recorder-placeholder{text-align:center;border:1px dashed #c9c0b5;border-radius:18px;place-content:center;justify-items:center;min-height:320px;padding:35px;display:grid}.recorder-placeholder>span{color:var(--red);font-size:30px}.recorder-placeholder h2{margin:12px 0 5px}.recorder-placeholder p{max-width:400px;color:var(--muted);font-size:13px;line-height:1.6}.complete-callout{gap:12px;margin-top:20px;display:grid}.saved-clips{margin-top:42px}.saved-clips .pane-heading h2{font-size:24px}.clip-card{border:1px solid var(--line);background:var(--paper);border-radius:11px;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr);align-items:center;gap:12px 18px;margin-top:12px;padding:17px;display:grid}.clip-card>div:first-child{display:grid}.clip-number{font-size:12px;font-weight:800}.clip-meta{color:var(--muted);margin-top:4px;font-family:DM Mono,monospace;font-size:9px}.clip-actions{border-top:1px solid #eee9e2;grid-column:1/-1;gap:16px;padding-top:10px;display:flex}.text-button{color:var(--sage);background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.floating-notice{z-index:40;width:min(560px,100vw - 28px);box-shadow:var(--shadow);position:fixed;top:86px;left:50%;transform:translate(-50%)}.floating-notice button{float:right;color:inherit;background:0 0;border:0;font-size:18px}@media (width<=960px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.script-pane{border-right:0;border-bottom:1px solid var(--line)}.recording-pane{padding-top:30px}}@media (width<=680px){.topbar{min-height:64px;padding:0 16px}.brand>span:last-child{display:none}.dashboard{padding:35px 16px 70px}.hero{min-height:auto;margin-bottom:42px;padding:25px 0 42px;display:grid}.hero h1{font-size:50px}.hero p{font-size:15px}.project-grid{grid-template-columns:1fr}.project-dialog form,.dialog-content{padding:34px 22px}.confirmation-content{padding:32px 22px 24px}.confirmation-actions{grid-template-columns:1fr}.script-file-picker{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px}.file-picker-actions{grid-column:1/-1;width:100%}.file-picker-button{justify-content:center;width:100%}.workspace-topbar{gap:10px}.workspace-title{min-width:0}.workspace-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-title span{display:none}.header-actions .button{width:44px;padding:0;font-size:0;overflow:hidden}.header-actions .button:after{content:"↓";font-size:18px}.workspace-progress{top:64px}.script-pane,.recording-pane{padding:30px 16px 70px}.pane-heading h1{font-size:36px}.script-section{padding-inline:8px}.section-filters{grid-template-columns:1fr 1fr;display:grid}.section-filters button{justify-content:space-between}.section-status-action{width:62px}.range-builder>div{grid-template-columns:1fr 1fr}.recorder-panel{padding:20px 15px}.teleprompter{min-height:150px;max-height:48vh;padding:21px;font-size:20px}.recorder-tools{grid-template-columns:1fr 80px}.recorder-tools .button{grid-column:1/-1}.clip-card{grid-template-columns:1fr}}
