:root{--bg: #0f1322;--bg-raised: #161b2e;--bg-raised-2: #1d2340;--bg-sunken: #0b0e1a;--line: #252b44;--line-strong: #363e60;--text: #eceff7;--text-2: #a3abc4;--text-3: #6b7391;--tasks: #8b9bff;--daily: #ffb23f;--daily-ink: #2a1a00;--done: #45d69a;--alert: #ff7b6b;--font-display: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sheet: 26px;--r-card: 16px;--r-field: 12px;--nav-h: 68px;--dock-h: 68px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;min-height:100svh}button,input,select{font:inherit;color:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--tasks);outline-offset:2px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.app{max-width:560px;margin:0 auto;min-height:100svh;padding:calc(10px + var(--safe-top)) 18px calc(var(--nav-h) + var(--safe-bottom) + 28px)}.app--tasks{padding-bottom:calc(var(--nav-h) + var(--dock-h) + var(--safe-bottom) + 28px)}.topbar{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:6px}.topbar__brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--daily)}.view-main{display:flex;flex-direction:column;gap:26px;padding-top:8px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:6px 0 18px}.hero__text{min-width:0}.hero__title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(40px,12vw,56px);line-height:.95;letter-spacing:-.035em;font-variation-settings:"opsz" 96}.hero__date{margin:8px 0 0;color:var(--text-2);font-weight:600;text-transform:lowercase}.hero__sub{margin:4px 0 0;color:var(--text-3);font-size:14px}.hero__date+.hero__sub{margin-top:2px}.ring{position:relative;flex:0 0 auto;display:grid;place-items:center}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring__track{fill:none;stroke:var(--line)}.ring__value{fill:none;stroke:var(--tasks);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1),stroke .3s ease}.ring.is-complete .ring__value{stroke:var(--done)}.ring__label{font-family:var(--font-display);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:transparent;color:var(--text-2);transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--bg-raised);color:var(--text)}.icon-btn--sm{width:32px;height:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:14.5px;white-space:nowrap;transition:transform .12s ease,background .15s ease,opacity .15s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4}.btn--primary{background:var(--tasks);color:#10142a}.btn--daily{background:var(--daily);color:var(--daily-ink)}.btn--ghost{background:var(--bg-raised);border-color:var(--line);color:var(--text)}.btn--ghost:hover{border-color:var(--line-strong)}.btn--danger{background:var(--alert);color:#2a0905}.btn--danger-text{color:var(--alert)}.btn--block{width:100%;min-height:52px;font-size:16px}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.field{width:100%;min-height:46px;padding:0 14px;border-radius:var(--r-field);border:1px solid var(--line);background:var(--bg-sunken);font-size:16px;transition:border-color .15s ease}.field:focus{outline:none;border-color:var(--line-strong)}.field--lg{min-height:52px;font-size:17px;font-weight:600}.field--time{width:auto;margin-top:10px;font-weight:700;font-variant-numeric:tabular-nums}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3ABC4' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}input[type=date].field,input[type=time].field{color-scheme:dark}.field-row{display:flex;gap:8px}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 auto;width:46px;height:28px;margin:0;border-radius:999px;background:var(--line-strong);cursor:pointer;transition:background .2s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.34,1.4,.64,1)}.switch:checked{background:var(--daily)}.switch:checked:after{transform:translate(18px)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer}.toggle-row__text{display:inline-flex;align-items:center;gap:10px;font-weight:600}.toggle-row__text svg{color:var(--daily)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-2);font-weight:600;font-size:14px;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip.is-active{background:var(--daily);border-color:var(--daily);color:var(--daily-ink)}.segmented{display:inline-flex;padding:3px;border-radius:999px;background:var(--bg-sunken);border:1px solid var(--line)}.segmented button{min-height:34px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--text-2);font-weight:600;font-size:14px;transition:background .15s ease,color .15s ease}.segmented button.is-active{background:var(--bg-raised-2);color:var(--text)}.segmented--wide{display:flex;width:100%}.segmented--wide button{flex:1}.stepper{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);background:var(--bg-sunken)}.stepper button{width:36px;height:38px;border:0;background:transparent;color:var(--text-2);font-size:18px}.stepper input{width:40px;border:0;background:transparent;text-align:center;font-weight:700;font-size:16px;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.stepper input:focus{outline:none}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--bg-raised-2);color:var(--text-2);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.pill--overdue{background:color-mix(in srgb,var(--alert) 15%,transparent);color:var(--alert)}.pill--streak{background:color-mix(in srgb,var(--daily) 16%,transparent);color:var(--daily)}.day-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 -18px;padding:2px 18px 8px;scrollbar-width:none;scroll-snap-type:x proximity}.day-tabs::-webkit-scrollbar{display:none}.day-tab{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:50px;height:66px;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--text-3);scroll-snap-align:center;transition:background .18s ease,color .18s ease}.day-tab:hover{background:var(--bg-raised)}.day-tab.is-today{color:var(--text)}.day-tab.is-selected{background:var(--text);color:var(--bg)}.day-tab__weekday{font-size:11.5px;font-weight:600}.day-tab__number{font-family:var(--font-display);font-size:21px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.day-tab__month{position:absolute;top:-1px;right:3px;font-size:9.5px;font-weight:700;color:var(--daily)}.day-tab__dot{position:absolute;bottom:7px;width:5px;height:5px;border-radius:50%}.day-tab__dot.is-pending{background:var(--tasks)}.day-tab__dot.is-done{background:var(--done)}.day-tab.is-selected .day-tab__dot.is-pending{background:#4b57c9}.day-tab.is-selected .day-tab__dot.is-done{background:#1d9862}.group-list{display:flex;flex-direction:column;gap:26px}.group__header{display:flex;align-items:center;gap:9px;padding:0 2px 10px}.group__dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.group__icon{color:var(--daily)}.group__title{flex:1;margin:0;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em}.group__count{color:var(--text-3);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.group__link{display:inline-flex;align-items:center;gap:2px;border:0;background:transparent;color:var(--daily);font-weight:700;font-size:13px;padding:4px 0 4px 8px}.group__toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--text-3);font-weight:700;font-size:14px;padding:4px 2px 10px}.group__toggle svg{transition:transform .2s ease}.group__toggle svg.is-open{transform:rotate(90deg)}.group__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-radius:var(--r-card);background:var(--bg-raised);border:1px solid var(--line);overflow:hidden}.group--dailies .group__items{box-shadow:inset 3px 0 0 var(--daily)}.check-item{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 10px 10px 14px;transition:opacity .25s ease,background .15s ease}.check-item+.check-item{border-top:1px solid var(--line)}.check-item.is-completed .check-item__text{color:var(--text-3)}.check-item__check{position:relative;flex:0 0 auto;width:28px;height:28px;padding:0;border-radius:50%;border:2px solid var(--item-color, var(--tasks));background:transparent;display:grid;place-items:center;transition:background .22s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.check-item--daily .check-item__check{border-radius:9px}.check-item__check:active:not(:disabled){transform:scale(.88)}.check-item.is-completed .check-item__check{background:var(--item-color, var(--tasks))}.check-item.is-disabled .check-item__check{border-style:dashed;opacity:.55}.check-item__mark{width:15px;height:15px;fill:none;stroke:var(--bg);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:26;stroke-dashoffset:26;transition:stroke-dashoffset .3s ease .05s}.check-item.is-completed .check-item__mark{stroke-dashoffset:0}.check-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.check-item__body.is-clickable{cursor:pointer;align-self:stretch;justify-content:center}.check-item__text{position:relative;width:fit-content;max-width:100%;font-size:15.5px;font-weight:600;line-height:1.35;word-break:break-word;transition:color .25s ease}.check-item__text.is-editable{cursor:text}.check-item__text:after{content:"";position:absolute;left:0;top:54%;height:1.5px;width:0;background:var(--text-3);transition:width .3s ease}.check-item.is-completed .check-item__text:after{width:100%}.check-item__edit input{width:100%;border:0;border-bottom:1.5px solid var(--item-color, var(--tasks));background:transparent;padding:2px 0;font-size:16px;font-weight:600}.check-item__edit input:focus{outline:none}.check-item__meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--text-3);font-size:13px}.check-item__remove{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--text-3);opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.check-item:hover .check-item__remove,.check-item__remove:focus-visible{opacity:1}.check-item__remove:hover{color:var(--alert);background:color-mix(in srgb,var(--alert) 12%,transparent)}@media (hover: none){.check-item__remove{opacity:.6}}.check-item__chev{flex:0 0 auto;color:var(--text-3)}.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.meta-line__next{color:var(--text-2)}.history{display:flex;gap:4px}.history__dot{width:14px;height:5px;border-radius:3px;background:var(--line)}.history__dot.is-done{background:var(--daily)}.history__dot.is-missed{background:color-mix(in srgb,var(--alert) 45%,var(--line))}.history__dot.is-today{background:transparent;box-shadow:inset 0 0 0 1.5px var(--daily)}.burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.burst__dot{position:absolute;top:50%;left:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--item-color, var(--tasks));animation:burst-fly .6s ease-out forwards}@keyframes burst-fly{0%{transform:rotate(var(--angle)) translate(0) scale(1);opacity:1}to{transform:rotate(var(--angle)) translate(22px) scale(.3);opacity:0}}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:28px 22px;border-radius:var(--r-card);border:1px dashed var(--line-strong)}.empty__title{margin:0;font-family:var(--font-display);font-size:20px;font-weight:700}.empty__hint{margin:0 0 10px;color:var(--text-2);max-width:44ch}.dock{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-bottom));z-index:20;padding:10px 12px;background:linear-gradient(to top,var(--bg) 60%,transparent)}.composer{max-width:536px;margin:0 auto;display:flex;align-items:center;gap:4px;height:56px;padding:0 6px 0 4px;border-radius:18px;border:1px solid var(--line-strong);background:var(--bg-raised);box-shadow:0 12px 30px -12px #000}.composer:focus-within{border-color:var(--item-color, var(--tasks))}.composer__cat{position:relative;flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:12px}.composer__cat:hover{background:var(--bg-raised-2)}.composer__cat-dot{width:14px;height:14px;border-radius:5px;background:var(--item-color)}.composer__cat select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;font-size:16px}.composer__input{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:16px}.composer__input:focus{outline:none}.composer__input::placeholder{color:var(--text-3)}.composer__submit{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:13px;background:var(--tasks);color:#10142a;transition:opacity .15s ease,transform .12s ease}.composer__submit:disabled{opacity:.3}.composer__submit:active:not(:disabled){transform:scale(.92)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;gap:4px;height:calc(var(--nav-h) + var(--safe-bottom));padding:6px 12px var(--safe-bottom);background:color-mix(in srgb,var(--bg-sunken) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}.bottom-nav__item{flex:1;max-width:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:14px;background:transparent;color:var(--text-3);font-size:12px;font-weight:700;transition:color .15s ease}.bottom-nav__item.is-active{color:var(--text)}.bottom-nav__item.is-active[data-view=tasks] .bottom-nav__icon{color:var(--tasks)}.bottom-nav__item.is-active[data-view=dailies] .bottom-nav__icon{color:var(--daily)}.bottom-nav__item.is-active[data-view=stats] .bottom-nav__icon{color:var(--done)}.bottom-nav__icon{position:relative;display:grid;place-items:center;width:52px;height:30px;border-radius:999px;transition:background .2s ease}.bottom-nav__item.is-active .bottom-nav__icon{background:var(--bg-raised-2)}.bottom-nav__badge{position:absolute;top:-3px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--daily);color:var(--daily-ink);font-size:11px;font-weight:800;line-height:18px;text-align:center}.week-picker{margin-bottom:8px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:4px;border-radius:18px;background:var(--bg-sunken);border:1px solid var(--line)}.week-picker__day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0;border:0;border-radius:14px;background:transparent;color:var(--text-3);font-size:11.5px;font-weight:600;transition:background .15s ease,color .15s ease}.week-picker__day strong{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-2)}.week-picker__day.is-done strong{color:var(--daily)}.week-picker__day.is-selected{background:var(--daily);color:var(--daily-ink)}.week-picker__day.is-selected strong{color:var(--daily-ink)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#05070ea8;animation:fade-in .2s ease}.sheet{width:100%;max-width:560px;max-height:92svh;display:flex;flex-direction:column;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--bg-raised);border:1px solid var(--line);border-bottom:0;animation:sheet-up .32s cubic-bezier(.22,1,.36,1)}@media (min-width: 640px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:var(--r-sheet);border-bottom:1px solid var(--line);max-height:86svh}.sheet__grip{display:none}}.sheet__grip{align-self:center;width:38px;height:4px;margin-top:8px;border-radius:999px;background:var(--line-strong)}.sheet__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 4px 22px}.sheet__title{margin:0;font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.02em}.sheet__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px 22px 24px}.sheet__footer{padding:12px 22px calc(14px + var(--safe-bottom));border-top:1px solid var(--line)}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}.form{display:flex;flex-direction:column;gap:20px}.form__field{display:flex;flex-direction:column;gap:8px;min-width:0}.form__fieldset{margin:0;padding:0;border:0;gap:12px}.form__label{padding:0;font-size:13.5px;font-weight:700;color:var(--text-2)}.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form__hint{margin:0;color:var(--text-3);font-size:13.5px}.form__hint strong{color:var(--daily);font-weight:700}.form__hint--error{color:var(--alert);margin-top:8px}.form__danger{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--line)}.recurrence{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;color:var(--text-2);font-weight:600}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays__item{aspect-ratio:1;max-height:46px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--text-2);font-weight:800;transition:background .15s ease,color .15s ease}.weekdays__item.is-active{background:var(--daily);border-color:var(--daily);color:var(--daily-ink)}.settings-section{padding:18px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.settings-section:first-child{border-top:0;padding-top:4px}.settings-section__title{margin:0 0 4px;font-family:var(--font-display);font-size:17px;font-weight:700}.cat-editor{display:flex;flex-direction:column;gap:14px}.cat-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.cat-editor__item{display:inline-flex;align-items:center;gap:8px;padding:3px 3px 3px 12px;min-height:38px;border-radius:999px;border:1px solid var(--line);background:var(--bg-sunken);font-weight:600;font-size:14px}.cat-editor__item:only-child,.cat-editor__item:not(:has(button)){padding-right:14px}.cat-editor__dot{width:10px;height:10px;border-radius:4px}.cat-editor__form{display:flex;flex-direction:column;gap:12px}.swatch{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:var(--r-field);cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff26}.swatch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatches__item{width:30px;height:30px;border:0;border-radius:50%;transition:transform .15s ease}.swatches__item.is-active{box-shadow:0 0 0 2px var(--bg-raised),0 0 0 4px var(--text)}.toasts{position:fixed;left:0;right:0;top:calc(10px + var(--safe-top));z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 12px;pointer-events:none}.toast{pointer-events:auto;width:100%;max-width:440px;display:flex;align-items:center;gap:10px;padding:12px 8px 12px 14px;border-radius:16px;background:var(--bg-raised-2);border:1px solid var(--line-strong);box-shadow:0 18px 40px -16px #000;animation:toast-in .35s cubic-bezier(.22,1,.36,1)}.toast--alert{border-color:color-mix(in srgb,var(--daily) 55%,var(--line))}.toast__icon{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--daily);color:var(--daily-ink);animation:ring-bell .9s ease .2s}.toast__text{flex:1;min-width:0}.toast__title{margin:0;font-weight:700}.toast__body{margin:1px 0 0;color:var(--text-2);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast__action{flex:0 0 auto;min-height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--daily);color:var(--daily-ink);font-weight:800;font-size:13px}.toast__close{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:var(--text-3)}@keyframes toast-in{0%{transform:translateY(-16px);opacity:0}}@keyframes ring-bell{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-14deg)}40%,80%{transform:rotate(12deg)}}.stats{gap:30px;padding-top:20px}.scoreboard{display:flex;flex-direction:column;gap:18px}.scoreboard__main{display:flex;align-items:flex-end;gap:14px}.scoreboard__big{font-family:var(--font-display);font-weight:800;font-size:clamp(76px,25vw,112px);line-height:.82;letter-spacing:-.05em;color:var(--daily);font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 96}.scoreboard__big small{font-size:.42em;letter-spacing:0;margin-left:2px}.scoreboard__label{padding-bottom:6px;color:var(--text-2);font-size:14px;font-weight:600}.scoreboard__grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scoreboard__grid>div{padding:14px 12px 14px 0}.scoreboard__grid>div+div{padding-left:14px;border-left:1px solid var(--line)}.scoreboard__grid dt{color:var(--text-3);font-size:12.5px;font-weight:600;line-height:1.25}.scoreboard__grid dd{display:flex;align-items:center;gap:4px;margin:6px 0 0;font-family:var(--font-display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.scoreboard__flame{color:var(--daily)}.panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.panel__title{margin:0;font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.01em}.panel__aside{color:var(--text-3);font-size:13px;text-align:right}.heatmap-scroll{overflow-x:auto;scrollbar-width:none}.heatmap-scroll::-webkit-scrollbar{display:none}.heatmap{display:grid;grid-template-rows:18px repeat(7,auto);gap:3px;min-width:330px}.heatmap__rowlabel{display:flex;align-items:center;color:var(--text-3);font-size:10.5px;font-weight:600}.heatmap__month{color:var(--text-3);font-size:10.5px;font-weight:600;white-space:nowrap;overflow:visible;width:0}.heatmap__cell{display:block;width:100%;aspect-ratio:1;border-radius:4px}.heatmap__cell.l-2{background:transparent}.heatmap__cell.l-1{box-shadow:inset 0 0 0 1px var(--line)}.heatmap__cell.l0{background:var(--bg-raised-2)}.heatmap__cell.l1{background:color-mix(in srgb,var(--daily) 28%,var(--bg-raised-2))}.heatmap__cell.l2{background:color-mix(in srgb,var(--daily) 52%,var(--bg-raised-2))}.heatmap__cell.l3{background:color-mix(in srgb,var(--daily) 76%,var(--bg-raised-2))}.heatmap__cell.l4{background:var(--daily)}.heatmap__cell.is-today{outline:1.5px solid var(--text);outline-offset:1px}.legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:10px;color:var(--text-3);font-size:11.5px;font-weight:600}.legend .heatmap__cell{width:11px;height:11px;aspect-ratio:auto;border-radius:3px}.legend>span:first-child{margin-right:2px}.legend>span:last-child{margin-left:2px}.legend--inline{margin:0;gap:6px}.legend__swatch{width:10px;height:10px;border-radius:3px;margin-left:6px}.legend__swatch--daily{background:var(--daily)}.legend__swatch--task{background:var(--tasks)}.bars{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;height:150px}.bars__col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.bars__value{height:14px;color:var(--text-3);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.bars__stack{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;border-radius:6px;background:var(--bg-raised);overflow:hidden}.bars__seg{display:block;width:100%;transition:height .5s cubic-bezier(.22,1,.36,1)}.bars__seg--daily{background:var(--daily)}.bars__seg--task{background:var(--tasks)}.bars__label{color:var(--text-3);font-size:11px;font-weight:700}.bars__col.is-today .bars__label{color:var(--text)}.rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.rank__top{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.rank__name{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:700}.rank__dot{flex:0 0 auto;width:9px;height:9px;border-radius:3px}.rank__archived{color:var(--text-3);font-size:12px;font-weight:600}.rank__pct{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.rank__meta{display:flex;justify-content:space-between;margin-top:6px;color:var(--text-3);font-size:12.5px;font-weight:600}.rank__streak{display:inline-flex;align-items:center;gap:4px}.rank__streak svg{color:var(--daily)}.meter{height:8px;border-radius:999px;background:var(--bg-raised-2);overflow:hidden}.meter>span{display:block;height:100%;border-radius:inherit;background:var(--meter-color, var(--daily));transition:width .6s cubic-bezier(.22,1,.36,1)}.meter--thin{height:6px}.weekbars{display:flex;flex-direction:column;gap:10px}.weekbars__row{display:grid;grid-template-columns:38px 1fr 42px;align-items:center;gap:12px}.weekbars__row--cat{grid-template-columns:minmax(70px,30%) 1fr 34px}.weekbars__label{color:var(--text-2);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekbars__pct{text-align:right;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums}@media (max-width: 380px){.app{padding-left:14px;padding-right:14px}.form__grid{grid-template-columns:1fr}.scoreboard__grid dd{font-size:24px}}
