:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#7c3aed;--accent-bg:#7c3aed1a;--accent-border:#7c3aed80;--mono:ui-monospace, Consolas, monospace;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#a78bfa;--accent-bg:#a78bfa26;--accent-border:#a78bfa80}}*{box-sizing:border-box}body{margin:0}.app{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:20px;display:flex}header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}header h1{color:var(--text-h);margin:0;font-size:24px}.header-right{align-items:center;gap:12px;display:flex}.back-btn{border:2px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:600;transition:all .15s}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.stats{gap:8px;display:flex}.stat{font-family:var(--mono);color:var(--accent);background:var(--accent-bg);border-radius:8px;padding:6px 14px;font-size:18px;font-weight:600}.stat.fire:before{content:"🔥 "}.home{justify-content:flex-start}.home-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 0 32px;display:flex}.home-logo{margin-bottom:4px}.home-title{color:var(--text-h);letter-spacing:-.5px;margin:0;font-size:32px;font-weight:800}.home-subtitle{color:var(--text);margin:0;font-size:15px}.home-cards{flex-direction:column;gap:14px;display:flex}.home-card{border:2px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;border-radius:14px;padding:0;transition:all .15s;display:flex;overflow:hidden}.home-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.home-card-accent{flex-shrink:0;width:6px}.card-regular .home-card-accent{background:#22c55e}.card-timed .home-card-accent{background:#f59e0b}.card-test .home-card-accent{background:var(--accent)}.card-regular:hover{border-color:#22c55e}.card-timed:hover{border-color:#f59e0b}.card-test:hover{border-color:var(--accent)}.home-card-body{flex:1;padding:18px 20px}.home-card-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.home-card-icon{font-size:22px;line-height:1}.home-card-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--text);background:var(--code-bg);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.home-card-title{color:var(--text-h);margin-bottom:4px;font-size:20px;font-weight:700}.home-card-desc{color:var(--text);font-size:13px;line-height:1.5}.mode-tabs{gap:8px;margin-bottom:24px;display:flex}.tab{border:2px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:10px;flex:1;padding:9px 16px;font-size:15px;font-weight:600;transition:all .15s}.tab:hover{border-color:var(--accent)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.subject-cards{flex-direction:column;gap:14px;margin-top:24px;display:flex}.subject-card{border:2px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 24px;transition:all .15s;display:flex}.subject-card:hover{border-color:var(--accent);background:var(--accent-bg)}.subject-card-title{color:var(--text-h);font-size:18px;font-weight:700}.subject-card-desc{color:var(--text);font-size:13px;line-height:1.4}main{flex-direction:column;flex:1;align-items:center;gap:32px;display:flex}.problem{background:var(--code-bg);box-sizing:border-box;text-align:center;border-radius:16px;width:100%;padding:40px 48px}.expression{font-family:var(--mono);color:var(--text-h);letter-spacing:2px;align-items:center;gap:4px;font-size:42px;font-weight:700;display:inline-flex}.expression .neg{color:#ef4444}.expression .op{color:var(--accent)}.var-letter{color:#f59e0b;font-style:italic;font-weight:700}.solve-hint{color:var(--text);margin-top:14px;font-size:16px}.solve-hint .var-letter{font-size:18px}.fraction{vertical-align:middle;flex-direction:column;align-items:center;padding:0 6px;display:inline-flex}.frac-top,.frac-bottom{font-family:var(--mono);color:var(--text-h);padding:2px 8px;font-size:32px;font-weight:700;line-height:1.2}.frac-top .var-letter,.frac-bottom .var-letter{font-size:32px}.frac-top .neg,.frac-bottom .neg{color:#ef4444}.frac-line{background:var(--text-h);border-radius:2px;width:100%;height:3px;display:block}.expr-fraction{gap:8px;font-size:32px}.toggle-row{align-items:center;gap:12px;margin-bottom:24px;display:flex}.formula-toggle{color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.formula-toggle input{width:16px;height:16px;accent-color:var(--accent)}.answer-mode-toggle{background:var(--code-bg);border-radius:8px;flex:1;gap:6px;padding:4px;display:flex}.amt-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 12px;font-size:13px;font-weight:600;transition:all .15s}.amt-btn.active{background:var(--accent);color:#fff}.type-answer{align-items:center;gap:12px;width:100%;display:flex}.type-input{font-family:var(--mono);border:2px solid var(--border);background:var(--bg);color:var(--text-h);-moz-appearance:textfield;border-radius:12px;outline:none;flex:1;padding:16px 20px;font-size:24px;font-weight:600;transition:border-color .15s}.type-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.type-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.type-input:focus{border-color:var(--accent)}.type-input::placeholder{color:var(--text);font-size:18px;font-weight:400}.choices{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.choice{font-family:var(--mono);border:2px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:12px;padding:20px;font-size:24px;transition:all .15s}.choice:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}.choice:disabled{cursor:default}.choice.dimmed{opacity:.4}.choice.correct{opacity:1;background:#22c55e26;border-color:#22c55e}.choice.wrong{opacity:1;background:#ef444426;border-color:#ef4444}.feedback{border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:16px 24px;display:flex}.feedback p{margin:0;font-size:20px;font-weight:600}.feedback .var-letter{font-size:20px}.fb-correct{background:#22c55e1a;border:1px solid #22c55e4d}.fb-correct p{color:#22c55e}.fb-wrong{background:#ef44441a;border:1px solid #ef44444d}.fb-wrong p{color:#ef4444}.next-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 28px;font-size:16px;font-weight:600;transition:opacity .15s}.next-btn:hover{opacity:.85}.geo-layout{background:var(--code-bg);box-sizing:border-box;border-radius:16px;align-items:center;gap:24px;width:100%;padding:24px;display:flex}.geo-shape{flex:1;justify-content:center;display:flex}.shape-svg{--shape-fill:var(--accent-bg);--shape-stroke:var(--accent);--dim-line:var(--text);width:100%;max-width:220px;height:auto;overflow:visible}.shape-svg .dim-text{font-family:var(--mono);fill:var(--text-h);font-size:14px;font-weight:600}.geo-info{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.geo-shape-name{color:var(--text-h);text-transform:capitalize;font-size:22px;font-weight:700}.geo-formula-card{background:var(--bg);border:2px solid var(--accent-border);border-radius:10px;padding:12px 16px;overflow:hidden}.geo-formula-label{text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:4px;font-size:11px}.geo-formula{font-family:var(--mono);color:var(--accent);white-space:nowrap;font-size:18px;font-weight:700}.geo-question{font-family:var(--mono);color:var(--text-h);font-size:28px;font-weight:700}.timer-bar{justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.timer-display{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);text-align:center;border-radius:10px;min-width:100px;padding:8px 24px;font-size:32px;font-weight:700}.timer-warn{color:#f59e0b;background:#f59e0b1a}.timer-danger{color:#ef4444;background:#ef44441a;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.no-calc-badge{text-transform:uppercase;letter-spacing:.5px;color:#ef4444;white-space:nowrap;background:#ef44441a;border:2px solid #ef44444d;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:700}.question-expired{text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;width:100%;padding:10px}.question-expired-text{color:#ef4444;font-size:16px;font-weight:600}.test-setup{background:var(--code-bg);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:20px;width:100%;padding:40px 24px;display:flex}.test-setup-title{color:var(--text-h);font-size:24px;font-weight:700}.test-setup-desc{color:var(--text);max-width:360px;font-size:15px}.test-setup-section{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.test-setup-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text);font-size:13px;font-weight:600}.test-setup-buttons{gap:12px;display:flex}.test-option-btn{border:2px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:10px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .15s}.test-option-btn:hover{border-color:var(--accent)}.test-option-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);font-weight:700}.test-count-btn{border:2px solid var(--accent);background:var(--bg);color:var(--accent);cursor:pointer;border-radius:12px;padding:16px 28px;font-size:18px;font-weight:700;transition:all .15s}.test-count-btn:hover{background:var(--accent);color:#fff}.test-results{background:var(--code-bg);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:20px;width:100%;padding:48px 24px;display:flex}.test-results-big{font-family:var(--mono);color:var(--accent);font-size:72px;font-weight:700;line-height:1}.score-toggle{gap:8px;display:flex}.score-toggle-btn{border:2px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s}.score-toggle-btn:hover{border-color:var(--accent)}.score-toggle-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.test-results-detail{color:var(--text);font-size:18px}.report-card{background:var(--code-bg);border-radius:16px;flex-direction:column;gap:20px;width:100%;padding:28px 24px;display:flex}.report-card-top{align-items:center;gap:10px;display:flex}.report-card-heading{color:var(--text-h);flex:1;font-size:16px;font-weight:700}.report-card-date{color:var(--text);font-size:13px}.report-card-score{text-align:center;padding:16px 0}.report-card-big{font-family:var(--mono);color:var(--accent);font-size:64px;font-weight:800;line-height:1}.report-card-sub{color:var(--text-h);margin-top:6px;font-size:18px;font-weight:600}.report-card-details{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-card-detail{background:var(--bg);color:var(--text-h);border-radius:10px;flex-direction:column;gap:2px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.report-card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text);font-size:11px;font-weight:600}.card-worksheet .home-card-accent{background:#3b82f6}.card-worksheet:hover{border-color:#3b82f6}.worksheet-app{max-width:800px}.ws-controls{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.ws-controls-right{align-items:center;gap:12px;display:flex}.ws-toggle{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.ws-toggle input{width:16px;height:16px;accent-color:var(--accent)}.ws-page{color:#111;background:#fff;border-radius:8px;margin-bottom:24px;padding:40px 48px;box-shadow:0 1px 6px #0000001a}.ws-header{border-bottom:2px solid #111;margin-bottom:28px;padding-bottom:16px}.ws-title{margin-bottom:16px;font-size:22px;font-weight:700}.ws-fields{flex-direction:column;gap:10px;display:flex}.ws-field{align-items:baseline;gap:8px;font-size:14px;display:flex}.ws-field-row{gap:32px;display:flex}.ws-line{border-bottom:1px solid #999;flex:1;min-width:200px;height:1px}.ws-line-short{border-bottom:1px solid #999;width:120px;height:1px;display:inline-block}.ws-problems{flex-direction:column;gap:18px;display:flex}.ws-problem{border-bottom:1px solid #eee;align-items:center;gap:12px;padding:6px 0;display:flex}.ws-problem-geo{align-items:flex-start;padding:10px 0}.ws-num{color:#555;min-width:28px;font-size:14px;font-weight:700}.ws-problem-content{flex:1}.ws-expr{font-family:ui-monospace,Consolas,monospace;font-size:16px;font-weight:600}.ws-frac{vertical-align:middle;flex-direction:column;align-items:center;margin:0 4px;display:inline-flex}.ws-frac-top,.ws-frac-bot{font-size:14px;font-weight:600;line-height:1.2}.ws-frac-top{border-bottom:2px solid #111;padding:0 6px 2px}.ws-frac-bot{padding:2px 6px 0}.ws-geo{align-items:center;gap:16px;display:flex}.ws-geo-shape{flex-shrink:0;width:140px}.ws-geo-shape .shape-svg{--shape-fill:#0000000d;--shape-stroke:#333;--dim-line:#555;max-width:140px}.ws-geo-shape .dim-text{fill:#333}.ws-geo-right{flex-direction:column;gap:6px;font-family:ui-monospace,Consolas,monospace;font-size:14px;font-weight:600;display:flex}.ws-geo-formula{color:#666;font-size:13px}.ws-answer-page{page-break-before:always}.ws-answers{grid-template-columns:repeat(5,1fr);gap:8px 16px;margin-top:16px;display:grid}.ws-answer{gap:6px;padding:4px 0;font-family:ui-monospace,Consolas,monospace;font-size:14px;display:flex}.ws-answer-val{font-weight:700}@media print{.no-print{display:none!important}body{background:#fff;margin:0}.app{max-width:none;padding:0}.ws-page{box-shadow:none;border-radius:0;margin:0;padding:24px 32px}.ws-answer-page{page-break-before:always}.ws-geo-shape .shape-svg{--shape-fill:#0000000d;--shape-stroke:#333;--dim-line:#555}}@media (width<=480px){.expression{font-size:28px}.expr-fraction,.frac-top,.frac-bottom,.frac-top .var-letter,.frac-bottom .var-letter{font-size:24px}.choice{padding:16px;font-size:20px}.problem{padding:24px}.stats{gap:6px}.stat{padding:4px 10px;font-size:14px}.geo-layout{flex-direction:column;padding:16px}.geo-question{font-size:22px}.geo-formula{font-size:16px}}
