@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=DM+Serif+Display&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fa;--surface:#fff;--border:#e4e7ec;--border-focus:#4361ee;--text:#1a202c;--text-secondary:#64748b;--text-muted:#94a3b8;--accent:#4361ee;--accent-hover:#3451d1;--accent-light:#eef1fd;--success:#22c55e;--success-bg:#f0fdf4;--warning:#f59e0b;--warning-bg:#fffbeb;--danger:#ef4444;--danger-bg:#fef2f2;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000000f;--shadow:0 1px 4px #00000014, 0 2px 8px #0000000a;--shadow-md:0 4px 12px #0000001a, 0 2px 4px #0000000d;--shadow-lg:0 10px 30px #0000001f, 0 4px 8px #0000000f;--transition:.15s ease;--transition-slow:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6}#root{flex-direction:column;display:flex}.app{flex-direction:column;min-height:100vh;display:flex}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.94)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.view{flex-direction:column;flex:1;min-height:100vh;display:flex}.view-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;align-items:center;gap:16px;padding:18px 32px;display:flex;position:sticky;top:0}.view-header-left{flex:1}.app-title{color:var(--text);letter-spacing:-.3px;font-family:DM Serif Display,Georgia,serif;font-size:22px;font-weight:400}.app-subtitle{color:var(--text-muted);margin-top:1px;font-size:13px}.page-title{color:var(--text);letter-spacing:-.3px;flex:1;font-family:DM Serif Display,Georgia,serif;font-size:20px;font-weight:400}.btn{border-radius:var(--radius);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), border-color var(--transition);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 28px;font-size:15px}.color-success{color:var(--success)!important}.color-warning{color:var(--warning)!important}.color-danger{color:var(--danger)!important}.color-neutral{color:var(--text)!important}.setup-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:32px}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-xl);text-align:center;cursor:pointer;transition:border-color var(--transition), background var(--transition);color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:40px auto;padding:72px 40px;display:flex}.upload-zone:hover,.upload-zone-active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.upload-icon{opacity:.5;transition:opacity var(--transition)}.upload-zone:hover .upload-icon,.upload-zone-active .upload-icon{opacity:.8}.upload-title{color:var(--text);font-size:20px;font-weight:600}.upload-subtitle{font-size:14px}.loading-state{flex-direction:column;align-items:center;gap:16px;padding:80px 40px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:14px}.loading-bar{background:var(--border);border-radius:2px;width:240px;height:4px;overflow:hidden}.loading-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .2s}.slide-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.slide-count{color:var(--text-secondary);font-size:14px;font-weight:500}.toolbar-right{align-items:center;gap:10px;display:flex}.mode-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2px;display:flex}.mode-btn{cursor:pointer;color:var(--text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;padding:5px 14px;font-family:inherit;font-size:13px;font-weight:500}.mode-btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.slide-list{flex-direction:column;gap:12px;display:flex}.slide-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition), border-color var(--transition);grid-template-columns:28px 36px 180px 1fr 36px;align-items:start;gap:16px;padding:16px;display:grid}.slide-card:hover{box-shadow:var(--shadow)}.slide-card-drag{cursor:grab;color:var(--text-muted);touch-action:none;align-items:flex-start;padding-top:4px;display:flex}.slide-card-drag:hover{color:var(--text-secondary)}.slide-card-drag:active{cursor:grabbing}.slide-card-number{align-items:flex-start;padding-top:2px;display:flex}.slide-badge{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-flex}.slide-badge-ok{background:var(--success-bg);color:var(--success)}.slide-badge-empty{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.slide-card-thumb{border:1px solid var(--border);aspect-ratio:16/9;background:var(--bg);border-radius:6px;flex-shrink:0;width:180px;overflow:hidden}.slide-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.slide-card-script{flex:1}.slide-card-script-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.slide-card-label{color:var(--text-secondary);font-size:13px;font-weight:500}.script-indicator{color:var(--success);font-weight:400}.script-mode-tabs{background:var(--bg-secondary);border-radius:6px;gap:2px;padding:2px;display:flex}.script-mode-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s,color .12s}.script-mode-tab:hover{color:var(--text)}.script-mode-tab.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001a}.script-textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--bg);resize:vertical;min-height:88px;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6}.script-textarea:focus{border-color:var(--border-focus);background:var(--surface);box-shadow:0 0 0 3px #4361ee1a}.script-textarea::placeholder{color:var(--text-muted)}.slide-card-delete{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.slide-card-delete:hover{background:var(--danger-bg);color:var(--danger)}.bulk-mode{flex-direction:column;gap:12px;display:flex}.bulk-hint{color:var(--text-secondary);background:var(--accent-light);border-radius:var(--radius);padding:10px 14px;font-size:14px}.bulk-hint code{background:#4361ee1a;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:13px}.bulk-textarea{border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;color:var(--text);background:var(--surface);resize:vertical;min-height:400px;transition:border-color var(--transition);outline:none;padding:16px;font-family:ui-monospace,Consolas,monospace;font-size:14px;line-height:1.7}.bulk-textarea:focus{border-color:var(--border-focus)}.settings-main{flex-direction:column;flex:1;gap:32px;max-width:680px;margin:0 auto;padding:32px 32px 64px;display:flex}.settings-section{flex-direction:column;gap:14px;display:flex}.settings-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:13px;font-weight:600}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);align-items:flex-start;gap:12px;padding:16px;display:flex}.radio-card:hover{border-color:var(--accent)}.radio-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #4361ee1a}.radio-card input{accent-color:var(--accent);cursor:pointer;margin-top:2px}.radio-card-content{flex-direction:column;gap:3px;display:flex}.radio-card-title{color:var(--text);font-size:15px;font-weight:500}.radio-card-desc{color:var(--text-secondary);font-size:13px}.setting-checkbox-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.setting-checkbox-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.setting-checkbox-label{color:var(--text);font-size:14px;font-weight:500}.setting-checkbox-desc{color:var(--text-secondary);margin-top:2px;font-size:12px}.target-time-row{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.input-group{flex-direction:column;gap:5px;display:flex}.input-label{color:var(--text-secondary);font-size:13px;font-weight:500}.time-input{border:1.5px solid var(--border);border-radius:var(--radius);width:110px;color:var(--text);background:var(--surface);transition:border-color var(--transition);outline:none;padding:9px 12px;font-family:ui-monospace,Consolas,monospace;font-size:16px}.time-input:focus{border-color:var(--border-focus)}.time-input-sm{width:88px;padding:6px 10px;font-size:14px}.input-hint{color:var(--text-muted);font-size:12px}.target-info{color:var(--text-secondary);margin-bottom:2px;font-size:13px}.per-slide-targets{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;margin-top:8px;padding:16px;display:flex}.per-slide-row{align-items:center;gap:12px;display:flex}.per-slide-label{color:var(--text-secondary);width:60px;font-size:13px}.difficulty-options{flex-direction:column;gap:8px;display:flex}.difficulty-slider-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px;display:flex}.difficulty-slider-labels{color:var(--text-muted);justify-content:space-between;font-size:12px;display:flex}.difficulty-value{color:var(--accent);font-size:13px;font-weight:600}.difficulty-slider{width:100%;accent-color:var(--accent);cursor:pointer;height:4px}.settings-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);gap:20px;padding:24px}.summary-list{grid-template-columns:auto 1fr;gap:8px 20px;display:grid}.summary-list dt{color:var(--text-secondary);padding:4px 0;font-size:13px;font-weight:500}.summary-list dd{color:var(--text);padding:4px 0;font-size:14px;font-weight:500}.practice-view{cursor:pointer;touch-action:pan-y;background:#0f0f11;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.practice-slide{justify-content:center;align-items:center;max-width:90vw;max-height:78vh;transition:opacity .2s,transform .2s;display:flex}.practice-slide.transitioning{opacity:0;transform:scale(.975)}.practice-slide img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:4px;max-width:100%;max-height:78vh;box-shadow:0 8px 40px #00000080}.start-overlay{z-index:20;background:#0f0f11d9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.start-card{background:var(--surface);border-radius:var(--radius-xl);text-align:center;max-width:440px;box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:40px 48px;animation:.32s cubic-bezier(.34,1.3,.64,1) both modalIn;display:flex}.start-card h2{font-size:24px;font-weight:600}.start-card p{color:var(--text-secondary);font-size:15px}.start-target{font-weight:500;color:var(--text)!important}.start-hint{margin-top:4px;font-size:12px;color:var(--text-muted)!important}.confidence-monitor{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);z-index:30;cursor:default;background:#0f0f14d1;border:1px solid #ffffff1a;width:min(680px,92vw);padding:14px 18px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.monitor-header{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;display:flex}.monitor-slide-count{color:#ffffff80;letter-spacing:.05em;font-size:12px;font-weight:600}.monitor-timer-wrap{align-items:center;gap:8px;display:flex}.monitor-timer{letter-spacing:-.5px;color:#fff;font-family:ui-monospace,Consolas,monospace;font-size:22px;font-weight:700}.monitor-drill-countdown{color:#4ade80;font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-size:22px;font-weight:700;transition:color .3s}.monitor-drill-countdown.urgent{color:#f87171;animation:.6s ease-in-out infinite mic-pulse}.monitor-paused{letter-spacing:.1em;color:var(--warning);background:#f59e0b26;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.monitor-total{color:#ffffff80;margin-left:auto;font-size:12px}.monitor-actions{align-items:center;gap:4px;display:flex}.monitor-btn{color:#fff9;cursor:pointer;transition:background var(--transition), color var(--transition);background:#ffffff14;border:none;border-radius:6px;padding:5px 9px;font-size:14px}.monitor-btn:hover{color:#fff;background:#ffffff26}.monitor-btn-mic-wrap{flex-direction:column;align-items:center;gap:2px;display:flex}.monitor-btn-beta{letter-spacing:.04em;text-transform:uppercase;color:#ffffff4d;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:600;line-height:1}.monitor-btn-mic{color:#fff9}.monitor-btn-mic.listening{color:#ef4444;background:#ef444426;animation:1.2s ease-in-out infinite mic-pulse}.monitor-btn-mic.done{color:#22c55e;background:#22c55e1a}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.55}}.speech-listening-indicator{color:#ef4444;align-items:center;gap:7px;padding:5px 0 6px;font-size:12px;font-weight:500;display:flex}.speech-listen-pulse{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite mic-pulse;display:inline-block}.speech-result{flex-direction:column;gap:8px;display:flex}.speech-result-words{max-height:90px;font-size:14px;line-height:1.8;overflow-y:auto}.speech-word{display:inline}.speech-word-correct{color:#4ade80}.speech-word-close{color:#fbbf24}.speech-word-missed{color:#f87171;-webkit-text-decoration:line-through #f8717180;text-decoration:line-through #f8717180}.speech-result-footer{border-top:1px solid #ffffff12;flex-wrap:wrap;align-items:center;gap:8px;padding-top:6px;display:flex}.speech-result-legend{flex:1;align-items:center;gap:10px;display:flex}.speech-legend-item{color:#ffffff80;align-items:center;gap:4px;font-size:11px;display:flex}.speech-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.speech-dot-correct{background:#4ade80}.speech-dot-close{background:#fbbf24}.speech-dot-missed{background:#f87171}.speech-result-score{color:#ffffffb3;font-size:12px;font-weight:600}.speech-clear-btn{color:#fff9;cursor:pointer;transition:background var(--transition);background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;padding:3px 9px;font-size:11px;font-weight:500}.speech-clear-btn:hover{color:#fff;background:#ffffff26}.monitor-script{color:#ffffffd9;max-height:120px;font-size:14px;line-height:1.75;overflow-y:auto}.monitor-no-script{color:#ffffff4d;font-size:13px;font-style:italic}.monitor-script-mode-tabs{background:#ffffff14;border-radius:6px;gap:2px;width:fit-content;margin-bottom:8px;padding:2px;display:flex}.monitor-script-mode-tab{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:background .12s,color .12s}.monitor-script-mode-tab:hover{color:#ffffffd9}.monitor-script-mode-tab.active{color:#fff;background:#ffffff26}.monitor-bullets{border-top:1px solid #ffffff1a;margin-top:8px;padding-top:8px}.monitor-visibility-row{border-bottom:1px solid #ffffff12;align-items:center;gap:0;margin-bottom:4px;padding:5px 0 7px;display:flex;overflow:hidden}.monitor-vis-toggle{color:#ffffff73;cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px 3px 7px;font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.monitor-vis-toggle:hover{color:#fffc;background:#ffffff1c}.monitor-vis-toggle.open{color:#ffffffd9;background:#ffffff1a;border-color:#fff3}.monitor-vis-toggle.overridden{border-color:var(--accent);color:#6480f3e6}.monitor-vis-toggle-label{letter-spacing:.02em}.monitor-vis-expand{opacity:0;align-items:center;max-width:0;margin-left:0;transition:max-width .26s cubic-bezier(.4,0,.2,1),opacity .2s,margin-left .26s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.monitor-vis-expand.open{opacity:1;max-width:280px;margin-left:8px}.monitor-visibility-btns{flex-shrink:0;align-items:center;gap:4px;display:flex}.monitor-vis-btn{color:#ffffff80;cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:5px;padding:3px 8px;font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:600;line-height:1.4}.monitor-vis-btn:hover{color:#ffffffd9;background:#ffffff1f}.monitor-vis-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.monitor-vis-reset{color:#ffffff4d;cursor:pointer;transition:color var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:2px;padding:2px 4px;font-size:14px;line-height:1}.monitor-vis-reset:hover{color:#ffffffb3}.blanked-word{vertical-align:middle;background:#ffffff26;border-radius:3px;height:.85em;margin:0 1px;display:inline-block}.script-display .blanked-word{background:#dde3ed}.script-empty{color:var(--text-muted);font-size:13px;font-style:italic}.monitor-show-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);z-index:30;background:#0f0f14b3;border:1px solid #ffffff26;padding:8px 14px;font-size:13px;position:absolute;bottom:20px;right:20px}.monitor-show-btn:hover{color:#fff;background:#0f0f14e6}.practice-exit-btn{z-index:40;color:#ffffff73;border-radius:var(--radius);cursor:pointer;pointer-events:all;background:#ffffff12;border:1px solid #ffffff1f;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .15s,color .15s,border-color .15s;position:absolute;top:16px;left:16px}.practice-exit-btn:hover{color:#fca5a5;background:#ef44442e;border-color:#ef444466}.practice-fullscreen-btn{z-index:40;color:#ffffff73;border-radius:var(--radius);cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;justify-content:center;align-items:center;padding:6px 10px;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;top:16px;right:16px}.practice-fullscreen-btn:hover{color:#ffffffd9;background:#ffffff24;border-color:#ffffff40}.practice-nav-hint{pointer-events:none;z-index:20;position:absolute;inset:0}.nav-arrow{color:#ffffff80;cursor:pointer;pointer-events:all;width:48px;height:48px;transition:background var(--transition), color var(--transition);background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nav-arrow:hover{color:#fff;background:#ffffff2e}.nav-arrow-left{left:20px}.nav-arrow-right{right:20px}.pacing-bar{z-index:40;height:3px;transition:width 1s linear,background-color .5s;position:absolute;bottom:0;left:0}.pacing-bar-success{background:var(--success)}.pacing-bar-warning{background:var(--warning)}.pacing-bar-danger{background:var(--danger)}.pacing-bar-neutral{background:#fff3}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;animation:.18s both overlayIn;display:flex;position:absolute;inset:0}.modal{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:380px;box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:32px;animation:.24s cubic-bezier(.34,1.4,.64,1) both modalIn;display:flex}.modal h3{font-size:18px;font-weight:600}.modal p{color:var(--text-secondary);font-size:14px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.summary-view .view-header{flex-wrap:wrap}.summary-header-actions{flex-wrap:wrap;gap:8px;display:flex}.summary-main{flex-direction:column;flex:1;gap:40px;max-width:900px;margin:0 auto;padding:32px 32px 64px;display:flex}.stat-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:20px;display:flex}.stat-card-success{border-color:var(--success);background:var(--success-bg)}.stat-card-warning{border-color:var(--warning);background:var(--warning-bg)}.stat-card-danger{border-color:var(--danger);background:var(--danger-bg)}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:600}.stat-value{letter-spacing:-1px;color:var(--text);font-family:ui-monospace,Consolas,monospace;font-size:32px;font-weight:700}.stat-sub{color:var(--text-secondary);font-size:12px}.summary-chart-section{flex-direction:column;gap:14px;display:flex}.summary-section-title{color:var(--text);letter-spacing:-.2px;font-family:DM Serif Display,Georgia,serif;font-size:18px;font-weight:400}.chart-legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.legend-item:before{content:"";border-radius:2px;width:10px;height:10px;display:inline-block}.legend-green:before{background:var(--success)}.legend-yellow:before{background:var(--warning)}.legend-red:before{background:var(--danger)}.legend-line:before{opacity:.4;background:#1a202c}.chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;overflow-x:auto}.summary-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.history-section{flex-direction:column;gap:12px;display:flex}.history-toggle{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:500}.history-toggle:hover{color:var(--text)}.history-list{flex-direction:column;gap:8px;display:flex}.history-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.history-item-meta{align-items:center;gap:16px;font-size:14px;display:flex}.history-run{color:var(--text);font-weight:600}.history-time{color:var(--text);font-family:ui-monospace,Consolas,monospace}.history-visibility{color:var(--text-secondary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-md);flex-direction:column;gap:32px;padding:48px 44px;display:flex}.auth-brand{text-align:center}.auth-wordmark{cursor:pointer;border-radius:var(--radius);transition:opacity var(--transition);background:0 0;border:none;align-items:center;margin-bottom:8px;padding:0;display:inline-flex}.auth-wordmark:hover{opacity:.75}.auth-logo{width:auto;height:82px;display:block}.auth-wordmark-text{letter-spacing:-1px;color:var(--text-primary);font-size:54px;font-weight:700;line-height:1}.dashboard-logo{width:auto;height:44px;display:block}.dashboard-logo-btn{cursor:pointer;border-radius:var(--radius);transition:opacity var(--transition);background:0 0;border:none;align-items:center;padding:0;display:flex}.dashboard-logo-btn:hover{opacity:.7}.auth-tagline{color:var(--text-secondary);font-size:14px}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-form-title{font-size:20px;font-weight:600}.auth-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:10px 14px;font-size:14px}.auth-message{background:var(--success-bg);border:1px solid var(--success);color:#15803d;border-radius:var(--radius);padding:10px 14px;font-size:14px}.form-field{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-input{border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg);transition:border-color var(--transition);outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:15px}.form-input:focus{border-color:var(--border-focus);background:var(--surface)}.auth-submit{justify-content:center;width:100%}.auth-footer{flex-direction:column;align-items:center;gap:8px;display:flex}.auth-link{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:14px;text-decoration:underline}.auth-link:hover{color:var(--accent-hover)}.auth-link-muted{color:var(--text-secondary)}.auth-link-muted:hover{color:var(--text)}.dashboard-view{background:var(--bg)}.dashboard-header{padding:14px 28px}.dashboard-header-center{flex:1;justify-content:center;padding:0 24px;display:flex}.dashboard-search-wrap{width:100%;max-width:340px;position:relative}.dashboard-search-icon{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.dashboard-search-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);border-radius:20px;outline:none;padding:7px 12px 7px 34px;font-family:inherit;font-size:13px}.dashboard-search-input::placeholder{color:var(--text-muted)}.dashboard-search-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px #4361ee1a}.dashboard-header-right{align-items:center;gap:8px;display:flex}.header-separator{background:var(--border);width:1px;height:20px;margin:0 6px}.user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;overflow:hidden}.dashboard-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:40px 32px 72px}.dashboard-toolbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-section-title{color:var(--text);letter-spacing:-.2px;font-size:18px;font-weight:600}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:96px 40px;display:flex}.empty-icon{color:var(--accent);opacity:.35;background:var(--accent-light);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:8px;display:flex}.empty-title{color:var(--text);letter-spacing:-.2px;font-family:DM Serif Display,Georgia,serif;font-size:20px;font-weight:400}.empty-desc{color:var(--text-secondary);margin-bottom:8px;font-size:14px;line-height:1.6}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.project-card-body{cursor:pointer;flex-direction:column;flex:1;gap:10px;padding:22px 22px 16px;display:flex}.project-name{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.project-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-meta-item{color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 9px;font-size:12px}.project-runs{background:var(--accent-light);color:var(--accent);border-color:#0000}.project-difficulty{color:var(--text-muted);font-size:12px;font-style:italic}.project-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 22px;display:flex}.project-date{color:var(--text-muted);font-size:12px}.project-actions{align-items:center;gap:4px;display:flex}.project-delete-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.project-delete-btn:hover{background:var(--danger-bg);color:var(--danger)}.deck-detail-view{background:var(--bg)}.deck-detail-header{gap:20px;padding:14px 28px}.deck-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.deck-detail-title-wrap{flex:1;min-width:0}.deck-detail-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.3px;font-family:DM Serif Display,Georgia,serif;font-size:22px;font-weight:400;overflow:hidden}.deck-detail-meta{color:var(--text-secondary);align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.deck-meta-dot{opacity:.4}.deck-detail-main{flex-direction:column;gap:20px;max-width:860px;margin:0 auto;padding:32px 28px 72px;display:flex}.deck-section{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-lg);transition:border-left-color var(--transition-slow);flex-direction:column;gap:14px;padding:22px 24px;display:flex}.deck-section:hover{border-left-color:var(--accent)}.deck-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.deck-section-header{justify-content:space-between;align-items:center;display:flex}.deck-progress-track{gap:6px;display:flex}.deck-progress-step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.deck-progress-seg{width:100%;height:8px;transition:background var(--transition);border-radius:4px}.deck-progress-seg.done{background:var(--accent)}.deck-progress-seg.next{background:var(--accent-light);border:2px dashed var(--accent)}.deck-progress-seg.upcoming{background:var(--border)}.deck-progress-step-label{color:var(--text-muted);font-size:11px}.deck-progress-desc{color:var(--text-secondary);margin-top:2px;font-size:13px}.deck-slide-strip{scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.deck-slide-strip::-webkit-scrollbar{height:4px}.deck-slide-strip::-webkit-scrollbar-track{background:0 0}.deck-slide-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.deck-slide-thumb{aspect-ratio:16/9;border-radius:var(--radius);border:2px solid var(--border);background:var(--bg);cursor:pointer;width:140px;transition:border-color var(--transition), transform var(--transition);flex-shrink:0;padding:0;position:relative;overflow:hidden}.deck-slide-thumb:hover{border-color:var(--accent);transform:translateY(-2px)}.deck-slide-thumb img{object-fit:cover;width:100%;height:100%;display:block}.deck-thumb-num{color:#fff;background:#0000008c;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;position:absolute;bottom:4px;left:5px}.deck-thumb-script-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.deck-slide-thumb-skeleton{background:var(--bg);cursor:default;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.deck-empty-msg{color:var(--text-secondary);font-size:14px}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.deck-sessions-list{flex-direction:column;gap:0;display:flex}.deck-session-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 0;display:flex}.deck-session-row:last-child{border-bottom:none}.deck-session-date{color:var(--text-secondary);min-width:90px;font-size:13px}.deck-session-time{color:var(--text);font-variant-numeric:tabular-nums;min-width:52px;font-size:13px;font-weight:600}.deck-session-diff{color:var(--text-muted);flex:1;font-size:12px}.sparkline{flex-shrink:0;display:block}.spark-ok{fill:var(--success);opacity:.8}.spark-over{fill:var(--danger);opacity:.8}.spark-empty{color:var(--text-muted);font-size:12px}.deck-stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.deck-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.deck-stat-value{color:var(--text);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.deck-stat-label{color:var(--text-muted);font-size:12px}.deck-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-danger-ghost{color:var(--danger);border:1px solid var(--danger);opacity:.8;background:0 0}.btn-danger-ghost:hover{background:var(--danger-bg);opacity:1}.delete-confirm-hint{color:var(--text-secondary);margin-top:8px;font-size:13px}.modal-text-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);box-sizing:border-box;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:14px}.landing{min-height:100vh;color:var(--text);background:#fff;flex-direction:column;display:flex;overflow-x:hidden}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#080814b8;border-bottom:1px solid #ffffff0f;position:sticky;top:0}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1060px;height:62px;margin:0 auto;padding:0 32px;display:flex}.landing-nav-logo{align-items:center;display:flex}.landing-nav-wordmark{cursor:pointer;color:#fff;letter-spacing:-.5px;background:0 0;border:none;padding:0;font-family:inherit;font-size:18px;font-weight:700;line-height:1;transition:opacity .15s}.landing-nav-wordmark:hover{opacity:.7}.landing-nav-btn{color:#0a0a18;transition:background var(--transition), transform .15s ease;background:#f5f5f7;border-radius:980px;padding:8px 20px;font-size:14px;font-weight:600}.landing-nav-btn:hover{background:#fff;transform:translateY(-1px)}.landing-nav-links{align-items:center;gap:28px;display:flex}.landing-nav-link{color:#ffffffa6;letter-spacing:.01em;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.landing-nav-link:hover{color:#fff}.fade-section{opacity:0;transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94);transform:translateY(28px)scale(.985)}.fade-section.visible{opacity:1;transform:translateY(0)scale(1)}.landing-hero-dark{background:#080814;flex-direction:column;align-items:center;padding:0 32px;display:flex;position:relative;overflow:hidden}.landing-hero-dark:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 50% 10%,#6366f133 0%,#4361ee1a 35%,#0000 70%);width:1000px;height:600px;position:absolute;top:0;left:50%;transform:translate(-50%)}.landing-hero-noise{pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:200px;position:absolute;inset:0}.landing-hero-inner{z-index:1;text-align:center;width:100%;max-width:700px;padding-top:108px;padding-bottom:64px;position:relative}.landing-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#a0b4ffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#6366f11a;border:1px solid #96aaff2e;border-radius:980px;margin-bottom:28px;padding:5px 16px;font-size:11px;font-weight:600;display:inline-block}.landing-headline-dark{letter-spacing:-2px;color:#fff;margin-bottom:24px;font-size:clamp(38px,6vw,68px);font-weight:800;line-height:1.1}.landing-headline-gradient{background:linear-gradient(135deg,#fff 0%,#c7d2fe 40%,#a5b4fc 70%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-subtext-dark{color:#ffffff8c;max-width:520px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:18px;line-height:1.7}.landing-hero-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.landing-cta-btn-dark{color:#0a0a18;cursor:pointer;letter-spacing:-.2px;transition:background var(--transition), transform .2s cubic-bezier(.25, .46, .45, .94), box-shadow .2s ease;background:#f5f5f7;border:none;border-radius:980px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 0 0 1px #ffffff1f,0 8px 32px #00000073}.landing-cta-btn-dark:hover{background:#fff;transform:translateY(-2px)scale(1.01);box-shadow:0 0 0 1px #ffffff2e,0 16px 40px #0000008c}.landing-cta-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:-.1px;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:13px 34px;font-size:15px;font-weight:600;display:inline-flex}.landing-cta-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4361ee4d}.landing-hero-hint{color:#ffffff47;font-size:13px}.landing-hero-preview{z-index:1;width:100%;max-width:560px;padding-bottom:80px;position:relative}.landing-hero-preview:after{content:"";filter:blur(24px);pointer-events:none;z-index:-1;background:radial-gradient(#6366f159 0%,#0000 70%);height:80px;position:absolute;bottom:50px;left:10%;right:10%}.landing-preview-card{background:#12121e;border:1px solid #ffffff1a;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px #ffffff12,0 24px 60px #000000b3,0 8px 20px #0006}.landing-preview-topbar{background:#ffffff0a;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:10px 14px;display:flex}.landing-preview-dots{gap:5px;display:flex}.landing-preview-dots span{background:#ffffff26;border-radius:50%;width:9px;height:9px}.landing-preview-dots span:first-child{background:#ff5f57}.landing-preview-dots span:nth-child(2){background:#febc2e}.landing-preview-dots span:nth-child(3){background:#28c840}.landing-preview-label{color:#ffffff4d;letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:11px;font-weight:600}.landing-preview-slide{aspect-ratio:16/6;background:#1a1a2e;justify-content:center;align-items:center;padding:24px;display:flex}.landing-preview-slide-content{flex-direction:column;gap:10px;width:100%;max-width:300px;display:flex}.landing-preview-line{background:#ffffff1f;border-radius:5px;height:10px}.lp-wide{width:85%}.lp-medium{width:65%}.lp-short{width:45%}.landing-preview-monitor{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.landing-preview-monitor-header{align-items:center;gap:12px;display:flex}.landing-preview-badge{color:#fff6;letter-spacing:.05em;font-size:11px;font-weight:700}.landing-preview-timer{color:#4ade80;letter-spacing:-.5px;font-family:ui-monospace,Consolas,monospace;font-size:18px;font-weight:700}.landing-preview-vis{gap:4px;margin-left:auto;display:flex}.lp-vis-dot{background:#ffffff1f;border-radius:50%;width:8px;height:8px}.lp-vis-dot.active{background:#6480f3}.landing-preview-script{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.landing-preview-word{background:#ffffff80;border-radius:4px;width:40px;height:9px}.lp-word-sm{width:28px}.landing-preview-blank{background:#ffffff1a;border:1px solid #ffffff14;border-radius:4px;width:50px;height:9px}.lp-blank-lg{width:72px}.landing-stats-bar{border-bottom:1px solid var(--border);background:#f8f9ff;padding:0}.landing-stats-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:0;max-width:860px;margin:0 auto;padding:36px 32px;display:flex}.landing-stat{flex-direction:column;align-items:center;gap:4px;padding:0 40px;display:flex}.landing-stat-value{letter-spacing:-1px;color:var(--accent);font-size:28px;font-weight:800}.landing-stat-label{color:var(--text-secondary);white-space:nowrap;font-size:13px}.landing-stat-divider{background:var(--border);flex-shrink:0;width:1px;height:40px}.landing-steps-section{background:#fff;padding:100px 32px}.landing-section-inner{max-width:1000px;margin:0 auto}.landing-section-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:12px;font-weight:700}.landing-section-title{letter-spacing:-1px;color:var(--text);max-width:520px;margin-bottom:56px;font-size:clamp(24px,3.5vw,36px);font-weight:800;line-height:1.2}.landing-steps{grid-template-columns:repeat(3,1fr);gap:0;display:grid;position:relative}.landing-steps:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, #4361ee33 100%);pointer-events:none;height:1px;position:absolute;top:20px;left:16.6667%;right:16.6667%}.landing-step{cursor:pointer;border-radius:14px;flex-direction:column;gap:12px;padding:16px 20px;transition:background .2s;display:flex}.landing-step:hover{background:#4361ee0d}.landing-step.active{background:#4361ee14}.landing-step.active .landing-step-num{color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:#1a1a2e}.landing-step.active .landing-step-title{color:var(--accent)}.landing-step-num{background:var(--accent);color:#fff;letter-spacing:-.5px;z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex;position:relative}.landing-step-title{color:var(--text);letter-spacing:-.3px;font-size:17px;font-weight:700;transition:color .2s}.landing-step-panel{background:#0e0e1a;border:1px solid #ffffff14;border-radius:18px;margin-top:32px;overflow:hidden;box-shadow:0 20px 50px #0000002e}.landing-step-panel-inner{grid-template-areas:"demo";min-height:180px;padding:36px 40px;display:grid}.lsd-panel{opacity:0;pointer-events:none;grid-area:demo;transition:opacity .28s}.lsd-panel-active{opacity:1;pointer-events:auto}.lsd-upload{flex-direction:column;gap:20px;display:flex}.lsd-upload-file{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:14px;padding:12px 16px;display:flex}.lsd-file-icon{background:#4361ee33;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.lsd-file-info{flex-direction:column;flex:1;gap:3px;display:flex}.lsd-file-name{color:#fff;font-size:13px;font-weight:600}.lsd-file-meta{color:#fff6;font-size:11px}.lsd-file-check{color:#4ade80;font-size:14px;font-weight:700}.lsd-thumbs{align-items:center;gap:10px;display:flex}.lsd-thumb{background:#1a1a2e;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;flex:1;gap:5px;min-width:0;padding:10px 10px 6px;display:flex}.lsd-thumb-inner{flex-direction:column;gap:5px;display:flex}.lsd-thumb-line{background:#ffffff1f;border-radius:3px;height:5px}.lsd-thumb-num{color:#ffffff4d;text-align:center;margin-top:4px;font-size:10px}.lsd-thumbs-more{color:#ffffff4d;white-space:nowrap;padding:0 8px;font-size:12px;font-weight:500}.lsd-script{align-items:stretch;gap:20px;display:flex}.lsd-script-slide{background:#1a1a2e;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;gap:8px;width:160px;padding:20px 16px;display:flex}.lsd-ssl-line{background:#ffffff24;border-radius:4px;height:7px}.lsd-script-editor{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex}.lsd-editor-label{color:#ffffff59;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.lsd-editor-content{flex-direction:column;gap:8px;display:flex}.lsd-ec-line{background:#ffffff2e;border-radius:4px;width:100%;height:8px}.lsd-ec-cursor{background:var(--accent);border-radius:1px;width:2px;height:14px;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.lsd-practice{flex-direction:column;gap:16px;display:flex}.lsd-prac-header{align-items:center;gap:12px;display:flex}.lsd-run-tag{letter-spacing:.06em;text-transform:uppercase;color:#a5b4fc;background:#4361ee40;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.lsd-slide-tag{color:#ffffff59;font-size:12px;font-weight:500}.lsd-timer-tag{color:#4ade80;margin-left:auto;font-family:ui-monospace,monospace;font-size:16px;font-weight:700}.lsd-prac-words{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lsd-pw-word{background:#ffffff8c;border-radius:5px;height:10px;display:inline-block}.lsd-pw-blank{background:#ffffff1a;border:1px solid #ffffff14;border-radius:5px;height:10px;display:inline-block}.lsd-prac-footer{align-items:center;gap:14px;margin-top:4px;display:flex}.lsd-run-dots{gap:6px;display:flex}.lsd-run-dot{background:#ffffff1f;border:1.5px solid #ffffff26;border-radius:50%;width:10px;height:10px}.lsd-run-dot.done{background:var(--accent);border-color:var(--accent)}.lsd-run-dot.current{border-color:var(--accent);background:0 0;box-shadow:0 0 0 2px #4361ee4d}.lsd-visibility-tag{color:#ffffff4d;margin-left:auto;font-size:12px}.landing-step-desc{color:var(--text-secondary);font-size:14px;line-height:1.7}.landing-features-section{border-top:1px solid var(--border);background:#f8f9ff;padding:100px 32px}.landing-features-grid-new{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.landing-feature-card{background:#fff;border:1px solid #00000012;border-radius:18px;flex-direction:column;gap:10px;padding:28px;transition:box-shadow .25s cubic-bezier(.25,.46,.45,.94),transform .25s cubic-bezier(.25,.46,.45,.94);display:flex}.landing-feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a,0 2px 8px #0000000f}.landing-feature-card-icon{color:var(--accent);background:var(--accent-light);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:4px;display:flex}.landing-feature-card-title{color:var(--text);letter-spacing:-.2px;font-size:15px;font-weight:700}.landing-feature-card-desc{color:var(--text-secondary);font-size:13px;line-height:1.65}.landing-demo-section{border-bottom:1px solid var(--border);background:#fff;padding:96px 32px}.landing-demo-hint{color:var(--text-secondary);margin-top:-16px;margin-bottom:32px;font-size:15px}.landing-demo-controls{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.landing-demo-btn{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:7px 20px;font-size:14px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.landing-demo-btn:hover{border-color:var(--accent);color:var(--accent)}.landing-demo-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.landing-demo-text{background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;min-height:100px;margin-bottom:16px;padding:20px 24px;font-size:18px;line-height:2.2;display:flex}.landing-demo-word{color:var(--text);transition:opacity .2s}.landing-demo-blank{vertical-align:middle;background:#d1d5db;border-radius:4px;height:18px;transition:width .2s,background .2s;display:inline-block}.landing-demo-label{color:var(--text-secondary);text-align:center;min-height:20px;font-size:13px;font-style:italic}.landing-why-section{background:#f0f3ff;padding:96px 32px}.landing-why-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;display:grid}.landing-why-card{background:#fff;border:1px solid #00000012;border-radius:18px;flex-direction:column;gap:12px;padding:28px 24px;transition:box-shadow .25s cubic-bezier(.25,.46,.45,.94),transform .25s cubic-bezier(.25,.46,.45,.94);display:flex}.landing-why-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a,0 2px 8px #0000000f}.landing-why-icon{color:#4361ee;background:#eef1fd;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.landing-why-title{color:#1a202c;letter-spacing:-.2px;font-size:16px;font-weight:600;line-height:1.3}.landing-why-desc{color:#64748b;font-size:14px;line-height:1.7}.landing-closing-dark{background:#080814;position:relative;overflow:hidden}.landing-closing-noise{opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:200px;position:absolute;inset:0}.landing-closing-dark:before{content:"";pointer-events:none;background:radial-gradient(at 50% 20%,#6366f12e 0%,#4361ee14 40%,#0000 70%);width:900px;height:500px;position:absolute;top:0;left:50%;transform:translate(-50%)}.landing-closing-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:20px;padding:100px 32px 108px;display:flex;position:relative}.landing-closing-title{letter-spacing:-1.5px;color:#fff;font-size:clamp(28px,4vw,48px);font-weight:800;line-height:1.15}.landing-closing-sub{color:#ffffff73;margin-bottom:12px;font-size:17px}.landing-footer{color:#ffffff40;background:#080814;border-top:1px solid #ffffff12;justify-content:center;align-items:center;gap:24px;padding:24px 32px;font-size:13px;display:flex}.landing-footer-contact{color:#ffffff59;cursor:pointer;text-underline-offset:2px;transition:color var(--transition);background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;text-decoration:underline}.landing-footer-contact:hover{color:#ffffffb3}.contact-overlay{-webkit-backdrop-filter:blur(3px);z-index:300;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.contact-modal{border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;gap:24px;width:100%;max-width:480px;padding:32px;display:flex}.contact-modal-header{justify-content:space-between;align-items:center;display:flex}.contact-modal-title{letter-spacing:-.4px;color:var(--text);font-size:20px;font-weight:700}.contact-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:16px}.contact-close-btn:hover{background:var(--bg);color:var(--text)}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-field{flex-direction:column;gap:6px;display:flex}.contact-label{color:var(--text);font-size:13px;font-weight:500}.contact-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:border-color var(--transition);resize:vertical;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.contact-input:focus{border-color:var(--accent)}.contact-textarea{min-height:110px}.contact-error{color:var(--danger);text-align:center;font-size:13px}.contact-sent{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:14px;padding:16px 0;font-size:14px;display:flex}.remap-overlay{-webkit-backdrop-filter:blur(4px);z-index:300;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.18s both overlayIn;display:flex;position:fixed;inset:0}.remap-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:660px;max-height:88vh;animation:.24s cubic-bezier(.34,1.3,.64,1) both modalIn;display:flex}.remap-modal-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 0;display:flex}.remap-modal-title{color:var(--text);margin-bottom:5px;font-size:18px;font-weight:600}.remap-modal-desc{color:var(--text-secondary);font-size:13px;line-height:1.5}.remap-close-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);transition:background var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.remap-close-btn:hover{background:var(--bg);color:var(--text)}.remap-loading{flex-direction:column;align-items:center;gap:16px;padding:48px 32px;display:flex}.remap-auto-row{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px 10px;display:flex}.remap-count{color:var(--text-secondary);font-size:13px;font-weight:500}.remap-modal-body{flex-direction:column;flex:1;gap:10px;padding:12px 24px 8px;display:flex;overflow-y:auto}.remap-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition);align-items:center;gap:14px;padding:10px;display:flex}.remap-row:hover{border-color:var(--accent)}.remap-thumb-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:5px;display:flex}.remap-thumb{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:5px;width:96px;display:block}.remap-thumb-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.remap-arrow{color:var(--text-muted);flex-shrink:0}.remap-select-wrap{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.remap-select{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);cursor:pointer;transition:border-color var(--transition);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.remap-select:focus{border-color:var(--border-focus)}.remap-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding:0 2px;font-size:11px;overflow:hidden}.remap-modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}[data-theme=dark] .remap-modal{background:var(--surface)}[data-theme=dark] .remap-row{background:var(--bg)}[data-theme=dark] .remap-select{background:var(--surface);color:var(--text)}.share-view{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.share-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.share-logo{color:var(--text);letter-spacing:-.3px;font-family:DM Serif Display,Georgia,serif;font-size:20px;font-weight:400}.share-header-right{align-items:center;gap:12px;display:flex}.share-badge-readonly{letter-spacing:.04em;text-transform:uppercase;background:var(--accent-light);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.share-body{width:100%;max-width:720px;margin:0 auto;padding:48px 24px 80px}.share-title-row{margin-bottom:32px}.share-title{color:var(--text);letter-spacing:-.5px;margin-bottom:6px;font-family:DM Serif Display,Georgia,serif;font-size:28px;font-weight:400}.share-meta{color:var(--text-muted);font-size:14px}.share-cards{flex-direction:column;gap:16px;display:flex}.share-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px}.share-card-empty{opacity:.6}.share-card-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.share-card-num{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.share-card-tag{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.share-card-tag.tag-confident{background:var(--success-bg);color:var(--success)}.share-card-tag.tag-needs-work{background:var(--warning-bg);color:var(--warning)}.share-card-script{color:var(--text);white-space:pre-wrap;font-size:15px;line-height:1.7}.share-card-empty-text{color:var(--text-muted)}.share-footer-note{color:var(--text-muted);text-align:center;margin-top:40px;font-size:13px}.share-error,.share-loading{color:var(--text-secondary);text-align:center;flex:1;justify-content:center;align-items:center;padding:80px 24px;font-size:15px;display:flex}@media (width<=640px){.landing-nav-inner{padding:0 20px}.landing-nav-links{display:none}.landing-demo-section{padding:72px 20px}.landing-hero-dark{padding:0 20px}.landing-hero-inner{padding-top:72px;padding-bottom:48px}.landing-headline-dark{letter-spacing:-1px}.landing-hero-preview{max-width:100%}.landing-stats-inner{gap:0;padding:28px 20px}.landing-stat{padding:16px 20px}.landing-stat-divider{display:none}.landing-stats-inner{flex-wrap:wrap;justify-content:space-around}.landing-steps-section,.landing-features-section{padding:72px 20px}.landing-steps{grid-template-columns:1fr;gap:40px}.landing-steps:before{display:none}.landing-step{padding:0}.landing-features-grid-new,.landing-why-grid{grid-template-columns:1fr;gap:14px}.landing-why-section{padding:72px 20px}.landing-section-title{margin-bottom:40px}.landing-closing-inner{padding:72px 20px 80px}}@media (width<=820px) and (width>=641px){.landing-features-grid-new{grid-template-columns:repeat(2,1fr)}.landing-why-grid{grid-template-columns:1fr;gap:16px}.landing-steps{grid-template-columns:1fr;gap:40px}.landing-steps:before{display:none}.landing-step{padding:0}}@media (width<=768px){.view-header{gap:8px;padding:12px 16px}.page-title{font-size:17px}.setup-header-center{gap:6px;min-width:0}.project-name-display{max-width:180px;font-size:15px}.project-name-input{width:160px;max-width:180px;font-size:15px}.dashboard-header{padding:10px 16px}.dashboard-header-center{padding:0 8px}.user-email,.header-separator{display:none}.dashboard-main{padding:24px 16px 56px}.dashboard-greeting-text{font-size:20px}.dashboard-stats-row{gap:8px}.dashboard-stat-pill{min-width:unset;flex:1;padding:8px 12px}.dashboard-stat-pill-value{font-size:18px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.setup-main{padding:16px 16px 40px}.slide-card{grid-template:"drag num.del""thumb thumb thumb thumb""script script script script"/28px 36px 1fr 36px;gap:10px 12px}.slide-card-drag{grid-area:drag}.slide-card-number{grid-area:num}.slide-card-thumb{grid-area:thumb;width:100%;max-width:100%}.slide-card-script{grid-area:script}.slide-card-delete{grid-area:del}.settings-main{padding:20px 16px 48px}.target-time-row{flex-direction:column;gap:12px}.summary-main{padding:20px 16px 48px}.stat-cards{grid-template-columns:repeat(2,1fr);gap:10px}.stat-value{font-size:26px}.deck-detail-header{gap:10px;padding:10px 16px}.deck-detail-main{padding:20px 16px 48px}.deck-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.deck-detail-title{font-size:18px}.usettings-layout{flex-direction:column;gap:16px;padding:16px}.usettings-nav{flex-flow:wrap;gap:4px;width:100%;position:static}.usettings-nav-btn{width:auto;padding:7px 12px;font-size:13px}.usettings-content{width:100%;min-width:0}.auth-card{padding:32px 20px}.modal{max-width:calc(100vw - 32px);padding:24px 20px}.start-card{max-width:calc(100vw - 40px);padding:28px 20px}.nav-arrow{width:52px;height:52px;font-size:22px}.nav-arrow-left{left:10px}.nav-arrow-right{right:10px}.confidence-monitor{width:calc(100vw - 16px);padding:12px 14px;bottom:10px}.monitor-script{max-height:90px;font-size:13px}.monitor-timer{font-size:18px}.practice-slide{max-width:98vw;max-height:58vh}.practice-slide img{max-height:58vh}.teleprompter-bar{gap:8px;padding:8px 12px}.teleprompter-font-group{margin-left:0}.slide-tag-btn{padding:5px 12px;font-size:12px}.remap-modal{max-height:92vh}.remap-row{flex-direction:column;align-items:flex-start;gap:10px}.remap-thumb-wrap{flex-direction:row;align-items:center;gap:10px}.remap-thumb{width:80px}.remap-arrow{display:none}.remap-select-wrap{width:100%}.remap-modal-header{padding:18px 18px 0}.remap-modal-body{padding:10px 18px 6px}.remap-modal-footer{padding:14px 18px}.remap-auto-row{padding:12px 18px 8px}}@media (width<=480px){body{font-size:14px}.project-grid{grid-template-columns:1fr;gap:10px}.btn-label{display:none}.dashboard-header-right{gap:4px}.dashboard-header-right .btn-sm{padding:6px 10px}.dashboard-greeting{margin-bottom:20px}.dashboard-greeting-text{font-size:18px}.dashboard-stats-row{margin-bottom:20px}.dashboard-stat-pill{padding:8px 10px}.dashboard-stat-pill-value{font-size:16px}.dashboard-stat-pill-label{font-size:10px}.slide-list-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.toolbar-right{flex-wrap:wrap;gap:8px;width:100%}.toolbar-right .btn{flex:1;justify-content:center}.stat-cards{grid-template-columns:1fr 1fr}.stat-value{font-size:22px}.deck-stats-grid{grid-template-columns:1fr 1fr}.deck-stat-value{font-size:17px}.deck-actions{gap:8px}.deck-actions .btn{flex:1;justify-content:center}.deck-detail-title,.monitor-timer{font-size:16px}.monitor-total{display:none}.monitor-actions{gap:2px}.monitor-btn{padding:4px 7px;font-size:12px}.auth-card{padding:24px 16px}.auth-logo{height:64px}.modal{width:calc(100vw - 24px);padding:20px 16px}.modal-overlay{padding:12px}.start-card{padding:24px 16px}.start-card h2{font-size:20px}.onboarding-card{padding:28px 20px 32px}.onboarding-choice-row{gap:6px}.onboarding-choice{padding:10px 6px}.usettings-panel-title{font-size:17px}.theme-toggle-group{flex-wrap:wrap}.theme-btn{flex:1;justify-content:center}.teleprompter-block{padding:16px 20px 40px}.teleprompter-bar{flex-wrap:wrap}.teleprompter-font-group{margin-left:0}.summary-view .view-header{flex-wrap:wrap;gap:8px}.summary-header-actions{justify-content:flex-end;width:100%}.remap-overlay{align-items:flex-end;padding:0}.remap-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:95vh}}[data-theme=dark] .deck-section{background:var(--surface)}[data-theme=dark] .deck-stat-card{background:var(--bg)}.slide-preview-overlay{z-index:200;background:#000000d1;justify-content:center;align-items:flex-start;padding:24px 20px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.slide-preview-inner{flex-direction:column;gap:16px;width:100%;max-width:860px;display:flex}.slide-preview-header{align-items:center;gap:16px;display:flex}.slide-preview-label{color:#fff9;font-size:14px}.slide-preview-header .btn-ghost{color:#fff;background:#ffffff1a;border-color:#fff3}.slide-preview-header .btn-ghost:hover{color:#fff;background:#fff3}.slide-preview-img{border-radius:var(--radius-lg);width:100%;display:block;box-shadow:0 8px 40px #00000080}.slide-preview-script{border-radius:var(--radius);color:#ffffffd9;white-space:pre-wrap;background:#ffffff0f;border:1px solid #ffffff1f;padding:16px 20px;font-size:14px;line-height:1.65}.slide-preview-no-script{color:#ffffff59;text-align:center;padding:12px 0;font-size:13px}.setup-header-center{flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.project-name-display{color:var(--text);cursor:pointer;border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;max-width:360px;transition:background var(--transition);background:0 0;border:none;align-items:center;padding:4px 8px;font-family:DM Serif Display,Georgia,serif;font-size:18px;display:flex;overflow:hidden}.project-name-display:hover{background:var(--bg)}.project-name-input{color:var(--text);border:1.5px solid var(--border-focus);border-radius:var(--radius);background:var(--surface);outline:none;width:280px;max-width:360px;padding:4px 10px;font-family:DM Serif Display,Georgia,serif;font-size:18px}.save-status{transition:opacity var(--transition-slow);font-size:12px}.save-status-saving{color:var(--text-muted)}.save-status-saved{color:var(--success)}.save-status-error{color:var(--danger)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12131a;--surface:#1c1e2d;--border:#2c2f45;--border-focus:#6480f3;--text:#e8eaf6;--text-secondary:#9aa0c0;--text-muted:#6b7290;--accent:#6480f3;--accent-hover:#7b93f8;--accent-light:#6480f326;--success:#4ade80;--success-bg:#4ade801a;--warning:#fbbf24;--warning-bg:#fbbf241a;--danger:#f87171;--danger-bg:#f871711a;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 4px #00000080, 0 2px 8px #0000004d;--shadow-md:0 4px 12px #00000080, 0 2px 4px #0000004d;--shadow-lg:0 10px 30px #0009, 0 4px 8px #0006}.oauth-buttons{flex-direction:column;gap:8px;display:flex}.oauth-btn{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);align-items:center;gap:10px;width:100%;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;display:flex}.oauth-btn:hover{background:var(--bg);border-color:var(--text-muted);box-shadow:var(--shadow-sm)}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.oauth-icon{flex-shrink:0;align-items:center;display:flex}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.user-settings-view{background:var(--bg)}.usettings-layout{flex:1;align-items:flex-start;gap:32px;width:100%;max-width:900px;margin:0 auto;padding:32px;display:flex}.usettings-nav{flex-direction:column;flex-shrink:0;gap:2px;width:200px;display:flex;position:sticky;top:80px}.usettings-nav-btn{text-align:left;width:100%;color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:500;display:block}.usettings-nav-btn:hover{background:var(--border);color:var(--text)}.usettings-nav-btn.active{background:var(--accent-light);color:var(--accent);font-weight:600}.usettings-content{flex:1;min-width:0}.usettings-panel{flex-direction:column;gap:28px;display:flex}.usettings-panel-title{font-size:20px;font-weight:600}.usettings-panel-desc{color:var(--text-secondary);margin-top:-16px;font-size:14px}.ufield-group{flex-direction:column;gap:10px;display:flex}.ufield-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.ufield-note{color:var(--text-secondary);font-size:14px}.toggle-row{color:var(--text);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:14px;display:flex}.toggle-switch{background:var(--border);cursor:pointer;width:42px;height:24px;transition:background var(--transition);border:none;border-radius:12px;flex-shrink:0;position:relative}.toggle-switch:after{content:"";width:18px;height:18px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch.on{background:var(--accent)}.toggle-switch.on:after{transform:translate(18px)}.inline-edit-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-edit-row .form-input{flex:1;min-width:160px}.inline-msg{border-radius:var(--radius);padding:8px 12px;font-size:13px}.inline-msg.success{background:var(--success-bg);color:var(--success)}.inline-msg.error{background:var(--danger-bg);color:var(--danger)}.password-fields{flex-direction:column;gap:8px;max-width:360px;display:flex}.danger-zone{border:1.5px solid var(--danger);border-radius:var(--radius-lg);background:var(--danger-bg);padding:20px}.danger-zone-title{color:var(--danger);font-size:15px;font-weight:600}.danger-zone-desc{color:var(--text-secondary);font-size:14px}.delete-confirm-box{flex-direction:column;gap:8px;display:flex}.delete-confirm-box p{color:var(--text);font-size:14px}.theme-toggle-group{gap:8px;display:flex}.theme-btn{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition), color var(--transition), box-shadow var(--transition);align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;display:flex}.theme-btn:hover{border-color:var(--text-muted);color:var(--text)}.theme-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 3px #6480f31f}.shortcuts-table{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:0;display:flex;overflow:hidden}.shortcut-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-row-fixed{opacity:.6}.shortcut-action{color:var(--text);font-size:14px}.shortcut-keys{align-items:center;gap:6px;display:flex}.shortcut-or{color:var(--text-muted);font-size:12px}kbd.shortcut-fixed{background:var(--bg);border:1.5px solid var(--border);min-width:32px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600;display:inline-flex}.key-capture-btn{background:var(--accent-light);border:1.5px solid var(--accent);min-width:52px;color:var(--accent);cursor:pointer;transition:background var(--transition), box-shadow var(--transition);border-radius:6px;justify-content:center;align-items:center;padding:5px 10px;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600;display:inline-flex}.key-capture-btn:hover{box-shadow:0 0 0 3px #6480f326}.key-capturing{background:var(--warning-bg);border-color:var(--warning);color:var(--warning);animation:1s infinite pulse}[data-theme=dark] .upload-zone{border-color:var(--border)}[data-theme=dark] .upload-zone:hover{border-color:var(--accent)}[data-theme=dark] .bulk-textarea,[data-theme=dark] .script-textarea{background:var(--surface);color:var(--text)}[data-theme=dark] .script-textarea:focus{background:var(--bg)}[data-theme=dark] .form-input{background:var(--surface);color:var(--text)}[data-theme=dark] .form-input:focus{background:var(--bg)}[data-theme=dark] .time-input{background:var(--surface);color:var(--text)}[data-theme=dark] .toggle-switch:after{background:#e8eaf6}[data-theme=dark] .slide-card,[data-theme=dark] .project-card,[data-theme=dark] .auth-card,[data-theme=dark] .modal,[data-theme=dark] .radio-card,[data-theme=dark] .stat-card,[data-theme=dark] .chart-wrap,[data-theme=dark] .history-item,[data-theme=dark] .settings-summary,[data-theme=dark] .shortcuts-table{background:var(--surface)}[data-theme=dark] .blanked-word,[data-theme=dark] .script-display .blanked-word{background:#ffffff1f}[data-theme=dark] .per-slide-targets{background:var(--bg)}[data-theme=dark] .difficulty-slider-wrap{background:var(--surface)}[data-theme=dark] kbd.shortcut-fixed{background:var(--bg);color:var(--text)}[data-theme=dark] .mode-toggle{background:var(--bg)}[data-theme=dark] .mode-btn.active{background:var(--surface)}.monitor-btn-bionic{font-size:13px;font-style:italic;font-weight:800}.monitor-btn-bionic.active{color:var(--accent)}.practice-shortcuts-btn{z-index:20;color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;transition:background .15s;display:flex;position:fixed;bottom:20px;left:20px}.practice-shortcuts-btn:hover{background:#000000a6}.recording-indicator{z-index:20;color:#fff;letter-spacing:.05em;background:#0000008c;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.recording-dot{background:#e63946;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.record-toggle{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:4px;font-size:14px;display:flex}.record-toggle input{cursor:pointer}.record-toggle-label{-webkit-user-select:none;user-select:none}.shortcuts-modal{max-width:340px}.shortcuts-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.shortcuts-modal-header h3{margin:0;font-size:16px}.modal-close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1}.shortcuts-table{border-collapse:collapse;width:100%}.shortcuts-table td{vertical-align:middle;padding:7px 4px;font-size:14px}.shortcuts-table td:first-child{width:120px}.kbd{background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:5px;padding:3px 8px;font-family:monospace;font-size:12px;display:inline-block}.summary-audio-section{margin-top:24px}.summary-audio-player{width:100%;max-width:480px;margin-top:8px;display:block}.print-only{display:none}.summary-print-header{margin-bottom:24px}.summary-print-header h1{margin:0 0 4px;font-size:22px}.summary-print-header p{color:#666;margin:0;font-size:13px}.onboarding-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a1499;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.onboarding-card{background:var(--bg);border-radius:20px;width:100%;max-width:520px;padding:36px 40px 40px;position:relative;overflow:hidden;box-shadow:0 24px 64px #0000002e,0 4px 16px #00000014}.onboarding-progress-track{background:var(--border);height:3px;position:absolute;top:0;left:0;right:0}.onboarding-progress-fill{background:var(--accent);border-radius:0 2px 2px 0;height:100%;transition:width .4s}.onboarding-dots{justify-content:center;gap:6px;margin-bottom:28px;display:flex}.onboarding-dot{background:var(--border);border-radius:50%;width:7px;height:7px;transition:background .3s,transform .3s}.onboarding-dot.active{background:var(--accent);transform:scale(1.2)}.onboarding-step{text-align:center;flex-direction:column;align-items:center;gap:4px;animation:.25s step-in;display:flex}@keyframes step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.onboarding-brand{margin-bottom:8px}.onboarding-logo{width:auto;height:56px}.onboarding-title{color:var(--text);margin:8px 0 0;font-size:24px;font-weight:700;line-height:1.2}.onboarding-subtitle{color:var(--text-secondary);max-width:400px;margin:8px 0 20px;font-size:15px;line-height:1.5}.onboarding-field{text-align:left;width:100%;margin-bottom:20px}.onboarding-label{color:var(--text);text-align:left;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.onboarding-optional{color:var(--text-secondary);font-weight:400}.onboarding-input{border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);box-sizing:border-box;border-radius:10px;outline:none;padding:10px 14px;font-size:15px;transition:border-color .15s}.onboarding-input:focus{border-color:var(--accent)}.onboarding-cta{width:100%;margin-top:4px}.onboarding-features{text-align:left;flex-direction:column;gap:16px;width:100%;margin-bottom:24px;display:flex}.onboarding-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.onboarding-feature-icon{color:var(--accent);flex-shrink:0;margin-top:2px}.onboarding-feature-title{color:var(--text);margin-bottom:3px;font-size:14px;font-weight:600}.onboarding-feature-desc{color:var(--text-secondary);font-size:13px;line-height:1.45}.onboarding-pref-group{text-align:left;width:100%;margin-bottom:20px}.onboarding-choice-row{gap:8px;margin-top:8px;display:flex}.onboarding-choice{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:12px 8px;transition:border-color .15s,background .15s;display:flex}.onboarding-choice:hover{border-color:var(--accent)}.onboarding-choice.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.onboarding-choice-label{color:var(--text);font-size:13px;font-weight:600}.onboarding-choice-desc{color:var(--text-secondary);font-size:11px}.onboarding-nav{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:4px;display:flex}.onboarding-step-ready{gap:12px}.onboarding-ready-icon{margin-bottom:4px;font-size:52px;line-height:1}.onboarding-ready-tips{flex-direction:column;gap:8px;width:100%;margin:4px 0 12px;display:flex}.onboarding-tip{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;font-size:13px;display:flex}.onboarding-tip-key{background:var(--bg);border:1px solid var(--border);min-width:32px;color:var(--text);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 8px;font-family:monospace;font-size:12px;font-weight:700;display:inline-flex}[data-theme=dark] .onboarding-card{box-shadow:0 24px 64px #00000080}[data-theme=dark] .onboarding-choice.selected{background:color-mix(in srgb, var(--accent) 15%, var(--surface))}.dashboard-greeting{margin-bottom:28px}.dashboard-greeting-text{color:var(--text);letter-spacing:-.4px;font-family:Inter,sans-serif;font-size:24px;font-weight:600;line-height:1.2}.dashboard-greeting-sub{color:var(--text-muted);margin-top:4px;font-size:13px}.dashboard-stats-row{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.dashboard-stat-pill{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;min-width:120px;padding:10px 16px;display:flex}.dashboard-stat-pill-value{color:var(--text);letter-spacing:-.5px;font-size:22px;font-weight:700;line-height:1}.dashboard-stat-pill-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:500;line-height:1.3}.project-card-thumb{aspect-ratio:16/9;cursor:pointer;background-position:50%;background-size:cover;flex-shrink:0;width:100%;position:relative;overflow:hidden}.project-card-thumb-img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.project-card:hover .project-card-thumb-img{transform:scale(1.03)}.project-thumb-progress{background:#00000040;height:4px;position:absolute;bottom:0;left:0;right:0}.project-thumb-progress-fill{background:linear-gradient(90deg,#4361ee,#7b8eff);border-radius:0 2px 2px 0;height:100%;transition:width .6s}.project-card-thumb-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.project-card-thumb-letter{color:#ffffff80;text-shadow:0 2px 8px #0003;-webkit-user-select:none;user-select:none;font-family:DM Serif Display,Georgia,serif;font-size:48px;font-weight:700}.slide-tag-row{gap:6px;margin-top:8px;display:flex}.slide-tag-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.slide-tag-btn:hover{border-color:var(--text-muted);color:var(--text)}.slide-tag-btn.slide-tag-confident.active{background:var(--success-bg);border-color:var(--success);color:#16a34a}.slide-tag-btn.slide-tag-needs-work.active{background:var(--warning-bg);border-color:var(--warning);color:#b45309}.deck-thumb-tag{border:1.5px solid #ffffffd9;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:3px}.deck-thumb-tag-confident{background:var(--success)}.deck-thumb-tag-needs-work{background:var(--warning)}.time-trend-chart{width:100%;max-width:500px;height:auto;display:block;overflow:visible}.time-trend-legend{color:var(--text-muted);align-items:center;gap:12px;margin-top:10px;font-size:11px;display:flex}.trend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.trend-dot-green{background:var(--success)}.trend-dot-yellow{background:var(--warning)}.trend-dot-red{background:var(--danger)}.trend-dash{opacity:.4;vertical-align:middle;background:#4361ee;border-top:1.5px dashed #4361ee;width:18px;height:2px;display:inline-block}.teleprompter-view{color:#f0f0f0;z-index:200;background:#0d0d0d;flex-direction:column;display:flex;position:fixed;inset:0}.teleprompter-bar{background:#1a1a1a;border-bottom:1px solid #2a2a2a;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;padding:10px 20px;display:flex}.teleprompter-exit{color:#aaa!important}.teleprompter-label{color:#666;flex-shrink:0;font-size:11px}.teleprompter-speed-group,.teleprompter-font-group{align-items:center;gap:5px;display:flex}.teleprompter-font-group{margin-left:auto}.teleprompter-speed-btn{color:#ccc;cursor:pointer;transition:all var(--transition);background:#252525;border:1px solid #3a3a3a;border-radius:6px;padding:4px 10px;font-size:12px}.teleprompter-speed-btn:hover{color:#fff;background:#333}.teleprompter-speed-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.teleprompter-font-btn{color:#ccc;cursor:pointer;transition:all var(--transition);background:#252525;border:1px solid #3a3a3a;border-radius:6px;padding:4px 9px;font-size:13px;font-weight:600}.teleprompter-font-btn:hover:not(:disabled){color:#fff;background:#333}.teleprompter-font-btn:disabled{opacity:.35;cursor:default}.teleprompter-font-size{color:#666;text-align:center;min-width:34px;font-size:11px}.teleprompter-play-btn{flex-shrink:0;margin-left:4px}.teleprompter-content{cursor:pointer;scroll-behavior:auto;flex:1;overflow-y:auto}.teleprompter-content::-webkit-scrollbar{width:4px}.teleprompter-content::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.teleprompter-spacer{height:50vh}.teleprompter-block{max-width:760px;margin:0 auto;padding:20px 48px 52px}.teleprompter-slide-num{text-transform:uppercase;letter-spacing:.09em;color:#555;border-bottom:1px solid #222;margin-bottom:18px;padding-bottom:10px;font-size:11px;font-weight:600}.teleprompter-text{color:#ececec;line-height:1.7}.teleprompter-empty{color:#444;font-style:italic}.teleprompter-hint{color:#888;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;background:#ffffff12;border-radius:24px;padding:8px 22px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.teleprompter-finished{color:#ccc;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all var(--transition);background:#ffffff1a;border:1px solid #333;border-radius:24px;padding:10px 28px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.teleprompter-finished:hover{color:#fff;background:#ffffff26}[data-theme=dark] .teleprompter-speed-btn{background:#1a1a1a;border-color:#333}@media print{.no-print{display:none!important}.print-only{display:block!important}body{background:#fff!important}.view,.summary-main{padding:0!important}.stat-card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}.summary-chart-section{break-inside:avoid}}
