:root{--ink:#11130f;--paper:#f4f0e6;--navy:#11130f;--navy-2:#c2410c;--accent:#ff5a1f;--sun:#c8f04a;--bg:#f4f0e6;--card:#fffdf6;--card-alt:#ece8de;--text:#11130f;--muted:#686a61;--line:#cbc7bb;--good:#2e7d32;--warn:#b45309;--danger:#c1311b;--display:"Bahnschrift Condensed", "DIN Condensed", "Arial Narrow", "Avenir Next Condensed", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Avenir Next,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--navy:#0b0c0a;--navy-2:#ff6b35;--accent:#ff6b35;--bg:#11130f;--card:#1b1e19;--card-alt:#242821;--text:#f4f0e6;--muted:#a9ab9f;--line:#3b4038;--good:#8bd17c;--warn:#f0a24a;--danger:#ff7a5c;--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)}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-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}.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}.confirm{background:var(--card);color:var(--text);border-radius:22px;width:100%;max-width:380px;padding:22px 20px 16px;box-shadow:0 20px 60px #0000004d}.confirm h2{margin:0 0 6px;font-size:18px}.confirm p{margin:0 0 14px}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}:root[data-theme=dark]{--navy:#0b0c0a;--navy-2:#ff6b35;--accent:#ff6b35;--bg:#11130f;--card:#1b1e19;--card-alt:#242821;--text:#f4f0e6;--muted:#a9ab9f;--line:#3b4038;--good:#8bd17c;--warn:#f0a24a;--danger:#ff7a5c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-accent=teal]{--navy-2:#0f766e}:root[data-accent=purple]{--navy-2:#6d28d9}:root[data-accent=rose]{--navy-2:#be185d}:root[data-accent=orange]{--navy-2:#b45309}:root[data-accent=green]{--navy-2:#3f6212}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:30px;height:30px}.swatch.on{border-color:var(--text)}.offline{z-index:4;background:var(--warn);color:#fff;text-align:center;padding:6px 12px;font-size:13px;position:sticky;top:0}.pill{background:var(--line);color:var(--text);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.pill.good{background:var(--good);color:#fff}.pill.sun{background:var(--sun);color:var(--navy)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.bar{background:var(--line);border-radius:99px;height:10px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--navy-2), var(--sun));border-radius:99px;height:100%;display:block}.qr{background:#fff;border-radius:12px;padding:10px;line-height:0;display:inline-block}.qr svg{width:180px;height:180px}textarea{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;width:100%;min-height:80px;padding:9px 10px;font-size:16px}.quicknote{gap:8px;margin:10px 0;display:flex}.quicknote input{flex:1;min-width:0}.mealgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0;display:grid}.mealcard{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:14px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.mealcard img{aspect-ratio:4/3;object-fit:cover;background:var(--line);width:100%;display:block}.mealcard div{flex-direction:column;gap:2px;padding:8px 10px;display:flex}.mealcard small{color:var(--muted);font-size:12px}.mealhero{aspect-ratio:16/10;object-fit:cover;background:var(--line);border-radius:16px;width:100%;display:block}.steps li{margin:6px 0;line-height:1.45}.storebtns{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.storebtns a{text-align:center}.weeks{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.wk{border:1px solid var(--line);text-align:center;background:var(--card);border-radius:10px;padding:6px;font-size:12px}.wk b{font-size:14px;display:block}.wk.current{border:2px solid var(--sun);background:#f2a41e1f}.wk.deload{opacity:.7}.wk.past{opacity:.5}.wk-hypertrophy{border-top:4px solid var(--navy-2)}.wk-strength{border-top:4px solid var(--danger)}.wk-cut{border-top:4px solid var(--warn)}.wk-maintenance{border-top:4px solid var(--good)}.wk-foundation,.wk-recomp{border-top:4px solid var(--muted)}.buildgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.buildopt{border:1px solid var(--line);background:var(--card);color:var(--text);text-align:left;cursor:pointer;font:inherit;border-radius:14px;padding:10px}.buildopt.on{border:2px solid var(--navy-2)}.buildopt small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.recorder{z-index:50;color:#333;-webkit-user-select:none;user-select:none;touch-action:none;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.recorder .dot{width:10px;height:10px;top:calc(env(safe-area-inset-top) + 16px);background:#5a1010;border-radius:50%;position:absolute;right:16px}.recorder .dot.live{animation:3s ease-in-out infinite breathe}.recorder .hold{color:#3a3a3a;text-align:center;background:#050505;border:2px solid #1a1a1a;border-radius:50%;place-items:center;width:220px;height:220px;padding:0;font-size:16px;display:grid}.recorder .hold .ring{background:conic-gradient(#3b0a0a var(--p,0%), transparent 0);border-radius:50%;place-items:center;width:100%;height:100%;display:grid}.recorder .hold .ring span{background:#050505;border-radius:50%;place-items:center;width:88%;height:88%;display:grid}.recorder small{color:#2a2a2a}.recorder .link{color:#333}@keyframes breathe{0%,to{opacity:.35}50%{opacity:.9}}.flash{margin:12px 0}.flash .face{background:var(--card);border:1px solid var(--line);text-align:center;cursor:pointer;width:100%;min-height:160px;color:var(--text);border-radius:18px;place-items:center;padding:20px;font-family:inherit;font-size:19px;display:grid}.flash .face.back{border-color:var(--navy-2)}.notes h3{margin:14px 0 4px;font-size:15px}.notes ul{margin:4px 0 8px 18px;padding:0}.notes li{margin:3px 0}.boxes{gap:4px;display:flex}.boxes span{text-align:center;background:var(--line);border-radius:8px;flex:1;padding:4px 0;font-size:12px}.quest{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.quest:last-child{border-bottom:0}.quest .grow .bar{margin-top:4px}.quest.done b{color:var(--good)}.now{animation:.5s cubic-bezier(.2,.9,.3,1.3) nowIn}.now .now-name{animation:2.4s ease-in-out .5s 2 nowGlow}@keyframes nowIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@keyframes nowGlow{50%{color:var(--navy-2)}}.focus{text-align:center}.focus .clock{font-variant-numeric:tabular-nums;font-size:56px;font-weight:800}.focus .ringwrap{background:conic-gradient(var(--sun) var(--p,0%), var(--line) 0);border-radius:50%;place-items:center;width:220px;height:220px;margin:12px auto;display:grid}.focus .ringwrap>div{background:var(--bg);border-radius:50%;place-items:center;width:190px;height:190px;display:grid}.win{border-bottom:1px solid var(--line);gap:10px;padding:8px 0;display:flex}.win:last-child{border-bottom:0}.win .emoji{font-size:22px}@media (prefers-reduced-motion:reduce){.now,.now .now-name,.recorder .dot.live{animation:none}}.firstrun{background:var(--card);color:var(--text);border-radius:24px;width:100%;max-width:420px;max-height:90vh;padding:24px 22px;overflow:auto}.firstrun h2{margin-top:0}.firstrun ol{padding-left:20px}.firstrun li{margin:6px 0}.keys{border-collapse:collapse;width:100%}.keys td{border-bottom:1px solid var(--line);padding:5px 4px}kbd{border:1px solid var(--line);background:var(--bg);border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.landing{max-width:760px;margin:0 auto;padding:24px 16px 48px}.landing .hero{background:var(--navy);color:#fff;text-align:center;border-radius:24px;padding:28px 22px}.landing .hero p{color:#c9cbe6}.landing .hero .btn{color:var(--navy);background:#fff}.feature{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:16px 0;display:grid}.feature .card{margin:0}.steps-bar{gap:4px;margin:8px 0 16px;display:flex}.steps-bar i{background:var(--line);border-radius:99px;flex:1;height:6px}.steps-bar i.on{background:var(--navy-2)}.desk-hint{color:var(--muted);font-size:12px;display:none}@media (width>=1100px){.app.wide{max-width:1280px}.app.wide main{padding:16px 28px 32px}.desk-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.desk-grid.two{grid-template-columns:2fr 1fr}.desk-grid .card{margin:0 0 16px}.desk-span2{grid-column:span 2}.desk-hint{display:inline}}h1,h2,h3,.now-name,.bigscore b,.stat b,.tabs small,.btn,.chip,.tag,.pill{font-family:var(--display)}h1{text-transform:uppercase;letter-spacing:-.02em;margin:10px 0 14px;font-size:clamp(34px,9vw,52px);line-height:.92}h2{text-transform:uppercase;letter-spacing:.01em;font-size:22px;line-height:1}h3{text-transform:uppercase}.top{background:var(--ink);border-bottom:3px solid var(--sun)}.card{border:0;border-top:4px solid var(--text);background:var(--card);border-radius:2px}.card.current,.day.today{border-top-color:var(--sun)}.stat,.checklist li,.mealcard,.wk,.buildopt,.flash .face,.firstrun,.confirm,.celebrate,.menu,input,select,textarea,.habit,.boxes span{border-radius:2px}.stat{border:0;border-top:3px solid var(--text);background:var(--card)}.stat b{font-size:30px}.btn{background:var(--text);color:var(--bg);text-transform:uppercase;letter-spacing:.04em;border-radius:2px}.btn.ghost{color:var(--text);border:1px solid var(--text);background:0 0}.btn.danger{background:var(--danger);color:#fff}.chip,.pill,.tag{text-transform:uppercase;letter-spacing:.04em;border-radius:2px;font-size:13px}.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.pill.sun,.tag{background:var(--sun);color:#11130f}.now,.landing .hero,.bigscore{background:var(--ink);color:var(--paper);border-radius:2px}.now{border:0;border-left:6px solid var(--sun)}.now small{color:var(--sun);letter-spacing:.15em}.now-name{text-transform:uppercase;font-size:28px;line-height:1}.bigscore{padding:18px 12px}.bigscore b{color:var(--sun);font-size:64px}.bigscore .muted,.now .muted{color:#c9c6ba}.xpfill,.bar i{background:linear-gradient(90deg, var(--accent), var(--sun))}.tabs{background:var(--ink);border-top:3px solid var(--sun)}.tabs a{color:#a9ab9f}.tabs a.active,:root[data-theme=dark] .tabs a.active{color:var(--sun)}@media (prefers-color-scheme:dark){.tabs a.active{color:var(--sun)}}.checklist li{border:0;border-bottom:1px solid var(--line);background:0 0;margin:0}.checklist input[type=checkbox],.habit input{accent-color:var(--accent)}.offline{background:var(--accent)}.role-art{object-fit:contain;mix-blend-mode:multiply;filter:brightness(1.12)contrast(1.15);flex:none;width:72px;height:72px}.role-art.lg{width:140px;height:140px;margin:0 auto 8px;display:block}:root[data-theme=dark] .role-art{filter:invert()brightness(.9)contrast(1.2);mix-blend-mode:screen}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .role-art{filter:invert();mix-blend-mode:screen}}.buildopt .role-art{float:right;width:56px;height:56px;margin-left:6px}.exdemo{object-fit:contain;border:1px solid var(--line);background:#fff;width:100%;max-height:220px;margin-bottom:8px;display:block}
