:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#f0ede6;--ink:#1b2430;--ink-2:#4a5462;--muted:#747d8a;--line:#e8e3da;--track:#ebe7df;--accent:#2e7d62;--accent-ink:#fff;--accent-soft:#e3f1ea;--danger:#b54a3c;--sleep:#4a3aa7;--move:#1baf7a;--food:#eb6834;--feel:#2a78d6;--shadow:0 1px 2px #1b24300a, 0 8px 24px #1b24300f;--shadow-up:0 -6px 24px #1b243012;--radius:24px;--spring:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-mode=night]{--bg:#15171d;--surface:#1f2129;--surface-2:#2a2d37;--ink:#f3efe6;--ink-2:#c9c4b8;--muted:#9a9fab;--line:#2f323c;--track:#333744;--accent:#5fbf98;--accent-ink:#10231b;--accent-soft:#1f3a30;--danger:#e2786a;--sleep:#9085e9;--move:#199e70;--food:#d95926;--feel:#3987e5;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-up:0 -6px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none;font-family:-apple-system,system-ui,Segoe UI,sans-serif;font-size:18px;line-height:1.4;transition:background-color .6s,color .6s}button{color:inherit;cursor:pointer;font-family:inherit}button:disabled{cursor:default}.app{flex-direction:column;height:100%;display:flex}.screen{-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + 22px) 18px 28px;flex:1;overflow-y:auto}.screen>:last-child{margin-bottom:8px}h1{letter-spacing:-.6px;margin:0 0 4px;font-size:32px;font-weight:750;line-height:1.15}h2{letter-spacing:-.3px;margin:30px 0 12px;font-size:22px}h2.quiet-h{color:var(--muted);margin:28px 4px 8px;font-size:17px;font-weight:650}p.sub,.sub{color:var(--muted);margin:0 0 20px;font-size:17px}.center{text-align:center}.eyebrow{color:var(--muted);letter-spacing:.1px;font-size:15px;font-weight:650}.empty{color:var(--muted);margin:8px 0;font-size:16px}.error{color:var(--danger);margin:8px 0;font-size:16px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;border:0;width:100%;margin-bottom:14px;padding:18px;transition:background-color .6s;display:block}.card-title{align-items:center;gap:8px;margin-bottom:4px;font-size:19px;font-weight:700;display:flex}.btn{background:var(--surface-2);width:100%;min-height:58px;color:var(--ink);transition:transform .12s var(--spring), opacity .2s, background-color .2s;border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:12px 18px;font-size:19px;font-weight:650;display:flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in oklab, var(--accent) 28%, transparent)}.btn.big{min-height:66px;font-size:21px}.btn.quiet{color:var(--accent);background:0 0}.btn.danger{background:var(--danger);color:#fff}.btn.danger-text{color:var(--danger)}.btn:disabled{opacity:.35;box-shadow:none}.btn-small{background:var(--accent-soft);min-height:40px;color:var(--accent);border:0;border-radius:999px;flex:none;padding:9px 16px;font-size:16px;font-weight:700}.icon-btn{background:var(--surface-2);width:44px;height:44px;color:var(--ink-2);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:disabled{opacity:.3}.icon-btn-space{flex:none;width:44px;height:44px}input,textarea,select{border:2px solid var(--line);background:var(--surface);width:100%;min-height:54px;color:var(--ink);-webkit-user-select:text;user-select:text;border-radius:16px;margin-bottom:10px;padding:12px 14px;font-family:inherit;font-size:18px}input:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:none;min-height:96px;display:block}.ring{flex:none;position:relative}.ring svg{display:block}.ring-fill{transition:stroke-dashoffset .9s var(--spring), opacity .3s}.ring-label{place-items:center;display:grid;position:absolute;inset:0}.ring-count{font-size:19px;font-weight:750}.ring-count small{color:var(--muted);font-size:13px;font-weight:600}.bubble{width:44px;height:44px;color:var(--c,var(--accent));background:color-mix(in oklab, var(--c,var(--accent)) 14%, var(--surface));border-radius:14px;flex:none;place-items:center;display:grid}.bubble.big{border-radius:18px;width:56px;height:56px}.bubble.small{border-radius:11px;width:34px;height:34px}.bubble.done{background:var(--c);color:#fff}.sleep{--c:var(--sleep)}.move{--c:var(--move)}.food{--c:var(--food)}.feel{--c:var(--feel)}.today-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.today-head .sub{margin-bottom:18px}.note{background:color-mix(in oklab, var(--feel) 10%, var(--surface));color:var(--feel);border-radius:20px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.note-from{font-size:14px;font-weight:700}.note-text{color:var(--ink);margin-top:2px;font-size:18px}.upnext{padding:20px;position:relative;overflow:hidden}.upnext:before{content:"";pointer-events:none;background:linear-gradient(180deg, color-mix(in oklab, var(--c) 12%, transparent), transparent);height:110px;position:absolute;inset:0 0 auto}.upnext>*{position:relative}.upnext-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.upnext-title{letter-spacing:-.4px;font-size:28px;font-weight:750}.upnext-sub{color:var(--ink-2);margin:2px 0 16px;font-size:18px}.upnext .btn{margin-bottom:0}.countdown{color:var(--ink-2);margin:-6px 0 16px;font-size:17px}.countdown b{color:var(--sleep);font-size:22px}.calm{flex-direction:column;gap:2px;padding:20px;display:flex}.calm.done{flex-direction:row;align-items:center;gap:16px}.calm-title{font-size:22px;font-weight:750}.calm-sub{color:var(--ink-2)}.recap-link,.setup-card{align-items:center;gap:14px;display:flex}.list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.list-row{text-align:left;background:var(--surface);width:100%;min-height:68px;box-shadow:var(--shadow);color:var(--muted);transition:transform .12s var(--spring), opacity .3s;border:0;border-radius:20px;align-items:center;gap:14px;padding:12px 14px;display:flex}.list-row:active{transform:scale(.98)}.list-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{color:var(--ink);font-size:18px;font-weight:650}.row-sub{color:var(--muted);font-size:16px}.row-sub.faint{opacity:.8;font-size:15px}.one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-at{color:var(--muted);font-size:16px;font-weight:600}.tasks .list-row{min-height:58px;padding:10px 14px}.task.done .row-title{color:var(--muted)}.task.missed{opacity:.6}.tcheck{width:34px;height:34px;color:var(--c);background:color-mix(in oklab, var(--c) 12%, var(--surface));border-radius:50%;flex:none;place-items:center;transition:background-color .3s,color .3s;display:grid}.tcheck.on{background:var(--c);color:#fff}.overlay{z-index:20;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.flow{min-height:0;padding:calc(env(safe-area-inset-top) + 10px) 18px 0;flex-direction:column;flex:1;display:flex}.flow-top{justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.pdot{background:var(--track);width:8px;height:8px;transition:all .3s var(--spring);border-radius:99px}.pdot.on{background:var(--accent);width:24px}.pdot.done{background:color-mix(in oklab, var(--accent) 50%, var(--track))}.flow-step{flex-direction:column;flex:1;min-height:0;display:flex}.flow-body{flex:1;padding:18px 2px 12px;overflow-y:auto}.flow-title{letter-spacing:-.5px;margin:0 0 8px;font-size:28px;font-weight:750;line-height:1.2}.flow-sub{color:var(--ink-2);margin:0 0 22px;font-size:18px}.flow-sub b{color:var(--ink)}.flow-foot{padding:10px 0 calc(env(safe-area-inset-bottom) + 14px)}.flow-foot .btn{margin-bottom:0}.flow-done{flex-direction:column;flex:1;align-items:center;padding-top:6vh;display:flex;overflow-y:auto}.flow-done .flow-title{margin-top:22px}.flow-done .flow-foot{width:100%;margin-top:auto}.choices{flex-direction:column;gap:12px;display:flex}.choice{background:var(--surface);min-height:66px;box-shadow:var(--shadow);text-align:left;transition:transform .12s var(--spring), border-color .2s, background-color .2s;border:2px solid #0000;border-radius:20px;align-items:center;gap:12px;padding:14px 20px;font-size:21px;font-weight:650;display:flex}.choice span{flex:1}.choice small{color:var(--muted);font-size:15px}.choice:active{transform:scale(.98)}.choice.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ticks{flex-direction:column;gap:12px;display:flex}.tick{background:var(--surface);min-height:66px;box-shadow:var(--shadow);text-align:left;border:0;border-radius:20px;align-items:center;gap:14px;padding:12px 16px;font-size:19px;font-weight:600;display:flex}.tick-box{border:2px solid var(--line);color:#0000;width:34px;height:34px;transition:all .2s var(--spring);border-radius:10px;flex:none;place-items:center;display:grid}.tick.on .tick-box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:scale(1.05)}.tick.on{color:var(--muted)}.moon-big{width:104px;height:104px;color:var(--sleep);background:color-mix(in oklab, var(--sleep) 16%, var(--surface));border-radius:50%;place-items:center;display:grid}.plan{background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:20px;margin-top:8px;padding:14px 16px}.plan-title{color:var(--muted);margin-bottom:6px;font-size:15px;font-weight:700}.plan-row{align-items:center;gap:12px;min-height:40px;font-size:18px;display:flex}.plan-row span:nth-child(2){flex:1}.plan-at{color:var(--muted);font-size:16px}.pill-dot{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.scale{flex-direction:column;gap:6px;display:flex}.scale-row{text-align:left;background:var(--surface);min-height:52px;box-shadow:var(--shadow);color:var(--ink);transition:transform .12s var(--spring), background-color .15s, border-color .15s;border:2px solid #0000;border-radius:16px;align-items:center;gap:14px;padding:6px 14px 6px 6px;font-size:18px;font-weight:600;display:flex}.scale-row:active{transform:scale(.98)}.scale-n{background:hsl(var(--h) 60% 92%);width:40px;height:40px;color:hsl(var(--h) 55% 24%);border:2px solid hsl(var(--h) 45% 78%);border-radius:12px;flex:none;place-items:center;font-size:19px;font-weight:750;display:grid}.scale-w{flex:1}.scale-row.on{border-color:hsl(var(--h) 55% 38%);background:hsl(var(--h) 60% 95%);color:hsl(var(--h) 55% 22%)}.scale-row.on .scale-n{background:hsl(var(--h) 55% 38%);border-color:hsl(var(--h) 55% 38%);color:#fff}[data-mode=night] .scale-n{background:hsl(var(--h) 30% 18%);border-color:hsl(var(--h) 35% 32%);color:hsl(var(--h) 60% 80%)}[data-mode=night] .scale-row.on{background:hsl(var(--h) 30% 16%);border-color:hsl(var(--h) 50% 50%);color:var(--ink)}[data-mode=night] .scale-row.on .scale-n{background:hsl(var(--h) 50% 45%);border-color:hsl(var(--h) 50% 45%);color:#fff}.stepper,.timepick{background:var(--surface);box-shadow:var(--shadow);border-radius:22px;align-items:center;gap:12px;margin-bottom:12px;padding:10px;display:flex}.step-btn{background:var(--surface-2);width:64px;height:64px;color:var(--ink);transition:transform .1s var(--spring);border:0;border-radius:18px;flex:none;place-items:center;display:grid}.step-btn:active:not(:disabled){background:var(--accent-soft);color:var(--accent);transform:scale(.92)}.step-btn:disabled{opacity:.3}.step-val,.time-val{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-num{letter-spacing:-.5px;font-size:40px;font-weight:750;line-height:1.05}.step-unit{color:var(--muted);font-size:15px;font-weight:600}.step-ghost{color:var(--accent);margin-top:2px;font-size:14px;font-weight:600}.time-num{letter-spacing:-.5px;font-size:40px;font-weight:750;line-height:1.1}.time-tap{color:var(--muted);font-size:14px}.time-val input{opacity:0;border:0;min-height:0;margin:0;padding:0;position:absolute;inset:0}.sheet-layer{z-index:40;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#0a0e1461;position:absolute;inset:0}.sheet{background:var(--bg);max-height:88vh;padding:10px 18px calc(env(safe-area-inset-bottom) + 18px);box-shadow:var(--shadow-up);border-radius:28px 28px 0 0;position:relative;overflow-y:auto}.sheet:before{content:"";background:var(--track);border-radius:9px;width:40px;height:5px;margin:0 auto 8px;display:block}.sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sheet-head h3{letter-spacing:-.3px;margin:0;font-size:22px}.sheet-text{color:var(--ink-2);margin:0 0 16px}.sheet-label{margin:18px 0 10px;font-size:17px;font-weight:700}.toast-layer{z-index:60;pointer-events:none;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 92px);justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;color:#fff;background:#1b2430;border-radius:18px;align-items:center;gap:10px;width:100%;max-width:440px;min-height:54px;padding:8px 8px 8px 14px;display:flex;box-shadow:0 10px 30px #00000040}[data-mode=night] .toast{color:#1b2430;background:#f3efe6}.toast-check{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.toast-text{flex:1;font-size:17px;font-weight:600}.toast-undo{color:inherit;background:#ffffff24;border:0;border-radius:12px;min-height:44px;padding:10px 16px;font-size:17px;font-weight:700}[data-mode=night] .toast-undo{background:#00000014}.drawcheck{box-shadow:0 10px 30px color-mix(in oklab, var(--accent) 35%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.burst{pointer-events:none;width:0;height:0;position:absolute;top:70px;left:50%}.burst span{border-radius:50%;margin:-4px;position:absolute}.workout{min-height:0;padding:calc(env(safe-area-inset-top) + 8px) 18px 0;flex-direction:column;flex:1;display:flex;position:relative}.wk-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.wk-clock{color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:18px;font-weight:700;display:flex}.wk-progress{gap:6px;margin:12px 0 4px;display:flex}.seg{background:var(--track);border:0;border-radius:9px;flex:1;height:8px;padding:0;position:relative;overflow:hidden}.seg span{background:var(--move);transition:width .4s var(--spring);border-radius:9px;position:absolute;inset:0 auto 0 0}.seg.on{outline:2px solid color-mix(in oklab, var(--move) 45%, transparent);outline-offset:2px}.wk-body{padding:16px 2px calc(env(safe-area-inset-bottom) + 16px);flex:1;overflow-y:auto}.wk-name{margin:2px 0 10px;font-size:30px}.media{background:var(--surface-2);object-fit:cover;border-radius:20px;width:100%;max-height:240px;margin-bottom:12px}.cues{color:var(--ink-2);margin:0 0 12px;padding:0 0 0 20px;font-size:17px}.cues li{margin-bottom:4px}.lasttime{color:var(--accent);background:var(--accent-soft);border-radius:14px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:16px;font-weight:600;display:flex}.setchips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.setchip{border:2px solid var(--line);background:var(--surface);width:50px;height:50px;color:var(--ink-2);transition:all .2s var(--spring);border-radius:16px;place-items:center;font-size:18px;font-weight:750;display:grid}.setchip.on{border-color:var(--move);color:var(--ink);transform:scale(1.06)}.setchip.done{background:var(--move);border-color:var(--move);color:#fff}.setchip.done.on{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--move)}.setchip.add{color:var(--muted);border-style:dashed}.setcard{background:var(--surface-2);border-radius:24px;margin-bottom:12px;padding:14px}.setcard-title{color:var(--ink-2);margin:2px 4px 10px;font-weight:700}.setcard .btn{margin:4px 0 0}.wk-nav{gap:10px;display:flex}.wk-nav .btn{margin:0}.wk-foot{margin-top:18px}.timer-panel{z-index:5;background:color-mix(in oklab, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.timer-inner{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:360px;display:flex}.timer-panel .ring-fill{transition:stroke-dashoffset .25s linear}.timer-num{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:60px;font-weight:750}.timer-next{color:var(--ink-2);font-size:20px;font-weight:650}.timer-btns{gap:10px;width:100%;display:flex}.timer-btns .btn{margin:0}.page{padding:calc(env(safe-area-inset-top) + 10px) 18px 0;flex:1;overflow-y:auto}.page-top{justify-content:flex-end;margin-bottom:6px;display:flex}.page-foot{padding:8px 0 calc(env(safe-area-inset-bottom) + 16px)}.page-foot.sticky{background:linear-gradient(transparent, var(--bg) 30%);padding-top:24px;position:sticky;bottom:0}.page-foot .btn{margin:0}.summary-hero{flex-direction:column;align-items:center;padding:6vh 0 10px;display:flex;position:relative}.summary-hero h1{margin-top:20px}.trophy{color:#9a6a00;background:radial-gradient(circle at 35% 30%,#ffe9a8,#f5c242);border-radius:50%;place-items:center;width:100px;height:100px;display:grid;box-shadow:0 12px 30px #f5c24273}.tiles{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.tiles.two{grid-template-columns:1fr 1fr;gap:10px}.tile{background:var(--surface);text-align:center;box-shadow:var(--shadow);border-radius:20px;padding:14px 8px}.tile-val{letter-spacing:-.3px;font-size:24px;font-weight:750}.tile-label{color:var(--muted);font-size:14px;font-weight:600}.tile.streak{text-align:left;color:var(--food);padding:14px 16px}.tile.streak.night{color:var(--sleep)}.tile.streak .tile-val{color:var(--ink);margin-top:4px;font-size:32px}.pb-row,.ex-row{border-top:1px solid var(--line);padding:10px 0}.pb-row:first-of-type,.ex-row:first-of-type{border-top:0}.week-card{align-items:center;gap:14px;display:flex}.weekdays{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wd{flex-direction:column;align-items:center;gap:6px;display:flex}.wd-l{color:var(--muted);font-size:14px;font-weight:700}.wd.today .wd-l{color:var(--ink)}.wd-dot{color:#fff;background:var(--surface-2);border-radius:50%;place-items:center;width:36px;height:36px;transition:background-color .3s;display:grid}.wd.planned .wd-dot{box-shadow:inset 0 0 0 2px var(--move);background:0 0}.wd.done .wd-dot{background:var(--move);box-shadow:none}.wd-legend{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:14px;display:flex}.wd-key{width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--move);border-radius:50%}.hero-card{padding:20px;position:relative;overflow:hidden}.hero-card:before{content:"";pointer-events:none;background:linear-gradient(180deg, color-mix(in oklab, var(--c) 14%, transparent), transparent);height:120px;position:absolute;inset:0 0 auto}.hero-card>*{position:relative}.hero-icon{width:56px;height:56px;color:var(--c);background:color-mix(in oklab, var(--c) 16%, var(--surface));border-radius:18px;place-items:center;margin-bottom:14px;display:grid}.hero-title{letter-spacing:-.4px;font-size:26px;font-weight:750}.hero-sub{color:var(--ink-2);margin:2px 0 16px}.hero-card .btn{margin:0}.chips-row,.chips-wrap{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.done-chip{background:var(--accent-soft);color:var(--accent);border-radius:99px;align-items:center;gap:6px;padding:8px 12px;font-size:16px;font-weight:650;display:inline-flex}.pb-badge{color:#8a5d00;background:#fbefc9;border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:15px;font-weight:750;display:inline-flex}.chip-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.chip-grid.four{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.chip{background:var(--surface);min-height:52px;box-shadow:var(--shadow);transition:all .15s var(--spring);border:2px solid #0000;border-radius:16px;padding:8px 14px;font-size:17px;font-weight:650}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chips-wrap .chip{text-align:left;min-height:46px}.bubble-photo{object-fit:cover;border-radius:14px;flex:none;width:44px;height:44px}.add-pill{background:var(--accent-soft);color:var(--accent);border-radius:99px;place-items:center;min-width:44px;min-height:40px;padding:8px 14px;font-size:16px;font-weight:700;display:grid}.habit{border-top:1px solid var(--line);padding:12px 0}.habit:first-child{border-top:0;padding-top:2px}.habit-q{margin-bottom:10px;font-weight:600}.seg-ctl{background:var(--surface-2);border-radius:16px;gap:4px;padding:4px;display:flex}.seg-ctl button{min-height:48px;color:var(--ink-2);background:0 0;border:0;border-radius:12px;flex:1;font-size:18px;font-weight:650;transition:background-color .2s,color .2s,box-shadow .2s}.seg-ctl button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #00000014}.seg-ctl.small{margin:10px 0 14px}.seg-ctl.small button{min-height:40px;font-size:16px}.meal-row{align-items:center;gap:12px;padding:8px 0;display:flex}.meal-text{flex:1}.thumb{object-fit:cover;background:var(--surface-2);border-radius:12px;flex:none;width:52px;height:52px}.photo-empty{background:var(--surface-2)}.camera-tile{min-height:150px;color:var(--food);text-align:center;background:color-mix(in oklab, var(--food) 10%, var(--surface));border:2px dashed color-mix(in oklab, var(--food) 40%, transparent);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-bottom:14px;display:flex;position:relative}.camera-tile span{color:var(--ink);font-size:21px;font-weight:700}.camera-tile small{color:var(--muted);font-size:15px}.camera-tile input{opacity:0;min-height:0;margin:0;position:absolute;inset:0}.photo-preview{margin-bottom:14px;position:relative}.photo-preview img{object-fit:cover;border-radius:24px;width:100%;max-height:300px;display:block}.btn-small.over{color:#fff;background:#0000008c;position:absolute;bottom:12px;right:12px}.tip{color:var(--muted);align-items:center;gap:8px;margin:2px 4px 8px;font-size:15px;display:flex}.recap-row{align-items:center;gap:12px;padding:8px 0;display:flex}.recap-val{text-align:right;font-weight:700}.recap-pb{color:#8a5d00;align-items:center;gap:8px;margin-top:6px;font-weight:700;display:flex}[data-mode=night] .recap-pb,[data-mode=night] .pb-badge{color:#f5c242}[data-mode=night] .pb-badge{background:#3a3016}.recap-lines p{margin:0 0 10px;font-size:21px;font-weight:650}.recap-lines{margin-bottom:18px}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-week,.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-week{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:700}.cal-day{background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;min-height:50px;padding:5px 0 4px;display:flex}.cal-day:disabled{opacity:.35}.cal-n{font-size:16px;font-weight:600}.cal-day.today{background:var(--surface-2)}.cal-day.today .cal-n{font-weight:800}.cal-day.fill .cal-n{color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.cal-day.fill.workouts .cal-n{background:var(--move)}.cal-day.fill.sleep .cal-n{background:var(--sleep)}.cal-day.ring-late .cal-n{width:32px;height:32px;box-shadow:inset 0 0 0 2px var(--sleep);border-radius:50%;place-items:center;display:grid}.cal-dots{grid-template-columns:repeat(4,6px);gap:2px;display:grid}.cal-dots i,.legend i,.day-h i{border-radius:50%;width:6px;height:6px;display:block}.cal-dots i.sleep,.legend i.sleep,.day-h i.sleep{background:var(--sleep)}.cal-dots i.move,.legend i.move,.day-h i.move{background:var(--move)}.cal-dots i.food,.legend i.food,.day-h i.food{background:var(--food)}.cal-dots i.feel,.legend i.feel,.day-h i.feel{background:var(--feel)}.cal-dots i.hollow,.legend i.hollow{box-shadow:inset 0 0 0 1.5px var(--sleep);background:0 0}.legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:12px;font-size:14px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{width:10px;height:10px}.daylog{flex-direction:column;gap:14px;padding-bottom:6px;display:flex}.day-sec{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:12px 14px}.day-h{align-items:center;gap:8px;margin-bottom:4px;font-weight:750;display:flex}.day-h i{width:10px;height:10px}.chart{margin-top:10px;position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .cross{stroke:var(--muted);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:12px;font-weight:600}.chart .label{fill:var(--ink);font-size:13px;font-weight:700}.chart .band{fill:color-mix(in oklab, var(--accent) 12%, transparent)}.tooltip{background:var(--ink);color:var(--bg);white-space:nowrap;pointer-events:none;border-radius:10px;padding:6px 10px;font-size:14px;position:absolute;transform:translate(-50%,-110%)}.spark-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.spark-row:first-of-type{border-top:0}.badges{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.badge{background:var(--surface-2);color:var(--muted);border-radius:18px;flex-direction:column;gap:2px;padding:12px;display:flex}.badge-icon{background:var(--track);border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:6px;display:grid}.badge-title{font-size:16px;font-weight:700}.badge-sub{font-size:14px}.badge.on{color:#6b4a00;background:#fdf3d6}.badge.on .badge-icon{color:#8a5d00;background:radial-gradient(circle at 35% 30%,#ffe9a8,#f5c242)}[data-mode=night] .badge.on{color:#f5d27a;background:#3a3016}.tabs{background:var(--surface);box-shadow:var(--shadow-up);padding:6px 8px calc(env(safe-area-inset-bottom) + 4px);z-index:2;transition:background-color .6s;display:flex;position:relative}.tab{min-height:62px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:13px;font-weight:650;display:flex;position:relative}.tab.on{color:var(--accent)}.tab-pill{background:var(--accent-soft);z-index:-1;border-radius:16px;position:absolute;inset:2px 8px}.tab-icon{display:grid;position:relative}.tab-badge{background:var(--food);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:-2px;right:-4px}.admin{-webkit-user-select:text;user-select:text;height:100%;font-size:16px;display:flex}.admin-nav{background:var(--surface);width:220px;box-shadow:1px 0 0 var(--line);flex-direction:column;flex:none;gap:4px;padding:22px 12px;display:flex}.admin-brand{letter-spacing:-.3px;padding:0 12px 16px;font-size:20px;font-weight:800}.admin-link{color:var(--ink-2);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:16px;font-weight:600;display:flex}.admin-link.on{background:var(--accent-soft);color:var(--accent)}.admin-link.out{margin-top:auto}.admin-main{flex:1;padding:32px 36px 120px;overflow-y:auto}.admin-main h1{font-size:30px}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;gap:16px;margin-bottom:16px;display:grid}.admin-grid .card{margin-bottom:0}.admin-grid>div>.card,.admin-grid>div>.tiles{margin-bottom:16px}.admin-banner{color:#6b4a00;background:#fdf3d6;border-radius:14px;margin-bottom:20px;padding:12px 16px;font-weight:600}.admin-center{max-width:380px;margin:12vh auto;padding:0 18px}.admin-today{align-items:center;gap:16px;margin-bottom:10px;display:flex}.admin-task{border-top:1px solid var(--line);align-items:center;gap:12px;padding:7px 0;display:flex}.admin-task .tcheck{width:26px;height:26px}.alert{background:var(--surface-2);border-radius:12px;margin-top:8px;padding:10px 12px}.alert.warn{color:#8c2f22;background:#fbe9e6}.alert.good{background:var(--accent-soft);color:var(--accent)}.quote{border-left:3px solid var(--feel);margin:10px 0;padding-left:12px;font-size:18px}.form label{color:var(--ink-2);margin-top:10px;font-size:14px;font-weight:650;display:block}.form label input,.form label select,.form label textarea{color:var(--ink);margin-top:4px;font-weight:400}.form select{appearance:none}.form-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check-row{align-items:center;gap:10px;color:var(--ink)!important;font-size:16px!important;display:flex!important}.check-row input{width:22px;height:22px;min-height:22px;accent-color:var(--accent);margin:0}.row-btns{gap:10px;margin-top:6px;display:flex}.row-btns .btn{min-height:48px;margin:0;font-size:17px}.day-toggles{grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0 4px;display:grid}.day-toggles button{background:var(--surface-2);border:0;border-radius:12px;min-height:44px;font-weight:650}.day-toggles button.on{background:var(--move);color:#fff}.habit-edit{border-top:1px solid var(--line);padding:8px 0}.save-bar{transition:transform .3s var(--spring);background:var(--ink);color:var(--bg);z-index:30;border-radius:20px;align-items:center;gap:12px;padding:10px 10px 10px 20px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%,140%);box-shadow:0 10px 30px #00000040}.save-bar.on{transform:translate(-50%)}.save-bar .btn{width:auto;min-height:44px;margin:0;font-size:16px}.order-row{border-top:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.order-row .icon-btn{width:36px;height:36px}.order-n{background:var(--surface-2);border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.tags{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.tag{background:var(--surface-2);color:var(--ink-2);border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.tag.good{background:var(--accent-soft);color:var(--accent)}.tag.warn{color:#8c2f22;background:#fbe9e6}.tag.gold{color:#8a5d00;background:#fbefc9}.card-title .tag{margin-left:auto}.admin-meal{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.admin-photo{object-fit:cover;border-radius:12px;flex:none;width:96px;height:96px}@media (width<=760px){.admin{flex-direction:column}.admin-nav{width:auto;padding:calc(env(safe-area-inset-top) + 8px) 8px 8px;box-shadow:0 1px 0 var(--line);flex-direction:row;overflow-x:auto}.admin-brand{display:none}.admin-link{flex:none}.admin-link span{white-space:nowrap}.admin-link.out{margin-top:0}.admin-main{padding:20px 16px 120px}.admin-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
