:root{color-scheme:dark;--bg:#090909;--panel:#111;--panel2:#191919;--line:#303030;--text:#f5f5f5;--muted:#a4a4a4;--accent:#fff;--accentText:#090909;--good:#d8d8d8;--bad:#777}html[data-theme="light"]{color-scheme:light;--bg:#f5f5f5;--panel:#fff;--panel2:#f0f0f0;--line:#dedede;--text:#111;--muted:#666;--accent:#111;--accentText:#fff;--good:#e5e5e5;--bad:#bdbdbd}html[data-theme="pink"]{color-scheme:light;--bg:#ffc2dc;--panel:#ffe5f0;--panel2:#ffd3e6;--line:#ed9fc3;--text:#492638;--muted:#98617d;--accent:#e77eae;--accentText:#fff;--good:#f7c4dc;--bad:#df91b5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100vh;transition:background .2s,color .2s}.topbar{min-height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1040px)/2),22px)}.brand{color:var(--text);text-decoration:none;font-size:19px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.brand-cat{font-size:27px}.tools{display:flex;align-items:center;gap:10px}.top-note{color:var(--muted);font-size:10px;letter-spacing:1px;margin-right:8px}.tool-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:5px;padding:8px 11px;cursor:pointer;font-weight:700}.wrap{max-width:900px;margin:0 auto;padding:38px 22px 28px;position:relative}.hero-cat{text-align:center;font-size:42px;line-height:1;margin:0 0 8px}.paw{display:none;position:fixed;z-index:0;opacity:.20;font-size:44px;pointer-events:none;filter:saturate(.8)}html[data-theme="pink"] .paw{display:block}.paw-one{top:18%;left:4%}.paw-two{top:42%;right:5%;transform:rotate(22deg)}.paw-three{bottom:12%;left:8%;transform:rotate(-18deg)}.paw-four{bottom:18%;right:9%;transform:rotate(14deg)}.wrap>section,.wrap>footer{position:relative;z-index:1}.hero{padding:4px 0 30px;text-align:center}.hero .eyebrow{display:none}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}h1,h2{font-family:Arial,Helvetica,sans-serif}h1{font-size:clamp(38px,7vw,62px);line-height:1.07;letter-spacing:-2.8px;margin:14px 0;font-weight:800}h1 em{font-style:normal;color:var(--muted)}#welcome-message{max-width:820px;overflow-wrap:anywhere}.hero>p{display:none}.hero-stats{display:flex;gap:34px;margin-top:28px}.hero-stats div{display:flex;flex-direction:column;gap:3px}.hero-stats strong{font-size:22px}.hero-stats small{color:var(--muted);font-size:11px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:25px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-head h2{font-size:21px;margin:7px 0 0;letter-spacing:-.5px}.progress-mini{width:155px;color:var(--muted);font-size:11px}.progress-track{height:5px;border-radius:5px;background:var(--panel2);overflow:hidden;margin-top:8px}.progress-track i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s}.filters{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:24px 0}.filters label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:8px}select{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:12px;font:500 13px Arial;outline:none}select:focus{border-color:var(--muted)}.actions,.result-actions{display:flex;gap:10px}.btn{border:1px solid var(--line);border-radius:5px;padding:12px 17px;font:700 13px Arial;cursor:pointer;transition:.2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accentText);border-color:var(--accent)}.btn.primary:hover{opacity:.82}.btn.ghost{background:var(--panel2);color:var(--text)}.btn b{margin-left:13px}.quiz{margin-top:18px}.hidden{display:none!important}.quiz-top{display:flex;justify-content:space-between;align-items:center}.pill{background:var(--panel2);color:var(--text);padding:7px 11px;border-radius:99px;font-size:11px;font-weight:700}.q-count{color:var(--muted);font-size:12px}.wide{margin:17px 0 30px}.question-area{max-width:650px;margin:0 auto}.question-area h2{font-size:clamp(22px,4vw,30px);line-height:1.3;margin:10px 0}.translation-toggle,.text-button{border:0;background:none;color:var(--muted);padding:0;cursor:pointer;font:600 12px Arial}.translation{background:var(--panel2);border-left:3px solid var(--muted);padding:11px 13px;border-radius:0 9px 9px 0;color:var(--text);font-size:13px;line-height:1.5}.answers{display:grid;gap:10px;margin:24px 0}.answer{width:100%;text-align:left;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:14px 15px;font:500 13px/1.5 Arial;cursor:pointer}.answer:hover:not(:disabled){border-color:var(--text)}.answer.correct{border-color:var(--text);background:var(--panel2);box-shadow:inset 3px 0 var(--text)}.answer.wrong{border-color:var(--muted);background:var(--panel2);text-decoration:line-through}.feedback{padding:14px;border-radius:5px;background:var(--panel2);margin-bottom:18px;font-size:13px;line-height:1.6}.feedback b{display:block;margin-bottom:5px}.feedback p{margin:5px 0;color:var(--text)}.feedback .subtranslation{color:var(--muted)}.quiz-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.result{text-align:center;margin-top:18px}.result-score{font-size:64px;font-weight:800;margin:18px 0 0}.result h2{margin:3px 0}.result p{color:var(--muted);font-size:14px}.result-actions{justify-content:center;margin-top:22px}.bottom-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15px;margin-top:18px}.tip{display:flex;gap:15px;align-items:flex-start}.tip-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;background:var(--panel2);color:var(--text);border-radius:5px}.tip b{font-size:13px}.tip p,.saved p{font-size:12px;line-height:1.6;color:var(--muted);margin:7px 0 0}.saved-number{font-size:30px;font-weight:800;margin-top:10px}.saved .text-button{margin-top:13px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.4px;padding:25px 3px 0}footer span:first-child{font-weight:700;letter-spacing:1px;color:var(--text)}
@media(max-width:650px){.brand{font-size:14px;gap:6px}.paw{font-size:30px}.topbar{min-height:60px;padding:0 15px}.top-note{display:none}.wrap{padding:30px 14px 22px}.hero{padding-top:4px}.hero-stats{gap:23px}.panel{padding:19px;border-radius:6px}.section-head{align-items:flex-start;flex-direction:column}.progress-mini{width:100%}.filters{grid-template-columns:1fr;gap:13px;margin:20px 0}.filters label{gap:6px}.actions{flex-direction:column}.actions .btn{width:100%}.bottom-grid{grid-template-columns:1fr}.quiz{padding:17px}.quiz-footer .btn{padding:12px 14px}.result-actions{flex-direction:column}.result-actions .btn{width:100%}footer{gap:10px;flex-direction:column}.brand{font-size:18px}}

/* ---- AI exam ---- */
.exam{margin-top:18px}.exam h2{font-size:21px;margin:7px 0 0;letter-spacing:-.5px}.exam-desc{color:var(--muted);font-size:13px;line-height:1.6;max-width:640px;margin:12px 0 0}.exam-filters{grid-template-columns:minmax(0,220px)}.exam-note{color:var(--muted);font-size:12px;line-height:1.5;margin:14px 0 0;min-height:1em}
.exam textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:14px;font:500 14px/1.55 Arial,Helvetica,sans-serif;resize:vertical;min-height:130px;outline:none;margin-top:20px}.exam textarea:focus{border-color:var(--muted)}.exam textarea:disabled{opacity:.6}
.exam-hint{color:var(--muted);font-size:11px;margin:8px 0 0;line-height:1.5}.exam-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.exam-loading{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:22px 0}.spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite;flex:0 0 16px}@keyframes spin{to{transform:rotate(360deg)}}
.exam-error{background:var(--panel2);border-left:3px solid var(--muted);border-radius:0 5px 5px 0;padding:14px;margin:20px 0;font-size:13px;line-height:1.55}.exam-error p{margin:0 0 12px}
.exam-result{margin-top:22px;background:var(--panel2);border-radius:5px;padding:18px;font-size:13px;line-height:1.6}.exam-head{display:flex;align-items:center;gap:12px}.exam-head b{font-size:15px}.exam-feedback{margin:12px 0}
.score-badge{display:inline-block;min-width:54px;text-align:center;padding:6px 10px;border-radius:99px;font-weight:800;font-size:13px;background:var(--accent);color:var(--accentText)}.score-badge.partial{background:var(--bad);color:var(--text)}.score-badge.wrong{background:transparent;color:var(--text);border:1px solid var(--muted)}.score-badge.small{min-width:48px;padding:3px 8px;font-size:11px;flex:0 0 auto}
.exam-block{margin-top:14px}.exam-block>b{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.exam-list{margin:0;padding-left:18px}.exam-list li{margin:4px 0}
.exam-model{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.exam-model summary{cursor:pointer;font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.exam-model p{margin:10px 0 0}.exam-model .subtranslation{color:var(--muted)}
.exam-final-wrap{text-align:left;font-size:13px;line-height:1.6}.exam-final-wrap .result-score,.exam-final-wrap h2,.exam-final-wrap .eyebrow{text-align:center}.exam-summary{color:var(--text)!important;max-width:620px;margin:10px auto 18px!important;text-align:center;font-size:14px!important}.exam-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.exam-review{display:grid;gap:8px}.exam-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.exam-final-wrap .result-actions{margin-top:26px}
@media(max-width:650px){.exam-cols{grid-template-columns:1fr}.exam-actions{flex-direction:column-reverse}.exam-actions .btn{width:100%}.exam-filters{grid-template-columns:1fr}}
.exam-profile{display:flex;flex-direction:column;gap:8px;margin-top:20px;font-size:11px;color:var(--muted);max-width:640px}.exam .exam-profile textarea{margin-top:0;min-height:90px}.exam-profile small{font-size:11px;line-height:1.5}
