._alertOverlay_yiscg_1{z-index:200;background:#00000080;position:fixed;inset:0}._alertContent_yiscg_8{top:calc(var(--screen-height) * .25);z-index:201;background:var(--color-background-primary);border-radius:var(--radius-lg);border:.5px solid var(--color-border-tertiary);width:min(360px,90vw);padding:var(--spacing-xl);gap:var(--spacing-md);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}._modalTitle_yiscg_24{margin:0;font-size:16px;font-weight:600}._modalDescription_yiscg_30{white-space:pre-line;color:var(--color-text-secondary);font-size:14px}._modalActions_yiscg_36{gap:var(--spacing-md);margin-top:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}._notifModeTabs_1owxs_1{border:.5px solid var(--color-border-secondary);margin-top:var(--spacing-sm);border-radius:8px;display:flex;overflow:hidden}._notifModeTab_1owxs_1{background:var(--color-background-tertiary);border:none;border-right:.5px solid var(--color-border-secondary);color:var(--color-text-secondary);cursor:pointer;flex:1;padding:6px 2px;font-size:11px;font-weight:500}._notifModeTab_1owxs_1:last-child{border-right:none}._notifModeTab_1owxs_1._active_1owxs_25{background:var(--color-accent);color:var(--color-accent-text)}._notifDayPicker_1owxs_30{padding-top:var(--spacing-sm);justify-content:space-between;display:flex}._notifDayBtn_1owxs_36{background:var(--color-background-tertiary);border:.5px solid var(--color-border-secondary);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:11px;font-weight:500}._notifDayBtn_1owxs_36._active_1owxs_25{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}._addHabitForm_14qai_1{gap:var(--spacing-lg);flex-direction:column;display:flex}._addHabitForm_14qai_1 select{padding:var(--spacing-md);border:.5px solid var(--color-border-secondary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-primary)}._addHabitForm_14qai_1 select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 20%, transparent);outline:none}._addHabitForm_14qai_1 input[type=text]::placeholder{color:var(--color-text-secondary);opacity:1}._habitCardContent_setqh_1{justify-content:space-between;align-items:center;display:flex}._habitCardInfo_setqh_7{min-width:0;padding-left:var(--spacing-lg);flex-direction:column;flex:1;display:flex}._habitCardTitle_setqh_15{align-items:center;gap:var(--spacing-xs);flex-direction:row;display:flex}._habitCardSubtitle_setqh_22{color:var(--color-text-secondary);font-size:12px}._habitCardRight_setqh_27{align-items:center;gap:var(--spacing-lg);flex-shrink:0;display:flex}._habitCardNotifIcon_setqh_34{opacity:.4;margin-left:var(--spacing-md);flex-shrink:0}._habitCardActions_setqh_40{gap:var(--spacing-sm);flex-shrink:0;align-self:flex-start;display:flex}._completionCount_setqh_49{font-size:16px;font-weight:500}._completionCount_setqh_49._done_setqh_54{color:var(--color-accent)}._completionCount_setqh_49._inProgress_setqh_58{color:var(--color-text-info)}._completionCount_setqh_49._behind_setqh_62{color:var(--color-text-danger)}._progressBar_setqh_68{border-radius:var(--radius-sm);background:var(--color-background-tertiary);height:4px}._progressFill_setqh_74{border-radius:var(--radius-sm);height:4px;transition:width .2s}._progressFill_setqh_74._done_setqh_54{background:var(--color-accent)}._progressFill_setqh_74._inProgress_setqh_58{background:var(--color-text-info)}._progressFill_setqh_74._behind_setqh_62{background:var(--color-text-danger)}._streak_setqh_94{color:var(--color-text-warning);font-size:11px}._streakMuted_setqh_99{color:var(--color-text-secondary)}._loggedToday_setqh_105{border-left:3px solid color-mix(in srgb, var(--color-accent) 70%, transparent)}._dragging_setqh_109{opacity:.5}._habitEmoji_1y4eh_1{border-radius:var(--radius-md);background:var(--color-background-tertiary);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:40px;height:40px;font-size:20px;display:flex}._onboarding_11nvz_1{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}._onboarding_11nvz_1 h2{margin:var(--spacing-md) 0;font-size:18px;font-weight:500}._onboarding_11nvz_1 p{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}._habitEmojiLarge_11nvz_19{font-size:40px}._habitList_11nvz_23{gap:var(--spacing-lg);flex-direction:column;display:flex}._headerDateBtn_11nvz_29{cursor:pointer;position:relative}._headerDateInput_11nvz_34{opacity:0;cursor:pointer;position:absolute;inset:0}._btnAddHabit_11nvz_41{all:unset;box-sizing:border-box;border-radius:var(--radius-md);border:.5px solid var(--color-border-secondary);height:32px;color:var(--color-text-secondary);cursor:pointer;padding:0 var(--spacing-lg);justify-content:center;align-items:center;font-size:14px;display:flex}._btnAddHabit_11nvz_41:hover{background:var(--color-background-tertiary)}.btn-row ._btnAddHabit_11nvz_41{flex:1}._heatmap_17gt9_1{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}._heatmapHeader_17gt9_7{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;font-size:14px;font-weight:500;display:flex}._heatmapDow_17gt9_16{text-align:center;color:var(--color-text-secondary);padding-bottom:2px;font-size:10px;font-weight:500}._heatmapCell_17gt9_24{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--color-background-tertiary);min-height:28px;position:relative}._heatmapDayNumber_17gt9_32{color:var(--color-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:9px;line-height:1;position:absolute;top:3px;left:4px}._heatmapFilled_17gt9_43 ._heatmapDayNumber_17gt9_32{color:#fffc}._heatmapFill25_17gt9_47{background:color-mix(in srgb, var(--color-accent) 25%, var(--color-background-tertiary))}._heatmapFill50_17gt9_51{background:color-mix(in srgb, var(--color-accent) 50%, var(--color-background-tertiary))}._heatmapFill75_17gt9_55{background:color-mix(in srgb, var(--color-accent) 75%, var(--color-background-tertiary))}._heatmapFilled_17gt9_43{background:var(--color-accent)}._heatmapPeriodComplete_17gt9_63{background:color-mix(in srgb, var(--color-accent) 15%, var(--color-background-tertiary))}._heatmapFill50_17gt9_51 ._heatmapDayNumber_17gt9_32,._heatmapFill75_17gt9_55 ._heatmapDayNumber_17gt9_32{color:#fffc}._heatmapEmpty_17gt9_72{background:var(--color-background-tertiary)}._heatmapPad_17gt9_76{background:0 0}._habitCardContent_wwitz_1{justify-content:space-between;align-items:center;display:flex}._habitCardInfo_wwitz_7{min-width:0;padding-left:var(--spacing-lg);flex-direction:column;flex:1;display:flex}._habitCardTitle_wwitz_15{align-items:center;gap:var(--spacing-xs);flex-direction:row;display:flex}._habitCardSubtitle_wwitz_22{color:var(--color-text-secondary);font-size:12px}._habitCardActions_wwitz_27{gap:var(--spacing-sm);flex-shrink:0;align-self:flex-start;display:flex}._editNameInput_wwitz_34{padding:var(--spacing-md);border:.5px solid var(--color-border-secondary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-primary);margin-right:var(--spacing-md);outline:none;font-size:16px}._editNameInput_wwitz_34:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 20%, transparent)}._habitDetailNotif_wwitz_50{gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-top:.5px solid var(--color-border-secondary);flex-direction:column;display:flex}._habitDetailNotif_wwitz_50 input[type=text],._habitDetailNotif_wwitz_50 input[type=number],._habitDetailNotif_wwitz_50 input[type=time]{padding:var(--spacing-md);border:.5px solid var(--color-border-secondary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-primary);outline:none}._habitDetailNotif_wwitz_50 input[type=text]:focus,._habitDetailNotif_wwitz_50 input[type=number]:focus,._habitDetailNotif_wwitz_50 input[type=time]:focus,._habitDetailNotif_wwitz_50 select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 20%, transparent);outline:none}._habitDetailNotif_wwitz_50 input[type=number]{width:48px}._habitDetailNotif_wwitz_50 select{padding:var(--spacing-md);border:.5px solid var(--color-border-secondary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-primary)}._statsGrid_wwitz_92{gap:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}._statBox_wwitz_98{background:var(--color-background-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg)}._statValue_wwitz_104{font-size:24px;font-weight:500}._statLabel_wwitz_109{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:12px}._notifPromptPanel_1bhrn_1,._settingsItemStack_1bhrn_7{gap:var(--spacing-md);flex-direction:column;display:flex}._statusOk_1bhrn_13{color:var(--color-text-success);margin:0;font-size:12px}._statusError_1bhrn_19{color:var(--color-text-danger);margin:0;font-size:12px}._statusWarning_1bhrn_25{color:var(--color-text-warning);margin:0;font-size:12px}._settingsAboutLinks_1bhrn_31{gap:var(--spacing-xl);display:flex}._settingsAboutLinks_1bhrn_31 a,._settingsAboutLinks_1bhrn_31 .btn-link{color:var(--color-text-secondary);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;text-decoration:underline}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:#0000;-webkit-tap-highlight-color:transparent}:root{--color-background-primary:#fff;--color-background-secondary:#f8f8f6;--color-background-tertiary:#f0eeeb;--color-border-tertiary:#0000001a;--color-border-secondary:#0003;--color-text-primary:#1a1a1a;--color-text-secondary:#71706e;--color-text-success:#15803d;--color-text-info:#1a6bbf;--color-text-danger:#b84520;--color-text-warning:#ba7517;--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-subtle:#ede9fe;--color-accent-text:#fff;--color-accent-on-subtle:#4c1d95;--color-button-danger:#c41e1e;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--spacing-xs:2px;--spacing-sm:4px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px}[data-accent=green]{--color-accent:#15803d;--color-accent-hover:#166534;--color-accent-subtle:#dcfce7;--color-accent-on-subtle:#14532d}[data-theme=dark]{--color-background-primary:#242038;--color-background-secondary:#161229;--color-background-tertiary:#2f2b47;--color-border-tertiary:#ffffff14;--color-border-secondary:#ffffff26;--color-text-primary:#f1f0ff;--color-text-secondary:#9d99be;--color-text-success:#4ade80;--color-text-info:#2dd4bf;--color-text-danger:#f87171;--color-text-warning:#fbbf24;--color-accent:#a78bfa;--color-accent-hover:#c4b5fd;--color-accent-subtle:#3b2f6e;--color-accent-text:#1e1b2e;--color-accent-on-subtle:#c4b5fd}[data-theme=dark][data-accent=green]{--color-accent:#4ade80;--color-accent-hover:#86efac;--color-accent-subtle:#14532d;--color-accent-text:#14532d;--color-accent-on-subtle:#86efac}body{background:var(--color-background-secondary);color:var(--color-text-primary);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}input,select,textarea{font-size:16px}.app{max-width:600px}.app.app-legal{max-width:860px}.app{padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));gap:var(--spacing-lg);flex-direction:column;margin:0 auto;display:flex}.header{justify-content:space-between;align-items:center;display:flex;position:relative}.header-title-centered{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:translateY(-2px)}.header--solo{justify-content:center}h1,.header-title{font-size:22px;font-weight:500}.card{gap:var(--spacing-md);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);padding:14px var(--spacing-xl);flex-direction:column;transition:background .3s;display:flex}@keyframes tick-flash{0%{opacity:0;transform:scale(.7)}25%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}.btn-check-flash{color:var(--color-accent);animation:.9s forwards tick-flash}.btn-base{all:unset;box-sizing:border-box;border-radius:var(--radius-md);text-align:center;cursor:pointer;justify-content:center;align-items:center;font-size:14px;display:flex}.btn-base:disabled{opacity:.4;cursor:not-allowed}.btn-primary{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-danger{padding:var(--spacing-md) var(--spacing-xl);color:#fff;background:#c41e1e}.btn-danger:hover:not(:disabled){opacity:.9}.btn-ghost{padding:var(--spacing-md) var(--spacing-xl);border:.5px solid var(--color-border-secondary);color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-background-tertiary)}.btn-stepper{all:unset;cursor:pointer;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;padding:0 2px}.btn-stepper:hover{color:var(--color-text-primary)}.input-stepper{all:unset;text-align:center;width:2ch;color:var(--color-text-primary)}.btn-action{all:unset;box-sizing:border-box;border-radius:var(--radius-md);border:.5px solid var(--color-border-secondary);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:16px;display:flex}.btn-action:disabled{opacity:.3;cursor:not-allowed}.btn-action:hover:not(:disabled){background:var(--color-background-tertiary)}.btn-action.delete{color:var(--color-text-danger)}.btn-row{align-items:center;gap:var(--spacing-md);display:flex}.text-input,input[type=time]{padding:var(--spacing-md);border:.5px solid var(--color-border-secondary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-primary);outline:none}.text-input:focus,input[type=time]:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 20%, transparent);outline:none}.text-input::placeholder{color:var(--color-text-secondary);opacity:1}.form-row{align-items:center;gap:var(--spacing-md);display:flex}.form-label{color:var(--color-text-secondary);font-size:13px}.error-message{color:var(--color-text-danger);margin-top:var(--spacing-sm);font-size:12px}.settings-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.settings-item{justify-content:space-between;align-items:center;gap:var(--spacing-xl);display:flex}.settings-item-label{color:var(--color-text-primary);font-size:14px}.settings-item-desc{color:var(--color-text-secondary);font-size:12px;line-height:1.4}.switch-root{all:unset;background:var(--color-background-tertiary);border:.5px solid var(--color-border-secondary);cursor:pointer;border-radius:20px;flex-shrink:0;width:36px;height:20px;transition:background .2s,border-color .2s;position:relative}.switch-root[data-state=checked]{background:var(--color-accent);border-color:var(--color-accent)}.switch-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;display:block;position:absolute;top:3px;left:2px}.switch-root[data-state=checked] .switch-thumb{transform:translate(16px)}.legal-content{color:var(--color-text-secondary);font-size:14px;line-height:1.6}.legal-content h1,.legal-content h2,.legal-content h3,.legal-content p,.legal-content ul,.legal-content li{margin-top:0}.legal-content h1{color:var(--color-text-primary);margin-bottom:12px;font-size:18px;font-weight:700}.legal-content h2{color:var(--color-text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.legal-content p+h2,.legal-content ul+h2{margin-top:16px}.legal-content h3{color:var(--color-text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.legal-content p{margin-bottom:6px}.legal-content ul{margin-bottom:6px;padding-left:18px}.legal-content li{margin-bottom:2px}.legal-content a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.auth-clickwrap{color:var(--color-text-secondary);text-align:center;margin:0;font-size:12px;line-height:1.5}.auth-clickwrap a,.auth-clickwrap .btn-link{color:var(--color-text-secondary);text-underline-offset:2px;cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}
