:root{--bg:#f6f7f9;--surface:#fff;--text:#14171c;--muted:#5b6573;--line:#dfe3e8;--primary:#1f4fd8;--primary-text:#fff;--right:#17803d;--right-bg:#e6f5ec;--wrong:#c8102e;--wrong-bg:#fdebee;--warn:#9a6200;--warn-bg:#fff4dc;--radius:14px;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1216;--surface:#181c22;--text:#eef1f5;--muted:#9aa5b4;--line:#2a313b;--primary:#6d93ff;--primary-text:#0b1020;--right:#4cc27a;--right-bg:#12301f;--wrong:#ff6b82;--wrong-bg:#3a151c;--warn:#f2b94b;--warn-bg:#33270e}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:17px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:720px;padding:0 var(--gutter);margin:0 auto;padding-bottom:64px}h1{margin:20px 0 12px;font-size:1.6rem;line-height:1.2}h2{margin:0 0 10px;font-size:1.15rem;line-height:1.3}p{margin:0 0 12px}a{color:var(--primary)}ul{margin:0;padding:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.topbar{z-index:5;padding:10px max(var(--gutter), calc((100% - 720px) / 2 + var(--gutter)));background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.langswitch{border:1px solid var(--line);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.langswitch button{color:var(--muted);background:0 0;border:0;padding:8px 12px;font-size:.85rem;font-weight:600}.langswitch button.on{background:var(--primary);color:var(--primary-text)}.sub{color:var(--muted);margin-top:2px;font-size:.85em;font-weight:400;display:block}.sub.peeked{color:var(--text);border-left:3px solid var(--primary);margin-top:6px;padding-left:8px}.peek{border:1px solid var(--line);background:var(--surface);color:var(--primary);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.7rem;font-weight:700}.peek.on{background:var(--primary);color:var(--primary-text)}.peek.wide{margin:0;padding:4px 12px}.lede{margin-top:18px;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.bignum{margin:8px 0;font-size:2.6rem;font-weight:800}.right{color:var(--right)}.wrong{color:var(--wrong)}.due{color:var(--warn);font-weight:600}.progress-line{color:var(--muted);margin-top:16px;font-size:.9rem}.list{gap:10px;margin-bottom:16px;list-style:none;display:grid}.list.stack{gap:12px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:14px 16px;text-decoration:none;display:flex}.tile small{color:var(--muted);font-size:.85rem}.tile:hover{border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:14px 0;padding:16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.chip{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.chip .sub{text-transform:none;letter-spacing:0}.stem{margin:4px 0 14px;font-size:1.2rem;line-height:1.35}.options{gap:10px;display:grid}.option{text-align:left;background:var(--bg);border:2px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;width:100%;min-height:52px;padding:12px 14px;display:flex}.option>span:last-child{flex:1}.option:hover:not(:disabled){border-color:var(--primary)}.option:disabled{cursor:default}.option.picked{border-color:var(--primary)}.option.right{border-color:var(--right);background:var(--right-bg)}.option.wrong{border-color:var(--wrong);background:var(--wrong-bg)}.letter{background:var(--surface);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:grid}.feedback{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.verdict{font-size:1.1rem;font-weight:800}.verdict.right{color:var(--right)}.verdict.wrong{color:var(--wrong)}.note{background:var(--warn-bg);color:var(--text);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:.92rem}.label{display:block}.note .label{margin-bottom:2px}.terms{margin-bottom:12px;font-size:.92rem}.terms .label{margin-bottom:4px}.term{margin:2px 12px 2px 0;display:inline-block}.src{color:var(--muted);margin-bottom:0;font-size:.78rem}.actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.center .actions{justify-content:center}.primary,.secondary{border:2px solid var(--primary);border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--primary);color:var(--primary-text)}.secondary{color:var(--primary);background:0 0}.primary:disabled,.secondary:disabled{opacity:.4;cursor:default}section>.primary{width:100%;margin-top:12px}.link{color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:.85rem;text-decoration:underline}.exam-bar{color:var(--muted);justify-content:space-between;gap:12px;margin-top:16px;font-size:.9rem;display:flex}.timer{font-variant-numeric:tabular-nums;font-weight:700}.timer.low{color:var(--wrong)}.grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;margin:12px 0;display:grid}.dot{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-size:.8rem;font-weight:600}.dot.done{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.dot.current{outline:3px solid var(--text);outline-offset:1px}.flash{text-align:center;padding:32px 16px}.flash-es{margin-bottom:18px;font-size:1.6rem;font-weight:700}.flash-en{color:var(--muted);margin:0;font-size:1.15rem}.phrase .label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 2px;font-size:.75rem;font-weight:700}.phrase .say{margin-bottom:12px;font-size:1.15rem;font-weight:600}.facts{gap:10px;list-style:none;display:grid}.badge{vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-block}.badge .sub{color:inherit;opacity:.8;margin-left:6px;display:inline}.badge.official{background:var(--right-bg);color:var(--right)}.badge.secondary{background:var(--warn-bg);color:var(--warn)}.badge.verify{background:var(--wrong-bg);color:var(--wrong)}.stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 12px;display:grid}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{margin:0;font-size:1.5rem;font-weight:800}@media (width>=640px){.stats{grid-template-columns:repeat(4,1fr)}section>.primary{width:auto}}@media (prefers-reduced-motion:no-preference){.option,.tile,.primary,.secondary{transition:border-color .12s,background .12s}}.sign{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:100%;height:auto;margin:4px auto 14px;padding:8px;display:block}.cta{width:100%;margin:8px 0 4px}.group{margin:22px 0 10px}.sign-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 8px;list-style:none;display:grid}.sign-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);height:100%}.sign-card summary{cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;list-style:none;display:flex}.sign-card summary::-webkit-details-marker{display:none}.sign-card summary:focus-visible{outline:3px solid var(--primary);outline-offset:-3px;border-radius:var(--radius)}.sign-card img{background:#fff;border-radius:10px;padding:4px}.sign-name{font-size:.9rem;font-weight:600;line-height:1.25}.sign-code{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.sign-grid li:has(>.sign-card[open]){grid-column:1/-1}.sign-card p{margin:0;padding:0 14px 14px;font-size:.92rem}.primary .sub{color:inherit;opacity:.85}.secondary .sub{color:inherit;opacity:.8}.tile .sub{color:var(--muted)}.group-box{margin:18px 0 0}.group-box>summary.group{cursor:pointer;border-bottom:1px solid var(--line);align-items:baseline;gap:8px;margin:0 0 10px;padding:10px 0;font-size:1.15rem;font-weight:700;list-style:none;display:flex}.group-box>summary.group::-webkit-details-marker{display:none}.group-box>summary.group:before{content:"▸";color:var(--muted)}.group-box[open]>summary.group:before{content:"▾"}.count{color:var(--muted);font-size:.85rem;font-weight:500}.credits{margin:24px 0 0}.credits summary{cursor:pointer;font-weight:600}.credits ul{margin-top:8px}.account-link{white-space:nowrap;margin-left:auto;margin-right:10px;font-size:.9rem;font-weight:600;text-decoration:none}.topbar .brand{white-space:nowrap}.tabs{gap:6px;margin-bottom:14px;display:flex}.tabs button{border:2px solid var(--line);background:var(--bg);border-radius:10px;flex:1;padding:10px;font-weight:600}.tabs button.on{border-color:var(--primary);color:var(--primary)}.field{margin:0 0 12px;display:block}.field-label{margin-bottom:4px;font-size:.85rem;font-weight:600;display:block}.field input[type=text],.field input[type=email],.field input[type=password]{width:100%;font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--line);border-radius:10px;padding:11px 12px}.field input:focus-visible{outline:3px solid var(--primary);outline-offset:1px}.password-row{align-items:stretch;gap:8px;display:flex}.password-row input{flex:1;min-width:0}.check{align-items:flex-start;gap:10px;margin:4px 0 10px;display:flex}.check input{flex:none;width:20px;height:20px;margin-top:4px}.block{display:block}.bold{font-weight:700}.form-error{color:var(--wrong);background:var(--wrong-bg);border-radius:10px;padding:10px 12px;font-size:.92rem}.full{width:100%}.divider{text-align:center;color:var(--muted);margin:14px 0 10px;font-size:.85rem}button.secondary.full[disabled],.secondary[disabled]{opacity:.6;cursor:not-allowed}.soon{opacity:.8;font-size:.72rem;font-weight:600;display:block}.sync{font-weight:600}.sync.ok{color:var(--right)}.sync.error{color:var(--wrong)}.secondary.danger{color:var(--wrong);border-color:var(--wrong)}.stack{flex-direction:column;gap:2px}.slogan{letter-spacing:-.01em;margin:18px 0 2px;font-size:1.6rem;font-weight:800;line-height:1.15}.slogan .sub{letter-spacing:0;font-size:.95rem;font-weight:500}.brand{align-items:center;gap:8px;display:inline-flex}.brand-mark{border-radius:50%;display:block}.splash{color:#fff;background:#0f1b33;flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.splash-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.splash-top,.splash-main,.splash-foot{z-index:1;position:relative}.splash-top{padding:14px var(--gutter) 0;justify-content:flex-end;display:flex}.splash .langswitch{background:#ffffff14;border-color:#ffffff38}.splash .langswitch button{color:#ffffffc7}.splash .langswitch button.on{color:#0f1b33;background:#fff}.splash-main{--mark:clamp(150px, min(46vw, 33svh), 300px);text-align:center;padding:8px var(--gutter) 24px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.splash-mark{width:var(--mark);aspect-ratio:1;margin-bottom:calc(var(--mark) * .5 + 10px)}.splash-title{letter-spacing:-.02em;margin:0;font-size:clamp(2.6rem,9vw,4.4rem);font-weight:800;line-height:1}.splash-slogan{color:#ffd24d;margin:8px 0 0;font-size:clamp(1.2rem,3.6vw,1.7rem);font-weight:600}.splash-lede{color:#ffffffd1;max-width:30rem;margin:6px 0 18px}.splash .sub{color:#ffffffb3}.splash-slogan .sub{color:#ffd24dcc}.splash .splash-cta{color:#0f1b33;background:#fff;border-color:#fff;min-width:220px;font-size:1.05rem;text-decoration:none}.splash .splash-cta .sub{color:#3b4a68}.splash-cta:focus-visible{outline-color:#ffd24d}.splash a{color:#cfe0ff}.splash-foot{padding:0 var(--gutter) 18px;text-align:center;color:#ffffff9e;font-size:.78rem}.splash-foot p{max-width:40rem;margin:0 auto 6px}@media (prefers-reduced-motion:reduce){.splash-cta{transition:none}}.stats-list{gap:12px;margin:0;list-style:none;display:grid}.stat-name{font-size:.95rem;font-weight:600;display:block}.stat-bar{background:var(--line);border-radius:4px;height:8px;margin:4px 0 2px;display:block;overflow:hidden}.stat-bar>span{background:var(--primary);height:100%;display:block}.stat-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}
