@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-800.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-600.woff2) format("woff2")}:root{--text: #0f2a2b;--muted: #4a5f60;--bg: #f5fbfa;--card: #ffffff;--primary: #0b6e69;--accent: #ff7a1a;--success: #1b7f3a;--success-soft: #e5f3e9;--error: #c62828;--flag: #c2410c;--nav: #e2f1ef;--selected: #e2f1ef;--tip: #ffebdc;--line: #6f8a88;--track: #e4eeed;--font: Nunito, system-ui, Roboto, "Noto Sans", Arial, sans-serif;--display: Fredoka, Nunito, system-ui, sans-serif;color:var(--text);font-family:var(--font);font-size:16px;line-height:1.4}*{box-sizing:border-box}body{margin:0;background:#d5ebe8}button,input{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.app{max-width:480px;min-height:100dvh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column}main{flex:1;padding:4px 16px 24px}main:focus{outline:none}.skip{position:absolute;left:8px;top:-40px;background:#fff;color:var(--text);padding:8px 12px;z-index:5}.skip:focus{top:8px}.top{position:sticky;top:0;z-index:3;background:var(--bg)}.header{position:static;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;background:var(--bg)}.logo-link{display:flex;align-items:center;background:none;border:0;padding:0}.logo{height:36px;width:auto;display:block}.tm{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:11px;display:grid;place-items:center;letter-spacing:.04em}.draft{margin:0 16px 8px;padding:8px 12px;border-radius:10px;background:var(--tip);color:var(--text);font-size:13px;font-weight:700}.under-review{display:inline-block;margin:8px 0 0;padding:4px 10px;border-radius:999px;background:var(--tip);color:var(--text);font-size:.8rem;font-weight:800}.ai-check{display:inline-block;margin:8px 8px 0 0;padding:2px 8px;border-radius:999px;border:1px solid var(--muted);color:var(--muted);background:transparent;font-size:.75rem;font-weight:700}.beta-banner{position:static;margin:0;padding:10px 16px;background:#0b6e69;color:#fff;font-size:.85rem;font-weight:800;line-height:1.35}.sign-draft{display:inline-block;margin:8px 8px 0 0;padding:4px 10px;border-radius:999px;background:var(--tip);color:var(--text);font-size:.8rem;font-weight:800}.disclaimer{margin:8px 16px 12px;color:var(--muted);font-size:.85rem;line-height:1.4}main .disclaimer{margin-left:0;margin-right:0}h1,h2,h3,.question{font-family:var(--display);font-weight:600;letter-spacing:-.01em;margin:0}h1{font-size:1.7rem;line-height:1.15}h2{font-size:1.25rem;margin:18px 0 10px}.lead{color:var(--muted);margin:6px 0 12px}.xp-line{margin:0 0 14px;font-weight:800;color:var(--primary)}.card{background:var(--card);border-radius:18px;padding:14px 14px 12px;margin:0 0 10px}.streak{background:var(--primary);color:#fff;border-radius:22px;padding:18px 16px 16px;margin-bottom:14px}.streak h2{color:#fff;font-size:1.7rem;margin:0 0 4px}.streak p{margin:0 0 14px}.week{display:flex;align-items:center;gap:8px}.day{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.day.future,.day.missed{background:transparent;border:2px solid rgba(255,255,255,.75)}.day.today{width:auto;min-width:52px;height:52px;padding:0 8px;background:var(--accent);color:var(--text);font-size:12px;font-weight:800;border:0}.readiness-head,.section-row,.result-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pct{color:var(--primary);font-family:var(--display);font-size:1.6rem;font-weight:600}.bar{height:10px;border-radius:999px;background:var(--track);overflow:hidden;margin-top:8px}.bar>span{display:block;height:100%;background:var(--primary);border-radius:inherit}.hint{color:var(--muted);font-size:.92rem;margin:8px 0 0}.tight{color:var(--error);font-weight:800;margin:8px 0 0}button.section-link{width:100%;border:0;text-align:left;font:inherit}.section-link{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:16px;padding:12px 14px;margin-bottom:8px}.section-link strong{font-size:1rem}.section-meta{color:var(--primary);font-weight:800;font-size:.92rem}.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:999px;border:2px solid transparent;font-weight:800;text-decoration:none;padding:12px 16px;text-align:center}.btn+.btn{margin-top:10px}.btn-accent{background:var(--accent);color:var(--text)}.btn-primary{background:var(--primary);color:#fff}.btn-outline{background:#fff;color:var(--primary);border-color:var(--primary)}.btn-row{display:flex;gap:10px;margin-top:14px}.btn-row .btn{margin-top:0}.btn:disabled{opacity:.55}.nav{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#fff;border-top:1px solid var(--track);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.nav a{text-decoration:none;color:var(--muted);font-size:12px;font-weight:800;min-height:48px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.nav a[aria-current=page]{color:var(--primary);background:var(--nav)}.nav svg{width:22px;height:22px}.q-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px}.q-top .section{color:var(--primary);font-weight:800}.q-top .count{color:var(--muted);font-weight:700;font-size:.92rem}.question{font-size:1.35rem;margin:14px 0}.figure{background:#fff;border-radius:18px;min-height:140px;display:grid;place-items:center;padding:16px;margin:8px 0 4px}.figure img{max-height:180px;width:auto}.figure-missing{text-align:center}.sign-code{font-family:var(--display);font-size:1.4rem;margin:0 0 4px;color:var(--primary)}.figure-note{margin:0;font-weight:800}.figure-alt{margin:6px 0 0;color:var(--muted);font-size:.92rem}.option{width:100%;text-align:left;background:#fff;border:2px solid #e6eeee;border-radius:16px;min-height:52px;padding:10px 12px;margin:8px 0;display:flex;align-items:center;gap:10px}.option .mark{width:28px;height:28px;flex:0 0 auto;border-radius:50%;border:2px solid var(--primary);color:var(--primary);display:grid;place-items:center;font-weight:800;background:#fff}.option.correct{background:var(--success-soft);border-color:var(--success)}.option.correct .mark{border-color:var(--success);color:var(--success);background:var(--success-soft)}.option.wrong{background:var(--error);border-color:var(--error);color:#fff}.option.wrong .mark{border-color:#fff;color:#fff;background:transparent}.option.selected{background:var(--selected);border-color:var(--primary)}.option.selected .mark{background:var(--primary);box-shadow:inset 0 0 0 4px #fff}.option:disabled{cursor:default}.feedback{border-radius:18px;padding:14px 16px;margin-top:12px;color:#fff}.feedback.good{background:var(--success)}.feedback.bad{background:var(--error)}.feedback h3{color:#fff;margin:0 0 6px;font-size:1.25rem}.feedback p{margin:0}.source{margin:10px 0 0;color:var(--muted);font-size:.92rem}.source a{color:var(--primary)}.timer{background:var(--text);color:#fff;border-radius:999px;min-height:36px;padding:6px 12px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.timer.warn{background:var(--accent);color:var(--text)}.timer.urgent{background:var(--error);color:#fff}.kicker{color:var(--primary);font-weight:800;margin:8px 0 2px}.grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:10px 0}.cell{aspect-ratio:1;border-radius:4px;border:2px solid var(--line);background:#fff;padding:0}.cell.answered{background:var(--primary);border-color:var(--primary)}.cell.flagged{background:var(--flag);border-color:var(--flag)}.cell.current{outline:2px solid var(--text);outline-offset:1px}.legend{display:flex;gap:12px;color:var(--muted);font-size:.85rem;font-weight:700;margin-bottom:8px}.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:-1px}.legend .a{background:var(--primary)}.legend .f{background:var(--flag)}.legend .n{background:#fff;border:2px solid var(--line)}.tip{background:var(--tip);color:var(--text);border-radius:12px;padding:10px 12px;margin:8px 0 12px}.fine{color:var(--muted);font-size:.85rem;text-align:center;margin:8px 0}.panel{background:#fff;border-radius:18px;padding:14px;margin-top:12px}.hero{background:var(--primary);color:#fff;border-radius:22px;padding:22px 16px;text-align:center}.hero.fail{background:var(--error)}.hero h2{color:#fff;font-size:1.45rem}.ring{width:132px;height:132px;margin:12px auto 0}.ring text{fill:#fff;font-family:var(--display)}.chip{border-radius:999px;padding:6px 12px;font-weight:800;font-size:.85rem;color:#fff}.chip.pass{background:var(--success)}.chip.fail{background:var(--error)}.review{background:#fff;border-radius:16px;padding:12px 14px;margin-top:10px}.review h3{font-size:1.05rem;margin-bottom:6px}.tag{font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.steps{display:grid;gap:10px;margin:12px 0}.step{background:#fff;border-radius:16px;padding:12px 14px}.step h3{margin:0 0 4px}.step p{margin:0;color:var(--muted)}.name-input{width:100%;min-height:52px;border-radius:14px;border:2px solid var(--primary);padding:10px 12px;background:#fff;margin:8px 0 14px}.art{width:100%;height:auto;display:block}.caption{color:var(--muted);text-align:center;margin:8px 0 0}.lang{display:flex;flex-wrap:wrap;gap:8px}.lang button[aria-pressed=true]{background:var(--nav);border-color:var(--primary)}.lang button{border:2px solid var(--line);background:#fff;border-radius:999px;min-height:44px;padding:8px 12px;font-weight:800}.list{list-style:none;padding:0;margin:0}.list a,.list li{display:block;padding:10px 0;border-bottom:1px solid var(--track);color:var(--text);text-decoration:none;font-weight:700}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.bar>span{transition:none}}
