@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0c0c;--surface:#111;--surface2:#1a1a1a;--border:#2a2a2a;--text:#d4d4d4;--muted:#8f8f8f;--accent:#4ade80;--green:#4ade80;--red:#f87171;--amber:#fbbf24;--font:"DM Mono", monospace;--mono:"DM Mono", monospace;--radius:2px;--max-w:540px}html{font-size:16px;overflow:hidden scroll}body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.ad-banner{width:100%;max-width:100%;overflow:hidden}.ad-banner .adsbygoogle{width:100%;max-width:100%}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:24px 16px;font-size:.75rem;display:flex}.footer a{color:var(--accent);text-decoration:none}.footer a:hover{text-decoration:underline}.page{background:var(--bg);flex-direction:column;align-items:center;min-height:100dvh;padding:24px 16px 0;display:flex}.wrap{width:100%;max-width:var(--max-w);flex-direction:column;flex:1;display:flex}main{flex-direction:column;flex:1;min-height:0;padding-bottom:24px;display:flex;overflow-y:auto}.hdr{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:28px;display:flex}.logo{font-family:var(--mono);cursor:pointer;color:var(--text);letter-spacing:-.02em;align-items:center;font-size:1.4rem;font-weight:500;display:flex}.logo-img{vertical-align:middle;width:auto;height:1.4rem;margin-right:10px}.logo-accent{color:var(--accent);text-transform:lowercase}.domain{font-family:var(--mono);color:var(--muted);border:1px solid var(--border);padding:3px 8px;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);padding:20px}.hero{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);margin-bottom:16px;padding:28px 24px}.hero h1{color:var(--text);letter-spacing:-.02em;margin-bottom:10px;font-size:1.75rem;font-weight:500;line-height:1.2}.hero h1 em{color:var(--accent);font-style:normal}.hero p{color:var(--muted);font-size:.9rem;line-height:1.7}.examples{border:1px solid var(--border);margin-bottom:16px;overflow:hidden}.example-row{font-family:var(--mono);background:var(--surface);justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-size:.875rem;display:flex}.example-row+.example-row{border-top:1px solid var(--border)}.example-dir{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;min-width:80px;font-size:.75rem;font-weight:500}.example-prompt{color:var(--accent)}.example-arrow{color:var(--muted)}.example-answer{color:var(--text)}.round-summary{color:#fff;text-align:center;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:10px}.btn-play{width:100%;margin-bottom:16px;padding:14px;font-size:1rem}.instr-card{margin-bottom:16px}.instr-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-size:.75rem;font-weight:500}.instr-list{flex-direction:column;gap:10px;list-style:none;display:flex}.instr-item{color:var(--muted);gap:10px;font-size:.875rem;line-height:1.6;display:flex}.instr-dot{content:"//";color:var(--accent);font-family:var(--mono);flex-shrink:0;width:16px;margin-top:2px;font-size:.75rem}.instr-item strong{color:var(--text);font-weight:500}.quiz-top{margin-bottom:0}.quiz-card-wrap{flex-direction:column;flex:1;justify-content:center;padding:16px 0;display:flex}@media (height>=641px){.quiz-card-wrap{padding-bottom:18%}}.timer{margin-bottom:12px}.timer-row{justify-content:space-between;margin-bottom:6px;display:flex}.timer-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.timer-digits{font-family:var(--mono);color:var(--accent);font-size:.9rem}.timer-digits.warn{color:var(--amber)}.timer-digits.danger{color:var(--red)}.timer-track{background:var(--surface2);height:2px;overflow:hidden}.timer-fill{background:var(--accent);height:100%;transition:width 1s linear,background .3s}.timer-fill.warn{background:var(--amber)}.timer-fill.danger{background:var(--red)}.dots{gap:3px;margin-bottom:14px;display:flex}.dot{background:var(--surface2);border:1px solid var(--border);flex:1;height:3px;transition:background .2s}.dot.correct{background:var(--green);border-color:var(--green)}.dot.passed{background:var(--red);border-color:var(--red)}.dot.skipped{background:var(--amber);border-color:var(--amber)}.dot.active{background:var(--accent);border-color:var(--accent);animation:1.1s ease-in-out infinite blink}.q-meta{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.q-count{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.q-count strong{color:var(--text)}.q-badge{font-family:var(--mono);color:var(--accent);background:var(--surface2);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;font-size:.75rem}.q-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.75rem}.q-prompt{font-family:var(--mono);color:var(--accent);background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--accent);margin-bottom:20px;padding:14px 16px;font-size:1.1rem}.a-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.75rem}.answer{width:100%;font-family:var(--mono);color:var(--text);background:var(--surface2);border:1px solid var(--border);caret-color:var(--accent);outline:none;padding:12px 14px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.answer:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.answer.correct{border-color:var(--green);color:var(--green)}.answer.wrong{border-color:var(--red);animation:.25s shake}.hint{min-height:22px;font-size:.875rem;font-family:var(--mono);color:var(--muted);margin-top:10px}.hint.ok{color:var(--green)}.hint.bad{color:var(--red)}.hint.pass{color:var(--amber)}.share-row{border:1px solid var(--border);background-color:var(--surface);justify-content:center;align-items:center;gap:8px;margin-top:20px;margin-bottom:20px;padding:12px 16px;display:flex}.share-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-right:4px;font-size:.75rem}@media (width<=375px){.share-row{flex-wrap:wrap;gap:10px 8px}.share-label{text-align:center;width:100%;margin-right:0}}.share-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--muted);background:var(--bg);justify-content:center;align-items:center;font-size:1rem;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.share-btn:hover{color:var(--accent);border-color:var(--accent)}.book-promo{border:1px solid var(--border);background-color:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;transition:border-color .15s;display:flex;position:relative}.book-promo:hover{border-color:var(--accent)}.book-promo:hover .book-promo-label,.book-promo:hover .book-title,.book-promo:hover .book-author{color:var(--accent)}.book-promo-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.book-promo-link{color:var(--text);align-items:baseline;gap:8px;text-decoration:none;transition:color .15s;display:flex;position:static}.book-promo-link:after{content:"";position:absolute;inset:0}.book-promo:hover .book-promo-link,.book-promo-link:hover{color:var(--accent)}.book-title{font-family:var(--mono);letter-spacing:.03em;font-size:.9rem;font-weight:600}.book-author{font-family:var(--mono);color:var(--muted);letter-spacing:.05em;font-size:.75rem}@media (width<=600px){.book-promo{text-align:center;flex-direction:column;align-items:center;gap:6px}.book-promo-link{flex-direction:column;align-items:center;gap:2px}}.btn-row{gap:8px;margin-top:16px;display:flex}.btn{font-family:var(--mono);cursor:pointer;border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:0 0;padding:12px;font-size:.9rem;transition:color .15s,border-color .15s,background .15s}.btn:active{opacity:.8}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent);flex:1;font-weight:500}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 85%, transparent)}.btn-primary:disabled{opacity:.3;cursor:default}.btn-secondary{color:#000;background:#fff;border-color:#fff;padding:12px 18px}.btn-secondary:hover{background:#e5e5e5;border-color:#e5e5e5}.btn-ghost{color:var(--muted);flex:.5}.btn-ghost:hover{color:var(--text);border-color:var(--text)}.btn-support{text-align:center;color:#fff;background:#f05a28;border-color:#f05a28;text-decoration:none;display:block}.btn-support:hover{color:#fff;background:#d44d20;border-color:#d44d20}.level-picker,.question-picker,.mode-picker{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.mode-picker{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.btn-level{text-transform:capitalize;color:var(--muted);border-color:var(--border);flex:1}.btn-level:hover{color:var(--text);border-color:var(--text)}.btn-level.active{color:var(--accent);border-color:var(--accent)}.results-section{margin-bottom:20px}.r-header{text-align:center;border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}.r-score{flex-direction:column;justify-content:center;align-items:center;gap:2px;margin-bottom:6px;display:flex}.r-score-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px;font-size:.7rem}.r-num{color:var(--accent);font-size:3.5rem;font-weight:500;line-height:1}.r-denom{font-size:2rem}.r-msg{font-size:.875rem}.r-level{color:var(--muted);text-transform:capitalize;margin-top:6px;font-size:.75rem}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.stat{background:var(--surface2);border:1px solid var(--border);text-align:center;padding:12px 8px}.stat-n{font-size:1.75rem;font-weight:500;line-height:1}.stat-n.green{color:var(--green)}.stat-n.red{color:var(--red)}.stat-n.muted{color:var(--muted)}.stat-l{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:.7rem}.review-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.75rem}.review{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:220px;margin-bottom:18px;overflow-y:auto}.review::-webkit-scrollbar{width:4px}.review::-webkit-scrollbar-track{background:0 0}.review::-webkit-scrollbar-thumb{background:var(--border)}.review::-webkit-scrollbar-thumb:hover{background:var(--muted)}.review-row{border-bottom:1px solid var(--border);gap:10px;padding:9px 0;display:flex}.review-row:last-child{border-bottom:none}.review-dot{flex-shrink:0;width:6px;height:6px;margin-top:6px}.review-dot.correct{background:var(--green)}.review-dot.passed,.review-dot.wrong{background:var(--red)}.review-dot.skipped{background:var(--amber)}.review-tw{font-family:var(--mono);color:var(--accent);font-size:.875rem}.review-css{font-family:var(--mono);color:var(--muted);margin-top:2px;font-size:.875rem}.review-bad{font-family:var(--mono);color:var(--red);margin-top:2px;font-size:.875rem}
