:root{--navy:#1b1b44;--navy-2:#2e4b8f;--sun:#f2a41e;--bg:#f5f6fb;--card:#fff;--text:#1c1c2e;--muted:#6b6f85;--line:#e4e6ef;--good:#2f8f5b;--warn:#b7791f;--danger:#b4443c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#11112b;--card:#1d1d45;--text:#ececf6;--muted:#a3a6c2;--line:#2d2d5c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--navy-2)}@media (prefers-color-scheme:dark){a{color:#9db4ff}}h1{margin:8px 0 12px;font-size:24px}h2{margin:18px 0 8px;font-size:17px}.muted{color:var(--muted)}.error{color:var(--danger)}.warn{color:var(--warn)}.center{place-items:center;min-height:100vh;display:grid}.app{max-width:640px;min-height:100vh;margin:0 auto;padding-bottom:76px}.top{z-index:5;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:var(--navy);color:#fff;align-items:center;gap:10px;display:flex;position:sticky;top:0}.top .mark{background:#fff;border-radius:6px;width:28px;height:24px;padding:2px}.top select{border-radius:8px;margin-left:auto;padding:4px 6px;font-size:15px}.top .who{opacity:.85;margin-left:auto}main{padding:8px 16px 24px}.tabs{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs a{text-align:center;max-width:110px;color:var(--muted);flex-direction:column;flex:1;gap:2px;padding:8px 0 6px;text-decoration:none;display:flex}.tabs a.active{color:var(--navy);font-weight:700}@media (prefers-color-scheme:dark){.tabs a.active{color:#fff}}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:14px 16px}.card.current{border-color:var(--sun)}.tag{background:var(--sun);color:var(--navy);vertical-align:middle;border-radius:6px;margin-left:8px;padding:2px 6px;font-size:11px}.stats{gap:10px;margin:8px 0;display:flex}.stat{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:14px;flex:1;padding:10px}.stat b{font-size:22px;display:block}.stat small{color:var(--muted)}.bigscore{text-align:center;margin:8px 0 4px}.bigscore b{color:var(--navy-2);font-size:52px;display:block}.now{border-left:6px solid var(--sun)}.now small{color:var(--muted);letter-spacing:.08em}.now-name{font-size:20px;font-weight:700}.checklist,.plain{margin:0;padding:0;list-style:none}.checklist li{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:8px 0}.checklist label{cursor:pointer;align-items:center;gap:12px;padding:14px;display:flex}.checklist input[type=checkbox]{width:24px;height:24px;accent-color:var(--good);flex:none}.checklist .name{flex:1;font-size:17px}.checklist .pts{color:var(--muted);font-size:14px}.checklist li.done .name{opacity:.55;text-decoration:line-through}.rows li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.btn{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:12px;margin:6px 0;padding:12px 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-block}.btn:disabled{opacity:.5}.btn.small{margin:0;padding:7px 12px;font-size:14px}.link{color:var(--navy-2);cursor:pointer;background:0 0;border:0;padding:4px;font-size:14px}.link.light{color:#fff;opacity:.8}.link.danger{color:var(--danger)}.form{flex-direction:column;gap:10px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input,select{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:9px 10px;font-size:16px}.inline{gap:8px;margin:12px 0;display:flex}.inline input{flex:1;min-width:0}.inline .qty{flex:0 0 70px}.days,.chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.exercise .ex-head{justify-content:space-between;gap:8px;display:flex}.exercise small{margin-top:4px;display:block}.cues{margin:6px 0;font-size:14px}.logrow{gap:6px;margin-top:8px;display:flex}.logrow input{flex:1;min-width:0;padding:6px 8px}.toast{background:var(--navy);color:#fff;border-radius:999px;padding:10px 18px;font-weight:700;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.overlay{z-index:20;background:#14183c8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.celebrate{color:var(--navy);text-align:center;background:#fff;border-radius:28px;max-width:340px;padding:32px 28px}.celebrate .big{letter-spacing:.04em;font-size:22px;font-weight:800}.login{text-align:center;background:var(--navy);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;padding:24px;display:flex}.login .muted{color:#c9cbe6}.login .btn{color:var(--navy);background:#fff}.login img{border-radius:22px}.small-link{font-size:13px;font-weight:400}.small{font-size:13px}.top .menu{z-index:30;background:var(--card);min-width:200px;color:var(--text);border:1px solid var(--line);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:100%;right:12px;box-shadow:0 10px 30px #0003}.top .menu a{color:var(--text);border-radius:10px;padding:10px 12px;text-decoration:none}.top .menu a:hover{background:var(--bg)}.top .menu .link{text-align:left;padding:10px 12px}.tabs a{max-width:90px}.tabs small{font-size:11px}.xp{margin:10px 0}.xp-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.xpbar{background:var(--line);border-radius:99px;height:8px;margin-top:6px;overflow:hidden}.xpfill{background:linear-gradient(90deg, var(--navy-2), var(--sun));border-radius:99px;height:100%}.habits{flex-wrap:wrap;gap:8px;display:flex}.habit{border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:90px;padding:10px;display:flex}.habit input{width:22px;height:22px;accent-color:var(--good)}.habit.on{border-color:var(--good)}.habit small{color:var(--muted)}.week{gap:0;display:grid}.day.today{border-color:var(--sun)}.day-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day .rows li{padding:6px 0}.inline-label{color:var(--muted);align-items:center;gap:8px;margin:6px 0;display:flex}.fav{border-bottom:1px solid var(--line);padding:8px 0}.fav:last-child{border-bottom:0}a.chip{text-decoration:none}.pin{letter-spacing:.25em;text-align:center;font-variant-numeric:tabular-nums;margin:8px 0;font-size:40px;font-weight:800}.kidlogin{flex-direction:column;gap:10px;width:100%;max-width:300px;display:flex}.kidlogin input{text-align:center;font-size:18px}.error-light{color:#ffb4ab;margin:0}.good{color:var(--good)}.btn.block{text-align:center;width:100%;display:block}.form.wide{flex-flow:wrap;gap:6px}.form.wide input,.form.wide select{flex:120px;min-width:0}.habitgrid{border-collapse:collapse;width:100%;font-size:14px}.habitgrid th{color:var(--muted);font-size:12px;font-weight:600}.habitgrid td{text-align:center;padding:4px 2px}.habitgrid td:first-child{text-align:left}.habitgrid input{width:20px;height:20px;accent-color:var(--good)}.achievements{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.achievements li{border:1px solid var(--line);opacity:.45;border-radius:12px;flex-direction:column;gap:2px;padding:8px;display:flex}.achievements li.on{opacity:1;border-color:var(--sun)}.achievements small{color:var(--muted);font-size:12px}.spark{align-items:flex-end;gap:2px;height:48px;margin-top:8px;display:flex}.spark i{background:var(--navy-2);opacity:.6;border-radius:2px;flex:1}.spark i.hot{background:var(--sun);opacity:1}.chat .bubbles{flex-direction:column;gap:8px;min-height:40vh;margin:12px 0;display:flex}.bubble{white-space:pre-wrap;border-radius:18px;max-width:85%;padding:10px 14px;line-height:1.4}.bubble.me{background:var(--navy);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.bubble.hana{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start}.kidpicker{flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0;display:flex}.kidbtn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:88px;padding:12px 16px;font-size:15px;display:flex}.avatar{background:var(--sun);width:44px;height:44px;color:var(--navy);border-radius:50%;place-items:center;font-size:20px;font-weight:800;display:grid}.light{color:#fff}.curfew{border-left:6px solid var(--navy-2);flex-wrap:wrap;gap:16px;display:flex}.curfews{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px;display:grid}.curfews label{color:var(--muted);flex-direction:column;gap:2px;display:flex}.curfews input{padding:6px}.slot{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:6px;font-size:11px;display:inline-block}.redalert h1{color:var(--danger)}.popout{max-width:480px;margin:0 auto;padding:16px}@media print{.noprint{display:none}}details summary{cursor:pointer;margin-top:6px}
