:root{font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif;color:#23304b;background:#fff8e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 5%,#fff 0 4%,transparent 4.2%),linear-gradient(135deg,#fff8e8,#e8f7ff)}.shell{width:min(850px,92vw);margin:0 auto;padding:28px 0 18px}.top{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;margin-bottom:24px}.top h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1;margin:4px 0;color:#174c88;text-shadow:2px 3px 0 #ffdc67}.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.15em;color:#f07835;margin:0}.spark{font-size:2.7rem;color:#ffb900;text-shadow:1px 2px #d77722}.panel{background:#fff;border:3px solid #ffcf45;border-radius:25px;padding:24px;margin:18px 0;box-shadow:0 7px 0 #f1dca6}.login-panel{max-width:440px;margin:25px auto}.panel h2{margin:5px 0 15px;color:#174c88}.panel p{line-height:1.45}label{display:grid;gap:7px;font-weight:800;margin:14px 0}input{width:100%;padding:12px 13px;border:2px solid #cbd9e9;border-radius:12px;font:inherit}button{border:0;border-radius:14px;padding:12px 18px;font:inherit;font-weight:900;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #174c88;outline-offset:3px}.primary{background:#ffbd31;color:#583400;box-shadow:0 4px 0 #df8c14}.secondary{background:#2e9bce;color:white}.quiet{background:#eaf3fb;color:#174c88}.danger{background:#ffe5e5;color:#9c2929}.toolbar,.adult-heading,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar{margin:12px 4px}.board{text-align:center;padding:clamp(20px,5vw,42px)}.board h2{font-size:clamp(1.6rem,5vw,2.5rem);margin:8px 0 25px;color:#ef7137}.tokens{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(5px,1.7vw,14px);margin:22px 0}.token{aspect-ratio:1;border:3px dashed #7bb8d7;border-radius:20px;background:#f1faff;display:grid;place-items:center;font-size:clamp(1.4rem,5vw,3rem);color:#8bb9d0}.token.filled{border:3px solid #ffbd31;background:#fff3c7;color:#f19a00;box-shadow:inset 0 0 0 3px #fff}.progress{font-weight:900;color:#174c88}.earn{font-size:1.2rem;padding:15px 28px;margin:6px}.celebration{font-size:clamp(1.1rem,4vw,1.8rem);font-weight:1000;color:#e66d2e;animation:pop .6s ease-in-out infinite alternate}@keyframes pop{to{transform:scale(1.04)}}.adult-panel{border-color:#a8cce7}.adult-panel h2{margin-bottom:0}.message{min-height:1.2em;color:#9c2929;font-weight:700}.adult-panel .message{margin-bottom:0}.actions{justify-content:flex-start;flex-wrap:wrap}footer{text-align:center;color:#6a7b91;padding:14px;font-weight:700}[hidden]{display:none!important}@media(max-width:520px){.tokens{gap:5px}.token{border-radius:12px;border-width:2px}.panel{padding:18px}.top{gap:8px}.spark{font-size:1.7rem}}
