:root{--cream:#FEF6E9;--cream-soft:#FBEFDD;--card:#FFFFFF;--teal:#1CABB1;--teal-deep:#0D7E83;--orange:#F9B667;--orange-ink:#B96E1C;--ink:#3E3225;--ink-soft:#6B5E4D;--border:#EDE0C4;--bad:#9C3B2E;--btn-bg:var(--teal-deep);--btn-fg:#fff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--cream:#211B14;--cream-soft:#2A2219;--card:#2E251B;--ink:#F6EEE1;--ink-soft:#C3B49E;--border:#4A3C2C;--btn-bg:#7FE3E7;--btn-fg:#10322F}}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,system-ui,-apple-system,sans-serif;font-size:16px}h1,h2,h3{font-family:Fredoka,sans-serif;font-weight:600;margin:0 0 8px}h1{font-size:1.6rem}h2{font-size:1.25rem}a{color:var(--teal-deep)}.wrap{max-width:620px;margin:0 auto;padding:24px 16px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--cream) 90%,transparent);position:sticky;top:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5}.topbar .brand{display:flex;align-items:center}.topbar .brand img{height:30px;width:auto;display:block}.topbar .who{font-size:.82rem;color:var(--ink-soft)}.topbar .topright{display:flex;align-items:center;gap:10px}.topbar .backlink{font-size:.85rem;color:var(--ink-soft);text-decoration:none}.topbar .backlink:hover{color:var(--teal-deep)}button.small{padding:7px 14px;font-size:.84rem}@media(max-width:480px){.topbar .who{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}button.google{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--card);color:var(--ink);border:1px solid var(--border)}button.google:hover{border-color:var(--teal)}.or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--ink-soft);font-size:.85rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--border)}button.linky{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--teal-deep);cursor:pointer;text-decoration:underline}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}.muted{color:var(--ink-soft);font-size:.9rem}label{display:block;font-weight:700;font-size:.86rem;margin:0 0 5px}input,select{width:100%;padding:11px 12px;font:inherit;font-size:1rem;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:10px}input:focus,select:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:transparent}.field{margin-bottom:14px}.row{display:flex;gap:12px}.row>*{flex:1}button{font:inherit;font-weight:700;border-radius:999px;cursor:pointer;padding:12px 22px;border:1px solid transparent;background:var(--btn-bg);color:var(--btn-fg)}button[disabled]{opacity:.55;cursor:default}button.ghost{background:var(--card);color:var(--teal-deep);border-color:var(--border)}.msg{margin-top:14px;padding:11px 13px;border-radius:10px;font-size:.92rem}.msg.ok{background:color-mix(in srgb,var(--teal) 16%,transparent);color:var(--teal-deep)}.msg.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.center{text-align:center;padding:48px 16px;color:var(--ink-soft)}.classrow{padding:14px 0;border-top:1px solid var(--border)}.classrow:first-of-type{border-top:0;padding-top:4px}.classmain strong{font-family:Fredoka,sans-serif}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.actions button{padding:7px 14px;font-size:.86rem}button.danger{color:var(--bad)}.tabs{display:flex;gap:8px;padding:12px 16px 0;max-width:620px;margin:0 auto}.tabs button{flex:1;padding:9px 12px;font-size:.9rem;border-radius:10px;background:transparent;color:var(--ink-soft);border:1px solid transparent}.tabs button[aria-current=true]{background:var(--card);color:var(--ink);border-color:var(--border)}.passes{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--teal) 12%,transparent);border:1px solid color-mix(in srgb,var(--teal) 30%,transparent)}.passcount{font-family:Fredoka,sans-serif;font-size:1.9rem;font-weight:600;line-height:1;color:var(--teal-deep);min-width:1.4em;text-align:center}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .passcount{color:var(--btn-bg)}}
