:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-nav-height:4rem;--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-top:env(safe-area-inset-top,0px);--app-nav-offset:calc(var(--app-nav-height) + var(--safe-area-bottom));--bg-main:#fff;--bg-surface:#f8f9fa;--bg-surface-hover:#f1f3f5;--brand-primary:#00b7aa;--brand-success:#10b981;--border-subtle:#e5e7eb;--text-main:#111827;--text-muted:#6b7280;--radius-md:8px;--radius-lg:12px;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}html,body{height:100%;overflow:hidden}body{color:var(--text-main);background:var(--bg-main);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6}button{font:inherit;cursor:pointer}input{font:inherit}#app{height:100%}.ui-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:row;justify-content:space-between;align-items:center;padding:14px 16px;transition:background .15s;display:flex}.ui-pill{border-radius:var(--radius-full);background:var(--bg-surface);height:40px;color:var(--text-muted);white-space:nowrap;border:none;flex-shrink:0;min-height:44px;padding:0 18px;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.ui-pill--active{background:var(--brand-primary);color:#fff}.ui-tabs{border-bottom:1px solid var(--border-subtle);display:flex}.ui-tab{min-height:44px;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.ui-tab--active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);font-weight:600}.ui-chip{border-radius:var(--radius-full);width:fit-content;color:var(--brand-primary);background:#6366f11a;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.ui-chip--sm{padding:2px 7px;font-size:10px;font-weight:600}.ui-chip--warning{color:#ef4444;background:#ef44441a}.ui-elo{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600;line-height:1}.ui-task-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;align-items:stretch;padding:14px 16px;transition:background .15s;display:flex}.ui-task-card--clickable{cursor:pointer}.ui-task-card--clickable:active{background:var(--bg-surface-hover)}.ui-task-card--busy{opacity:.5;pointer-events:none}.ui-task-card--done{opacity:.85}.ui-task-card--menu-open{z-index:2;position:relative}.ui-task-card__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ui-task-card__title{min-width:0;color:var(--text-main);cursor:pointer;flex:1;margin:0;font-size:.875rem;font-weight:500;line-height:1.35}.ui-task-card--clickable .ui-task-card__title{cursor:inherit}.ui-task-card__title--done{color:var(--text-muted)}.ui-task-card__header-actions{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.ui-task-card__complete{cursor:pointer;width:44px;height:44px;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-11px -11px -11px 0;padding:0;transition:color .15s;display:inline-flex;position:relative}.ui-task-card__complete:before{content:"";border:1.5px solid color-mix(in srgb, var(--text-muted) 55%, transparent);background:0 0;border-radius:50%;width:22px;height:22px;transition:border-color .15s,background .15s}.ui-task-card__complete svg{position:absolute}.ui-task-card__complete:active:before{border-color:var(--brand-success)}.ui-task-card__complete--checked:before{border-color:var(--brand-success);background:#10b98126}.ui-task-card__complete--checked{color:var(--brand-success)}.ui-task-card__complete:disabled{opacity:.5;cursor:not-allowed}.ui-task-card__divider{border:none;border-top:1px solid var(--border-subtle);margin:10px 0}.ui-task-card__meta-row{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;display:flex}.ui-task-card__meta-item{flex-direction:column;gap:2px;display:flex}.ui-task-card__meta-key{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;line-height:1.2}.ui-task-card__meta-val{color:var(--text-muted);align-items:center;gap:3px;font-size:12px;font-weight:500;line-height:1.3;display:flex}.ui-task-card__meta-val svg{flex-shrink:0}.ui-task-card__meta-val--deadline{color:#854f0b}.ui-task-card__meta-val--overdue{color:#ef4444}.ui-task-card__meta-val--done{color:var(--brand-success)}.ui-task-card__elo-spacer{align-items:center;margin-left:auto;display:flex}.ui-task-card__elo{color:#185fa5;white-space:nowrap;font-variant-numeric:tabular-nums;background:#e6f1fb;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:500;line-height:1.35}.ui-input{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-main);min-height:44px;color:var(--text-main);flex:1;padding:0 14px}.ui-input:focus{outline:2px solid var(--brand-primary);outline-offset:0}.ui-input:disabled{opacity:.6}.ui-btn{border-radius:var(--radius-md);background:var(--brand-primary);color:#fff;border:none;min-width:44px;min-height:44px;padding:0 16px;font-weight:600;transition:opacity .15s}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.scroll-container{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.scroll-container::-webkit-scrollbar{display:none}.ui-drawer{background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;position:fixed;bottom:0;left:0;box-shadow:0 -4px 16px #0000000f}.ui-drawer__handle{background:var(--border-subtle);border-radius:var(--radius-full);border:none;width:36px;min-width:44px;height:4px;min-height:20px;margin:8px auto;padding:0;display:block}.ui-btn-icon{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.ui-btn-icon:hover,.ui-btn-icon:active{background:var(--bg-surface-hover)}.ui-btn-icon--success{color:var(--brand-success)}.ui-btn-icon--checked{background:#10b98126}.ui-chip--selectable{cursor:pointer;border:1px solid #0000;min-height:44px;padding:8px 14px;font-size:.8125rem;transition:background .15s,border-color .15s,color .15s}.ui-chip--selectable:disabled{opacity:.5;cursor:not-allowed}.ui-chip--active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.ui-fab{right:1rem;bottom:calc(var(--app-nav-offset,3.75rem) + 1rem);z-index:60;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;width:56px;height:56px;box-shadow:none;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed}.ui-fab:active{opacity:.9}.ui-modal-backdrop{z-index:200;padding:1rem;padding-bottom:calc(1rem + var(--safe-area-bottom));background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ui-modal{background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:1.25rem 1rem 1rem}.ui-modal__title{color:var(--text-main);margin-bottom:1rem;font-size:1.125rem;font-weight:700}.ui-modal__label{color:var(--text-muted);margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:block}.ui-modal__input{width:100%;margin-bottom:1rem}.ui-modal__chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.ui-modal__error{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.ui-modal__actions{justify-content:flex-end;gap:.5rem;display:flex}.ui-modal__cancel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);min-height:44px;color:var(--text-main);padding:0 16px;font-weight:600;transition:background .15s}.ui-modal__cancel:disabled{opacity:.5;cursor:not-allowed}.ui-modal__save{flex-shrink:0}.ui-success-toast{z-index:150;pointer-events:none;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.ui-success-toast__card{pointer-events:auto;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:.375rem;width:min(280px,100%);padding:1.5rem 1.25rem 1.25rem;display:flex}.ui-success-toast__icon{width:52px;height:52px;margin-bottom:.25rem}.ui-success-toast__check{width:100%;height:100%}.ui-success-toast__circle{fill:none;stroke:var(--brand-success);stroke-width:2.5px;stroke-dasharray:151;stroke-dashoffset:151px;animation:.45s forwards ui-success-circle}.ui-success-toast__tick{fill:none;stroke:var(--brand-success);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36px;animation:.3s .35s forwards ui-success-tick}.ui-success-toast__label{color:var(--text-main);font-size:.9375rem;font-weight:600}.ui-success-toast__points{color:var(--brand-success);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;animation:.35s .5s both ui-success-points}.ui-success-toast__actions{gap:.5rem;width:100%;margin-top:.625rem;display:flex}.ui-success-toast__follow-up,.ui-success-toast__cancel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex:1;min-height:44px;padding:0 .75rem;font-size:.8125rem;font-weight:600;transition:background .15s}.ui-success-toast__follow-up{background:var(--bg-surface);color:var(--text-main)}.ui-success-toast__follow-up:hover,.ui-success-toast__follow-up:active{background:var(--bg-surface-hover)}.ui-success-toast__cancel{background:var(--bg-main);color:var(--text-muted)}.ui-success-toast__cancel:hover,.ui-success-toast__cancel:active{background:var(--bg-surface);color:var(--text-main)}.ui-success-toast-enter-active{transition:opacity .2s}.ui-success-toast-leave-active{transition:opacity .25s}.ui-success-toast-enter-active .ui-success-toast__card{animation:.3s ui-success-card-in}.ui-success-toast-leave-active .ui-success-toast__card{animation:.25s forwards ui-success-card-out}.ui-success-toast-enter-from,.ui-success-toast-leave-to{opacity:0}@keyframes ui-success-card-in{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes ui-success-card-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.96)translateY(4px)}}@keyframes ui-success-circle{to{stroke-dashoffset:0}}@keyframes ui-success-tick{to{stroke-dashoffset:0}}@keyframes ui-success-points{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.schedule-date-picker__backdrop[data-v-57782b2f]{align-items:flex-end}.schedule-date-picker[data-v-57782b2f]{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.schedule-date-picker__subtitle[data-v-57782b2f]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:-.5rem 0 1rem;font-size:.875rem;overflow:hidden}.schedule-date-picker__nav[data-v-57782b2f]{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.schedule-date-picker__month[data-v-57782b2f]{color:var(--text-main);font-size:.9375rem;font-weight:600}.schedule-date-picker__weekdays[data-v-57782b2f]{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.schedule-date-picker__weekday[data-v-57782b2f]{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:4px 0;font-size:.6875rem;font-weight:600}.schedule-date-picker__grid[data-v-57782b2f]{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:1rem;display:grid}.schedule-date-picker__cell[data-v-57782b2f]{aspect-ratio:1;min-height:44px}.schedule-date-picker__cell--empty[data-v-57782b2f]{pointer-events:none}.schedule-date-picker__day[data-v-57782b2f]{border-radius:var(--radius-md);color:var(--text-main);background:0 0;border:none;justify-content:center;align-items:center;font-size:.9375rem;font-weight:500;transition:background .15s,color .15s;display:flex}.schedule-date-picker__day[data-v-57782b2f]:hover,.schedule-date-picker__day[data-v-57782b2f]:active{background:var(--bg-surface-hover)}.schedule-date-picker__day--today[data-v-57782b2f]{border:1px solid var(--brand-primary);color:var(--brand-primary);font-weight:600}.backlog-page[data-v-ff2d91e0]{background:var(--bg-main);max-width:480px;min-height:100%;color:var(--text-main);margin:0 auto;padding:1.25rem 1rem 2.5rem}.backlog-page__header[data-v-ff2d91e0]{margin-bottom:1.5rem}.backlog-page__header-row[data-v-ff2d91e0]{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.backlog-page__header-actions[data-v-ff2d91e0]{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.backlog-page__title[data-v-ff2d91e0]{color:var(--text-main);font-size:1.5rem;font-weight:700;line-height:1.2}.backlog-page__subtitle[data-v-ff2d91e0]{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.backlog-page__tabs[data-v-ff2d91e0]{margin-top:1rem}.backlog-page__task-list[data-v-ff2d91e0]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.backlog-page__task-menu[data-v-ff2d91e0]{z-index:10;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:168px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.backlog-page__task-menu-item[data-v-ff2d91e0]{border-radius:calc(var(--radius-md) - 2px);width:100%;min-height:44px;color:var(--text-main);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:0 12px;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.backlog-page__task-menu-item svg[data-v-ff2d91e0]{color:var(--text-muted);flex-shrink:0}.backlog-page__task-menu-item[data-v-ff2d91e0]:hover,.backlog-page__task-menu-item[data-v-ff2d91e0]:active{background:var(--bg-surface-hover)}.backlog-page__task-menu-item[data-v-ff2d91e0]:disabled{opacity:.5;cursor:not-allowed}.backlog-page__load-more[data-v-ff2d91e0]{justify-content:center;align-items:center;min-height:44px;display:flex}.backlog-page__error[data-v-ff2d91e0]{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.backlog-page__muted[data-v-ff2d91e0]{color:var(--text-muted);font-size:.875rem}.review-page[data-v-6a7f7c5e]{background:var(--bg-main);max-width:480px;min-height:100%;color:var(--text-main);flex-direction:column;margin:0 auto;padding:1.25rem 1rem 1rem;display:flex}.review-page__header[data-v-6a7f7c5e]{align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.review-page__back[data-v-6a7f7c5e]{flex-shrink:0}.review-page__title[data-v-6a7f7c5e]{font-size:1.5rem;font-weight:700;line-height:1.2}.review-page__subtitle[data-v-6a7f7c5e]{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.review-page__content[data-v-6a7f7c5e]{flex-direction:column;flex:1;gap:1.25rem;min-height:0;display:flex}.review-page__task-card[data-v-6a7f7c5e]{padding:1.25rem 1rem}.review-page__task-card[data-v-6a7f7c5e] .ui-task-card__title{font-size:1.125rem;font-weight:600;line-height:1.35}.review-page__dock[data-v-6a7f7c5e]{flex-direction:column;gap:.625rem;margin-top:auto;padding-top:.5rem;display:flex}.review-page__secondary[data-v-6a7f7c5e]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.review-page__tile[data-v-6a7f7c5e]{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);min-height:72px;color:var(--text-main);flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:.625rem .375rem;transition:background .15s;display:flex}.review-page__tile[data-v-6a7f7c5e]:active:not(:disabled){background:var(--bg-surface-hover)}.review-page__tile[data-v-6a7f7c5e]:disabled{opacity:.5}.review-page__tile-icon[data-v-6a7f7c5e]{width:44px;height:44px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.review-page__tile-label[data-v-6a7f7c5e]{text-align:center;color:var(--text-muted);font-size:.75rem;font-weight:600;line-height:1.2}.review-page__tile--danger .review-page__tile-icon[data-v-6a7f7c5e],.review-page__tile--danger .review-page__tile-label[data-v-6a7f7c5e]{color:#ef4444}.review-page__skip[data-v-6a7f7c5e]{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;min-height:44px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;padding:0 1rem;font-size:.9375rem;font-weight:600;transition:background .15s,color .15s;display:flex}.review-page__skip[data-v-6a7f7c5e]:active:not(:disabled){background:var(--bg-surface-hover);color:var(--text-main)}.review-page__skip[data-v-6a7f7c5e]:disabled{opacity:.5}.review-page__primary[data-v-6a7f7c5e]{border-radius:var(--radius-lg);background:var(--brand-success);color:#fff;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:52px;padding:0 1.25rem;font-size:1rem;font-weight:600;transition:opacity .15s;display:flex}.review-page__primary[data-v-6a7f7c5e]:active:not(:disabled){opacity:.9}.review-page__primary[data-v-6a7f7c5e]:disabled{opacity:.5}.review-page__complete[data-v-6a7f7c5e]{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.review-page__complete-title[data-v-6a7f7c5e]{font-size:1.25rem;font-weight:700}.review-page__back-link[data-v-6a7f7c5e]{min-height:44px;margin-top:1rem;padding:0 1.25rem;text-decoration:none}.review-page__error[data-v-6a7f7c5e]{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.review-page__muted[data-v-6a7f7c5e]{color:var(--text-muted);font-size:.875rem}.elo-page[data-v-a91bcb1e]{background:var(--bg-main);max-width:480px;min-height:100%;color:var(--text-main);margin:0 auto;padding:1.25rem 1rem 2.5rem}.elo-page__header[data-v-a91bcb1e]{margin-bottom:1.5rem}.elo-page__back[data-v-a91bcb1e]{margin-bottom:.75rem;margin-left:-.5rem}.elo-page__title[data-v-a91bcb1e]{font-size:1.5rem;font-weight:700;line-height:1.2}.elo-page__subtitle[data-v-a91bcb1e]{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.elo-page__match[data-v-a91bcb1e]{flex-direction:column;gap:.75rem;display:flex}.elo-page__match--busy[data-v-a91bcb1e]{opacity:.6;pointer-events:none}.elo-page__choice[data-v-a91bcb1e]{cursor:pointer;border:1px solid var(--border-subtle);text-align:left;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;min-height:5.5rem}.elo-page__choice-title[data-v-a91bcb1e]{font-size:1.0625rem;font-weight:600;line-height:1.35}.elo-page__choice-chips[data-v-a91bcb1e]{flex-wrap:wrap;gap:.375rem;display:flex}.elo-page__vs[data-v-a91bcb1e]{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem}.elo-page__empty[data-v-a91bcb1e]{flex-direction:column;gap:.75rem;display:flex}.elo-page__link[data-v-a91bcb1e]{color:var(--brand-primary);font-size:.875rem;font-weight:600;text-decoration:none}.elo-page__error[data-v-a91bcb1e]{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.elo-page__muted[data-v-a91bcb1e]{color:var(--text-muted);font-size:.875rem}.habits-page[data-v-31d71e8c]{background:var(--bg-main);max-width:480px;min-height:100%;color:var(--text-main);margin:0 auto;padding:1.25rem 1rem 2.5rem}.habits-page__header[data-v-31d71e8c]{margin-bottom:1.25rem}.habits-page__header-row[data-v-31d71e8c]{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.habits-page__title[data-v-31d71e8c]{font-size:1.5rem;font-weight:700;line-height:1.2}.habits-page__subtitle[data-v-31d71e8c]{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.habits-page__panel[data-v-31d71e8c]{flex-direction:column;align-items:stretch;gap:0;padding:14px}.habits-page__list[data-v-31d71e8c]{margin:0;padding:0;list-style:none}.habits-page__row[data-v-31d71e8c]{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 0;display:flex;position:relative}.habits-page__row[data-v-31d71e8c]:last-child{border-bottom:none;padding-bottom:0}.habits-page__row[data-v-31d71e8c]:first-child{padding-top:0}.habits-page__row--busy[data-v-31d71e8c]{opacity:.6;pointer-events:none}.habits-page__info[data-v-31d71e8c]{flex:1;min-width:0}.habits-page__name[data-v-31d71e8c]{color:var(--text-main);font-size:.875rem;font-weight:500;line-height:1.35}.habits-page__dots[data-v-31d71e8c]{gap:4px;margin-top:5px;display:flex}.habits-page__dot[data-v-31d71e8c]{background:var(--bg-surface-hover);border-radius:50%;flex-shrink:0;width:8px;height:8px}.habits-page__dot--done[data-v-31d71e8c]{border:1px solid var(--brand-success);background:#10b98159}.habits-page__dot--missed[data-v-31d71e8c]{background:#ef444426;border:1px solid #ef4444}.habits-page__dot--today[data-v-31d71e8c]{border:1.5px solid color-mix(in srgb, var(--text-muted) 55%, transparent);background:0 0}.habits-page__meta[data-v-31d71e8c]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.habits-page__freq[data-v-31d71e8c]{border-radius:var(--radius-full);background:var(--bg-main);color:var(--text-muted);border:1px solid var(--border-subtle);padding:2px 8px;font-size:11px;display:inline-block}.habits-page__pts[data-v-31d71e8c]{border-radius:var(--radius-full);color:var(--brand-primary);background:#6366f11a;flex-shrink:0;padding:2px 7px;font-size:11px;display:inline-block}.habits-page__aside[data-v-31d71e8c]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.habits-page__streak[data-v-31d71e8c]{justify-content:flex-end;align-items:center;gap:3px;font-size:.75rem;font-weight:500;display:flex}.habits-page__streak-fire[data-v-31d71e8c]{font-size:.875rem;line-height:1}.habits-page__streak-count[data-v-31d71e8c]{color:#d97706}.habits-page__menu-btn[data-v-31d71e8c]{color:var(--text-muted);margin-top:2px}.habits-page__menu[data-v-31d71e8c]{z-index:10;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:148px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.habits-page__menu-item[data-v-31d71e8c]{border-radius:calc(var(--radius-md) - 2px);width:100%;min-height:44px;color:var(--text-main);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:0 12px;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.habits-page__menu-item svg[data-v-31d71e8c]{color:var(--text-muted);flex-shrink:0}.habits-page__menu-item--danger[data-v-31d71e8c],.habits-page__menu-item--danger svg[data-v-31d71e8c]{color:#ef4444}.habits-page__menu-item[data-v-31d71e8c]:hover,.habits-page__menu-item[data-v-31d71e8c]:active{background:var(--bg-surface-hover)}.habits-page__menu-item[data-v-31d71e8c]:disabled{opacity:.5;cursor:not-allowed}.habits-page__error[data-v-31d71e8c]{color:#ef4444;margin-bottom:1rem;font-size:.875rem}.habits-page__muted[data-v-31d71e8c]{color:var(--text-muted);font-size:.875rem}.login-page[data-v-1c4b55d8]{justify-content:center;align-items:center;min-height:100%;padding:1.5rem 1rem;display:flex}.login-page__card[data-v-1c4b55d8]{flex-direction:column;align-items:stretch;width:100%;max-width:24rem;padding:1.5rem}.login-page__title[data-v-1c4b55d8]{color:var(--text-main);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.login-page__subtitle[data-v-1c4b55d8]{color:var(--text-muted);margin:0 0 1.5rem;font-size:.875rem;line-height:1.4}.login-page__form[data-v-1c4b55d8]{flex-direction:column;gap:1rem;display:flex}.login-page__field[data-v-1c4b55d8]{flex-direction:column;gap:.375rem;display:flex}.login-page__label[data-v-1c4b55d8]{color:var(--text-main);font-size:.8125rem;font-weight:600}.login-page__error[data-v-1c4b55d8]{color:var(--status-danger,#dc2626);margin:0;font-size:.875rem}.login-page__submit[data-v-1c4b55d8]{width:100%;margin-top:.25rem}.habit-daily[data-v-fef0e1d0]{margin-bottom:1.5rem}.habit-daily__card[data-v-fef0e1d0]{flex-direction:column;align-items:stretch;gap:0;padding:14px}.habit-daily__header[data-v-fef0e1d0]{margin-bottom:.25rem}.habit-daily__title[data-v-fef0e1d0]{color:var(--text-main);font-size:1rem;font-weight:500;line-height:1.3}.habit-daily__sub[data-v-fef0e1d0]{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.habit-daily__list[data-v-fef0e1d0]{margin:0;padding:0;list-style:none}.habit-daily__row[data-v-fef0e1d0]{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 0;display:flex}.habit-daily__row[data-v-fef0e1d0]:last-child{border-bottom:none;padding-bottom:0}.habit-daily__check[data-v-fef0e1d0]{cursor:pointer;width:44px;height:44px;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex}.habit-daily__check[data-v-fef0e1d0]:before{content:"";border:1px solid var(--border-subtle);background:0 0;border-radius:50%;width:32px;height:32px;transition:border-color .15s,background .15s;position:absolute}.habit-daily__check[data-v-fef0e1d0]{position:relative}.habit-daily__check svg[data-v-fef0e1d0]{z-index:1;position:relative}.habit-daily__check--done[data-v-fef0e1d0]{color:var(--brand-success)}.habit-daily__check--done[data-v-fef0e1d0]:before{border-color:var(--brand-success);background:#10b98126}.habit-daily__check[data-v-fef0e1d0]:disabled{opacity:.5;cursor:not-allowed}.habit-daily__info[data-v-fef0e1d0]{flex:1;min-width:0}.habit-daily__name[data-v-fef0e1d0]{color:var(--text-main);font-size:.875rem;font-weight:500}.habit-daily__dots[data-v-fef0e1d0]{gap:4px;margin-top:5px;display:flex}.habit-daily__dot[data-v-fef0e1d0]{background:var(--bg-surface-hover);border-radius:50%;flex-shrink:0;width:8px;height:8px}.habit-daily__dot--done[data-v-fef0e1d0]{border:1px solid var(--brand-success);background:#10b98159}.habit-daily__dot--missed[data-v-fef0e1d0]{background:#ef444426;border:1px solid #ef4444}.habit-daily__dot--today[data-v-fef0e1d0]{border:1.5px solid color-mix(in srgb, var(--text-muted) 55%, transparent);background:0 0}.habit-daily__streak-wrap[data-v-fef0e1d0]{text-align:right;flex-shrink:0}.habit-daily__streak[data-v-fef0e1d0]{justify-content:flex-end;align-items:center;gap:3px;font-size:.75rem;font-weight:500;display:flex}.habit-daily__streak-fire[data-v-fef0e1d0]{font-size:.875rem;line-height:1}.habit-daily__streak-count[data-v-fef0e1d0]{color:#d97706}.schedule-page[data-v-efd9466e]{background:var(--bg-main);max-width:480px;min-height:100%;color:var(--text-main);margin:0 auto;padding:1.25rem 1rem 2.5rem}.schedule-page__header[data-v-efd9466e]{margin-bottom:1.25rem}.schedule-page__title[data-v-efd9466e]{font-size:1.5rem;font-weight:700;line-height:1.2}.schedule-page__subtitle[data-v-efd9466e]{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.schedule-page__calendar[data-v-efd9466e]{margin-bottom:1.5rem}.schedule-page__calendar-strip[data-v-efd9466e]{gap:.5rem;padding-bottom:.25rem}.schedule-page__day-pill[data-v-efd9466e]{flex-direction:column;justify-content:center;align-items:center;gap:.125rem;min-width:96px;height:auto;min-height:52px;padding:8px 14px;line-height:1.2;display:flex}.schedule-page__day-heading[data-v-efd9466e]{font-size:.8125rem;font-weight:600}.schedule-page__day-sub[data-v-efd9466e]{opacity:.85;font-size:.75rem}.ui-pill--active .schedule-page__day-sub[data-v-efd9466e]{opacity:.9}.schedule-page__section-label[data-v-efd9466e]{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.schedule-page__task-list[data-v-efd9466e]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.schedule-page__task-menu[data-v-efd9466e]{z-index:10;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:168px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.schedule-page__task-menu-item[data-v-efd9466e]{border-radius:calc(var(--radius-md) - 2px);width:100%;min-height:44px;color:var(--text-main);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:0 12px;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.schedule-page__task-menu-item svg[data-v-efd9466e]{color:var(--text-muted);flex-shrink:0}.schedule-page__task-menu-item[data-v-efd9466e]:hover,.schedule-page__task-menu-item[data-v-efd9466e]:active{background:var(--bg-surface-hover)}.schedule-page__task-menu-item[data-v-efd9466e]:disabled{opacity:.5;cursor:not-allowed}.schedule-page__error[data-v-efd9466e]{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.schedule-page__muted[data-v-efd9466e]{color:var(--text-muted);font-size:.875rem}.stats-delta[data-v-ddc2dbdc]{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;margin-bottom:.25rem;padding:3px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.stats-delta__icon[data-v-ddc2dbdc]{flex-shrink:0}.stats-delta--up[data-v-ddc2dbdc]{color:var(--brand-success);background:#10b9811f}.stats-delta--down[data-v-ddc2dbdc]{color:#ef4444;background:#ef44441a}.stats-delta--neutral[data-v-ddc2dbdc]{color:var(--text-muted);background:var(--bg-surface-hover)}.stats-page[data-v-beaf309a]{background:var(--bg-main);max-width:640px;min-height:100%;color:var(--text-main);margin:0 auto;padding:1.25rem 1rem 1.5rem}.stats-page__header[data-v-beaf309a]{margin-bottom:1.25rem}.stats-page__tabs[data-v-beaf309a]{margin-top:1rem}.stats-page__title[data-v-beaf309a]{font-size:1.5rem;font-weight:700;line-height:1.2}.stats-page__subtitle[data-v-beaf309a]{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.stats-page__panel-sub[data-v-beaf309a]{color:var(--text-muted);margin-bottom:.875rem;font-size:.75rem}.stats-page__summary-grid[data-v-beaf309a]{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.stats-page__stat-card[data-v-beaf309a]{flex-direction:column;align-items:stretch;gap:0;padding:10px 12px}.stats-page__stat-val[data-v-beaf309a]{font-variant-numeric:tabular-nums;color:var(--text-main);font-size:1.25rem;font-weight:500;line-height:1.2}.stats-page__stat-val-suffix[data-v-beaf309a]{color:var(--text-muted);font-size:.875rem;font-weight:400}.stats-page__stat-lbl[data-v-beaf309a]{color:var(--text-muted);margin-top:1px;font-size:.6875rem}.stats-page__block[data-v-beaf309a]{margin-bottom:.75rem}.stats-page__block--last[data-v-beaf309a]{margin-bottom:0}.stats-page__block-label[data-v-beaf309a]{letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.6875rem;font-weight:500}.stats-page__compare-card[data-v-beaf309a]{gap:0}.stats-page__compare-row[data-v-beaf309a]{justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex}.stats-page__compare-period[data-v-beaf309a]{flex-direction:column;gap:2px;min-width:0;display:flex}.stats-page__compare-period--end[data-v-beaf309a]{align-items:flex-end}.stats-page__compare-period-label[data-v-beaf309a]{color:var(--text-muted);font-size:.6875rem}.stats-page__compare-period-value[data-v-beaf309a]{font-variant-numeric:tabular-nums;color:var(--text-main);font-size:1.25rem;font-weight:500;line-height:1.2}.stats-page__compare-period-value--muted[data-v-beaf309a]{color:var(--text-muted)}.stats-page__compare-arrow[data-v-beaf309a]{color:var(--text-muted);flex-shrink:0;padding-bottom:.125rem;font-size:1rem;line-height:1}.stats-page__chart-card[data-v-beaf309a]{gap:0}.stats-page__chart-scroll[data-v-beaf309a]{width:100%}.stats-page__chart-wrap[data-v-beaf309a]{width:100%;min-width:280px}.stats-page__chart[data-v-beaf309a]{width:100%;height:120px;display:block}.stats-page__chart-area[data-v-beaf309a]{fill:#6366f11f}.stats-page__chart-line[data-v-beaf309a]{stroke:var(--brand-primary);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.stats-page__chart-labels[data-v-beaf309a]{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:.5rem;font-size:.6875rem;display:flex}.stats-page__error[data-v-beaf309a]{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.stats-page__muted[data-v-beaf309a]{color:var(--text-muted);font-size:.875rem}.stats-page__heatmap[data-v-beaf309a]{flex-wrap:wrap;gap:3px;display:flex}.stats-page__hmap-cell[data-v-beaf309a]{background:var(--bg-surface-hover);border-radius:3px;flex-shrink:0;width:14px;height:14px}.stats-page__hmap-cell--l1[data-v-beaf309a]{background:#c0dd97}.stats-page__hmap-cell--l2[data-v-beaf309a]{background:#97c459}.stats-page__hmap-cell--l3[data-v-beaf309a]{background:#639922}.stats-page__hmap-cell--l4[data-v-beaf309a]{background:#3b6d11}@media (prefers-color-scheme:dark){.stats-page__hmap-cell--l1[data-v-beaf309a]{background:#27500a}.stats-page__hmap-cell--l2[data-v-beaf309a]{background:#3b6d11}.stats-page__hmap-cell--l3[data-v-beaf309a]{background:#639922}.stats-page__hmap-cell--l4[data-v-beaf309a]{background:#97c459}}.app-shell[data-v-834b12c3]{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-shell__main[data-v-834b12c3]{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.app-shell__nav[data-v-834b12c3]{z-index:50;isolation:isolate;min-height:var(--app-nav-height);padding-bottom:var(--safe-area-bottom);background:var(--bg-main);border-top:1px solid var(--border-subtle);flex-shrink:0;align-items:stretch;display:flex}.app-shell__nav-tab[data-v-834b12c3]{min-width:0;min-height:44px;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;padding:.375rem .5rem .5rem;text-decoration:none;transition:color .15s;display:flex;position:relative}.app-shell__nav-tab[data-v-834b12c3]:before{content:"";border-radius:var(--radius-full);background:0 0;width:2rem;height:2px;transition:background .15s;position:absolute;top:0;left:50%;transform:translate(-50%)}.app-shell__nav-tab--active[data-v-834b12c3]{color:var(--brand-primary)}.app-shell__nav-tab--active[data-v-834b12c3]:before{background:var(--brand-primary)}.app-shell__nav-tab-icon[data-v-834b12c3]{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.app-shell__nav-tab-label[data-v-834b12c3]{letter-spacing:.01em;font-size:.625rem;font-weight:600;line-height:1.2}
