:root{color-scheme:dark;--bg:#101117;--panel:#171922;--panel2:#202330;--muted:#878b9d;--text:#f4f4f7;--accent:#a9e85b;--accent2:#d4ff8a;--border:#2c3040}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#252a3b 0,#101117 48%);color:var(--text);font-family:"DM Sans",sans-serif;min-height:100vh}.app-shell{max-width:1180px;margin:auto;padding:20px 34px 32px}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700;font-size:20px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:#18210e;font-weight:800}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{color:var(--muted);font-size:14px;text-decoration:none}.main-nav a.active,.main-nav a:hover{color:var(--text)}.icon-button,.toolbar-button,.controls button{border:0;color:var(--text);background:transparent;cursor:pointer}.icon-button{font-size:17px;color:var(--muted)}.video-card{margin-top:22px;border:1px solid var(--border);background:#0b0c10;border-radius:16px;overflow:hidden}.video-screen{height:330px;display:grid;place-items:center;align-content:center;color:var(--muted);background:linear-gradient(135deg,#171b26,#0c0d12)}.play-orb{display:grid;place-items:center;width:62px;height:62px;margin-bottom:12px;border:1px solid #52586a;border-radius:50%;color:var(--accent);font-size:22px;padding-left:4px}.video-screen p{margin:0;color:#e3e5ee;font-size:17px}.video-screen small{margin-top:7px}.video-caption{display:flex;gap:8px;align-items:center;padding:12px 18px;font-size:12px;color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.practice-panel{margin-top:14px;border:1px solid var(--border);background:rgba(23,25,34,.96);border-radius:16px;padding:14px 18px 22px}.toolbar{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:14px}.toolbar-button{padding:9px 12px;border-radius:9px;color:#c6c9d4;font-size:13px}.toolbar-button:hover{background:var(--panel2);color:var(--text)}.toolbar-button b{margin-left:8px;color:var(--muted)}.video-select{flex:1;text-align:left}.compact{font-size:15px;min-width:38px}.import-button{color:var(--accent)}{display:flex;gap:34px;margin:20px 5px 12px}.stats-row div{display:flex;flex-direction:column;gap:3px}.stats-row span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.stats-row strong{font-family:"Space Mono",monospace;font-size:17px}.controls{display:flex;justify-content:center;gap:15px}.controls button{width:34px;height:34px;border-radius:8px;font-size:17px}.controls button:hover:not(:disabled){background:var(--panel2);color:var(--accent)}.controls button:disabled{opacity:.3}.progress{height:3px;background:#303342;margin:10px 0 25px;border-radius:2px}.progress span{display:block;width:0;height:100%;background:var(--accent);transition:width .2s}.typing-wrap{cursor:text}.prompt{min-height:102px;padding:20px 16px;font:18px/2 "Space Mono",monospace;letter-spacing:.02em;color:#686d7e}.prompt .typed{color:var(--accent2)}.prompt .current{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent)}.prompt .wrong{color:#ff7373;background:#49252a}.prompt .untyped{color:#686d7e}.typing-wrap.hidden{display:none}.typing-wrap textarea{width:100%;height:44px;resize:none;border:1px solid var(--border);border-radius:10px;background:#101117;color:var(--text);padding:12px 14px;outline:none;font:14px "Space Mono",monospace}.typing-wrap textarea:focus{border-color:var(--accent)}footer{display:flex;gap:22px;justify-content:center;margin-top:25px}footer a{color:var(--muted);font-size:12px;text-decoration:none}footer a:hover{color:var(--text)}.cookie-banner{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:min(640px,calc(100% - 32px));display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:#222532;box-shadow:0 12px 45px #0008}.cookie-banner strong{font-size:14px}.cookie-banner p{margin:6px 0 0;color:var(--muted);font-size:12px}.cookie-actions{display:flex;gap:8px}.cookie-actions button{border:0;border-radius:8px;padding:9px 13px;background:#343847;color:var(--text);cursor:pointer}.cookie-actions .primary{background:var(--accent);color:#17200e}.toast{position:fixed;top:82px;right:28px;padding:10px 15px;border-radius:8px;background:var(--accent);color:#18210e;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}@media(max-width:700px){.app-shell{padding:14px 14px 25px}.main-nav{gap:12px}.main-nav a{display:none}.video-screen{height:220px}.toolbar{flex-wrap:wrap}.video-select{order:-1;flex-basis:100%}.cookie-banner{display:block}.cookie-actions{margin-top:12px;justify-content:flex-end}footer{flex-wrap:wrap;gap:12px}}
 .import-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#050609b8;z-index:5}.import-modal[hidden]{display:none}.import-dialog{position:relative;width:min(470px,100%);padding:26px;border:1px solid var(--border);border-radius:16px;background:#202330;box-shadow:0 20px 70px #000b}.import-dialog h2{margin:0 0 8px;font-size:21px}.import-dialog p{margin:0 0 20px;color:var(--muted);font-size:13px}.import-dialog label{display:block;margin-bottom:7px;color:#d9dbe5;font-size:12px}.import-dialog input{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;background:#101117;color:var(--text);outline:none}.import-dialog input:focus{border-color:var(--accent)}.import-hint{margin:10px 0 18px;color:var(--muted);font-size:11px;line-height:1.5}.close-modal{position:absolute;top:12px;right:14px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.import-submit{border:0;border-radius:9px;padding:11px 16px;background:var(--accent);color:#17200e;cursor:pointer;font-weight:600}
 .video-screen.embedded{display:block;padding:0}.video-screen.embedded iframe{width:100%;height:330px;border:0;display:block}
 .built-in-preview{height:330px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:linear-gradient(135deg,#263d2a,#11141a)}.built-in-preview span{color:var(--accent);font-size:10px;letter-spacing:.14em}.built-in-preview strong{font-size:28px}.built-in-preview small{color:var(--muted)}.built-in-preview a{margin-top:10px;color:var(--accent);font-size:12px}.built-in-preview em{color:var(--muted);font-size:11px;font-style:normal}
 .choose-button{color:var(--accent);white-space:nowrap}.song-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#050609b8;z-index:5}.song-modal[hidden]{display:none}.song-dialog{position:relative;width:min(620px,100%);max-height:80vh;overflow:auto;padding:26px;border:1px solid var(--border);border-radius:16px;background:#202330;box-shadow:0 20px 70px #000b}.song-dialog h2{margin:0 0 8px;font-size:21px}.song-dialog p{margin:0 0 18px;color:var(--muted);font-size:13px}.picker-section{margin-top:18px}.picker-section:first-of-type{margin-top:0}.built-in-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.built-in-song{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#171922;color:var(--text);text-align:left;cursor:pointer}.built-in-song:hover{border-color:var(--accent);background:#252a35}.built-in-song small{color:var(--muted);font-size:11px}@media(max-width:700px){.built-in-list{grid-template-columns:1fr}}
 .picker-heading{margin:18px 0 8px;color:var(--accent);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.playlist-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.playlist-card{min-height:95px;padding:13px;border:1px solid var(--border);border-radius:11px;text-decoration:none;background:linear-gradient(135deg,#242a3b,#171922);display:flex;flex-direction:column;justify-content:space-between}.playlist-card.telugu{background:linear-gradient(135deg,#263d2a,#171922)}.playlist-card.english{background:linear-gradient(135deg,#302743,#171922)}.playlist-card span{font-size:10px;color:var(--accent);letter-spacing:.12em}.playlist-card strong{color:var(--text);font-size:14px}.playlist-card small{color:var(--muted);font-size:11px}.playlist-card:hover{border-color:var(--accent)}@media(max-width:700px){.playlist-row{grid-template-columns:1fr}}
 .result-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#050609b8;z-index:6}.result-modal[hidden]{display:none}.result-dialog{width:min(440px,100%);padding:30px;border:1px solid var(--border);border-radius:16px;background:#202330;text-align:center;box-shadow:0 20px 70px #000b}.result-dialog h2{margin:8px 0 4px;font-size:26px}.result-dialog>p{margin:0;color:var(--muted);font-size:13px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:26px 0}.result-grid div{padding:14px 8px;border:1px solid var(--border);border-radius:10px;background:#171922}.result-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.result-grid strong{display:block;margin-top:8px;font:700 20px "Space Mono",monospace;color:var(--accent)}.result-restart{border:0;border-radius:9px;padding:11px 16px;background:var(--accent);color:#17200e;cursor:pointer;font-weight:600}
 .fullscreen-stage{display:block}.video-actions{display:flex;justify-content:center;gap:10px;margin:12px 0 2px}.fullscreen-stage:fullscreen{display:flex;flex-direction:column;overflow:hidden;width:100%;height:100%;min-height:100vh;padding:14px;background:var(--bg)}.fullscreen-stage:fullscreen .video-card{flex:1 1 auto;margin-top:0;min-height:0}.fullscreen-stage:fullscreen .video-caption,.fullscreen-stage:fullscreen .video-actions .choose-button,.fullscreen-stage:fullscreen .practice-panel .toolbar,.fullscreen-stage:fullscreen .stats-row,.fullscreen-stage:fullscreen .controls,.fullscreen-stage:fullscreen .progress{display:none}.fullscreen-stage:fullscreen .video-actions{flex:0 0 24px;display:flex;justify-content:flex-end;margin:4px 0}.fullscreen-stage:fullscreen .video-screen,.fullscreen-stage:fullscreen .video-screen.embedded iframe{height:100%;min-height:0}.fullscreen-stage:fullscreen .practice-panel{flex:0 0 auto;margin:4px 0 0;padding:0;border:0;background:transparent}.fullscreen-stage:fullscreen .prompt{min-height:72px;padding:12px 2px}.fullscreen-stage:fullscreen .typing-wrap textarea{height:44px}.result-wait{margin:16px 0;color:var(--accent)!important}.result-skip,.result-quit{border:1px solid var(--border);border-radius:9px;padding:11px 16px;margin:0 8px 0 0;background:#343847;color:var(--text);cursor:pointer;font-weight:600}.result-skip:hover,.result-quit:hover{border-color:var(--accent)}
