@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--purple:#7c35ee;--purple-light:#a06bff;--green:#4caf50;--red:#e53935;--bg:#0f0f1a;--card:#1a1a2e;--text:#f0f0f0;--muted:#888;--radius:14px}#header,#selector,body{display:flex;align-items:center}body{font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;flex-direction:column;padding:28px 20px 20px;transition:background .3s,color .3s}body.light{--bg:#f0f0f0;--card:#ffffff;--text:#1a1a2e;--muted:#555}#header,#selector{width:100%}#header{max-width:1100px;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}#header h1{font-size:clamp(1.4em,3vw,2em);color:var(--purple-light);letter-spacing:1px}.hbtn{border:1.5px solid #333;border-radius:8px;padding:8px 16px;font-size:1em;transition:background .2s,transform .15s}.hbtn:hover{background:#2a2a3e;transform:translateY(-1px)}body.light .hbtn:hover{background:#e0e0e0}#selector{flex-direction:column;gap:18px;margin-top:40px;max-width:600px}#selector h2{font-size:clamp(1.4em,3vw,1.9em);color:var(--muted);font-weight:400}#quizSelect,.hbtn{background:var(--card);color:var(--text);cursor:pointer}#quizSelect{width:100%;padding:16px 20px;font-size:clamp(1.1em,2.2vw,1.4em);border:2px solid var(--purple);border-radius:var(--radius);outline:0}#selector-row{display:flex;gap:14px;width:100%}#shuffleToggle,#startBtn{border-radius:var(--radius);cursor:pointer}#shuffleToggle{padding:16px 22px;font-size:clamp(1em,2vw,1.2em);border:2px solid #444;background:var(--card);color:var(--muted);white-space:nowrap;transition:all .2s}#shuffleToggle.on{border-color:var(--purple-light);color:var(--purple-light);background:rgba(124,53,238,.15)}#startBtn{flex:1;padding:16px;font-size:clamp(1.1em,2.5vw,1.5em);font-weight:700;background:linear-gradient(135deg,var(--purple),#a06bff);color:#fff;border:0;box-shadow:0 4px 20px rgba(124,53,238,.4);transition:transform .15s,box-shadow .15s}#startBtn:hover{transform:translateY(-2px);box-shadow:0 6px 26px rgba(124,53,238,.6)}#quiz-screen{width:100%;max-width:1100px;flex-direction:column;gap:18px}#progress-row{display:flex;align-items:center;gap:16px}#q-counter{font-size:clamp(1em,2vw,1.3em);color:var(--purple-light);font-weight:700;white-space:nowrap;min-width:120px}#progress-track{flex:1;height:10px;background:#2a2a3a;border-radius:999px;overflow:hidden}#progress-fill{height:100%;width:0%;background:linear-gradient(to right,var(--purple),var(--purple-light));transition:width .4s ease;border-radius:999px}#timer-track{height:8px;background:#2a2a3a;border-radius:999px;overflow:hidden;margin-top:-8px}#time-fill{height:100%;width:100%;background:linear-gradient(to right,#7c35ee,#a06bff);transition:width 1s linear,background .5s;border-radius:999px}#questionBox,.opt-btn{background:var(--card);border-radius:var(--radius)}#questionBox{padding:28px 32px;border:1.5px solid #2a2a3e;box-shadow:0 8px 32px rgba(0,0,0,.3);display:flex;align-items:flex-start;gap:20px;position:relative}#questionText{flex:1;font-size:clamp(1.4em,3vw,2.2em);font-weight:600;line-height:1.35;color:var(--text)}#timer-circle-wrap{flex-shrink:0;width:64px;height:64px;position:relative}#timer-svg{width:64px;height:64px;transform:rotate(-90deg)}#timer-svg circle.bg{stroke:#2a2a3e;stroke-width:5;fill:none}#timer-svg circle.arc{stroke:var(--purple-light);stroke-width:5;fill:none;stroke-dasharray:169.6;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear,stroke .5s;stroke-linecap:round}#status-badge,#timer-label{font-weight:700;color:var(--purple-light)}#timer-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.9em}#timer-label.urgent{color:var(--red)}#status-badge{text-align:center;font-size:1.1em;min-height:28px}#optionsContainer{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:600px){#optionsContainer{grid-template-columns:1fr}}.opt-btn{color:var(--text);border:2px solid #2a2a3e;padding:22px 24px;font-size:clamp(1.1em,2.2vw,1.6em);font-weight:500;text-align:left;cursor:default;transition:border-color .3s,background .3s,transform .2s;line-height:1.3;word-break:break-word}.opt-btn.correct{background:rgba(76,175,80,.18)!important;border-color:var(--green)!important;color:#81c784!important;font-weight:700;transform:scale(1.02);box-shadow:0 0 20px rgba(76,175,80,.3)}.opt-btn.wrong{background:rgba(229,57,53,.12)!important;border-color:var(--red)!important;color:#e57373!important;opacity:.7}#controls{display:flex;gap:12px;justify-content:center;margin-top:6px;flex-wrap:wrap}.ctrl-btn{padding:13px 26px;font-size:clamp(1em,1.8vw,1.2em);font-weight:700;border:0;border-radius:10px;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .2s;box-shadow:0 2px 8px rgba(0,0,0,.25)}.ctrl-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.35)}.ctrl-btn:disabled{opacity:.35;cursor:default}#btnPause{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}#btnResume{background:linear-gradient(135deg,#4caf50,#81c784);color:#fff}#btnSkip{background:linear-gradient(135deg,#2196f3,#64b5f6);color:#fff}#btnStop{background:linear-gradient(135deg,#e53935,#ef5350);color:#fff}#shortcut-hint{text-align:center;font-size:.85em;color:var(--muted);margin-top:-4px}#complete-screen{flex-direction:column;align-items:center;gap:20px;margin-top:60px;text-align:center}#complete-screen h2{font-size:clamp(2em,5vw,3.5em);color:var(--purple-light)}#complete-screen p{font-size:1.4em;color:var(--muted)}#btnReturn{padding:16px 36px;font-size:1.3em;font-weight:700;background:linear-gradient(135deg,var(--purple),#a06bff);color:#fff;border:0;cursor:pointer;margin-top:10px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;backdrop-filter:blur(4px)}#btnReturn,.modal-card{border-radius:var(--radius)}.modal-card{background:var(--card);color:var(--text);border:2px solid var(--purple);max-width:650px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.5);overflow:hidden;animation:fadeIn .25s ease-out}.modal-header{padding:18px 24px;background:rgba(124,53,238,.15);border-bottom:1px solid #2a2a3e}#section-badge,.modal-header h3{color:var(--purple-light);font-size:1.3em}.modal-body{padding:20px 24px;overflow-y:auto;font-size:.95em;line-height:1.5}.guide-section h4{color:var(--purple-light);margin-bottom:10px}.guide-section ul{list-style:none;padding-left:0}.guide-section li{margin-bottom:8px;position:relative;padding-left:20px}.guide-section li::before{content:"•";color:var(--purple-light);font-weight:700;position:absolute;left:0}.modal-divider{border:0;height:1px;background:#2a2a3e;margin:16px 0}.modal-footer{padding:16px 24px;background:rgba(0,0,0,.2);border-top:1px solid #2a2a3e;text-align:center}.modal-btn{padding:12px 28px;font-size:1.1em;font-weight:700;background:linear-gradient(135deg,var(--purple),var(--purple-light));color:#fff;border:0;border-radius:var(--radius);cursor:pointer;box-shadow:0 4px 15px rgba(124,53,238,.4);transition:transform .15s}.modal-btn:hover{transform:translateY(-2px)}#section-badge{background:linear-gradient(135deg,rgba(124,53,238,.25),rgba(160,107,255,.15));border:1.5px solid var(--purple-light);padding:8px 18px;border-radius:20px;font-size:1.05em;font-weight:700;text-align:center;align-self:center;letter-spacing:.5px;box-shadow:0 2px 10px rgba(124,53,238,.2)}.katex{font-size:1.1em!important}.opt-btn .katex{font-size:1em!important}.text-green,.text-red{color:#e53935;font-weight:700}.text-green{color:#4caf50}.text-blue,.text-yellow{color:#2196f3;font-weight:700}.text-yellow{color:#ffb74d}.prompt-box{position:relative;background:rgba(0,0,0,.2);border:1px dashed var(--purple-light);border-radius:8px;padding:12px;margin-top:10px}body.light .prompt-box{background:rgba(0,0,0,.05);border-color:var(--purple)}#aiPromptText{width:100%;height:140px;background:0 0;color:var(--purple-light);border:0;resize:none;font-family:"Segoe UI",monospace;font-size:.95em;line-height:1.4;outline:0}body.light #aiPromptText{color:var(--purple)}.copy-btn{position:absolute;bottom:12px;right:12px;background:linear-gradient(135deg,var(--purple),var(--purple-light));color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:700;box-shadow:0 2px 8px rgba(124,53,238,.3);transition:all .2s}.copy-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,53,238,.5)}