@font-face{font-family:Noto;src:url(/assets/regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Noto;src:url(/assets/bold.woff) format("woff");font-weight:700 900;font-display:swap}:root{color-scheme:dark;--bg:#141219;--side:#18151f;--surface:#1e1b27;--surface-2:#24202e;--line:#332d40;--text:#f7f2ff;--muted:#b2a8c0;--faint:#9388a4;--accent:#c7b5ff;--accent-text:#201638;--soft:#302641;--tile:#2d273a;--mint:#92e8bf;--radius:20px;font:14px/1.5 Noto,sans-serif}:root[data-theme=light]{color-scheme:light;--bg:#f5f1fa;--side:#eee8f7;--surface:#fffaff;--surface-2:#f4eff9;--line:#dfd5e9;--text:#21182f;--muted:#60536d;--faint:#746681;--accent:#7850cb;--accent-text:#fff;--soft:#e9dcfc;--tile:#ece3f4;--mint:#237454}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 80% -25%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 56%),var(--bg);color:var(--text);min-height:100dvh}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none;padding:0;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.42;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button svg{flex:none}h1,h2,h3,p{margin:0}b,h1,h2,h3,strong{font-weight:700}small{font-size:inherit}a{color:inherit}.skip{position:fixed;left:16px;top:10px;transform:translateY(-160%);z-index:10;background:var(--accent);color:var(--accent-text);padding:10px;border-radius:8px}.skip:focus{transform:none}.layout{min-height:100dvh}.brand{display:inline-flex;align-items:center;gap:11px;text-align:left;align-self:flex-start}.brand img{width:42px;height:42px;display:block;filter:drop-shadow(0 4px 14px #9f7dff40)}.brand strong{font-size:20px;letter-spacing:-.8px;line-height:1.2;display:block}.brand strong span,.page-head h1 span{color:var(--accent)}.brand small{display:block;color:var(--faint);font-size:10.5px;margin-top:2px}.nav-item{display:flex;align-items:center;gap:11px;min-height:45px;width:100%;padding:0 11px;border-radius:11px;color:var(--muted);text-align:left;font-size:13px;font-weight:700;transition:color .18s,background .18s}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{color:var(--accent);background:var(--soft)}.workspace{padding:24px clamp(24px,4.1vw,62px) 16px;max-width:1240px;width:100%;margin:0 auto;min-width:0}#main:focus{outline:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:0 0 29px;animation:rise .45s both}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:1.7px;margin-bottom:9px}.eyebrow i,.foot i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 11px currentColor;flex:none}.page-head h1{font-size:clamp(39px,4.4vw,65px);line-height:1.04;letter-spacing:-.085em}.page-head h1+p{color:var(--muted);font-size:13px;margin-top:9px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border-radius:11px;padding:0 15px;font-size:13px;font-weight:700;transition:transform .18s,filter .18s,background .18s;white-space:nowrap}.primary{background:var(--accent);color:var(--accent-text);box-shadow:0 5px 16px #9670df28}.primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.icon-btn:active,.primary:active,.secondary:active{transform:scale(.96)}.secondary{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}.secondary:hover{background:var(--soft)}.add{margin-bottom:2px}.overview{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);grid-gap:15px;gap:15px;margin-bottom:28px;animation:rise .52s .07s both}.habit-card,.hero,.panel,.stat-grid article,.week{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.hero{isolation:isolate;overflow:hidden;padding:23px 24px 21px;min-height:205px;color:#f7f1ff;border-color:#544374;background:radial-gradient(ellipse at 83% 105%,#43335d,transparent 64%),#2d2340}.hero,.hero-copy{position:relative}.hero-copy{z-index:1;width:66%;min-width:250px}.hero-tag{color:#d9c6ff;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:6px;background:#4a386a;font-size:8px;font-weight:700;letter-spacing:1.4px}.hero h2{font-size:clamp(24px,2.45vw,38px);letter-spacing:-.067em;line-height:1.15;margin-top:10px;white-space:nowrap}.hero p{color:#d0c2df;font-size:11.5px;margin-top:5px}.progress-label{display:flex;align-items:baseline;gap:6px;margin:17px 0 5px;white-space:nowrap}.progress-label strong{color:#f9f4ff;font-size:23px;letter-spacing:-1px}.progress-label strong span{color:#c5b5dc;font-size:15px}.progress-label small{color:#dfd5ec;font-size:10px}.progress-label b{margin-left:auto;color:#ddcaff;font-size:10px}.progress{height:6px;border-radius:10px;background:#514165;overflow:hidden}.progress i{height:100%;background:linear-gradient(90deg,#ad8bf7,#d6c2ff);border-radius:10px;display:block;animation:progress .8s .1s both}.sprout{position:absolute;right:-13px;bottom:-22px;width:49%;height:auto;min-width:215px;opacity:.96;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}.petal{animation:bloom .5s var(--delay) both;transform-box:fill-box;transform-origin:center}.twinkle{animation:twinkle 3.7s var(--delay) infinite}.week{padding:21px 20px 14px;min-width:0;display:flex;flex-direction:column}.week-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.panel h2,.section-head h2,.week-head h2{font-size:17px;letter-spacing:-.5px;line-height:1.25}.section-head p,.week-head p{color:var(--muted);font-size:11px;margin-top:5px}.arrows{display:flex;gap:5px}.icon-btn{height:34px;width:34px;display:inline-grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface-2);transition:transform .18s,background .18s,color .18s}.icon-btn:hover:not(:disabled){color:var(--accent);background:var(--soft)}.arrows .icon-btn{width:29px;height:29px}.arrows svg{width:16px}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px;margin:13px 0 12px}.week-day{min-height:59px;display:grid;justify-items:center;align-content:center;grid-gap:3px;gap:3px;border-radius:9px;color:var(--muted);border:1px solid transparent;background:var(--surface-2);transition:background .2s,transform .2s}.week-day:hover:not(:disabled){transform:translateY(-2px);border-color:var(--accent)}.week-day small{font-size:9px}.week-day b{color:var(--text);font-size:14px;line-height:1.1}.week-day i{width:4px;height:4px;border-radius:50%;background:transparent}.week-day.has-entry i{background:var(--mint)}.week-day.chosen{background:var(--accent);color:var(--accent-text);box-shadow:0 3px 12px #ad8bf74f}.week-day.chosen b{color:inherit}.week-day.chosen i{background:currentColor}.week-foot{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:9px;margin-top:auto;color:var(--faint);font-size:10.5px}.week-foot>svg{color:var(--accent);flex:none}.text-btn{font-size:11px;color:var(--accent);margin-left:auto;font-weight:700}.section-head{justify-content:space-between;gap:10px;margin-bottom:12px}.section-head,.section-head h2{display:flex;align-items:center}.section-head h2{gap:8px;font-size:21px;letter-spacing:-.75px}.count{border-radius:6px;padding:2px 6px;color:var(--accent);background:var(--soft);font-size:10px;letter-spacing:0}.seg{display:flex;gap:2px;border-radius:9px;padding:3px;background:var(--surface);border:1px solid var(--line)}.seg .icon-btn{width:30px;height:28px;background:none;border:0;border-radius:6px}.seg svg{width:15px}.seg .icon-btn[aria-pressed=true]{background:var(--soft);color:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:13px}.chip{min-height:30px;line-height:1;border-radius:8px;border:1px solid var(--line);padding:0 10px;background:var(--surface);color:var(--muted);font-size:11px;transition:background .18s,color .18s}.chip.on,.chip:hover{background:var(--soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.habit-card{padding:16px 17px 12px;min-width:0;transition:border-color .22s,transform .22s;--tone:var(--habit)}[data-theme=light] .detail,[data-theme=light] .habit-card,[data-theme=light] .stat-row{--tone:color-mix(in srgb,var(--habit) 58%,#211432)}.habit-card:hover{border-color:color-mix(in srgb,var(--habit) 45%,var(--line))}.appear{animation:rise .42s var(--card-delay,0s) both}.habit-top{justify-content:space-between;gap:6px;margin-bottom:10px}.habit-name,.habit-top{display:flex;align-items:center}.habit-name{gap:9px;text-align:left;min-width:0}.habit-name:hover strong{color:var(--tone)}.habit-name>span:last-child{min-width:0}.habit-name small,.habit-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-name strong{font-size:14.5px;letter-spacing:-.25px}.habit-name small{color:var(--muted);font-size:10.5px;margin-top:2px}.habit-icon{width:39px;height:39px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--habit) 17%,var(--surface));color:var(--tone,var(--habit));border:1px solid color-mix(in srgb,var(--habit) 23%,var(--line));border-radius:11px}.check-btn{width:37px;height:37px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--tone);transition:transform .2s,background .2s}.check-btn:hover:not(:disabled){background:color-mix(in srgb,var(--habit) 30%,var(--surface));transform:scale(1.08)}.check-btn.checked{background:var(--habit);color:#241b2b;border-color:transparent}.check-btn:active:not(:disabled){transform:scale(.88)}.heatmap{width:100%;overflow:hidden;--gap:3px;--axis:14px}.heat-months{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-gap:var(--gap);gap:var(--gap);margin-left:var(--axis);font-size:8px;color:var(--faint);height:16px}.heat-months span{white-space:nowrap}.day-labels,.heat-body{display:flex}.day-labels{width:var(--axis);flex:none;flex-direction:column;justify-content:space-between;color:var(--faint);font-size:7px;padding:0 0 1px}.heat-cells{display:grid;grid-auto-flow:column;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(7,8px);grid-gap:var(--gap);gap:var(--gap);width:100%}.tile{border-radius:2.5px;min-width:0;background:var(--tile);transition:transform .15s,background .2s}.tile.inactive{opacity:.48}.tile.filled{background:var(--habit);opacity:1}.tile.partial{background:color-mix(in srgb,var(--habit) 42%,var(--tile))}.tile.selected{outline:1px solid var(--tone);outline-offset:1px}button.tile:hover{transform:scale(1.15);background:var(--habit);opacity:1;z-index:1}.habit-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line)}.detail-link,.streak{display:inline-flex;align-items:center;gap:5px;font-size:10.5px}.streak{color:var(--tone)}.detail-link{color:var(--muted);transition:color .2s,transform .2s}.detail-link:hover{color:var(--tone);transform:translateX(3px)}.compact{grid-template-columns:1fr}.compact .habit-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact .habit-top{margin:0;flex:1 1}.compact .habit-bottom{margin:0;padding:0 0 0 10px;border:0;gap:13px}.foot{margin-top:25px;display:flex;justify-content:space-between;gap:10px;color:var(--faint);font-size:8.5px;letter-spacing:1px}.foot b{color:var(--accent);margin:0 2px}.foot span:last-child{display:flex;align-items:center;gap:5px;letter-spacing:0}.foot i{color:var(--mint);width:4px;height:4px}.panel{padding:19px 22px;margin-bottom:14px;animation:rise .4s both}.confirm-copy,.hint,.panel>p{color:var(--muted);font-size:12px;margin-top:8px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.stat-grid article{padding:14px 17px;animation:rise .45s both}.stat-grid span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.stat-grid svg{color:var(--accent)}.stat-grid strong{font-size:33px;letter-spacing:-1px;display:block;margin-top:8px}.bars{height:140px;display:flex;gap:4px;align-items:stretch;margin-top:16px}.bars div{flex:1 1;min-width:0;display:flex;align-items:flex-end;background:var(--surface-2);border-radius:5px}.bars i{height:var(--bar);width:100%;background:var(--accent);border-radius:5px;transform-origin:bottom;animation:bar .45s var(--delay) both}.settings-row,.stat-row{display:flex;gap:11px;width:100%;align-items:center;padding:12px 0;text-align:left;border-bottom:1px solid var(--line)}.settings-row:last-child,.stat-row:last-child{border:0;padding-bottom:0}.row-title,.settings-row>span:first-child,.stat-row>span:nth-child(2){min-width:0;flex:1 1;text-align:left}.settings-row strong,.stat-row strong{display:block}.settings-row small,.stat-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.stat-end{display:flex;gap:4px;align-items:center;font-size:10.5px;color:var(--muted);text-align:right}.settings h2{margin-bottom:4px}.settings select{width:auto;min-width:85px}.empty{padding:36px 17px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);animation:rise .35s both}.empty>span{width:54px;height:54px;margin:0 auto 11px;display:grid;place-items:center;color:var(--accent);background:var(--soft);border-radius:15px}.empty h3{font-size:18px;letter-spacing:-.3px}.empty p{color:var(--muted);font-size:12px;margin:5px 0 12px}dialog{width:min(100% - 24px,565px);max-height:min(90dvh,810px);padding:0;overflow:auto;overscroll-behavior:contain;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 70px #0007}dialog[open]{animation:dialog-in .24s both}dialog::-webkit-backdrop{background:#100a18a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog::backdrop{background:#100a18a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-body{padding:21px}.dialog-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:15px}.dialog-head h2{font-size:23px;letter-spacing:-.7px;overflow-wrap:anywhere}.dialog-head p{margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}form{display:grid;grid-gap:11px;gap:11px}form label,legend{font-size:12px;font-weight:700;min-width:0}input:not([type=checkbox],[type=radio]),select,textarea{display:block;width:100%;min-width:0;color:var(--text);border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 9px;min-height:37px;font-size:14px}form label>input,form label>select,form label>textarea{margin-top:4px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.optional{color:var(--faint);font-weight:400;margin-left:3px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}fieldset{min-width:0;padding:0;border:0;margin:0}legend{margin-bottom:5px}.choices,.day-checks{display:flex;flex-wrap:wrap;gap:5px}.choices label,.day-checks label{position:relative;cursor:pointer}.choices input,.day-checks input{position:absolute;opacity:0;margin:0}.choices span,.day-checks span{display:grid;place-items:center;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);width:33px;height:33px;border-radius:8px}.choices i{width:16px;height:16px;border-radius:4px}.choices input:checked+span,.day-checks input:checked+span{border-color:var(--accent);color:var(--accent);background:var(--soft)}.choices input:focus-visible+span,.day-checks input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.day-checks span{width:37px;font-size:10px}details{border:1px solid var(--line);border-radius:10px;padding:8px 11px}details summary{cursor:pointer;font-weight:700;font-size:12px}details summary svg{vertical-align:middle;margin-right:5px;color:var(--accent)}details fieldset,details label,details small{display:block;margin-top:7px}details small{color:var(--muted);font-size:11px}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-top:7px}.form-error,.warning{color:var(--text);background:var(--soft);border:1px solid var(--accent);padding:8px;border-radius:8px;font-size:12px}.warning{margin-bottom:12px}.detail{--tone:var(--habit)}.detail-intro{display:flex;align-items:center;gap:9px}.detail-intro>span:nth-child(2){flex:1 1;min-width:0}.detail-intro small,.detail-intro strong{display:block;overflow-wrap:anywhere}.detail-intro small{font-size:11px;color:var(--muted)}.detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;margin:13px 0 7px}.detail-stats div{padding:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px}.detail-stats small{font-size:10px;color:var(--muted);display:block}.detail-stats strong{font-size:17px;color:var(--tone)}.month{padding:11px 0;margin-top:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.month h3{font-size:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;margin-top:10px}.calendar-grid>span{text-align:center;color:var(--faint);font-size:9px;padding-bottom:3px}.cal-day{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;min-height:37px;position:relative}.cal-day.filled{background:var(--habit);border-color:transparent;color:#21182c;font-weight:700}.cal-day.current,.cal-day:hover:not(:disabled){border-color:var(--tone)}.cal-day.off:not(.filled){color:var(--faint)}.cal-day.has-note:after{content:"";position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}.detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.detail-actions .secondary{min-height:34px;padding:0 8px;font-size:11px}.order{display:flex;gap:4px}.danger{color:#f5909e}.danger:hover{background:color-mix(in srgb,#f5909e 17%,var(--surface))}[data-theme=light] .danger{color:#9a2946}.entry-check{display:flex;align-items:center;gap:7px;background:var(--surface-2);padding:10px;border-radius:9px}.entry-check input{width:20px;height:20px}.stepper{display:flex;gap:5px;margin-top:5px}.stepper .icon-btn{height:37px}.stepper input{text-align:center}.install-guide{display:flex;gap:12px;align-items:flex-start}.install-guide img{width:50px;height:50px}.install-guide p{margin:2px 0 9px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;z-index:5;display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);width:max-content;background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:11px;padding:9px 12px;box-shadow:0 7px 28px #0005;font-size:12px;opacity:0;transform:translate(-50%,9px);pointer-events:none;transition:opacity .22s,transform .22s}#toast.visible{opacity:1;transform:translate(-50%)}#toast svg{color:var(--accent);flex:none}#sparks{position:fixed;inset:0;z-index:6;pointer-events:none}#sparks i{position:absolute;width:6px;height:6px;border-radius:2px;background:var(--color);animation:spark .56s both}@keyframes spark{0%{transform:scale(.3);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(125deg) scale(.5);opacity:0}}@keyframes progress{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes bloom{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes twinkle{0%,to{opacity:.46}48%{opacity:1}}@keyframes bar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.startup{position:fixed;inset:0;z-index:20;display:grid;align-content:center;justify-items:center;grid-gap:9px;gap:9px;background:#17131f;color:#f7f2ff;pointer-events:none;animation:startup-out .32s .55s both}.startup>img{border-radius:22px;box-shadow:0 0 55px #ae8df233;animation:startup-mark .46s cubic-bezier(.19,1,.22,1) both}.startup-name{font-size:34px;line-height:1.16;font-weight:700;letter-spacing:-.07em;margin-top:8px}.startup-name b{color:#c7b5ff}.startup-motto{font-size:12px;color:#c0b2d0}.startup-tiles{display:flex;gap:5px;margin-top:9px}.startup-tiles i{width:6px;height:6px;border-radius:2px;background:#c7b5ff;animation:startup-tile .45s both}.startup-tiles i:nth-child(2){background:#86e5ba;animation-delay:.08s}.startup-tiles i:nth-child(3){background:#86b4ff;animation-delay:.16s}.startup-tiles i:nth-child(4){background:#f3ad8d;animation-delay:.24s}@keyframes startup-out{0%{visibility:visible;opacity:1}to{visibility:hidden;opacity:0}}@keyframes startup-mark{0%{opacity:0;transform:translateY(7px) scale(.85)}to{opacity:1;transform:none}}@keyframes startup-tile{0%{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}.heatmap-short .heatmap-content{max-width:225px}.chip,.settings-row small,.settings-row strong,.stat-row small,.stat-row strong,.streak{overflow-wrap:anywhere}.settings select{max-width:100%}.detail-actions .secondary{white-space:normal;text-align:left}html:has(dialog[open]){overflow:hidden}body{overflow-wrap:break-word}@media (max-width:1090px){.workspace{padding:30px 25px 15px}.hero{padding-left:19px}.week{padding-inline:12px}.sprout{right:-25px}}@media (max-width:820px){.layout{display:block}.page-head{margin-bottom:17px}.page-head h1{font-size:clamp(34px,8vw,53px)}.overview{margin-bottom:20px}.arrows .icon-btn,.check-btn,.icon-btn{width:44px;height:44px}.week-days{gap:4px}.week-day{min-height:44px}.tile.selected{outline-offset:-1px}.detail-link{min-height:40px;padding:0 4px}.seg .icon-btn{width:40px;height:38px}.settings-row .icon-btn{flex:none}.settings select,form input:not([type=checkbox],[type=radio]),form select,form textarea{font-size:16px;min-height:44px}.stepper .icon-btn{height:44px}.primary,.secondary{min-height:44px}}@media (max-width:560px){.page-head{align-items:center;gap:8px}.page-head h1+p{font-size:12px;margin-top:5px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:5px}.add{padding-inline:11px;font-size:11px;gap:5px}.add svg{width:18px}.overview{grid-template-columns:1fr;gap:10px}.hero{min-height:151px;padding:14px 13px}.hero-copy{width:68%;min-width:min(200px,100%)}.hero h2{font-size:clamp(23px,6vw,30px);white-space:normal}.hero p{font-size:11px;max-width:225px}.progress-label{margin-top:11px}.sprout{width:46%;min-width:145px;bottom:-10px;right:-14px}.week{padding:9px 10px 8px}.week-head h2{font-size:15px}.week-head p{margin-top:2px}.week-days{margin:5px 0 6px}.week-day{gap:2px}.week-day b{font-size:13px}.week-foot{padding-top:6px;font-size:10px}.text-btn{min-height:32px}.habit-grid{grid-template-columns:1fr;gap:10px}.section-head h2{font-size:19px}.filters,.section-head{margin-bottom:8px}.filters{gap:5px}.chip{min-height:34px;padding-inline:8px}.habit-card{padding:10px 11px 7px}.habit-top{margin-bottom:6px}.habit-name strong{font-size:15px}.habit-name small{font-size:11px}.heat-cells{grid-template-rows:repeat(7,9px)}.habit-bottom{margin-top:7px;padding-top:3px}.compact .habit-bottom .streak{display:none}.panel{padding:13px}.stat-grid{gap:6px}.stat-grid article{padding:9px;min-width:0}.stat-grid strong{font-size:clamp(19px,5.6vw,28px)}.stat-grid span{flex-wrap:wrap;align-content:flex-start;gap:4px;font-size:10px;line-height:1.2;min-height:35px}.stat-grid svg{width:15px;height:15px}.stat-row{gap:7px}.stat-row>.secondary{padding-inline:9px}.stat-end{max-width:36%;overflow-wrap:anywhere}.bars{height:100px;gap:2px}.foot{flex-wrap:wrap;margin-top:18px}dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));margin:0;border-radius:19px 19px 0 0}.dialog-body{padding:12px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.dialog-head{position:-webkit-sticky;position:sticky;top:0;z-index:2;align-items:center;margin-bottom:10px;background:var(--surface)}.dialog-head h2{font-size:21px}.dialog-head p{font-size:12px}.cal-day{min-height:42px}.choices span{width:40px;height:40px}.day-checks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-checks span{width:100%;height:42px}.detail-actions .secondary{min-height:44px;font-size:12px}.stepper input{min-width:0}.entry-check{min-height:48px}.entry-check input{flex:none}.modal-actions{gap:8px}}@media (max-width:410px){.page-head:has(.add){position:relative;display:block}.page-head:has(.add) h1,.page-head:has(.add) h1+p{padding-right:55px}.add{right:0;top:16px;width:44px;padding:0}.add,.add span{position:absolute}.add span{width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.add svg{width:22px}}@media (max-width:360px){.stat-grid article{padding:7px 6px}.fields{grid-template-columns:1fr}.detail-stats div{padding:6px}.detail-stats small{font-size:9px}.detail-stats strong{font-size:15px}.install-guide{gap:8px}.install-guide img{width:42px;height:42px}.settings-row:has(select){display:grid;grid-gap:7px;gap:7px}}@media (max-height:500px) and (orientation:landscape) and (max-width:1024px){.layout{display:block}dialog{max-height:calc(100dvh - 12px);max-width:calc(100vw - 24px)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.startup{display:none}}html{overflow-x:clip}dialog,html{scrollbar-width:none}dialog::-webkit-scrollbar,html::-webkit-scrollbar{display:none}#top-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.top-nav{display:flex;gap:4px;background:var(--side);border:1px solid var(--line);border-radius:12px;padding:4px}.top-nav .nav-item{justify-content:center;min-height:38px;padding-inline:14px;white-space:nowrap}.habits-page .habit-name small,.habits-page .habit-name strong{white-space:normal;overflow-wrap:anywhere}.habits-page .habit-top{min-width:0}.habits-page .check-btn{margin-left:auto}@media (max-height:500px) and (orientation:landscape) and (max-width:1024px),(max-width:820px){:root{--bottom-nav-height:calc(65px + env(safe-area-inset-bottom));scroll-padding-bottom:var(--bottom-nav-height)}.workspace{--gutter-left:max(14px,env(safe-area-inset-left));--gutter-right:max(14px,env(safe-area-inset-right));padding:0 var(--gutter-right) calc(16px + var(--bottom-nav-height)) var(--gutter-left);width:100%;max-width:none}#top-header{margin:0 calc(-1 * var(--gutter-right)) 17px calc(-1 * var(--gutter-left));padding:calc(10px + env(safe-area-inset-top)) var(--gutter-right) 10px var(--gutter-left);background:var(--side);border-bottom:1px solid var(--line)}.top-brand .brand{min-height:44px}.top-brand .brand img{width:36px;height:36px}.top-brand .brand strong{font-size:18px}.top-brand .brand small{font-size:10px}.top-nav{position:fixed;z-index:4;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:var(--bottom-nav-height);padding:6px var(--gutter-right) calc(6px + env(safe-area-inset-bottom)) var(--gutter-left);border:0;border-top:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--side) 95%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-nav .nav-item{min-height:52px;flex-direction:column;gap:3px;padding:4px 1px;font-size:11px;text-align:center}#toast{bottom:calc(8px + var(--bottom-nav-height))}.heatmap{--gap:2px;--axis:12px}.heat-months{font-size:7px}.tile{border-radius:2px}}@media(max-width:560px){.habits-page .compact .habit-bottom{display:none}.habits-page .habit-card{padding:11px 12px}}@media (min-width:640px) and (max-height:500px) and (orientation:landscape) and (max-width:1024px){:root{--bottom-nav-height:calc(57px + env(safe-area-inset-bottom))}.top-nav .nav-item{flex-direction:row;gap:6px;min-height:44px}}.settings-link{min-height:44px}.back-link,.settings-link:hover strong,.settings-link>svg{color:var(--accent)}.back-link{min-height:42px;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;margin-bottom:10px}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--text)}.auth-card{width:min(100%,380px);display:grid;grid-gap:14px;gap:14px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-items:stretch}.auth-card>img{justify-self:center;border-radius:16px}.auth-card h1{margin:0;text-align:center;font-size:30px;letter-spacing:-.06em}.auth-card h1 span{color:var(--accent)}.auth-card p{margin:0;text-align:center;color:var(--muted)}.auth-card label{display:grid;grid-gap:6px;gap:6px;font-weight:700;font-size:13px}.auth-card input{font:inherit;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}.auth-card small{color:var(--faint);margin-top:-8px}.auth-card button.primary{padding:12px;border:0;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.auth-card button:disabled{opacity:.6;cursor:wait}.auth-card a{color:var(--accent);font-weight:700}