
:root{--ink:#173840;--muted:#527078;--blue:#dfeefa;--green:#dcefe7;--accent:#236e70;--accent2:#27628a;--cream:#fbfcfc;--line:#ccdedd;--gold:#bd8835}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;margin:0;background:linear-gradient(130deg,#eff8f7,#eef4fa);color:var(--ink);min-height:100vh}button{font:inherit;cursor:pointer}button:focus-visible{outline:4px solid #da9c48;outline-offset:3px}.wrap{max-width:850px;margin:auto;padding:22px 16px 44px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.logo{font-size:1.12rem;font-weight:800;letter-spacing:-.3px}.small{font-size:.9rem;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);box-shadow:0 7px 26px #20404a0a;border-radius:22px;padding:clamp(19px,4vw,32px)}h1{font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.16;margin:8px 0 10px}h2{font-size:1.45rem;margin:8px 0 16px}p{line-height:1.55}.pill{border-radius:50px;background:var(--green);padding:7px 13px;font-size:.86rem;font-weight:700;color:#1f5552}.stars{font-size:1.3rem;color:var(--gold)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.tile{border:2px solid transparent;border-radius:20px;padding:23px 20px;text-align:left;min-height:175px;background:var(--blue);color:var(--ink);transition:transform .15s,border .15s}.tile.green{background:var(--green)}.tile:hover{transform:translateY(-2px);border-color:var(--accent)}.tile .emoji{font-size:2rem;display:block;margin-bottom:14px}.tile strong{font-size:1.22rem;display:block}.tile span.desc{display:block;color:var(--muted);font-size:.95rem;margin-top:8px;line-height:1.4}.btn{border:0;background:var(--accent);color:white;border-radius:14px;padding:15px 23px;min-height:54px;font-weight:750}.btn.secondary{background:#e7f1f2;color:#184850}.btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.actions .btn{flex:1}.progress{height:12px;border-radius:30px;background:#e4eeee;overflow:hidden;margin:11px 0 22px}.fill{height:100%;background:#398b84;transition:width .25s}.question{font-size:clamp(1.25rem,3.4vw,1.7rem);font-weight:750;line-height:1.4;margin:23px 0}.passage{background:#f1f6f8;border-left:5px solid #7daec2;border-radius:12px;padding:18px;line-height:1.75;font-size:1.13rem;white-space:pre-line}.options{display:grid;gap:12px}.choice{width:100%;text-align:left;min-height:64px;border:2px solid #d0e2e1;border-radius:14px;background:white;padding:16px 19px;font-size:1.1rem;color:var(--ink);font-weight:650}.choice.selected{border-color:#227775;background:#e7f4ef}.choice:hover{border-color:#4f9c98}.feedback{border-radius:13px;padding:17px 19px;margin-top:18px;line-height:1.55;background:#fff4dc;color:#594318}.feedback.correct{background:#e1f4e7;color:#255d3a}.hidden{display:none!important}.meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.muted{color:var(--muted)}.achievement{border:1px solid #ecddb9;background:#fff9ea;border-radius:15px;padding:16px;margin-top:14px}.footer{margin-top:20px;font-size:.82rem;line-height:1.5;color:var(--muted)}.glow{animation:pop .35s ease}@keyframes pop{0%{transform:scale(.95)}60%{transform:scale(1.02)}100%{transform:scale(1)}}@media(max-width:580px){.grid{grid-template-columns:1fr}.tile{min-height:140px}.top{align-items:flex-start}.actions{flex-direction:column}.actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.levelActive{box-shadow:0 0 0 3px #aad8cf inset!important}.badgeNote{color:#527078;font-size:.9rem;line-height:1.55}.stepLabel{font-size:.82rem;color:#376975;font-weight:700;margin-bottom:7px}.achievement strong{font-size:1.04rem}
.auth-panel{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-inner{width:min(100%,480px);background:white;border:1px solid #ccdedd;border-radius:22px;padding:30px;box-shadow:0 7px 26px #20404a0a}.auth-inner label{display:block;font-weight:650;margin:14px 0 5px}.auth-inner input{display:block;width:100%;min-height:52px;border:2px solid #ccdedd;border-radius:12px;padding:12px;font:inherit}.auth-inner form .btn{width:100%;margin-top:20px}.session-bar{max-width:850px;margin:12px auto -10px;padding:0 16px;display:flex;align-items:center;justify-content:flex-end;gap:12px}#loginError{color:#a43030}#setupNotice{background:#fff4dc;padding:12px;border-radius:12px}[hidden] { display: none !important; }[hidden] { display: none !important; }
[hidden] { display: none !important; }
