:root{color:#16204a;font-synthesis:none;background:#eef3ff;font-family:Inter,Hiragino Sans,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 5%,#ffd970 0 7rem,#0000 7.1rem),radial-gradient(circle at 100% 30%,#a8e6cf 0 9rem,#0000 9.1rem),#eef3ff;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:.15rem;outline:.2rem solid #ffb800}button:disabled{cursor:not-allowed}.shell{width:min(100% - 2rem,760px);margin:0 auto;padding:1rem 0 3rem}.authShell{width:min(100% - 2rem,920px)}.brand{letter-spacing:.02em;align-items:center;gap:.65rem;min-height:3.5rem;font-weight:900;display:flex}.brandMark{color:#fff;background:#3156d3;border-radius:.8rem;place-items:center;width:2.4rem;height:2.4rem;display:grid}.stepBadge{color:#3156d3;background:#fff;border:1px solid #a8b8ee;border-radius:999px;margin-left:auto;padding:.35rem .65rem;font-size:.75rem}.authCard,.questCard,.boardPreview,.parentCard{background:#fffffff5;border:1px solid #d7def5;border-radius:1.6rem;box-shadow:0 1.2rem 3rem #223a891f}.authCard,.questCard,.parentCard{padding:clamp(1.4rem,5vw,2.5rem)}.boardPreview{margin-top:1rem;padding:1.3rem}.eyebrow{color:#3156d3;letter-spacing:.1em;margin:0 0 .5rem;font-size:.85rem;font-weight:900}h1{letter-spacing:-.045em;max-width:13em;margin:0;font-size:clamp(2rem,7vw,3.4rem);line-height:1.13}h2{margin:0;font-size:1.35rem}.lead{color:#5c668d;max-width:42rem;margin:1rem 0 1.5rem;line-height:1.7}.familySetup{gap:.8rem;display:grid}fieldset{background:#f8f9ff;border:1px solid #d7def5;border-radius:1rem;min-width:0;margin:0;padding:1rem}legend{color:#3156d3;padding:0 .35rem;font-weight:900}.field{gap:.4rem;margin-top:.8rem;font-size:.9rem;font-weight:800;display:grid}.field input{color:#16204a;background:#fff;border:1px solid #aebbe6;border-radius:.8rem;width:100%;min-height:3.25rem;padding:.65rem .8rem;font-size:1rem}.field input[type=password]{letter-spacing:.35em;font-size:1.35rem}.primaryButton{color:#fff;background:#3156d3;border:0;border-radius:1rem;width:100%;min-height:4.25rem;margin-top:1.2rem;font-size:1.1rem;font-weight:900;box-shadow:0 .55rem 1.2rem #3156d33d}.primaryButton:hover:not(:disabled){background:#2447be}.primaryButton:disabled{color:#737c9f;box-shadow:none;background:#e2e6f3}.primaryButton small{margin-top:.15rem;font-size:.75rem;font-weight:700;display:block}.error{color:#8e2031;background:#fff0f1;border-radius:.8rem;padding:.8rem 1rem;font-weight:800;line-height:1.5}.loginCard{max-width:580px;margin:0 auto}.userGrid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.5rem 0;display:grid}.userButton{color:#4d587f;background:#f1f4ff;border:2px solid #0000;border-radius:1rem;min-width:0;min-height:7rem;padding:.7rem .35rem}.userButton.selected{color:#16204a;background:#e5ebff;border-color:#3156d3;box-shadow:0 .35rem .8rem #3156d326}.userButton strong,.userButton small{text-overflow:ellipsis;display:block;overflow:hidden}.userButton strong{white-space:nowrap;margin-top:.35rem;font-size:1rem}.userButton small{margin-top:.2rem;font-size:.75rem}.userIcon{color:#3156d3;background:#fff;border-radius:.7rem;place-items:center;width:2.2rem;height:2.2rem;margin:0 auto;font-size:1.15rem;display:grid}.sessionBar{color:#4d587f;background:#ffffffd6;border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;padding:.7rem .9rem;font-size:.9rem;display:flex}.sessionBar button{color:#3156d3;background:#fff;border:1px solid #aebbe6;border-radius:.7rem;flex:none;min-height:2.5rem;padding:.4rem .7rem;font-size:.8rem;font-weight:900}.taskList{gap:.75rem;margin:2rem 0;display:grid}.task{background:#f5f7ff;border-radius:1rem;align-items:center;gap:.9rem;min-height:3.4rem;padding:.6rem .9rem;font-size:1.1rem;display:flex}.task span{color:#3156d3;background:#dce5ff;border-radius:.65rem;place-items:center;width:2rem;height:2rem;font-weight:900;display:grid}.progressTrack{align-items:center;gap:.35rem;margin:1.3rem 0;display:flex}.progressTrack i{background:#dce5ff;border-radius:.4rem;flex:1;height:1.3rem}.progressTrack i.active{background:#3156d3}.progressTrack i.special{color:#8b5b00;background:#ffd970;place-items:center;height:2rem;font-style:normal;display:grid}.start,.goal{font-size:.72rem;font-weight:900}.goal{color:#d24152}.foundationNote{color:#65709b;margin:0;font-size:.9rem;line-height:1.7}.permissionNotice{background:#e9f8f1;border-radius:1rem;gap:.9rem;margin-top:1.5rem;padding:1rem;display:flex}.permissionNotice>span{color:#fff;background:#15805e;border-radius:999px;flex:none;place-items:center;width:2rem;height:2rem;font-weight:900;display:grid}.permissionNotice strong{color:#135d48}.permissionNotice p,.emptyPanel p{color:#5c668d;margin:.35rem 0 0;line-height:1.6}.emptyPanel{text-align:center;border:1px dashed #aebbe6;border-radius:1rem;margin-top:1rem;padding:1.2rem}.loading{text-align:center}.loading>p{color:#5c668d;margin-top:4rem;font-weight:800}@media (width>=680px){.shell{padding-top:2rem}.familySetup,.taskList{grid-template-columns:repeat(3,1fr)}.task{flex-direction:column;justify-content:center;min-height:6rem}}@media (width<=420px){.userGrid{gap:.4rem}.userButton{min-height:6.5rem}.sessionBar{align-items:flex-start}}
