:root{--bg:#14122b;--side:#100e24;--surface:#1d1b3c;--surface2:#27244b;--line:#beb4ff21;--text:#f1eeff;--muted:#a09bc8;--faint:#716c9c;--sun:#ffd27a;--habit:#f6b756;--med:#b9a4ff;--move:#ff8a7a;--sleep:#7fc8ff;--journal:#9adbb0;--insight:#ff9fd2;--on-accent:#1a1633}[data-theme=light]{--bg:#eceaf7;--side:#e1def1;--surface:#fff;--surface2:#f3f1fb;--line:#281e6e21;--text:#1b1838;--muted:#5b5785;--faint:#8985ae;--sun:#ee9a12;--habit:#d98a0b;--med:#6c4fe6;--move:#e5503e;--sleep:#1d88d2;--journal:#2e9c63;--insight:#c93c8c;--on-accent:#fff}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-vietnamese-standard-normal-Br4FGdAc.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-ext-standard-normal-qp-RdZgh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-standard-normal-C5Lc8Qmc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sun-ink:var(--sun);--habit-ink:var(--habit);--med-ink:var(--med);--move-ink:var(--move);--sleep-ink:var(--sleep);--journal-ink:var(--journal);--insight-ink:var(--insight)}[data-theme=light]{--sun-ink:#a3690b;--habit-ink:#9a6207;--move-ink:#ca4637;--sleep-ink:#1a79bb;--journal-ink:#278353;--insight-ink:#c33a88}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:400 15px/1.5 Bricolage Grotesque Variable,system-ui,sans-serif;transition:background .3s,color .3s}ul{list-style:none}h3{letter-spacing:-.01em;font-size:17px;font-weight:600}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0}a{color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:10px}.ic{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.app{grid-template-columns:268px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--side);border-right:1px solid var(--line);flex-direction:column;gap:26px;height:100vh;padding:26px 14px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;align-items:center;gap:11px;padding:0 12px;font-size:21px;font-weight:650;font-stretch:90%;display:flex}.brand .ic{width:26px;height:26px;color:var(--sun);stroke-width:1.9px}.brand .ic circle{fill:currentColor}.side nav{flex-direction:column;flex:1;gap:20px;display:flex}.grp-title{color:var(--muted);padding:0 12px 6px;font-size:12.5px;font-weight:500}.grp a{width:100%;color:var(--muted);border-radius:13px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.grp a .ic{color:var(--ci);opacity:.8;transition:opacity .2s}.grp a:hover{color:var(--text);background:color-mix(in srgb, var(--c) 8%, transparent)}.grp a[aria-current=page]{color:var(--text);background:color-mix(in srgb, var(--c) 16%, transparent)}.grp a[aria-current=page] .ic,.grp a:hover .ic{opacity:1}.grp .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px}.me{flex-direction:column;gap:12px;padding:0 4px;display:flex}.streakchip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:16px;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.3;display:flex}.streakchip .ic{color:var(--move);width:22px;height:22px}.streakchip b{color:var(--text);font-size:15px;font-weight:600;display:block}.meRow{align-items:center;gap:10px;padding:0 6px;display:flex}.mebtn{border-radius:14px;flex:1;align-items:center;gap:10px;min-width:0;min-height:44px;margin:-6px 0 -6px -6px;padding:6px 8px 6px 6px;text-decoration:none;transition:background .2s;display:flex}.mebtn:hover,.mebtn[aria-current=page]{background:var(--surface)}.mebtn .who{flex-direction:column;min-width:0;line-height:1.2;display:flex}.mebtn .who b{font-weight:550}.mebtn .who small{color:var(--muted);font-size:12.5px}.avatar{background:var(--surface2);border:1px solid var(--line);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:600;display:grid}.avatar[data-initial]:before{content:attr(data-initial)}.theme{width:36px;height:36px;color:var(--muted);border-radius:11px;place-items:center;margin-left:auto;display:grid}.theme:hover{background:var(--surface2);color:var(--text)}.theme .moon{display:none}[data-theme=light] .theme .moon{display:block}[data-theme=light] .theme .sunic{display:none}.main{width:100%;max-width:1200px;padding:44px clamp(20px,4vw,56px) 90px}.head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}h1{letter-spacing:-.012em;font-size:clamp(30px,3.4vw,46px);font-weight:600;font-stretch:96%;line-height:1.05}.sub{color:var(--muted);max-width:60ch;margin-top:8px}.sub a{color:var(--text)}.btn{background:var(--text);color:var(--bg);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:600;transition:transform .15s,opacity .2s;display:inline-flex}.btn:hover{opacity:.9}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:30px;flex-direction:column;gap:20px;width:100%;max-width:400px;padding:34px 30px;display:flex}.login-card h1{font-size:32px}.login-brand{padding:0}.field label{color:var(--muted);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.field input{border:1px solid var(--line);background:var(--surface2);border-radius:14px;width:100%;padding:12px 14px;font-size:16px}.note{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14px}.screen-note{max-width:560px;min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;margin:0 auto;padding:24px;display:flex}.arc{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:26px 14px 6px;position:relative;overflow:hidden;container-type:inline-size}.arc svg{width:100%;height:auto;display:block;overflow:visible}.arc .ground{stroke:var(--line);stroke-width:1px}.arc .future{fill:none;stroke:var(--faint);stroke-width:2px;stroke-dasharray:2 9;stroke-linecap:round}.arc .past{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-linecap:round;opacity:.9}.arc .tick{fill:var(--muted);text-anchor:middle;font-size:12px}.arc .tl{stroke:var(--line);stroke-width:1px}.arc .nodelbl{fill:var(--text);font-size:14px;font-weight:600}.arc .nodelbl.t{fill:var(--muted);font-size:13px;font-weight:400}.arc .nowlbl{fill:var(--muted);font-size:12.5px}.arc .sun{pointer-events:none}.arc .node{cursor:pointer;outline:none}.arc .node .hit{fill:#0000}.arc .node .dot{stroke-width:2px;transition:fill .25s,r .15s}.arc .node:hover .dot,.arc .node:focus-visible .dot{r:12.5px}.arc .node .ring{fill:none;pointer-events:none}.arc .node:focus-visible .ring{stroke:var(--text);stroke-width:2px}.arc .node .chkp{fill:none;stroke:var(--on-accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.arc-text{text-align:center;pointer-events:none;width:min(92%,520px);position:absolute;bottom:17%;left:50%;transform:translate(-50%)}.arc-text h2{letter-spacing:-.015em;font-size:clamp(24px,5.6cqw,54px);font-weight:500;font-stretch:94%;line-height:1.06}.arc-text p{color:var(--muted);margin-top:8px;font-size:clamp(13px,1.9cqw,16px)}.arc .tip{pointer-events:none;background:var(--text);color:var(--bg);white-space:nowrap;opacity:0;z-index:3;border-radius:9px;padding:6px 10px;font-size:13px;font-weight:500;transition:opacity .12s;position:absolute;transform:translate(-50%,-100%)}.arc .tip.on{opacity:1}.arc-text .btn{pointer-events:auto;margin-top:18px}.tgrid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;margin-top:34px;display:grid}.tgrid.pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.tcol{flex-direction:column;gap:22px;display:flex}.list{margin-top:8px}h3.dim{color:var(--muted);margin-top:30px}.row{border-bottom:1px solid var(--line);border-radius:0;align-items:center;gap:15px;width:100%;padding:14px 6px;transition:background .2s;display:flex}.row:hover{background:color-mix(in srgb, var(--c) 6%, transparent)}.row .t{flex:1;min-width:0}.row .t b{font-weight:550;display:block}.row .t span{color:var(--muted);font-size:13.5px}.row time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13.5px}.row[aria-checked=true] .t b{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.box{border:2px solid var(--ci);border-radius:50%;flex:none;place-items:center;width:27px;height:27px;transition:background .2s;display:grid}.box .ic{stroke-width:3.2px;width:14px;height:14px;color:var(--on-accent);opacity:0}.row[aria-checked=true] .box{background:var(--ci)}.row[aria-checked=true] .box .ic{opacity:1}.pop .box{animation:.34s ease-out pop}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.2)}to{transform:scale(1)}}.empty{color:var(--muted);padding:18px 6px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px}.panel .lead{letter-spacing:-.015em;margin:8px 0 18px;font-size:20px;font-weight:500;font-stretch:92%;line-height:1.25}.panel .none{color:var(--muted);margin:8px 0 18px;font-size:16px}.bars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:96px;display:grid}.bars div{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bars i{background:color-mix(in srgb, var(--med) 38%, var(--surface2));border-radius:8px 8px 4px 4px;width:100%;max-width:30px;min-height:4px;display:block}.bars .today i{background:var(--med)}.bars.zero i,.bars.zero .today i{background:var(--surface2)}.bars span{color:var(--muted);font-size:12px}.bars .today span{color:var(--text);font-weight:600}.streaks li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.streaks li:last-child{border:0}.streaks .ic{color:var(--c);width:19px;height:19px}.streaks b{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.streaks small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:400}@media (width<=1000px){.app{grid-template-columns:76px minmax(0,1fr)}.side .brand span,.grp-title,.grp .count,.me .streakchip div,.mebtn .who{display:none}.mebtn{flex:none;justify-content:center;margin:0;padding:6px}.grp a{position:relative}.grp a span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.side .brand{justify-content:center;padding:0}.grp a{justify-content:center;padding:12px}.grp a .ic{opacity:1}.side{align-items:stretch;padding:22px 10px 16px;overflow:visible}.streakchip{justify-content:center;padding:10px}.tgrid,.tgrid.pair{grid-template-columns:minmax(0,1fr)}.meRow{flex-direction:column;padding:0}.theme{margin:0}}@media (width<=700px){.app{grid-template-columns:minmax(0,1fr)}.side{z-index:5;height:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);flex-flow:wrap;gap:0;padding-left:4px;padding-right:4px;position:fixed;inset:auto 0 0;overflow:visible}.side .brand,.me .streakchip,.theme{display:none}.me,.meRow{display:contents}.side nav{flex-direction:row;flex:7 224px;justify-content:space-around;gap:0;width:auto;min-width:0}.grp{display:contents}.grp a{flex:1 1 0;width:auto;min-width:44px;min-height:44px;padding:11px 0}.mebtn{border-radius:13px;flex:32px;min-width:44px;min-height:44px;padding:5px 0}.main{padding-bottom:120px}.app:has(.syncchip.on) .main{padding-bottom:160px}.head{flex-direction:column;align-items:flex-start}.arc-text{width:auto;padding:0 12px 22px;position:static;transform:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn .ic{width:18px;height:18px}.btn.ghost{color:var(--text);border:1px solid var(--line);background:0 0}.btn.ghost:hover{opacity:1;border-color:var(--faint)}.btn.quiet{color:var(--muted);background:0 0;padding-left:12px;padding-right:12px}.btn.quiet:hover{color:var(--text);opacity:1;background:var(--surface2)}.scrim{z-index:20;background:color-mix(in srgb, var(--bg) 66%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:24px;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:30px;flex-direction:column;width:min(100%,580px);max-height:calc(100dvh - 48px);animation:.28s cubic-bezier(.2,.8,.2,1) rise;display:flex;box-shadow:0 40px 90px -40px #08061e8c}.sheet.wide{width:min(100%,664px)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.sheet form{flex-direction:column;flex:1;min-height:0;display:flex}.grab{display:none}.sh-head{align-items:flex-start;gap:14px;padding:24px 24px 6px 28px;display:flex}.sh-ic{background:color-mix(in srgb, var(--c) 16%, transparent);width:42px;height:42px;color:var(--c);border-radius:50%;flex:none;place-items:center;display:grid}.sh-ic .ic{width:21px;height:21px}.sh-head h2{letter-spacing:-.015em;font-size:23px;font-weight:600;font-stretch:94%;line-height:1.15}.sh-head p{color:var(--muted);margin-top:2px;font-size:14px}.sh-head .tt{flex:1;min-width:0;padding-top:1px}.xbtn{width:44px;height:44px;color:var(--muted);border-radius:12px;flex:none;place-items:center;margin:-4px -6px 0 0;display:grid}.xbtn:hover{background:var(--surface2);color:var(--text)}.sh-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:4px 28px 22px;overflow-y:auto}.sh-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 24px 22px 28px;display:flex}.sh-foot .sp{flex:1}.sh-note{background:var(--surface2);width:100%;color:var(--muted);border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:4px;padding:11px 14px;font-size:14px;line-height:1.4;display:flex}.sh-note .ic{width:18px;height:18px;color:var(--faint);margin-top:1px}.confirm{background:var(--surface2);border-radius:18px;width:100%;padding:18px 18px 16px}.confirm b{letter-spacing:-.01em;font-size:16.5px;font-weight:600;display:block}.confirm p{color:var(--muted);max-width:46ch;margin-top:4px;font-size:14px}.confirm .acts{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.f{margin-top:22px}.f:first-child{margin-top:12px}.lbl{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.lbl .opt{color:var(--muted);font-weight:400}.inp{border:1px solid var(--line);background:var(--surface2);width:100%;color:var(--text);appearance:none;border-radius:14px;min-height:48px;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.inp::placeholder{color:var(--muted)}.inp:focus{outline:2px solid var(--text);outline-offset:2px;border-color:var(--c,var(--text));box-shadow:0 0 0 3px color-mix(in srgb, var(--c,var(--text)) 24%, transparent)}.inp[aria-invalid=true]{border-color:var(--text)}.msg{color:var(--text);align-items:center;gap:8px;margin-top:9px;font-size:13.5px;font-weight:500;display:flex}.msg .ic{width:16px;height:16px;color:var(--c,var(--muted))}.hint{color:var(--muted);margin-top:9px;font-size:13.5px;line-height:1.45}.hint b{color:var(--text);font-weight:550}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.suffix{position:relative}.suffix .inp{padding-right:52px}.suffix>span{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:13px;align-items:center;gap:8px;padding:9px 14px;font-weight:550;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip .ic{color:var(--k);width:18px;height:18px}.chip.has-ic{padding-left:11px}.chip:hover{color:var(--text);border-color:color-mix(in srgb, var(--k) 40%, var(--line))}.chip[aria-checked=true]{background:color-mix(in srgb, var(--k) 17%, transparent);border-color:color-mix(in srgb, var(--k) 60%, transparent);color:var(--text)}.seg{background:var(--surface2);border-radius:14px;gap:2px;padding:4px;display:inline-flex}.seg button{min-height:44px;color:var(--muted);border-radius:11px;padding:8px 16px;font-weight:550;transition:background .2s,color .2s}.sheet .seg button[aria-pressed=true]{background:color-mix(in srgb, var(--c) 22%, var(--surface));color:var(--text)}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.day{aspect-ratio:1;border:1.5px solid var(--line);width:100%;min-width:44px;max-width:48px;color:var(--muted);border-radius:50%;justify-self:center;place-items:center;font-size:13.5px;font-weight:550;transition:background .15s,border-color .15s,color .15s;display:grid}.day:hover{border-color:color-mix(in srgb, var(--c) 50%, var(--line));color:var(--text)}.day[aria-pressed=true]{background:color-mix(in srgb, var(--c) 26%, transparent);border-color:var(--c);color:var(--text)}.dayarc{background:var(--surface2);border-radius:18px;margin-top:12px;padding:32px 14px 8px}.dayarc-plot{height:76px;position:relative}.dayarc-plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dayarc .ground{stroke:var(--line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.dayarc .curve{fill:none;stroke:var(--faint);stroke-width:1.5px;stroke-dasharray:3 6;stroke-linecap:round;opacity:.7;vector-effect:non-scaling-stroke}.dayarc .pt{width:0;height:0;position:absolute}.dayarc .pt:before,.dayarc .pt:after{content:"";border-radius:50%;position:absolute}.dayarc .other:after{background:var(--faint);opacity:.55;width:10px;height:10px;margin:-5px 0 0 -5px}.dayarc .mine:before{background:var(--c);opacity:.16;width:36px;height:36px;margin:-18px 0 0 -18px}.dayarc .mine:after{background:var(--c);width:16px;height:16px;margin:-8px 0 0 -8px}.dayarc .when{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;position:absolute;bottom:22px;left:0;transform:translate(-50%)}.dayarc-ticks{height:22px;color:var(--muted);margin-top:6px;font-size:12px;position:relative}.dayarc-ticks span{position:absolute;transform:translate(-50%)}.sheet.narrow{width:min(100%,500px)}textarea.inp{resize:vertical;min-height:168px;line-height:1.55;display:block}.lbl.sm{margin-bottom:6px;font-size:13px}.counter{justify-content:space-between;align-items:center;gap:12px;min-height:22px;margin-top:9px;display:flex}.counter .msg{margin:0}.counter .count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:13px}.counter .count.near{color:var(--text)}.counter .count.over{color:var(--text);font-weight:600}.bigcheck{background:var(--surface2);text-align:left;border:1px solid #0000;border-radius:18px;align-items:center;gap:15px;width:100%;padding:16px 18px;transition:border-color .2s;display:flex}.bigcheck:hover{border-color:color-mix(in srgb, var(--c) 40%, transparent)}.bigcheck .box{width:30px;height:30px}.bigcheck[aria-checked=true] .box{background:var(--c)}.bigcheck[aria-checked=true] .box .ic{opacity:1}.bigcheck .t{flex:1}.bigcheck b{font-size:16.5px;font-weight:600;display:block}.bigcheck .t>span{color:var(--muted);font-size:13.5px}@media (width<=700px){.scrim{place-items:end stretch;padding:0}.sheet,.sheet.wide,.sheet.narrow{border-bottom:0;border-radius:26px 26px 0 0;width:100%;max-height:calc(100dvh - 28px);animation:.3s cubic-bezier(.2,.8,.2,1) riseup}@keyframes riseup{0%{transform:translateY(40%)}}.grab{background:var(--line);border-radius:3px;flex:none;width:40px;height:5px;margin:9px auto 0;display:block}.sh-head{padding:14px 18px 4px 20px}.sh-body{padding:2px 20px 20px}.sh-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom))}.sh-foot .btn:not(.quiet){flex:1;min-height:44px}.sh-foot .sp{display:none}.sh-foot .btn.quiet.left{flex:0 0 100%;order:3;justify-content:center;min-height:44px}.two{gap:10px}.days{gap:2px}.day{font-size:12.5px}}.trailpanel{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:6px 26px 10px}.trows{list-style:none}.trow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) repeat(7,40px) 112px;align-items:center;gap:0;padding:18px 0;display:grid}.trows>.trow:last-child{border:0}.trow.hd{color:var(--muted);border-bottom:1px solid var(--line);padding:20px 0 12px;font-size:12.5px}.trow.hd span{text-align:center}.trow.hd span.td{color:var(--text);font-weight:600}.trow .nm b{letter-spacing:-.01em;align-items:center;gap:10px;font-size:16.5px;font-weight:600;display:flex}.trow .nm b:before{content:"";background:var(--c);border-radius:50%;flex:none;width:9px;height:9px}.trow .nm>span{color:var(--muted);margin:2px 0 0 19px;font-size:13.5px;display:block}.nmbtn{text-align:left;border-radius:8px;max-width:100%;display:block}.nmbtn:hover b{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:4px}.rowlink{color:var(--text);border-radius:8px;align-items:center;gap:6px;margin:7px 0 0 19px;font-size:13.5px;font-weight:550;display:inline-flex}.rowlink .ic{width:15px;height:15px;color:var(--c)}.rowlink:hover{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:3px}.cell{border:1.5px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:26px;height:26px;margin:0 auto;transition:background .2s,border-color .2s;display:grid;position:relative}.cell.on{background:var(--ci);border-color:var(--ci)}.cell.on:not(.td){opacity:.78}.cell .ic{stroke-width:3.2px;width:13px;height:13px;color:var(--on-accent);opacity:0}.cell.on .ic{opacity:1}.cell.na{border-color:#0000}.cell.na:after{content:"";background:var(--line);border-radius:50%;width:5px;height:5px}[data-theme=light] .cell.na:after{background:color-mix(in srgb, var(--faint) 45%, transparent)}button.cell:not(.td){cursor:pointer}button.cell:not(.td):hover{border-color:var(--c)}button.cell:not(.td):focus-visible{border-radius:50%}button.cell.td{border:2px solid var(--ci);cursor:pointer;width:32px;height:32px}button.cell.td:focus-visible{border-radius:50%}button.cell.td .ic{width:15px;height:15px}button.cell.td:hover{background:color-mix(in srgb, var(--c) 25%, transparent)}button.cell.td.on:hover{background:var(--ci)}.pop .cell.td{animation:.34s ease-out pop}.trow .sk{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:5px;display:flex}.trow .sk .ic{color:var(--c);align-self:center;width:18px;height:18px}.trow .sk b{letter-spacing:-.02em;font-size:24px;font-weight:500}.trow .sk span{color:var(--muted);font-size:13px}.trow .sk .sr-only{font-size:inherit}.addrow{border:1.5px dashed var(--line);width:100%;color:var(--muted);border-radius:20px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:16px;font-weight:500;display:flex}.addrow:hover{color:var(--text);border-color:var(--faint)}.archived{margin-top:22px}.archtoggle{color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin-left:-10px;padding:8px 10px;font-weight:550;display:inline-flex}.archtoggle:hover{color:var(--text)}.archtoggle .ic{width:16px;height:16px;transition:transform .2s}.archtoggle[aria-expanded=true] .ic{transform:rotate(90deg)}.archived .trailpanel{margin-top:10px}.archived .trow .cell{opacity:.7}.archived .trow .nm b:before{border:1.5px solid var(--c);background:0 0}.emptyp{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:26px;flex-direction:column;align-items:center;padding:56px 24px 52px;display:flex}.emptyp .eic{background:color-mix(in srgb, var(--c) 14%, transparent);width:64px;height:64px;color:var(--c);border-radius:50%;place-items:center;margin-bottom:20px;display:grid;position:relative}.emptyp .eic:after{content:"";border:1px solid color-mix(in srgb, var(--c) 22%, transparent);border-radius:50%;position:absolute;inset:-10px}.emptyp .eic .ic{width:28px;height:28px}.emptyp h2{letter-spacing:-.015em;font-size:clamp(22px,2.6vw,28px);font-weight:500;font-stretch:94%}.emptyp p{color:var(--muted);max-width:40ch;margin-top:6px}.emptyp .btn{margin-top:22px}@media (width<=700px){.trow{grid-template-columns:minmax(0,1fr) repeat(7,28px)}.trow .sk{grid-column:1/-1;justify-content:flex-start;margin:8px 0 0 19px}.trow.hd .sk{display:none}.cell{width:20px;height:20px}button.cell.td{width:26px;height:26px}button.cell.td:after{content:"";position:absolute;inset:-11px}button.cell:not(.td):after{content:"";position:absolute;inset:-12px -4px}.rowlink{white-space:nowrap;min-height:44px;margin-top:0}.nmbtn{align-items:center;width:100%;min-height:44px;display:flex}.trailpanel{padding:4px 14px 8px}.archtoggle{min-height:44px}.emptyp{padding:44px 20px 40px}}.mgrid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;display:grid}.stage{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:34px;flex-direction:column;align-items:center;min-width:0;padding:34px 24px;display:flex;container-type:inline-size}.stage .seg{z-index:1;max-width:100%;margin-top:22px;position:relative}.stage .seg button[aria-pressed=true]{background:var(--med);color:var(--on-accent)}.stage .seg button:disabled{opacity:.5;cursor:default}.orbwrap{aspect-ratio:1;width:clamp(190px,22vw,260px);margin:74px 0 70px;position:relative}.orbring{border:1px solid color-mix(in srgb, var(--med) 40%, transparent);border-radius:50%;position:absolute}.orbring.r1{inset:-8%}.orbring.r2{border-color:color-mix(in srgb, var(--med) 22%, transparent);inset:-22%}.orbring.r3{border-color:color-mix(in srgb, var(--med) 10%, transparent);inset:-36%}.orb{background:radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--med) 45%, #fff) 0%, var(--med) 52%, color-mix(in srgb, var(--med) 72%, #1b1450) 100%);box-shadow:0 0 90px -8px color-mix(in srgb, var(--med) 60%, transparent);border-radius:50%;position:absolute;inset:0;transform:scale(.62)}.orb.idle{animation:9s ease-in-out infinite idle}@keyframes idle{0%,to{transform:scale(.7)}50%{transform:scale(.82)}}.orbtext{text-align:center;color:#1c1840;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.orbtext b{letter-spacing:-.01em;font-size:clamp(19px,2.4vw,25px);font-weight:600;font-stretch:90%}.orbtext span{font-variant-numeric:tabular-nums;min-height:1em;margin-top:2px;font-size:clamp(34px,4.6vw,52px);font-weight:300;line-height:1}.clock{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:300;font-stretch:88%}.techdesc{color:var(--muted);max-width:44ch;min-height:3em;margin:14px auto 0}.ctl{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.ctl .btn{min-width:130px;padding:14px 22px;font-size:16px}.btn.med{background:var(--med);color:var(--on-accent)}.medstatus{color:var(--muted);max-width:44ch;min-height:1.5em;margin-top:16px}.mside{flex-direction:column;gap:22px;min-width:0;display:flex}.ph{justify-content:space-between;align-items:center;gap:12px;display:flex}.ph .btn{white-space:nowrap;flex:none}.btn.sm{border-radius:12px;gap:6px;padding:7px 12px;font-size:14px}.btn.sm .ic{width:16px;height:16px}.sessions{margin-top:6px}.sessions li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.sessions li:last-child{border:0}.sessions b{font-weight:550;display:block}.sessions span{color:var(--muted);font-size:13.5px}.sessions em{font-variant-numeric:tabular-nums;color:var(--med);white-space:nowrap;font-style:normal;font-weight:600}.mside .panel .none{margin-bottom:4px}.mside .ph+.none{margin-top:14px}.medrituals{margin-top:34px}.medrituals>.ph{margin-bottom:14px}.medrituals h2{letter-spacing:-.015em;font-size:22px;font-weight:550}.medempty{background:var(--surface);border:1px solid var(--line);border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:22px;display:flex}.medempty p{color:var(--muted)}.stepper{align-items:center;gap:10px;display:flex}.stepper .rb{border:1px solid var(--line);width:48px;height:48px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.stepper .rb:hover{color:var(--text);border-color:var(--faint)}.stepper .rb .ic{width:20px;height:20px}.stepper .suffix{width:132px}.stepper .inp{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;padding-left:14px;font-size:22px;font-weight:500}.stepper .inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper .inp::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sessnotice{z-index:6;pointer-events:none;align-items:center;gap:4px;max-width:min(440px,100vw - 32px);display:flex;position:fixed;bottom:24px;right:24px}.sessnotice.on{background:var(--surface);border:1px solid var(--line);color:var(--muted);pointer-events:auto;border-radius:16px;padding:6px 6px 6px 16px;font-size:14.5px;box-shadow:0 20px 40px -20px #00000080}.sessnotice p{align-items:center;gap:10px;display:flex}.sessnotice p .ic{width:18px;height:18px;color:var(--med);flex:none}.sessnotice .xbtn{margin:0}@media (width<=1000px){.mgrid{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.stage{padding:26px 16px}.sessnotice{left:16px;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:none}.orbwrap{margin:64px 0 60px}.btn.sm{min-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.heat{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:24px 24px 20px;overflow-x:auto}.heatin{min-width:max-content;display:inline-block}.months{height:20px;color:var(--muted);grid-auto-columns:15px;grid-auto-flow:column;gap:3px;margin-left:38px;font-size:12px;display:grid}.months span{white-space:nowrap;grid-row:1}.hbody{gap:6px;display:flex}.dow{width:32px;color:var(--muted);z-index:1;background:var(--surface);grid-template-rows:repeat(7,15px);gap:3px;font-size:11.5px;line-height:15px;display:grid;position:sticky;left:0}.cells{grid-template-rows:repeat(7,15px);grid-auto-columns:15px;grid-auto-flow:column;gap:3px;display:grid}.cells i,.legend i{background:var(--surface2);border-radius:4px;display:block}.cells .l1,.legend .l1{background:color-mix(in srgb, var(--sun-ink) 28%, var(--surface2))}.cells .l2,.legend .l2{background:color-mix(in srgb, var(--sun-ink) 52%, var(--surface2))}.cells .l3,.legend .l3{background:color-mix(in srgb, var(--sun-ink) 76%, var(--surface2))}.cells .l4,.legend .l4{background:var(--sun-ink)}.legend{color:var(--muted);align-items:center;gap:6px;width:max-content;margin:14px 0 0 38px;font-size:12.5px;display:flex;position:sticky;left:0}.legend i{width:13px;height:13px}.heat:focus-visible{border-radius:26px}.igrid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px;margin-top:34px;display:grid}.ins p{border-bottom:1px solid var(--line);color:var(--muted);padding:22px 0;font-size:16px}.ins p:not(.big){width:min(52ch,100%)}.ins p:last-child{border:0}.ins p.big,.soon p.big{letter-spacing:-.025em;color:var(--text);font-size:clamp(24px,2.7vw,34px);font-weight:500;font-stretch:88%;line-height:1.12}.ins p.big{padding-top:0}.soon p.big{max-width:26ch}.soon .btn{margin-top:18px}.mbars{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:7px;height:230px;margin-top:20px;display:grid}.mbars div{flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.mbars i{background:color-mix(in srgb, var(--med) 38%, var(--surface2));border-radius:8px 8px 4px 4px;width:100%;display:block}.mbars .cur i{background:var(--med)}.mbars span{color:var(--muted);font-size:11.5px}.mbars .cur span{color:var(--text);font-weight:600}@media (width<=1000px){.igrid{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.heat{padding:18px 16px 16px}}.setcol{flex-direction:column;gap:22px;max-width:720px;display:flex}.setcol .panel{padding:22px 24px 8px}.setcol h2{letter-spacing:-.01em;font-size:17px;font-weight:600}.setcol .panel>p{color:var(--muted);max-width:56ch;margin-top:4px}.srow{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:16px 0;display:flex}.srow:last-child{border:0}.srow .t{flex:240px;min-width:0}.srow .t b{font-weight:550;display:block}.srow .t span{color:var(--muted);margin-top:1px;font-size:13.5px;display:block}.srow .who{flex:200px;align-items:center;gap:12px;min-width:0;display:flex}.srow .btn{white-space:nowrap;min-height:44px}a.btn{text-decoration:none}.seg.neutral button{align-items:center;gap:6px;display:inline-flex}.seg.neutral button[aria-pressed=true]{background:var(--text);color:var(--bg)}.seg .ic{width:16px;height:16px}.setconfirm{margin:0 0 16px}.innote{background:var(--surface2);color:var(--muted);border-radius:14px;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;font-size:14px;display:flex}.innote .ic{width:18px;height:18px;color:var(--muted);margin-top:1px}.fine{color:var(--muted);padding:0 4px;font-size:13.5px}.syncchip{border:1px dashed var(--line);color:var(--muted);border-radius:16px;align-items:flex-start;gap:10px;padding:11px 14px;font-size:13.5px;line-height:1.35;display:flex;position:relative}.syncchip:not(.on){display:contents}.syncchip .si{width:22px;height:19px;color:var(--faint);flex:none;place-items:center;display:grid}.syncchip .si .ic{width:19px;height:19px}.syncchip .lnk{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:3px;cursor:pointer;margin-left:2px;font-weight:550}.syncchip .lnk:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.spin{animation:1.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.syncdetail{color:var(--muted);max-width:46ch;padding-top:4px;font-size:14.5px;line-height:1.5}@media (width<=1000px){.syncchip{cursor:default;justify-content:center;padding:10px}.syncchip .si{width:22px;height:22px}.syncchip button.si{width:42px;height:42px;margin:-10px}.syncchip .sx{background:var(--surface);border:1px solid var(--line);width:250px;color:var(--muted);opacity:0;pointer-events:none;z-index:6;border-radius:14px;padding:12px 14px;transition:opacity .15s;position:absolute;bottom:0;left:calc(100% + 12px);box-shadow:0 20px 40px -20px #00000080}.syncchip:hover .sx,.syncchip.open .sx{opacity:1;pointer-events:auto}}@media (width<=700px){.syncchip{border:0;border-bottom:1px solid var(--line);text-align:center;border-radius:0;flex:1 0 100%;order:-1;justify-content:center;align-items:center;gap:8px;margin:-6px -4px 4px;padding:8px 16px;font-size:13px}.syncchip .si,.syncchip button.si{width:16px;height:16px;margin:0}.syncchip .si .ic{width:16px;height:16px}.syncchip .sx{width:auto;box-shadow:none;opacity:1;pointer-events:auto;background:0 0;border:0;border-radius:0;padding:0;position:static}.syncchip .lnk{margin:-10px 0;padding:10px 6px}.app:has(.syncchip.on) .sessnotice{bottom:calc(118px + env(safe-area-inset-bottom))}.app:has(.syncchip.on)~.toast{bottom:calc(122px + env(safe-area-inset-bottom))}}.toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;z-index:30;text-align:center;border-radius:13px;max-width:calc(100vw - 32px);padding:11px 18px;font-weight:550;transition:opacity .2s,transform .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px)}.toast.on{opacity:1;transform:translate(-50%)}.toast:empty{padding:0}@media (width<=700px){.toast{bottom:calc(84px + env(safe-area-inset-bottom))}}.errnote{max-width:560px;color:var(--muted);flex-direction:column;align-items:flex-start;gap:16px;padding:24px 0;display:flex}.firstsync{color:var(--muted);padding:8px 2px}
