:root{--sky:#eaf6ff;--sky-deep:#cfe9ff;--paper:#fffdf7;--ink:#1f3a5f;--ink-soft:#4b6584;--line:#d9e6f2;--coral:#ff7a59;--coral-deep:#e2603f;--leaf:#3cb371;--leaf-deep:#2e8f5a;--sun:#ffc94d;--sun-deep:#e6ac1f;--lilac:#b59cff;--lagoon:#3fb8d6;--berry:#e85d9c;--amber:#f0a04b;--shadow:0 10px 30px #1f3a5f1f;--radius:22px;--radius-sm:14px;--font-display:"Nunito", "Avenir Next Rounded", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-body:"Nunito", "Avenir Next", system-ui, -apple-system, "Segoe UI", sans-serif;--subject-math:var(--coral);--subject-reading:var(--leaf);--subject-science:var(--lagoon);--subject-language:#4f8cff;--subject-art:var(--berry);--subject-music:var(--lilac);--subject-history:var(--amber);--subject-other:var(--ink-soft)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--sky);min-height:100dvh;color:var(--ink);font:18px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.15}h1{font-size:clamp(30px,5vw,44px);font-weight:900}h2{font-size:clamp(22px,3.5vw,30px);font-weight:800}h3{font-size:20px;font-weight:800}p{margin:0 0 12px}a{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;min-width:52px;min-height:52px;color:var(--ink);box-shadow:0 4px 0 var(--line);touch-action:manipulation;background:#fff;border:0;border-radius:999px;padding:14px 24px;font-weight:800;transition:transform .12s,box-shadow .12s}button:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--coral);color:#fff;box-shadow:0 5px 0 var(--coral-deep)}button.leaf{background:var(--leaf);color:#fff;box-shadow:0 5px 0 var(--leaf-deep)}button.sun{background:var(--sun);color:var(--ink);box-shadow:0 5px 0 var(--sun-deep)}button.ghost{box-shadow:none;text-underline-offset:4px;background:0 0;text-decoration:underline}:focus-visible{outline:4px solid var(--sun);outline-offset:3px;border-radius:12px}input[type=text],input[type=email],input[type=password],select{border:2px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:100%;min-height:52px;padding:14px 16px}label{margin:14px 0 6px;font-weight:700;display:block}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.wrap{max-width:1040px;margin:0 auto;padding:20px 16px 60px}.stack>*+*{margin-top:16px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.muted{color:var(--ink-soft)}.error{border:2px solid var(--coral);border-radius:var(--radius-sm);background:#fff0ec;padding:12px 16px;font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
