:root{color:#f3f7f5;background:#0b0f0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;line-height:1.4;--color-bg: #080d0b;--color-surface: #101713;--color-surface-elevated: #151d19;--color-surface-soft: rgba(255, 255, 255, .035);--color-border: #1d2925;--color-border-subtle: rgba(255, 255, 255, .055);--color-border-strong: rgba(255, 255, 255, .11);--color-text: #f3f7f5;--color-text-primary: #f3f7f5;--color-text-secondary: #c6d1cb;--color-text-muted: #86948d;--color-accent: #2dcf9f;--color-accent-soft: rgba(45, 207, 159, .13);--color-success: #57d978;--color-warning: #ffbd63;--color-danger: #ff7b7b;--color-mood: #5ee6a8;--color-energy: #66c9f4;--color-sleep: #8ab4ff;--bg: var(--color-bg);--surface: var(--color-surface);--surface-elevated: var(--color-surface-elevated);--surface-soft: var(--color-surface-soft);--border: var(--color-border);--border-subtle: var(--color-border-subtle);--border-strong: var(--color-border-strong);--text: var(--color-text);--text-secondary: var(--color-text-secondary);--muted: var(--color-text-muted);--accent: var(--color-accent);--accent-soft: var(--color-accent-soft);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-danger);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--page-padding-x: 14px;--page-padding-top: 18px;--page-header-height: 44px;--page-section-gap: 12px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-2xl: 28px;--radius-pill: 999px;--shadow-soft: 0 14px 34px rgba(0, 0, 0, .24);--shadow-elevated: 0 22px 52px rgba(0, 0, 0, .34);--group-bg: rgba(17, 26, 22, .78);--group-bg-strong: rgba(21, 34, 29, .88);--group-bg-soft: rgba(255, 255, 255, .045);--group-border: rgba(255, 255, 255, .085);--group-border-strong: rgba(45, 207, 159, .22);--group-highlight: rgba(45, 207, 159, .11);--group-shadow: 0 18px 46px rgba(0, 0, 0, .28);--group-shadow-soft: 0 10px 28px rgba(0, 0, 0, .18);--group-blur: blur(22px) saturate(1.08);--chrome-bg: rgba(8, 14, 12, .78);--chrome-border: rgba(255, 255, 255, .075);--motion-fast: .12s;--motion-normal: .22s;--motion-slow: .36s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: var(--motion-fast);--dur-med: var(--motion-normal);--bottom-nav-height: 74px}:root[data-theme=light]{color:#12201a;background:#f3f8f2;--color-bg: #f3f8f2;--color-surface: #ffffff;--color-surface-elevated: #eef7f1;--color-surface-soft: rgba(20, 86, 64, .075);--color-border: rgba(20, 86, 64, .16);--color-border-subtle: rgba(20, 86, 64, .11);--color-border-strong: rgba(20, 86, 64, .23);--color-text: #12201a;--color-text-primary: #12201a;--color-text-secondary: #41544b;--color-text-muted: #6e7f76;--color-accent: #0aa982;--color-accent-soft: rgba(10, 169, 130, .14);--color-success: #22a962;--color-warning: #c98318;--color-danger: #c94f4f;--color-mood: #1daf75;--color-energy: #1676cf;--color-sleep: #6277e9;--shadow-soft: 0 14px 34px rgba(38, 78, 60, .12);--shadow-elevated: 0 24px 52px rgba(38, 78, 60, .18);--group-bg: rgba(255, 255, 255, .78);--group-bg-strong: rgba(255, 255, 255, .92);--group-bg-soft: rgba(18, 80, 62, .055);--group-border: rgba(18, 80, 62, .13);--group-border-strong: rgba(10, 169, 130, .25);--group-highlight: rgba(10, 169, 130, .11);--group-shadow: 0 18px 44px rgba(38, 78, 60, .14);--group-shadow-soft: 0 10px 28px rgba(38, 78, 60, .09);--chrome-bg: rgba(249, 253, 250, .76);--chrome-border: rgba(18, 80, 62, .12)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}html{scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;background:radial-gradient(circle at 52% -10%,rgba(45,207,159,.13),transparent 32%),radial-gradient(circle at 8% 12%,rgba(102,201,244,.055),transparent 24%),var(--bg);color:var(--text)}button,textarea,input{font:inherit}button{border:0;cursor:pointer;appearance:none;outline:none;transition:transform var(--dur-fast) var(--ease-soft),background-color var(--dur-fast) var(--ease-soft),border-color var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft),box-shadow var(--dur-med) var(--ease-soft),opacity var(--dur-fast) var(--ease-soft)}button:disabled{cursor:not-allowed;opacity:.55}.app-icon{display:block;flex:0 0 auto;stroke-width:var(--icon-stroke, 2.2)}textarea,input{width:100%;border-radius:var(--radius-xl);border:1px solid var(--group-border);background:color-mix(in srgb,var(--group-bg-strong) 82%,transparent);color:var(--text);box-shadow:inset 0 1px #ffffff09}textarea{min-height:92px;resize:vertical;padding:12px 14px}textarea::placeholder{color:var(--color-text-muted)}.app-shell{--app-shell-top-space: var(--page-padding-top);--app-shell-bottom-space: calc(120px + env(safe-area-inset-bottom, 0px)) ;--page-pad: var(--page-padding-x);--page-gap: var(--page-section-gap);width:min(100%,720px);margin:0 auto;min-height:100dvh;padding:var(--app-shell-top-space) var(--page-pad) var(--app-shell-bottom-space);overflow-x:clip;position:relative;isolation:isolate}.app-shell:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 50% 6%,rgba(45,207,159,.1),transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 94%,var(--color-accent) 6%),var(--color-bg))}.app-shell-home{min-height:100dvh}.app-shell-onboarding{--app-shell-top-space: max(18px, env(safe-area-inset-top, 0px));--app-shell-bottom-space: max(18px, env(safe-area-inset-bottom, 0px));min-height:100dvh;display:grid;align-items:stretch}.onboarding-screen{position:relative;min-height:calc(100dvh - var(--app-shell-top-space) - var(--app-shell-bottom-space));display:grid;align-items:center;overflow:hidden}.onboarding-glow{position:absolute;inset:-18% -24% auto;height:52%;background:radial-gradient(circle,rgba(45,207,159,.18),transparent 62%);pointer-events:none}.onboarding-card{position:relative;z-index:1;display:grid;gap:var(--space-4);padding:22px 18px 18px;border:1px solid rgba(45,207,159,.18);border-radius:var(--radius-2xl);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface-elevated) 88%,transparent),color-mix(in srgb,var(--color-surface) 94%,transparent)),var(--surface);box-shadow:var(--shadow-elevated)}.onboarding-card-center{justify-items:center;text-align:center}.onboarding-card h1{margin:0;font-size:clamp(1.55rem,7vw,2.1rem);line-height:1.05;letter-spacing:0}.onboarding-card p{margin:0;max-width:30rem;color:var(--text-secondary);font-size:.98rem}.onboarding-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:24px;color:var(--accent);background:radial-gradient(circle,#2dcf9f47,#2dcf9f14);box-shadow:0 0 34px #2dcf9f33;overflow:hidden}.brand-logo-mark{display:block;width:100%;height:100%;object-fit:cover}.onboarding-goals{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.onboarding-tracking-grid{display:grid;gap:var(--space-2)}.onboarding-tracking-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:68px;padding:10px 12px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-surface-elevated) 72%,transparent);color:var(--color-text);text-align:left}.onboarding-tracking-card.active{border-color:color-mix(in srgb,var(--color-accent) 58%,transparent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 26%,transparent)}.onboarding-tracking-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;color:var(--color-accent);background:var(--color-accent-soft)}.onboarding-tracking-card strong,.onboarding-tracking-card small{display:block}.onboarding-tracking-card small{margin-top:3px;color:var(--color-text-muted);font-size:.76rem}.onboarding-muted-box{padding:12px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-elevated) 62%,transparent);font-weight:800}.onboarding-theme-card{min-width:0;min-height:132px;display:grid;align-content:start;justify-items:start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-surface-elevated) 76%,transparent);color:var(--color-text);text-align:left;box-shadow:inset 0 0 0 1px transparent}.onboarding-theme-card.active{border-color:color-mix(in srgb,var(--color-accent) 62%,transparent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 32%,transparent),0 14px 30px color-mix(in srgb,var(--color-accent) 18%,transparent)}.onboarding-theme-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;color:var(--color-accent);background:var(--color-accent-soft)}.onboarding-theme-card strong,.onboarding-theme-card small{display:block}.onboarding-theme-card strong{font-size:1rem}.onboarding-theme-card small{margin-top:5px;color:var(--color-text-muted);font-size:.76rem;line-height:1.25}.onboarding-goals .ui-chip{min-height:40px;padding-inline:14px}.onboarding-scales{display:grid;gap:var(--space-3)}.onboarding-actions{display:grid;gap:var(--space-2)}.onboarding-error{color:var(--color-warning)!important;font-weight:800;font-size:.9rem!important}@media(min-width:520px){.onboarding-actions{grid-template-columns:1fr auto;align-items:center}}h1,h2,h3,p{margin-top:0}h2,h3{margin-bottom:0;font-size:1.02rem;line-height:1.15;text-transform:capitalize}.muted{color:var(--muted)}.panel{border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,#151d1afa,#0f1513fa);box-shadow:0 14px 36px #0000003d;animation:panel-in var(--dur-med) var(--ease-out)}.page-view{min-width:0;min-height:calc(100dvh - var(--app-shell-top-space) - var(--app-shell-bottom-space));display:grid;align-content:start;touch-action:pan-y;animation:page-view-in var(--motion-slow) var(--ease-soft) both;will-change:transform;transform:translateZ(0)}.page-view-forward{animation-name:page-view-slide-forward}.page-view-backward{animation-name:page-view-slide-backward}.page-view-enter{opacity:0;transform:translateY(8px)}.page-view-active{opacity:1;transform:translateY(0)}.page-view>.home-grid,.page-view>.calendar-page,.page-view>.analytics-page,.page-view>.habits-page,.page-view>.profile-panel,.page-view>.daylog-page,.page-view>.placeholder-panel{min-height:calc(100dvh - var(--app-shell-top-space) - var(--app-shell-bottom-space))}.calendar-page,.analytics-page,.habits-page,.profile-panel,.daylog-page{animation:none}.auth-panel,.today-panel,.history-panel,.placeholder-panel{min-width:0;padding:16px;display:grid;gap:14px}.auth-panel{max-width:560px;gap:12px}.dev-user{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 0}.dev-user div{padding:12px;border-radius:16px;border:1px solid var(--border);background:#ffffff05}.dev-user dt{margin-bottom:4px;color:var(--muted);font-size:.76rem}.dev-user dd{margin:0;overflow-wrap:anywhere;font-weight:600}.agent-login-form{display:grid;gap:10px}.agent-login-label{color:var(--muted);font-size:.78rem;font-weight:850}.agent-login-input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(48,224,198,.28);border-radius:16px;background:#ffffff0b;color:var(--text);font:inherit;font-weight:850;outline:none}.agent-login-input:focus{border-color:#30e0c6b8;box-shadow:0 0 0 3px #30e0c61f}.home-grid{display:flex;flex-direction:column;gap:var(--page-gap);min-height:calc(100dvh - var(--app-shell-top-space) - var(--app-shell-bottom-space));overflow:visible}.home-sticky{position:relative;z-index:2;flex:0 0 auto;display:grid;gap:var(--page-gap);padding-bottom:0;background:transparent}.month-toolbar,.month-chip,.day-log-head,.history-topline,.scale-head,.section-heading{display:flex;align-items:center;gap:12px}.month-toolbar,.history-topline,.scale-head,.section-heading,.day-log-head{justify-content:space-between}.month-arrow,.month-chip{min-height:44px;border-radius:16px;border:1px solid var(--border);background:#ffffff08;color:var(--text)}.month-arrow:hover,.month-chip:hover,.day-pill:hover,.state-mini:hover,.history-card:hover,.picker-option:hover,.nav-item:hover,.danger-button:hover{transform:translateY(-1px)}.month-arrow:active,.day-pill:active,.picker-option:active,.primary-cta:active,.secondary-button:active,.tag-chip:active,.analytics-filter-chip:active,.calendar-mode-button:active,.analytics-period-button:active,.analytics-view-button:active,.habit-template-card:active,.habit-frequency-main:active,.habit-status-dot:active,.fab-button:active,.nav-item:active,.picker-inline-trigger:active,.danger-button:active{transform:scale(.97);filter:brightness(1.04)}.month-arrow{width:42px;font-size:1.35rem;flex:0 0 auto}.month-chip{flex:1;justify-content:center;padding:0 14px;font-weight:600}.month-chip-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.month-chip-caret{color:var(--muted);font-size:.86rem}.month-arrow:disabled{opacity:.38;transform:none}.calendar-title-button{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;background:transparent;color:var(--text);font-size:1rem;font-weight:800}.calendar-title-button span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-picker-sheet{max-height:min(78dvh,560px)}.month-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:4px 0 18px}.month-picker-option{min-height:44px;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff09;color:#dbe6e1;font-size:.84rem;font-weight:800;text-align:center}.month-picker-option.active{border-color:#2dcf9f8c;background:#2dcf9f24;color:#effff9}.native-month-picker-input{position:fixed;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.day-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(74px,1fr);gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;scroll-snap-type:x proximity}.day-strip::-webkit-scrollbar{display:none}.streak-counter{min-height:60px;padding:10px 14px;border-radius:22px;border:1px solid rgba(40,230,214,.24);background:radial-gradient(circle at 15% 50%,rgba(40,230,214,.16),transparent 34%),linear-gradient(90deg,#18756b38,#10524e24);box-shadow:inset 0 0 0 1px #2dcf9f0f,0 18px 42px #0003;display:flex;align-items:center;justify-content:space-between;gap:12px}.streak-counter-main{display:flex;align-items:center;gap:12px;min-width:0}.streak-counter-icon{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#24fff0;background:radial-gradient(circle at 50% 42%,rgba(36,255,240,.22),rgba(45,207,159,.08) 58%,transparent 72%),#ffffff09;box-shadow:inset 0 0 0 1px #2dcf9f14,0 0 24px #24fff01f}.streak-counter-label{color:#c8dddc;font-size:.95rem;font-weight:700;white-space:nowrap}.streak-counter-value{color:#f6fffb;font-size:1.08rem;font-weight:900;white-space:nowrap;text-shadow:0 0 18px rgba(36,255,240,.22)}.today-habits-panel{display:grid;gap:10px;padding:14px;animation:card-rise var(--motion-normal) var(--ease-out) both;animation-delay:60ms}.today-habits-head,.habits-page-head,.habit-card-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.today-habits-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.today-habits-head h3,.today-habits-head p,.habits-page-head h2,.habits-page-head p{margin:0}.habit-progress{height:7px;overflow:hidden;border-radius:999px;background:#ffffff0f}.habit-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#46d77b,#2dcf9f)}.today-habit-list,.habits-list,.habits-sections,.habits-section,.habit-sheet-body,.habit-form{display:grid;gap:10px}.today-habit-row,.today-habit-empty,.habits-empty,.habit-card-main{width:100%;min-height:42px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border-radius:15px;border:1px solid rgba(255,255,255,.055);background:#ffffff09;color:var(--text);text-align:left}.today-habit-row{grid-template-columns:32px minmax(0,1fr) 28px}.today-habit-row.multi-count{grid-template-columns:32px minmax(0,1fr) minmax(108px,124px)}.today-habit-row.quit,.habit-card.quit{border-color:#ffb45224;background:#ffb45209}.habit-status-dot{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:999px;background:#ffffff0e;color:var(--muted);font-weight:900}.habit-toggle-button{cursor:pointer}.habit-toggle-button:disabled{cursor:default}.habit-status-indicator{cursor:default}.habit-toggle-button:not(:disabled):active{transform:scale(.94)}.habit-status-dot.done,.habit-status-dot.avoided{background:#2dcf9f24;color:#92f4cf}.habit-status-dot.craving{background:#ffb45224;color:#ffd08a}.habit-status-dot.relapse,.habit-status-dot.resumed{background:#ff7b7b1f;color:#ffadad}.habit-status-dot.skipped{background:#ffffff0b;color:#8b9892}.habit-status-dot.partial{background:#30e2c61a;color:#73e7cd}.today-habit-passive-status{justify-self:end;opacity:.72}.habit-row-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:12px;background:#2dcf9f1c;color:#92f4cf;box-shadow:inset 0 0 0 1px #2dcf9f14}.habit-row-icon.quit{background:#ffb4521c;color:#ffd08a;box-shadow:inset 0 0 0 1px #ffb45214}.today-habit-copy{display:grid;gap:2px;min-width:0}.today-habit-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.today-habit-meta,.today-habit-more{color:var(--muted);font-size:.76rem;font-weight:750}.today-habit-empty,.habits-empty{grid-template-columns:1fr;gap:3px;color:var(--text)}.today-habit-empty span,.habits-empty span{color:var(--muted);font-size:.82rem}.habits-empty-cta{color:var(--accent)!important;font-weight:850}.day-habits-card{display:grid;gap:10px}.day-habit-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;border-radius:15px;border:1px solid rgba(255,255,255,.05);background:#ffffff06}.day-habit-summary-strip span{min-width:0;display:grid;gap:1px;align-content:center;min-height:42px;padding:6px 5px;border-radius:12px;background:#ffffff09;color:var(--muted);font-size:.64rem;font-weight:800;text-align:center}.day-habit-summary-strip strong{color:var(--text);font-size:.92rem;line-height:1}.day-habit-summary-strip.done span:first-child,.day-habit-summary-strip.empty span:first-child{background:#2dcf9f1a}.day-habit-summary-strip.craving span:nth-child(3){background:#ffb4521a}.day-habit-summary-strip.relapse span:nth-child(2){background:#ff7b7b1a}.day-habit-summary-strip.skipped span:nth-child(4){background:#ffffff0f}.habit-log-chip{max-width:100%;overflow:hidden;padding:5px 8px;border-radius:999px;background:#ffffff0d;color:#dbe6e1;font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.habit-log-chip.done,.habit-log-chip.avoided{background:#2dcf9f1f;color:#d8fff1}.habit-log-chip.craving{background:#ffb45221;color:#ffe0a8}.habit-log-chip.relapse,.habit-log-chip.resumed{background:#ff7b7b1a;color:#ffc1c1}.day-habit-groups{display:grid;gap:10px}.day-habit-group{display:grid;gap:6px;padding:8px;border-radius:14px;background:#ffffff06}.day-habit-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;font-weight:850}.day-habit-group-title strong{min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#ffffff0e;color:var(--text);font-size:.68rem}.day-habit-group.done .day-habit-group-title strong{background:#2dcf9f24;color:var(--accent)}.day-habit-group.craving .day-habit-group-title strong{background:#ffb45224;color:#ffd389}.day-habit-group.relapse .day-habit-group-title strong{background:#ff7b7b1f;color:#ffc1c1}.day-pill{min-height:112px;padding:14px 8px 12px;border-radius:26px;border:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at 50% 55%,rgba(45,207,159,.08),transparent 50%),linear-gradient(180deg,#ffffff0b,#ffffff05);color:var(--text);display:grid;gap:10px;place-items:center;scroll-snap-align:center;box-shadow:inset 0 0 0 1px #ffffff04,0 12px 28px #00000029;transition:transform var(--dur-fast) var(--ease-soft),background-color var(--dur-med) var(--ease-soft),border-color var(--dur-med) var(--ease-soft),box-shadow var(--dur-med) var(--ease-soft)}.day-pill.active{border-color:#24fff0ad;background:radial-gradient(circle at 50% 58%,rgba(36,255,240,.18),transparent 54%),linear-gradient(180deg,#2dcf9f40,#2dcf9f13);box-shadow:inset 0 0 0 1px #24fff029,inset 0 22px 48px #24fff014,0 0 0 1px #24fff021,0 18px 42px #24fff029}.day-pill.disabled{opacity:.38}.day-weekday{color:#879795;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:0;transition:color var(--dur-med) var(--ease-soft)}.day-pill.active .day-weekday{color:#24fff0}.day-number{width:58px;height:58px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid rgba(45,207,159,.42);background:radial-gradient(circle at 50% 38%,#2dcf9f47,#2dcf9f1f 58%,#2dcf9f08);color:#f8fffd;font-size:1.45rem;font-weight:900;box-shadow:inset 0 -18px 28px #0000002e,0 0 0 3px #2dcf9f0a;transition:transform var(--motion-normal) var(--ease-spring),background-color var(--dur-med) var(--ease-soft),border-color var(--dur-med) var(--ease-soft),box-shadow var(--dur-med) var(--ease-soft),color var(--dur-fast) var(--ease-soft)}.day-number.has-entry{border-color:#2dcf9fb8;box-shadow:inset 0 -18px 28px #0000002e,0 0 0 3px #2dcf9f14;color:#e9fff6}.day-pill.active .day-number{transform:scale(1.04);border-color:#24fff0eb;background:radial-gradient(circle at 50% 40%,#24fff057,#2dcf9f26 58%,#2dcf9f0a);box-shadow:inset 0 -18px 28px #00000029,0 0 0 4px #24fff00f,0 0 24px #24fff04d}.state-preview{display:grid;gap:10px}.state-preview.compact-two{grid-template-columns:repeat(2,minmax(0,1fr))}.state-preview.compact-three{grid-template-columns:repeat(3,minmax(0,1fr))}.state-mini-button{padding:0;background:transparent;text-align:left}.history-panel>.section-heading{display:none}.history-panel{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden;height:100%;position:relative;padding-bottom:12px}.daylog-page{display:grid;gap:14px;min-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px));padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.daylog-page-header{display:flex;align-items:flex-start;gap:12px}.daylog-back{position:fixed;left:max(14px,calc((100vw - 720px)/2 + 14px));bottom:calc(82px + env(safe-area-inset-bottom,0px));z-index:12;min-width:88px;min-height:44px;box-shadow:0 14px 32px #00000057}.detail-page-header,.habit-detail-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:10px}.detail-page-header>div,.habit-detail-header>div:not(.today-habits-actions){min-width:0}.detail-page-header h2,.habit-detail-header h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-back-button,.detail-edit-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(36,255,240,.075);border-radius:15px;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.06),transparent 58%),#ffffff09;color:color-mix(in srgb,var(--text) 88%,var(--muted));box-shadow:inset 0 0 0 1px #ffffff05}.detail-back-button:active,.detail-edit-button:active{transform:scale(.96)}.daylog-back{display:none}.detail-page-subtitle{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-detail-panel{display:grid;gap:10px}.stats-period-strip-shell{position:relative;min-width:0;overflow:visible}.stats-period-strip-shell:before,.stats-period-strip-shell:after{content:"";position:absolute;top:4px;bottom:4px;z-index:3;width:22px;opacity:0;transition:opacity var(--motion-normal) var(--ease-soft);pointer-events:none}.stats-period-strip-shell:before{left:0;background:linear-gradient(90deg,#040f0d94,#040f0d00)}.stats-period-strip-shell:after{right:0;background:linear-gradient(270deg,#040f0d94,#040f0d00)}.stats-period-strip-shell.has-left-fade:before,.stats-period-strip-shell.has-right-fade:after{opacity:.4}.stats-period-strip{display:flex;gap:8px;min-width:0;overflow-x:auto;padding:4px 0 8px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.stats-period-strip::-webkit-scrollbar{display:none}.stats-period-item{flex:0 0 62px;min-height:58px;display:grid;align-content:center;justify-items:center;gap:4px;padding:8px 7px;border:0;border-radius:18px;background:radial-gradient(circle at 50% 20%,rgba(36,255,240,.04),transparent 54%),#ffffff07;color:var(--muted);scroll-snap-align:center;box-shadow:inset 0 0 0 1px #ffffff05}.stats-period-item.wide,.stats-period-item.month{flex-basis:84px}.stats-period-item span,.stats-period-item small{max-width:100%;overflow:hidden;font-size:.68rem;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.stats-period-item strong{max-width:100%;overflow:hidden;color:var(--text);font-size:1rem;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap}.stats-period-item.active{color:color-mix(in srgb,var(--accent) 74%,var(--text));background:radial-gradient(circle at 50% 44%,rgba(36,255,240,.22),transparent 58%),#2dcf9f13;box-shadow:inset 0 0 0 1px #24fff061,0 0 20px #24fff014}.stats-period-item.day.has-data:not(.active){position:relative;color:color-mix(in srgb,var(--accent) 48%,var(--muted));background:radial-gradient(circle at 50% 44%,rgba(45,207,159,.13),transparent 60%),#2dcf9f0b;box-shadow:inset 0 0 0 1px #2dcf9f38,0 0 16px #2dcf9f0e}.stats-period-item.day.has-data:not(.active):after{content:"";position:absolute;bottom:7px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #24fff08c;transform:translate(-50%)}.stats-period-item.day.has-data:not(.active) strong{color:var(--text)}.stats-period-item:disabled{opacity:.38}.stats-period-overview{cursor:default}.stats-breakdown-card{display:grid;gap:12px;padding:0;border-radius:0;background:transparent;box-shadow:none}.stats-breakdown-head,.stats-breakdown-row,.stats-breakdown-values,.stats-breakdown-label{min-width:0}.stats-breakdown-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stats-breakdown-head h3{margin:0;color:var(--text);font-size:1rem;line-height:1.05}.stats-breakdown-head p,.stats-breakdown-group-title,.stats-breakdown-label small{color:var(--muted);font-size:.74rem;font-weight:800}.stats-breakdown-columns{display:grid;gap:14px}.stats-breakdown-group{display:grid;gap:8px}.stats-breakdown-group-title{text-transform:uppercase;letter-spacing:.02em}.stats-breakdown-list{display:grid;gap:12px}.stats-breakdown-list.analytics-bars-list{gap:8px;min-height:0;align-content:start}.stats-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--text);text-align:left;box-shadow:none}.stats-breakdown-row.compact{min-height:42px;padding:8px 9px}.stats-breakdown-chart-row{grid-template-columns:minmax(48px,.62fr) minmax(116px,1.55fr) minmax(32px,auto);min-height:64px;gap:10px;background:transparent}.stats-breakdown-chart-row.compact{min-height:60px}.stats-breakdown-chart-row .stats-breakdown-label,.stats-breakdown-bars{align-self:center}.stats-breakdown-chart-row .analytics-soft-bar{height:18px}.stats-breakdown-chart-row .analytics-soft-bar.empty i{width:0;min-width:0;background:transparent;box-shadow:none;animation:none}.stats-breakdown-chart-row .analytics-soft-bar.empty .analytics-soft-bar-icon{display:none}.stats-breakdown-row.interactive{cursor:pointer;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft)}.stats-breakdown-row.interactive:active{transform:scale(.985)}.stats-breakdown-label{display:grid;gap:3px}.stats-breakdown-label strong{overflow:hidden;font-size:.86rem;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.stats-breakdown-values{display:grid;grid-template-columns:1fr;gap:6px;justify-content:end;color:var(--text);font-size:.8rem;font-weight:900;font-variant-numeric:tabular-nums}.stats-breakdown-values span{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.stats-breakdown-values svg{color:var(--accent)}@media(max-width:380px){.stats-breakdown-chart-row{grid-template-columns:minmax(42px,.52fr) minmax(96px,1.45fr) minmax(28px,auto);gap:8px;padding-inline:8px}.stats-breakdown-chart-row .analytics-soft-bar{height:17px}.stats-breakdown-values{font-size:.74rem}}.stats-entry-date{display:block;margin:0 0 -2px 4px;color:var(--muted);font-size:.72rem;font-weight:800}.daylog-empty{display:grid;gap:12px;align-content:start}.daylog-list{min-height:0;overflow:visible;padding-bottom:8px;-webkit-mask-image:none;mask-image:none}.day-context-card{display:grid;gap:10px;cursor:pointer}.day-context-card.expanded{border-color:#2dcf9f38;background:#2dcf9f0b}.day-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.day-context-head h3{margin:0 0 3px;font-size:.98rem}.day-context-head p,.day-context-empty,.day-context-insight{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.text-button.compact{min-height:30px;flex:0 0 auto;padding:4px 9px;border-radius:999px;border:1px solid rgba(45,207,159,.22);background:#2dcf9f14;color:var(--accent);font-size:.78rem;font-weight:800}.text-button.compact:disabled{opacity:.45}.day-context-chips{display:flex;flex-wrap:wrap;gap:6px}.day-context-chip{max-width:124px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:#ffffff0a;color:#dbe6e1;font-size:.72rem;font-weight:750;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-context-chip.top{border-color:#2dcf9f7a;background:#2dcf9f29;color:#effff9}.day-context-chip.repeated{border-color:#2dcf9f57;color:#d6f8ed}.day-context-chip.more{color:var(--muted);background:#ffffff09}.day-context-insight{color:#bdd8ce}.day-context-groups{display:grid;gap:10px;padding-top:2px}.day-context-group{display:grid;gap:7px}.day-context-group-title{color:var(--muted);font-size:.76rem;font-weight:800}.state-mini{padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.04);background:#ffffff08;transition:transform var(--dur-fast) var(--ease-soft),border-color var(--dur-med) var(--ease-soft),background-color var(--dur-med) var(--ease-soft),box-shadow var(--dur-med) var(--ease-soft)}.state-mini-title{display:block;margin-bottom:8px;color:var(--muted);font-size:.8rem}.state-mini-value{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:28px;font-weight:600;color:var(--text)}.period-summary{flex-basis:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin-top:6px;color:var(--muted);font-size:.72rem;font-weight:600}.period-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-mini-more{flex-basis:100%;margin-top:2px;color:color-mix(in srgb,var(--accent) 72%,var(--muted));font-size:.7rem;font-weight:850;line-height:1}.state-mini-value>span:not(.muted-value,.state-mini-more){color:var(--text)}.sleep-quality-mini .state-mini-value{align-items:baseline;gap:2px}.sleep-quality-num{font-size:1.55rem;font-weight:700;line-height:1;color:var(--text)}.sleep-quality-scale{font-size:.75rem;font-weight:600;color:var(--muted)}.sleep-quality-dots{display:flex;gap:4px;margin-top:2px}.sleep-dot{width:6px;height:6px;border-radius:50%;background:#ffffff24;transition:background-color var(--dur-fast) var(--ease-soft)}.sleep-dot.filled{background:#ffffff80}.sleep-chart-card{display:grid;gap:10px}.sleep-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sleep-chart-head h3{font-size:.9rem;font-weight:600;margin:0}.sleep-chart-head p{margin:0;font-size:.72rem;color:var(--muted)}.sleep-bars-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sleep-bars{display:flex;align-items:flex-end;gap:3px;height:90px;min-width:100%}.sleep-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:9px;max-width:22px;height:100%;gap:3px}.sleep-bar-col.selected .sleep-bar-fill{opacity:1;outline:2px solid rgba(255,255,255,.35);outline-offset:1px}.sleep-bar-col:not(.selected) .sleep-bar-fill{opacity:.72}.sleep-bar-track{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;background:#ffffff0d;border-radius:4px;overflow:hidden}.sleep-bar-fill{width:100%;border-radius:3px 3px 0 0;transition:height .3s var(--ease-soft)}.sleep-bar-empty{width:100%;height:3px;background:#ffffff14;border-radius:2px}.sleep-bar-label{font-size:.58rem;color:var(--muted);line-height:1;white-space:nowrap}.sleep-chart-legend{display:flex;gap:10px;flex-wrap:wrap}.sleep-chart-legend span{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--muted)}.sleep-chart-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.metric-slot{display:flex;flex-direction:column;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-fast) var(--ease-soft),background-color var(--dur-fast) var(--ease-soft)}.metric-slot.open{border-color:#ffffff1a;background:#ffffff0a}.metric-slot-head{display:flex;align-items:center;justify-content:space-between}.metric-slot-head .state-mini-title{margin-bottom:0}.metric-slot-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--muted);font-size:.82rem;font-weight:700;line-height:1;transition:background-color var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft)}.metric-slot:hover .metric-slot-toggle,.metric-slot.open .metric-slot-toggle{background:#ffffff17;color:var(--text)}.metric-slot-picker{display:flex;flex-wrap:wrap;gap:5px;padding-top:2px}.metric-slot-chip{padding:4px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft),border-color var(--dur-fast) var(--ease-soft)}.metric-slot-chip:hover{background:#ffffff0f;color:var(--text)}.metric-slot-chip.active{background:#ffffff1a;border-color:#ffffff38;color:var(--text)}.metric-sleep-value{font-size:1.5rem;font-weight:700;color:var(--text)}.muted-value,.muted-inline,.section-subtle,.day-log-head span{color:var(--muted)}.section-subtle,.day-log-head span{font-size:.82rem}.history-list,.day-log-body{display:grid;gap:10px}.history-list>*,.habits-list>*,.analytics-card,.analytics-summary-grid>*,.today-states>*,.day-strip>*{animation:card-rise var(--motion-normal) var(--ease-out) both}.history-list>*:nth-child(2),.habits-list>*:nth-child(2),.analytics-card:nth-of-type(2),.analytics-summary-grid>*:nth-child(2),.today-states>*:nth-child(2),.day-strip>*:nth-child(2){animation-delay:40ms}.history-list>*:nth-child(3),.habits-list>*:nth-child(3),.analytics-card:nth-of-type(3),.analytics-summary-grid>*:nth-child(3),.day-strip>*:nth-child(3){animation-delay:80ms}.history-list>*:nth-child(n+4),.habits-list>*:nth-child(n+4),.analytics-summary-grid>*:nth-child(n+4),.day-strip>*:nth-child(n+4){animation-delay:.12s}.history-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 4px 20px 0;align-content:start;-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 18px,black calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black 18px,black calc(100% - 28px),transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}.day-log-group{display:grid;gap:10px;padding:0;border:0;background:transparent}.day-log-head{display:none}.history-stack{display:block}.history-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;padding:12px;border-radius:20px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;transition:transform var(--dur-fast) var(--ease-soft),border-color var(--dur-med) var(--ease-soft),background-color var(--dur-med) var(--ease-soft),box-shadow var(--dur-med) var(--ease-soft)}.history-card.tappable{cursor:pointer}.history-card.tappable:hover{border-color:#2dcf9f2e;background:#ffffff08;box-shadow:0 12px 24px #0000002e}.history-media{display:grid;gap:8px;align-content:start}.history-bubbles{display:flex;gap:8px}.history-bubble{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.05);background:#ffffff08;transition:transform var(--dur-fast) var(--ease-soft),border-color var(--dur-med) var(--ease-soft),background-color var(--dur-med) var(--ease-soft)}.history-bubble.mood{background:linear-gradient(180deg,#57c27124,#ffffff08)}.history-bubble.energy{background:linear-gradient(180deg,#2dcf9f1f,#ffffff08)}.habit-event-card{border-color:#ffffff0f}.habit-event-card.craving{background:linear-gradient(135deg,#ffb4521a,#ffffff06);border-color:#ffb45229}.habit-event-card.relapse{background:linear-gradient(135deg,#ff7b7b1a,#ffffff06);border-color:#ff7b7b29}.habit-event-card.skipped{background:linear-gradient(135deg,#ffffff0f,#ffffff05)}.habit-event-media{justify-items:start}.habit-event-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:#ffffff09;color:var(--accent)}.habit-event-icon.craving{color:#ffcf82;background:#ffb4521f}.habit-event-icon.relapse{color:#ff9d9d;background:#ff7b7b1f}.habit-event-title{display:grid;gap:2px;min-width:0;margin-top:2px}.habit-event-title strong{min-width:0;overflow:hidden;color:var(--text);font-size:.96rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.habit-event-title span{color:var(--muted);font-size:.76rem;font-weight:800}.history-tag.habit-event-tag{background:#ffffff0f;color:#e5eee9}.history-caption{margin-bottom:0;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.2}.history-body{display:grid;gap:4px;align-content:start}.history-date-large,.history-time,.history-details{margin-bottom:0}.history-date-large{font-weight:700}.history-period{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.82rem;justify-self:end}.history-details{margin-top:2px;color:#d3ddd7;font-size:.9rem;line-height:1.4}.history-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.history-tag{max-width:96px;padding:3px 7px;border-radius:999px;background:#2dcf9f14;color:#c8f4e5;font-size:.68rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-tag.more{color:var(--muted);background:#ffffff0d}.history-emotions,.history-thoughts{margin:5px 0 0;color:var(--color-text-secondary);font-size:.76rem;font-weight:700;line-height:1.35}.history-emotions span,.history-thoughts span{color:#c8f4e5;font-weight:900}.history-weather-chip{width:max-content;max-width:100%;display:inline-flex;align-items:center;margin-top:6px;padding:4px 8px;border-radius:var(--radius-pill);border:1px solid rgba(45,207,159,.14);background:#2dcf9f12;color:var(--color-text-secondary);font-size:.7rem;font-weight:820;line-height:1.2}.history-actions{display:flex;gap:8px}.history-delete{display:none}.primary-cta,.secondary-button{min-height:50px;border-radius:16px;font-weight:700}.primary-cta{background:linear-gradient(180deg,#32d6a7,#1fb58a);color:#06110d;box-shadow:0 14px 26px #2dcf9f38}.primary-cta:hover{transform:translateY(-1px);box-shadow:0 18px 30px #2dcf9f47}.secondary-button{background:#ffffff0f;color:var(--text)}.fab-stack{position:fixed;right:max(18px,calc((100vw - min(100vw,720px))/2 + 18px));bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:25;display:grid;gap:12px}.fab-stack-left{right:auto;left:max(18px,calc((100vw - min(100vw,720px))/2 + 18px))}.fab-button{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(45,207,159,.38);background:linear-gradient(180deg,#18221efa,#0c1210fa);color:#bff8e5;font-size:1.8rem;line-height:1;box-shadow:0 18px 34px #2dcf9f42;animation:fab-float 3.2s ease-in-out infinite}.fab-button.mood-fab,.fab-button.habit-fab,.fab-button.habit-back-fab{background:linear-gradient(180deg,#32d6a7,#1fb58a);color:#07110d}.fab-button.habit-fab,.fab-button.habit-back-fab{font-size:1.45rem}.habit-detail-head-actions{display:none}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100%,720px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.05);background:#090d0beb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;isolation:isolate}.bottom-nav:before{content:"";position:absolute;z-index:0;top:8px;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:10px;width:calc((100% - 36px)/5);border-radius:16px;background:radial-gradient(circle at 50% 18%,rgba(45,207,159,.22),transparent 42%),#2dcf9f13;box-shadow:inset 0 0 0 1px #2dcf9f1c,0 10px 26px #2dcf9f1a;transform:translate(calc(var(--nav-active-index, 2) * (100% + 4px)));transition:transform var(--motion-slow) var(--ease-spring),opacity var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft);pointer-events:none}.bottom-nav:has(.nav-item:nth-child(1).active){--nav-active-index: 0}.bottom-nav:has(.nav-item:nth-child(2).active){--nav-active-index: 1}.bottom-nav:has(.nav-item:nth-child(3).active){--nav-active-index: 2}.bottom-nav:has(.nav-item:nth-child(4).active){--nav-active-index: 3}.bottom-nav:has(.nav-item:nth-child(5).active){--nav-active-index: 4}.nav-item{position:relative;z-index:1;min-height:56px;display:grid;gap:4px;place-items:center;border-radius:14px;background:transparent;color:#74817b;padding:6px 4px;transition:transform var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft),background-color var(--dur-fast) var(--ease-soft)}.nav-item.active{color:var(--accent);background:transparent}.nav-item.active .nav-icon{transform:translateY(-2px) scale(1.07)}.nav-item.active .nav-label{transform:translateY(-1px);color:#bff8e5}.nav-icon{display:grid;place-items:center;line-height:1;transition:transform var(--motion-normal) var(--ease-spring),color var(--motion-normal) var(--ease-soft)}.nav-label{font-size:.74rem;line-height:1.05;transition:transform var(--motion-normal) var(--ease-soft),color var(--motion-normal) var(--ease-soft)}.sheet-overlay{position:fixed;inset:0;z-index:60;display:grid;align-items:end;background:#03070694;animation:overlay-in var(--motion-normal) var(--ease-out);will-change:opacity}.sheet-shell{position:relative;animation:sheet-in var(--motion-slow) var(--ease-out);will-change:transform,opacity}.sheet{max-height:calc(92dvh - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;border-radius:28px 28px 0 0;border:1px solid rgba(255,255,255,.06);border-bottom:0;background:linear-gradient(180deg,#141b18,#0f1412);box-shadow:0 -24px 48px #0000006b;padding:12px 16px 0;transition:transform var(--dur-med) var(--ease-out);touch-action:pan-y}.sheet.is-dragging{transition:none;cursor:grabbing;-webkit-user-select:none;user-select:none}.sheet-grabber{width:44px;height:18px;margin:0 auto 8px;border-radius:999px;background:transparent;cursor:grab;touch-action:none;position:relative;transition:background-color var(--dur-fast) var(--ease-soft),transform var(--dur-fast) var(--ease-soft)}.sheet-grabber:before{content:"";position:absolute;left:0;right:0;top:6px;height:5px;border-radius:999px;background:#ffffff29}.sheet:hover .sheet-grabber{transform:translateY(1px)}.sheet:hover .sheet-grabber:before{background:#ffffff38}.sheet-header{display:grid;gap:6px;margin-bottom:14px}.sheet-form{display:grid;gap:16px;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}.checkin-wizard-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkin-wizard-progress button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.055);background:#ffffff0a;color:var(--color-text-secondary);font-size:.8rem;font-weight:850;transition:transform var(--motion-fast) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft)}.checkin-wizard-progress button.active{border-color:#2dcf9f52;background:#2dcf9f1f;color:#ecfff8;box-shadow:0 0 0 1px #2dcf9f1a,0 10px 22px #2dcf9f14}.checkin-wizard-progress button:active{transform:scale(.98)}.checkin-step-content{display:grid;gap:16px;animation:page-view-in var(--motion-normal) var(--ease-out) both}.checkin-step-number{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border-radius:999px;background:#fff1;color:inherit;font-size:.72rem}.checkin-wizard-progress button.active .checkin-step-number{background:#2dcf9f3d}.checkin-step-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkin-step-head{display:grid;gap:5px;padding:2px 0 0}.checkin-step-head>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.checkin-step-head h3{margin:0;color:var(--color-text);font-size:1rem;line-height:1.15}.checkin-step-head p{margin:0;color:var(--color-text-secondary);font-size:.82rem;line-height:1.34}.checkin-step-kicker{color:var(--color-accent);font-size:.7rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.tag-picker{display:grid;gap:12px}.tag-picker.has-floating-selection{padding-bottom:116px}.tag-picker-head,.tag-settings-head,.profile-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tag-picker-head p,.tag-settings-head p{margin-bottom:0;font-size:.82rem}.tag-category-list,.profile-category-list{display:grid;gap:10px}.tag-category-card,.profile-category-card{display:grid;gap:9px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.05);background:#ffffff06}.tag-category-title,.profile-tag-label{font-weight:700}.tag-chip-grid{display:flex;flex-wrap:wrap;gap:7px}.tag-chip{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:#ffffff0a;color:#dbe6e1;font-size:.82rem;font-weight:700}.tag-chip.active,.tag-chip.selected-chip{border-color:#2dcf9f85;background:#2dcf9f24;color:#ecfff8;transform:scale(1.02);box-shadow:0 0 0 1px #2dcf9f29,0 10px 24px #2dcf9f14}.tag-chip.add{min-width:34px;padding-inline:0;color:var(--accent)}.inline-tag-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.inline-tag-form input,.new-category-form input{min-height:42px;padding:9px 11px;border-radius:14px}.compact-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:13px}.selected-tags{display:grid;gap:8px}.selected-tags-label{color:var(--muted);font-size:.82rem}.habits-page{display:grid;gap:14px;padding:16px}.habit-heatmap-card{display:grid;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.055);background:#ffffff06}.habit-heatmap-head,.habit-heatmap-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.habit-heatmap-head h3,.habit-heatmap-head p{margin:0}.habit-heatmap-head strong{color:#92f4cf}.habit-heatmap-board{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:stretch}.habit-heatmap-weekdays{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));min-height:92px;color:var(--muted);font-size:.58rem;font-weight:850;line-height:1}.habit-heatmap-weekdays span{display:grid;align-items:center}.habit-heatmap-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-columns:minmax(9px,1fr);gap:4px;min-height:92px}.habit-heatmap-cell{width:100%;aspect-ratio:1;min-width:0;border-radius:4px;border:1px solid rgba(255,255,255,.035);background:#ffffff0b}.habit-heatmap-cell.positive.level-1{background:#2dcf9f33;border-color:#2dcf9f2e}.habit-heatmap-cell.positive.level-2{background:#2dcf9f5c;border-color:#2dcf9f3d}.habit-heatmap-cell.positive.level-3{background:#2dcf9f8c;border-color:#2dcf9f52}.habit-heatmap-cell.positive.level-4{background:#2dcf9f;border-color:#8bffda9e}.habit-heatmap-cell.craving{background:#ffb4526b;border-color:#ffd38957}.habit-heatmap-cell.relapse{background:#ff7b7b75;border-color:#ffabab5c}.habit-heatmap-cell.skipped{background:#ffffff14}.habit-heatmap-summary{justify-content:flex-start;color:var(--muted);font-size:.76rem;font-weight:750}.habit-heatmap-legend{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.68rem;font-weight:780}.habit-heatmap-legend .habit-heatmap-cell{width:10px;height:10px;min-width:10px}.habit-activity-calendar{display:grid;gap:10px;width:100%;min-width:0;padding:12px;border-radius:var(--radius-lg);border:1px solid rgba(45,207,159,.12);background:radial-gradient(circle at 14% 0%,rgba(45,207,159,.11),transparent 42%),#ffffff09;overflow:hidden}.habit-activity-calendar .habit-heatmap-head{gap:6px}.habit-activity-calendar .habit-heatmap-head h3{font-size:.9rem;line-height:1.1}.habit-activity-calendar .habit-heatmap-head p{font-size:.72rem;line-height:1.2}.habit-activity-calendar .habit-heatmap-head strong{font-size:.88rem}.habit-activity-calendar .habit-heatmap-summary{gap:6px 8px;font-size:.68rem;line-height:1.2}.habit-activity-scale-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);min-width:0;padding:3px;border-radius:var(--radius-xl);background:#ffffff0b}.habit-activity-scale-switch button{min-width:0;min-height:30px;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-muted);font-size:.72rem;font-weight:900}.habit-activity-scale-switch button.active{background:radial-gradient(circle at 50% 0%,rgba(45,239,213,.2),transparent 62%),#2dcf9f1f;color:var(--color-accent);box-shadow:inset 0 0 0 1px #2dcf9f47}.habit-activity-grid{display:grid;width:100%;min-width:0;gap:5px;align-items:center;justify-content:center}.habit-activity-grid.day-scale{grid-template-columns:repeat(7,minmax(24px,30px))}.habit-activity-grid.week-scale,.habit-activity-grid.month-scale{grid-template-columns:repeat(4,minmax(42px,52px))}.habit-activity-weekdays{display:grid;grid-template-columns:repeat(7,minmax(24px,30px));justify-content:center;gap:5px;color:var(--color-text-muted);font-size:.58rem;font-weight:900;text-align:center;text-transform:uppercase}.habit-activity-cell{position:relative;min-width:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);font-weight:900;box-sizing:border-box;aspect-ratio:1;min-height:0;padding:0;display:grid;place-items:center;text-align:center;isolation:isolate;transition:transform var(--motion-fast) var(--ease-out),filter var(--motion-fast) var(--ease-out)}.habit-activity-cell.blank{pointer-events:none;visibility:hidden}.habit-activity-cell span,.habit-activity-cell strong{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-activity-ring{position:absolute;inset:1px;z-index:0;border-radius:50%;background:var(--habit-activity-ring, rgba(255, 255, 255, .08));box-shadow:0 0 8px var(--habit-activity-glow, transparent);-webkit-mask:radial-gradient(circle,transparent 50%,#000 53%);mask:radial-gradient(circle,transparent 50%,#000 53%)}.habit-activity-core{position:relative;z-index:1;display:grid;place-items:center;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%;background:radial-gradient(circle at 50% 0%,rgba(45,239,213,.08),transparent 58%),#03110ee6;box-shadow:inset 0 0 0 1px #ffffff09}.habit-activity-date{color:var(--color-text);font-size:clamp(.58rem,2.2vw,.72rem);line-height:1}.habit-activity-cell strong{color:var(--color-text);font-size:.48rem;line-height:1}.habit-activity-cell:active{transform:scale(.96)}.habit-activity-cell.done{color:#a5f8da}.habit-activity-cell.partial{color:#d9f77d}.habit-activity-cell.skipped{color:#ffe29a}.habit-activity-cell.craving{color:#ffd08a}.habit-activity-cell.relapse{color:#ffb5b5}.habit-activity-cell.empty .habit-activity-ring{opacity:.48}.habit-activity-cell.selected{filter:drop-shadow(0 0 9px rgba(45,239,213,.28))}.habit-activity-cell.selected .habit-activity-core{box-shadow:inset 0 0 0 1px #2defd58c,0 0 0 2px #2defd524}.habit-activity-summary{display:grid;gap:6px;padding:10px;border-radius:var(--radius-lg);background:#0000002e;color:var(--color-text-secondary)}.habit-activity-summary>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.habit-activity-summary strong{min-width:0;color:var(--color-text)}.habit-activity-summary span{flex:0 0 auto;color:var(--color-accent);font-weight:950}.habit-activity-summary p{margin:0;font-size:.76rem;line-height:1.35}.habit-activity-summary-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.habit-activity-summary button{justify-self:start;min-height:30px;padding:0 10px;border:1px solid rgba(45,207,159,.2);border-radius:var(--radius-pill);background:#2dcf9f14;color:var(--color-accent);font-weight:900}.habit-activity-summary button.primary{background:linear-gradient(135deg,#2defd538,#2dcf9f1f);border-color:#2defd55c;color:var(--color-text)}.habit-card{display:grid;gap:7px;padding:9px;border-radius:18px;border:1px solid rgba(255,255,255,.055);background:#ffffff06;cursor:pointer}.habit-card:focus-visible{outline:2px solid rgba(45,207,159,.62);outline-offset:2px}.habit-detail-card{display:grid;gap:12px;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.055);background:#ffffff06}.habit-overview-card{display:grid;gap:10px;padding:12px;border-radius:18px;border:1px solid rgba(45,207,159,.13);background:linear-gradient(180deg,#2dcf9f0f,#ffffff06)}.habit-overview-card.quit{border-color:#ffb45224}.habit-overview-main{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border-radius:15px;background:#ffffff09}.habit-overview-main strong,.habit-overview-main small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-overview-main small{color:var(--muted);font-size:.78rem;font-weight:760}.habit-page-state-chip{max-width:118px;overflow:hidden;padding:6px 8px;border-radius:999px;background:#ffffff0e;color:var(--muted);font-size:.68rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.habit-page-state-chip.done,.habit-page-state-chip.avoided,.habit-page-state-chip.empty{background:#2dcf9f1f;color:var(--accent)}.habit-page-state-chip.skipped,.habit-page-state-chip.archived{background:#ffb4521a;color:#ffd389}.habit-page-state-chip.relapse,.habit-page-state-chip.resumed,.habit-page-state-chip.craving{background:#ff7b7b1a;color:#ffc1c1}.habit-page-meta-strip,.habit-section-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;font-weight:820}.habit-page-meta-strip{flex-wrap:wrap}.habit-page-meta-strip span{min-width:0;display:inline-flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-section-label span{color:var(--text);font-size:.86rem;font-weight:900}.habit-section-label small{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.habit-page-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.habit-page-stats span{min-width:0;display:grid;gap:1px;align-content:center;min-height:48px;padding:7px 6px;border-radius:14px;background:#2dcf9f14;color:var(--text);text-align:center}.habit-page-stats strong{font-size:.92rem;line-height:1.05}.habit-page-stats small{min-width:0;overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.habit-page-actions{display:flex;flex-wrap:wrap;gap:7px}.habit-primary-actions{padding:6px;border-radius:16px;background:#ffffff08}.habit-detail-action-entry{width:100%;margin-top:8px}.habit-history-legend,.day-habit-legend{margin:8px 0}.habit-page-actions .compact-button{min-height:38px;flex:1 1 120px}.habit-management-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.habit-management-actions .compact-button{min-height:36px;border-radius:14px;font-size:.78rem}.habit-detail-management{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 0 16px}.habit-detail-management .compact-button{min-height:42px;border-radius:15px}.habit-page-actions .compact-button.active,.habit-action-grid .secondary-button.active{border-color:#2dcf9f52;background:#2dcf9f24;color:var(--accent)}.habit-state-note,.habit-quit-guide{display:grid;gap:7px;padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff09}.habit-state-note strong,.habit-quit-guide strong{font-size:.78rem}.habit-state-note span,.habit-quit-guide span{color:var(--muted);font-size:.74rem;line-height:1.35}.habit-state-note.archived{border-color:#ffb45229;background:#ffb45212}.habit-quit-guide{grid-template-columns:repeat(3,minmax(0,1fr))}.habit-quit-guide div{min-width:0;display:grid;gap:3px}.habit-overview-card .habit-template-warning{width:fit-content;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,123,123,.12);background:#ff7b7b14;color:#ffc1c1;font-size:.72rem;font-weight:850}.habit-card.archived{opacity:.72}.habit-card-main{grid-template-columns:30px minmax(0,1fr)}.habit-card-main strong,.habit-card-main small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-card-main small,.habit-card-actions{color:var(--muted);font-size:.78rem;font-weight:700;flex-wrap:wrap}.habits-archive-title{margin:6px 0 0;color:var(--muted);font-size:.92rem}.habit-history-list{display:grid;gap:8px}.habit-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.055);background:#ffffff09;color:var(--muted)}.habit-history-row strong{color:var(--text)}.habit-sheet{display:grid;gap:12px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.habit-sheet-actions,.habit-action-grid,.habit-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.habit-action-wide{width:100%}.habit-parent-links{display:grid;gap:8px}.habit-parent-chips{display:flex;flex-wrap:wrap;gap:6px}.habit-form{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}.habit-edit-form{gap:var(--space-3)}.habit-edit-section{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-lg);background:#ffffff07}.habit-edit-section h3{margin:0;font-size:.98rem}.habit-edit-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.habit-edit-readonly-grid span{min-width:0;display:grid;gap:3px;padding:var(--space-2);border-radius:var(--radius-md);background:#ffffff0a}.habit-edit-readonly-grid small{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.habit-edit-readonly-grid strong{min-width:0;overflow:hidden;color:var(--color-text);font-size:.9rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.habit-page-meta-strip .achievement-badge{flex:1 1 100%}.habit-achievement-next{color:var(--color-accent)!important}.habit-edit-actions{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.habit-wizard-status{display:grid;gap:2px;margin:0 0 var(--space-2)}.habit-wizard-status span{color:var(--color-text-muted);font-size:.78rem;font-weight:850}.habit-wizard-status strong{color:var(--color-text);font-size:1rem;font-weight:950}.habit-wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.habit-wizard-progress span{height:5px;overflow:hidden;border-radius:999px;background:#ffffff14;color:transparent}.habit-wizard-progress span.active{background:linear-gradient(90deg,#32d6a7,#7af6d0)}.habit-wizard-steps{gap:var(--space-2);margin-bottom:var(--space-3)}.habit-wizard-steps button{min-width:0;min-height:30px;display:grid;place-items:center;padding:4px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-pill);background:#ffffff09;color:var(--muted);font-weight:850}.habit-wizard-steps button.active{border-color:#24fff052;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.18),transparent 56%),#24fff014;color:var(--accent)}.habit-wizard-steps button.done{color:#ebfffab8}.habit-wizard-steps button:disabled{opacity:.58}.habit-wizard-progress.habit-wizard-steps span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#24fff014;color:currentColor;font-size:.72rem}.habit-template-list{display:grid;gap:10px;overflow:visible}.habit-template-list h3{margin:2px 0}.habit-template-card{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:5px 10px;align-items:center;padding:11px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:#ffffff09;color:var(--text);text-align:left}.habit-template-card.quit{border-color:#ffb45229}.habit-template-card.active{border-color:#2dcf9f5c;background:#2dcf9f1a}.habit-template-card strong,.habit-template-card small,.habit-template-card em{grid-column:2;min-width:0}.habit-template-card small,.habit-template-card em{color:var(--muted);font-size:.78rem;font-style:normal}.habit-direction-list .habit-template-card small,.habit-direction-list .habit-template-card em,.habit-template-card em{display:none}.habits-page-head>div>p.muted:not(.habit-compact-meta),.habit-card-main small:not(.habit-compact-meta){display:none}.habit-card-main small.habit-compact-meta{display:block}.habit-title-with-icon{display:grid!important;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px;min-width:0;max-width:100%}.habit-title-with-icon .app-icon{flex:0 0 auto;color:var(--accent)}.habit-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-state-note span{display:none}.habit-number-control{display:grid;gap:12px;padding-top:2px}.habit-stepper button{min-height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:#ffffff0b;color:var(--text);font-weight:850;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft),color var(--motion-normal) var(--ease-soft)}.habit-stepper button:active{transform:scale(.96);border-color:#2dcf9f73;background:#2dcf9f24;color:var(--accent)}.habit-stepper{display:grid;grid-template-columns:38px minmax(46px,74px) 38px;align-items:center;gap:8px;justify-content:start}.habit-number-strip{position:relative;display:grid;width:clamp(104px,30vw,138px);min-height:42px;gap:6px;justify-content:stretch}.number-swipe-strip{position:relative;width:100%;min-width:0;height:42px;overflow:hidden;border-radius:16px;border:1px solid rgba(45,207,159,.2);background:linear-gradient(90deg,#2dcf9f14,#65ffe209),#030d0b85;box-shadow:inset 0 0 0 1px #ffffff06}.number-swipe-strip:before,.number-swipe-strip:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:22px;pointer-events:none}.number-swipe-strip:before{left:0;background:linear-gradient(90deg,#030d0bf0,#030d0b00)}.number-swipe-strip:after{right:0;background:linear-gradient(270deg,#030d0bf0,#030d0b00)}.number-swipe-center{position:absolute;z-index:1;left:50%;top:5px;bottom:5px;width:42px;border-radius:13px;border:1px solid rgba(45,207,159,.22);background:#2dcf9f21;transform:translate(-50%);pointer-events:none}.number-swipe-track{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:5px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;cursor:grab;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none}.number-swipe-track:active{cursor:grabbing}.number-swipe-track::-webkit-scrollbar{display:none}.number-swipe-spacer{flex:0 0 calc(50% - 21px);height:1px}.number-swipe-track button{flex:0 0 34px;height:32px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:color-mix(in srgb,var(--text) 62%,var(--muted));font-size:.78rem;font-weight:900;font-variant-numeric:tabular-nums;scroll-snap-align:center;-webkit-user-select:none;user-select:none;transition:color var(--motion-fast) var(--ease-soft),transform var(--motion-fast) var(--ease-soft),background-color var(--motion-fast) var(--ease-soft)}.number-swipe-track button.active{color:var(--text);background:#2dcf9f33;transform:scale(1.06)}.number-swipe-strip.compact{width:108px;height:34px;border-radius:999px}.number-swipe-strip.compact:before,.number-swipe-strip.compact:after{width:14px}.number-swipe-strip.compact .number-swipe-center{top:4px;bottom:4px;width:30px;border-radius:999px}.number-swipe-strip.compact .number-swipe-track{gap:3px}.number-swipe-strip.compact .number-swipe-spacer{flex-basis:calc(50% - 15px)}.number-swipe-strip.compact .number-swipe-track button{flex-basis:27px;height:26px;font-size:.68rem}.number-swipe-strip.disabled{opacity:.48;pointer-events:none}.habit-stepper strong,.habit-stepper input{display:grid;min-height:42px;place-items:center;border-radius:15px;border:1px solid rgba(45,207,159,.18);background:linear-gradient(180deg,#2dcf9f1f,#2dcf9f0e);color:var(--text);box-shadow:inset 0 0 0 1px #ffffff06;transition:border-color var(--motion-normal) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft)}.habit-stepper input{width:100%;text-align:center;font:inherit;font-weight:900;outline:none}.habit-number-strip .habit-number-strip-range{position:absolute;inset:0;z-index:2;width:100%;min-height:42px;opacity:0;cursor:ew-resize}.habit-number-strip .habit-number-strip-value{position:relative;z-index:4;width:100%;justify-self:center;pointer-events:auto;min-height:36px}.habit-counter-strip{width:112px;min-width:108px;display:grid;grid-template-columns:1fr;align-items:center;gap:0;padding:2px}.habit-count-unit-control{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:8px;min-width:0}.habit-count-unit-control .habit-number-control{min-width:0}.habit-count-unit-control select{min-height:42px;width:100%;min-width:0;border-radius:14px;border:1px solid rgba(45,207,159,.18);background:#030d0bb8;color:var(--text);font-weight:900;outline:none}.habit-quick-action-segment{grid-template-columns:repeat(3,minmax(0,1fr));--segment-count: 3}.habit-quick-action-time{margin-top:8px}.habit-count-unit-control>small{min-width:max-content;color:var(--muted);font-weight:850}.habit-custom-unit-field{grid-column:1 / -1}@media(max-width:430px){.habit-count-unit-control{grid-template-columns:max-content minmax(0,1fr)}.habit-count-unit-control>small{grid-column:1 / -1;justify-self:end;margin-top:-2px}}@media(max-width:370px){.habit-count-unit-control{grid-template-columns:minmax(0,1fr)}.habit-count-unit-control .habit-number-control,.habit-count-unit-control .number-swipe-strip{justify-self:start}.habit-count-unit-control>small{justify-self:start}}.habit-config-row{display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:8px;color:var(--text);font-weight:900}.habit-config-row>span,.habit-period-inline{color:var(--muted);font-size:.82rem;font-weight:900}.habit-config-row input{width:100%;min-height:44px;border-radius:14px;border:1px solid rgba(45,207,159,.18);background:#00000052;color:var(--text);padding:0 12px;font:inherit;font-weight:850;outline:none}.picker-inline.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.habit-config-reminders,.habit-advanced-settings{display:grid;gap:10px}.habit-advanced-toggle{justify-self:start}.habit-legacy-config-hidden,.hidden-picker-inline{display:none}.habit-range{width:100%;height:34px;margin:0;accent-color:var(--accent);background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-x}.habit-range::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(45,207,159,.9) 0 var(--range-progress, 0%),rgba(255,255,255,.07) var(--range-progress, 0%) 100%);box-shadow:inset 0 0 0 1px #ffffff09,0 8px 18px #0000002e;transition:background var(--motion-normal) var(--ease-soft)}.habit-range::-webkit-slider-thumb{width:30px;height:30px;margin-top:-10px;border-radius:999px;border:3px solid #0c1713;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.48),transparent 26%),var(--accent);box-shadow:0 0 0 6px #2dcf9f1f,0 8px 22px #00000057;transition:transform var(--motion-fast) var(--ease-spring),box-shadow var(--motion-normal) var(--ease-soft);-webkit-appearance:none}.habit-range:active::-webkit-slider-thumb{transform:scale(1.08);box-shadow:0 0 0 9px #2dcf9f2e,0 10px 26px #0000005c}.habit-range::-moz-range-track{height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(45,207,159,.9) 0 var(--range-progress, 0%),rgba(255,255,255,.07) var(--range-progress, 0%) 100%);box-shadow:inset 0 0 0 1px #ffffff09,0 8px 18px #0000002e}.habit-range::-moz-range-thumb{width:28px;height:28px;border-radius:999px;border:3px solid #0c1713;background:var(--accent);box-shadow:0 0 0 6px #2dcf9f1f,0 8px 22px #00000057;transition:transform var(--motion-fast) var(--ease-spring),box-shadow var(--motion-normal) var(--ease-soft)}.habit-range:active::-moz-range-thumb{transform:scale(1.08);box-shadow:0 0 0 9px #2dcf9f2e,0 10px 26px #0000005c}.habit-frequency-list{display:grid;gap:8px}.habit-frequency-card{display:grid;gap:8px;padding:9px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:#ffffff09}.habit-frequency-card.active{border-color:#2dcf9f57;background:#2dcf9f16}.habit-frequency-metric-card{display:grid;gap:9px;padding:10px;border-radius:18px;border:1px solid rgba(45,207,159,.24);background:linear-gradient(135deg,#2dcf9f1a,#2dcf9f09),#ffffff09}.habit-frequency-metric-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.habit-frequency-metric-head span{min-width:0;display:grid;gap:2px}.habit-frequency-metric-head strong{font-size:.86rem;font-weight:900}.habit-frequency-metric-head small{color:var(--muted);font-size:.74rem;font-weight:800}.habit-frequency-unit-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.habit-select.compact,.note-field.compact{gap:5px}.habit-select.compact span,.note-field.compact span{color:var(--muted);font-size:.74rem;font-weight:850}.habit-select.compact select,.note-field.compact input{min-height:36px;border-radius:12px;font-size:.86rem}.habit-default-toggle{min-height:58px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.habit-default-toggle.active{border-color:#2dcf9f4d;background:#2dcf9f13}.habit-default-toggle input{width:18px;height:18px;accent-color:var(--accent)}.habit-default-toggle span{display:grid;gap:3px;min-width:0}.habit-default-toggle strong{color:var(--text);font-size:.86rem;font-weight:900}.habit-default-toggle small{color:var(--muted);font-size:.72rem;font-weight:760;line-height:1.25}.habit-frequency-main{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);gap:4px 10px;align-items:center;padding:0;border:0;background:transparent;color:var(--text);text-align:left}.habit-frequency-main strong{min-width:0;font-size:.92rem}.habit-frequency-main small{min-width:0;max-width:100%;color:var(--muted);font-size:.76rem;font-weight:780;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:430px){.habit-frequency-main{grid-template-columns:minmax(0,1fr)}.habit-frequency-main small{text-align:left}}.habit-frequency-control{display:grid;gap:7px;padding-top:2px}.habit-frequency-control>span{color:var(--muted);font-size:.76rem;font-weight:850}.habit-weekday-target-control{padding-top:8px}.habit-weekday-target-control small{color:var(--muted);font-size:.72rem;font-weight:780}.habit-weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.habit-weekday-picker button{min-height:34px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff0a;color:var(--muted);font-size:.75rem;font-weight:850}.habit-weekday-picker button.active{border-color:#2dcf9f5c;background:#2dcf9f21;color:var(--accent)}.habit-confirm-card{display:grid;gap:8px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:#ffffff0a}.habit-confirm-card strong{font-size:1rem}.habit-confirm-card span{width:fit-content;padding:7px 10px;border-radius:999px;background:#2dcf9f1a;color:var(--accent);font-weight:850}.danger-cta{background:linear-gradient(135deg,#ff7b7b,#ff9f7b);color:#160807}.habit-template-icon{grid-row:1 / span 3;width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#2dcf9f1f;color:#92f4cf;font-weight:900}.habit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.habit-metrics-preview,.habit-template-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.habit-metrics-preview span,.habit-template-stats span{min-height:25px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 7px;border-radius:999px;background:#2dcf9f14;color:#dffbf2;font-size:.7rem;font-weight:800;white-space:nowrap}.habit-template-stats .habit-template-warning{grid-column:1 / -1;justify-content:flex-start;border:1px solid rgba(255,123,123,.12);background:#ff7b7b14;color:#ffc1c1}.habit-milestone{grid-column:1 / -1;display:grid;gap:5px;padding:7px 8px;border-radius:12px;background:#ffffff09;border:1px solid rgba(45,207,159,.1)}.habit-milestone.paused{border-color:#ff7b7b1f}.habit-milestone.paused .habit-milestone-bar span{background:#ff7b7b7a}.habit-milestone>div:first-child{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;font-weight:850}.habit-milestone>div:first-child strong{color:#92f4cf}.habit-milestone-bar{height:6px;overflow:hidden;border-radius:999px;background:#ffffff12}.habit-milestone-bar span{display:block;height:100%;min-height:0;padding:0;border-radius:inherit;background:linear-gradient(90deg,#2dcf9f,#7af6d0)}.habit-milestone small{color:var(--muted);font-size:.68rem;font-weight:750}.habit-goal-note{display:grid;gap:5px;padding:11px 12px;border-radius:15px;border:1px solid rgba(45,207,159,.14);background:#2dcf9f11}.habit-goal-note strong{color:var(--text);font-size:.9rem}.habit-goal-note small{color:var(--muted);font-size:.76rem;line-height:1.35}.habit-segment,.habit-weekday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border-radius:16px;background:#ffffff07}.habit-weekday-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.habit-segment button,.habit-weekday-grid button{min-height:34px;border-radius:12px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:850}.habit-segment button.active,.habit-weekday-grid button.active{background:#2dcf9f21;color:var(--accent);box-shadow:inset 0 0 0 1px #2dcf9f38}.habit-select{display:grid;gap:8px;color:var(--text);font-weight:800}.habit-select select{min-height:44px;border-radius:14px;border:1px solid var(--border);background:#0e1311;color:var(--text);padding:0 12px;font:inherit}.habit-picker-field{position:relative;display:grid;gap:8px;min-width:0;color:var(--text);font-weight:800}.habit-picker-field>span{color:var(--text);font-size:.9rem;font-weight:900}.habit-picker-field>small{color:var(--muted);font-size:.72rem;font-weight:760;line-height:1.3}.habit-picker-button{width:100%;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 12px;border-radius:14px;border:1px solid rgba(45,207,159,.16);background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.06),transparent 58%),#ffffff09;color:var(--text);font:inherit;font-size:.9rem;font-weight:900;text-align:left}.habit-picker-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-picker-button strong{min-width:25px;padding:3px 7px;border-radius:999px;background:#ffffff0e;color:var(--muted);font-size:.7rem;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}.habit-picker-button svg{color:var(--muted);transition:transform var(--dur-fast) var(--ease-soft)}.habit-picker-field.open .habit-picker-button svg{transform:rotate(180deg)}.habit-picker-button.active{border-color:#2dcf9f57;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.1),transparent 58%),#2dcf9f0f}.habit-picker-button.active strong{background:#2dcf9f21;color:var(--accent)}.habit-picker-panel{display:grid;gap:6px;max-height:190px;overflow:auto;padding:8px;border-radius:16px;border:1px solid rgba(45,207,159,.16);background:radial-gradient(circle at 80% 0%,rgba(36,255,240,.07),transparent 48%),linear-gradient(180deg,#ffffff0b,#ffffff05),#0c1512;box-shadow:0 16px 34px #0000003d;animation:panel-in var(--dur-med) var(--ease-out)}.habit-picker-option{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:8px;padding:0 10px;border-radius:12px;background:#ffffff09;color:var(--text);font-size:.82rem;font-weight:860;text-align:left;box-shadow:inset 0 0 0 1px #ffffff0b}.habit-picker-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-picker-option i{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#ffffff0e;color:transparent;font-style:normal;font-size:.76rem;font-weight:950}.habit-picker-option.active{color:var(--accent);background:#2dcf9f1a;box-shadow:inset 0 0 0 1px #2dcf9f38}.habit-picker-option.active i{background:#2dcf9f2e;color:var(--accent)}.habit-action-date-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.habit-action-date-chip{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);font-size:.82rem;cursor:pointer;transition:border-color .15s;white-space:nowrap}.habit-action-date-chip:hover{border-color:var(--color-accent)}.habit-action-date-reset{padding:5px 10px;border-radius:20px;border:none;background:none;color:var(--color-accent);font-size:.78rem;cursor:pointer;white-space:nowrap}.habit-action-title{display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:#2dcf9f14}.habit-action-title.quit{background:#ffb45214}.soft-danger{background:#ff7b7b1c;color:#ffc1c1}.craving-level{display:grid;gap:8px;font-weight:800}.habit-action-date-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0}.habit-action-date-picker .picker-inline-trigger{min-height:52px;display:grid;align-content:center;gap:3px;padding:10px 12px;border:1px solid rgba(45,207,159,.16);border-radius:var(--radius-lg);background:#ffffff09;text-align:left}.habit-action-date-picker .picker-inline-trigger.time{text-align:left}.habit-action-date-picker .picker-label{display:block;color:var(--color-text-muted);font-size:.68rem;line-height:1}.habit-action-state-card{display:grid;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xl);background:#ffffff09}.habit-action-scale{display:grid;gap:8px;min-width:0;padding:0;margin:0;border:0}.habit-action-scale-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.habit-action-scale-row button{min-width:0;min-height:40px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:#ffffff09;color:var(--accent, var(--color-text-muted))}.habit-action-scale-row button.active{border-color:color-mix(in srgb,var(--accent, #2dcf9f) 64%,transparent);background:color-mix(in srgb,var(--accent, #2dcf9f) 18%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--accent, #2dcf9f) 16%,transparent)}.craving-symptom-picker{display:grid;gap:var(--space-2)}.craving-symptom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.craving-symptom-chip{min-width:0;min-height:52px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-lg);background:#ffffff09;color:var(--color-text-secondary);text-align:left;font:inherit}.craving-symptom-chip.active{border-color:#ffb4526b;background:#ffb45221;color:var(--color-text);box-shadow:0 0 18px #ffb4521a}.craving-symptom-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:#ffb4521c;color:#ffd389}.craving-symptom-chip span:last-child{min-width:0;display:grid;gap:2px}.craving-symptom-chip strong,.craving-symptom-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.craving-symptom-chip strong{font-size:.78rem;font-weight:900}.craving-symptom-chip small{color:var(--color-text-muted);font-size:.64rem;font-weight:820}.craving-symptom-note{margin:0;color:var(--color-text-muted);font-size:.72rem;line-height:1.35}.habit-trigger-list{display:grid;gap:10px;margin-top:2px;padding:10px;border-radius:18px;border:1px solid rgba(45,207,159,.12);background:#2dcf9f0b;overflow:visible}.habit-trigger-card{padding:9px;background:#ffffff09}.habit-trigger-empty{margin:0;color:var(--color-text-muted);font-size:.78rem;font-weight:760;line-height:1.35}.habit-analytics-summary{margin:0;padding:10px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.055);background:#ffffff09;color:var(--muted);font-size:.78rem;font-weight:760;line-height:1.35}.habit-analytics-summary.done{border-color:#2dcf9f24;background:#2dcf9f12}.habit-analytics-summary.craving{border-color:#ffb45224;background:#ffb45212}.habit-analytics-summary.relapse{border-color:#ff7b7b21;background:#ff7b7b12}.habit-analytics-grid span{display:grid;gap:2px;min-height:42px;padding:9px 10px;border-radius:14px;background:#ffffff09;color:var(--muted);font-size:.78rem;font-weight:800}.habit-analytics-grid strong{color:var(--text);font-size:1.08rem;line-height:1}.habit-analytics-grid small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-analytics-grid .positive{background:#2dcf9f1a}.habit-analytics-grid .craving{background:#ffb4521a}.habit-analytics-grid .relapse,.habit-analytics-grid .resumed{background:#ff7b7b17}.habit-analytics-grid .skipped{background:#ffffff0d}.habit-dynamics{display:grid;gap:9px;padding:10px;border-radius:16px;background:#ffffff06;border:1px solid rgba(255,255,255,.055)}.habit-dynamics-head,.habit-dynamics-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;font-weight:850}.habit-dynamics-head span{color:var(--text);font-size:.82rem}.habit-dynamics-bars{height:74px;display:flex;align-items:end;gap:3px;overflow:hidden}.habit-dynamics-labels{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.64rem;font-weight:800}.habit-dynamics-day{flex:1 1 0;min-width:3px;height:100%;display:flex;flex-direction:column-reverse;overflow:hidden;border-radius:999px 999px 5px 5px;background:#ffffff09}.habit-dynamics-day.active{box-shadow:inset 0 0 0 1px #ffffff0f}.habit-dynamics-day i{display:block;min-height:0}.habit-dynamics-day .done{background:#2dcf9f}.habit-dynamics-day .craving{background:#ffb452}.habit-dynamics-day .relapse{background:#ff7b7b}.habit-dynamics-day .resumed{background:#ff9f7b}.habit-dynamics-day .skipped{background:#dae8e16b}.habit-dynamics-legend{justify-content:flex-start;flex-wrap:wrap;font-size:.68rem}.profile-panel{display:grid;gap:14px;max-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px));overflow-y:auto;padding:16px}.profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border-radius:20px;border:1px solid rgba(45,207,159,.16);background:radial-gradient(circle at 12% 0%,rgba(45,207,159,.16),transparent 36%),#ffffff08}.profile-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#2dcf9f24;color:#ecfff8;font-size:1.1rem;font-weight:900;box-shadow:inset 0 0 0 1px #2dcf9f47}.profile-identity{display:grid;gap:3px;min-width:0}.profile-identity h2,.profile-identity p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-pill{justify-self:start;padding:4px 8px;border-radius:999px;background:#ffffff0b;color:#c8f4e5;font-size:.74rem;font-weight:800}.profile-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-stat-card{display:grid;gap:7px;min-height:78px;padding:11px;border-radius:17px;border:1px solid rgba(255,255,255,.055);background:#ffffff08}.profile-stat-card span{color:var(--muted);font-size:.76rem;font-weight:700}.profile-stat-card strong{color:var(--text);font-size:1.3rem}.profile-section{display:grid;gap:12px}.profile-section>h3{margin:0 0 2px;padding:0 2px;font-size:.95rem}.profile-menu-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:11px 12px;border-radius:17px;border:1px solid rgba(255,255,255,.055);background:#ffffff07;color:var(--text);text-align:left}.profile-menu-row.static{grid-template-columns:34px minmax(0,1fr)}.profile-menu-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:13px;background:#2dcf9f14;color:var(--accent);font-weight:900}.profile-menu-copy{display:grid;gap:3px;min-width:0}.profile-menu-copy strong,.profile-menu-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-copy strong{font-size:.94rem}.profile-menu-copy span,.profile-menu-value{color:var(--muted);font-size:.78rem;font-weight:750}.profile-menu-value{color:var(--accent)}.tag-settings-sheet{height:min(88dvh,760px);display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.tag-settings-sheet-header{flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto;align-items:start}.tag-settings-sheet-header p{margin-bottom:0}.tag-settings-scroll{flex:1 1 auto;min-height:0;display:grid;align-content:start;gap:10px;overflow-y:auto;padding:0 2px 92px 0;-webkit-mask-image:linear-gradient(to bottom,black 0,black calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,black 0,black calc(100% - 28px),transparent 100%)}.tag-settings-savebar{position:sticky;bottom:0;flex:0 0 auto;display:grid;padding:12px 0 calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#0f141200,#0f1412 26%)}.add-category-button{justify-self:start}.profile-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.profile-actions-row .ui-button,.profile-actions-row button{min-height:36px}.profile-tag-list{display:grid;gap:7px}.profile-tag-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:7px 9px;border-radius:12px;background:#ffffff08}.danger-link{color:#ff9b9b}.new-category-form{grid-template-columns:1fr}.calendar-window-overlay{position:fixed;inset:0;z-index:35;padding:12px;background:#030706b8;animation:fade-in var(--dur-fast) var(--ease-out)}.calendar-window{width:min(100%,720px);height:calc(100dvh - 24px);margin:0 auto;padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:28px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#141b18,#0f1412);box-shadow:0 18px 42px #00000061;display:grid;gap:14px;overflow:hidden;animation:panel-in var(--dur-med) var(--ease-out)}.calendar-page{height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px));padding:14px clamp(10px,4vw,16px) calc(18px + env(safe-area-inset-bottom,0px));border-radius:24px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#141b18,#0f1412);box-shadow:0 14px 36px #0000003d;display:grid;gap:14px;overflow:hidden;animation:panel-in var(--dur-med) var(--ease-out);--calendar-gap: clamp(4px, 1.5vw, 8px);--calendar-week-col: clamp(42px, 12vw, 54px)}.calendar-window-header,.calendar-window-actions{display:flex;align-items:center}.calendar-window-header{justify-content:space-between;gap:10px}.calendar-window-header h2{flex:1;text-align:center}.calendar-window-actions{gap:8px}.calendar-close{width:42px;min-height:44px;border-radius:16px;border:1px solid var(--border);background:#ffffff08;color:var(--text);font-size:1.5rem;line-height:1}.calendar-sheet-body{display:grid;gap:14px;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:2px}.calendar-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:16px;border:1px solid rgba(255,255,255,.05);background:#ffffff08;position:relative;overflow:hidden}.calendar-mode-button{min-height:36px;border-radius:12px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:700;transition:color var(--motion-fast) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft)}.calendar-mode-button.active{background:#2dcf9f1f;color:#ecfff8;box-shadow:inset 0 0 0 1px #2dcf9f33}.calendar-grid-shell{display:grid;gap:10px;min-width:0;animation:calendar-shift-in var(--motion-normal) var(--ease-out) both}.calendar-grid-header{display:grid;grid-template-columns:var(--calendar-week-col) repeat(7,minmax(0,1fr));gap:var(--calendar-gap);align-items:stretch;min-width:0}.calendar-week-row{display:grid;grid-template-columns:var(--calendar-week-col) minmax(0,1fr);gap:var(--calendar-gap);align-items:stretch;min-width:0}.calendar-grid-corner,.calendar-week-meta,.calendar-weekday-button{border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;transition:background-color var(--motion-normal) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft),transform var(--motion-fast) var(--ease-soft)}.calendar-grid-corner{min-height:54px;padding:6px 4px;display:grid;gap:2px;place-items:center;color:#f2f7f4;background:var(--week-fill, rgba(255, 255, 255, .03));border-color:var(--week-accent, rgba(255, 255, 255, .06));font-size:.68rem;text-transform:uppercase}.calendar-grid-corner.active,.calendar-weekday-button.active,.calendar-week-meta.active{border-color:#2dcf9fbf;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #2dcf9f5c}.calendar-weekday-button{min-width:0;min-height:54px;padding:6px 4px;display:grid;gap:3px;place-items:center;color:#f2f7f4;background:var(--weekday-fill, rgba(255, 255, 255, .03));border-color:var(--weekday-accent, rgba(255, 255, 255, .06));box-shadow:inset 0 0 0 1px #ffffff05}.calendar-weekday-name{color:var(--muted);font-size:.7rem;line-height:1.1}.calendar-weekday-score,.calendar-week-score{font-size:.78rem;font-weight:700;line-height:1.1}.calendar-weekday-score.empty,.calendar-week-score.empty{color:var(--muted)}.calendar-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--calendar-gap);min-width:0}.calendar-grid{display:grid;gap:var(--calendar-gap);min-width:0}.calendar-week-meta{min-width:0;min-height:46px;padding:6px 4px;display:grid;gap:2px;place-items:center;color:#f2f7f4;background:var(--week-fill, rgba(255, 255, 255, .03));border-color:var(--week-accent, rgba(255, 255, 255, .06))}.calendar-week-number{font-size:.78rem;font-weight:700}.calendar-day-empty{min-height:46px}.calendar-day{position:relative;min-width:0;min-height:46px;padding:6px 4px;border-radius:16px;border:var(--day-count-ring, 1px) solid rgba(255,255,255,.05);background:var(--day-fill, rgba(255, 255, 255, .03));color:var(--text);display:grid;place-items:center;gap:2px;box-shadow:inset 0 0 0 1px #ffffff03;transition:background-color var(--motion-normal) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft),opacity var(--motion-fast) var(--ease-soft),transform var(--motion-fast) var(--ease-soft)}.calendar-day.empty{background:#ffffff05;border-color:#ffffff0a}.calendar-day.disabled{opacity:.38;cursor:not-allowed}.calendar-day.today{box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #ffffff4d}.calendar-day.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #2dcf9f8c}.calendar-day.dense{border-width:2px}.calendar-day-number{font-weight:700;font-size:.92rem}.calendar-day-mood-strip,.calendar-day-energy-strip{position:absolute;left:8px;right:8px;bottom:6px;height:4px;border-radius:999px;background:#ffffff14;overflow:hidden}.calendar-day-mood-fill,.calendar-day-energy-fill{display:block;height:100%;border-radius:inherit;background:var(--day-accent, var(--accent));transition:width var(--motion-normal) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft)}.calendar-day-note-dot{position:absolute;bottom:6px;right:7px;width:5px;height:5px;border-radius:999px;background:#f2f6f4;opacity:.88}.calendar-day.mode-energy .calendar-day-note-dot,.calendar-day.mode-mood .calendar-day-note-dot{bottom:13px}.calendar-summary{padding:14px;gap:12px;min-width:0}.calendar-summary.tappable{cursor:pointer}.calendar-summary.tappable:hover{border-color:#2dcf9f2e;background:#ffffff09}.calendar-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.calendar-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.calendar-summary .state-mini{min-width:0;padding-inline:10px}.calendar-summary .state-mini-title{white-space:nowrap;font-size:.74rem}.calendar-selection-action{padding:4px 2px 0}.calendar-open-selection-button{width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(45,207,159,.2);border-radius:18px;background:linear-gradient(135deg,#2dcf9f29,#ffffff0a),#081c18b8;box-shadow:0 12px 28px #00000038,inset 0 1px #ffffff0f;color:var(--text);font-weight:900;letter-spacing:0}.calendar-open-selection-button:disabled{cursor:default;opacity:.42}.calendar-open-selection-button:not(:disabled):active{transform:translateY(1px) scale(.99)}.analytics-page{display:grid;gap:14px;min-height:0;padding-bottom:76px}.analytics-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics-period-switch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:5px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;position:relative;overflow:hidden;isolation:isolate}.analytics-period-button{position:relative;z-index:1;min-height:34px;padding:6px 4px;border-radius:13px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800}.analytics-period-button.active{background:transparent;color:var(--accent);box-shadow:none}.analytics-period-button.icon{display:grid;place-items:center;padding:0}.analytics-period-button.icon svg{width:17px;height:17px}.analytics-period-sheet{display:grid;gap:14px;max-height:min(70dvh,460px)}.analytics-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-period-field{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:800}.analytics-period-date-button{min-height:44px;padding:0 10px;border-radius:14px;background:#ffffff0b;color:var(--text);font-size:.9rem;font-weight:850;text-align:left;box-shadow:inset 0 0 0 1px #ffffff12}.analytics-view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:16px;background:#ffffff07}.analytics-breakdown-switch{grid-template-columns:repeat(3,minmax(0,1fr));--segment-count: 3}.analytics-breakdown-switch:has(.analytics-view-button:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));--segment-count: 2}.stats-view-switch{grid-template-columns:repeat(3,minmax(0,1fr));--segment-count: 3}.analytics-view-button{min-height:32px;padding:5px 4px;border-radius:12px;background:transparent;color:var(--muted);font-size:.74rem;font-weight:800}.analytics-view-button.active{background:#2dcf9f1f;color:var(--accent);box-shadow:inset 0 0 0 1px #2dcf9f33}.analytics-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-card{display:grid;gap:12px;padding:14px;border-radius:20px;border:1px solid rgba(255,255,255,.06);background:#ffffff06}.analytics-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.analytics-card-head h3{margin:0}.analytics-card-meta{color:var(--muted);font-size:.72rem;font-weight:850;white-space:nowrap}.analytics-card-subtitle{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:760}.analytics-overview-panel{display:grid;gap:var(--space-3)}.analytics-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:100%}.analytics-period-select-field{position:relative;min-width:0;display:grid;gap:2px;padding:6px 40px 6px 13px;border:1px solid rgba(45,207,159,.18);border-radius:18px;background:radial-gradient(circle at 92% 50%,rgba(45,207,159,.14),transparent 28%),#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff05}.analytics-period-select-field>span{color:var(--color-text-muted);font-size:.64rem;font-weight:850;line-height:1}.analytics-period-select-field select{min-width:0;width:100%;appearance:none;border:0;outline:0;padding:0;background:transparent;color:var(--color-text);font:inherit;font-size:.88rem;font-weight:900;line-height:1.25}.analytics-period-select-field select:focus-visible{outline:2px solid rgba(45,207,159,.55);outline-offset:4px;border-radius:10px}.analytics-period-select-field svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--color-accent);pointer-events:none}.analytics-overview-head{display:grid;gap:var(--space-3)}.analytics-overview-head h3,.analytics-module-detail-head h2{margin:0}.analytics-overview-head span,.analytics-module-detail-head p{margin:3px 0 0;color:var(--color-text-muted);font-size:.76rem;font-weight:760}.analytics-overview-switch{width:100%}.analytics-overview-icon-switch{width:92px;min-height:44px;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px;--segment-count: 2;--segment-gap: 6px;--segment-pad: 4px}.analytics-overview-icon-switch .analytics-view-button{min-height:36px;display:grid;place-items:center;padding:0;border-radius:14px}.analytics-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.analytics-module-card{min-width:0;min-height:154px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto 42px auto;align-content:start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-xl);border:1px solid rgba(45,207,159,.12);background:radial-gradient(circle at 84% 18%,rgba(36,255,240,.12),transparent 30%),linear-gradient(145deg,#112f29b8,#081411d1);color:var(--color-text);text-align:left;box-shadow:0 14px 30px #0000002e}.analytics-module-card.empty{opacity:.72}.analytics-locked-card{min-width:0;min-height:154px;display:grid;align-content:start;gap:9px;padding:var(--space-3);border:1px solid rgba(246,194,90,.22);border-radius:var(--radius-xl);background:radial-gradient(circle at 88% 14%,rgba(246,194,90,.14),transparent 34%),linear-gradient(145deg,#242618bd,#081411db);color:var(--color-text);text-align:left;box-shadow:0 14px 30px #0000002e}.analytics-locked-card.compact{min-height:0;border-radius:var(--radius-lg)}.analytics-locked-card-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--space-2);align-items:center}.analytics-locked-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:14px;background:#f6c25a1f;color:#f6c25a}.analytics-locked-card-head strong,.analytics-locked-card-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-locked-card-head strong{font-size:.84rem;font-weight:950}.analytics-locked-card-head small{margin-top:2px;color:var(--color-text-muted);font-size:.68rem;font-weight:800}.analytics-locked-progress{overflow:hidden;height:7px;border-radius:999px;background:#ffffff12}.analytics-locked-progress span{display:block;height:100%;min-width:7px;border-radius:inherit;background:linear-gradient(90deg,#f6c25a,var(--color-accent))}.analytics-locked-card p,.analytics-locked-card>small{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:760;line-height:1.35}.analytics-locked-card p{color:var(--color-text-secondary);font-weight:900}.analytics-locked-action{width:fit-content;min-height:34px;padding:0 13px;border:1px solid rgba(45,207,159,.32);border-radius:999px;background:#2dcf9f1f;color:var(--color-accent);font-size:.74rem;font-weight:950}.analytics-module-icon,.analytics-module-row-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:14px;background:#2dcf9f1a;color:var(--color-accent)}.analytics-module-copy{min-width:0;display:grid;gap:3px}.analytics-module-copy small{overflow:hidden;color:var(--color-text-secondary);font-size:.74rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.analytics-module-copy strong{overflow:hidden;font-size:1.18rem;font-weight:950;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.analytics-module-copy em,.analytics-module-description{color:var(--color-text-muted);font-size:.68rem;font-style:normal;font-weight:760}.analytics-module-preview{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:5px;min-height:38px}.analytics-module-preview i{display:block;border-radius:999px 999px 5px 5px;background:linear-gradient(180deg,#5effdce6,#2dcf9f38)}.analytics-module-preview i:nth-child(1){height:42%}.analytics-module-preview i:nth-child(2){height:68%}.analytics-module-preview i:nth-child(3){height:54%}.analytics-module-preview i:nth-child(4){height:82%}.analytics-module-preview.line{align-items:center}.analytics-module-preview.line i{height:5px;border-radius:999px}.analytics-module-preview.sleep i:nth-child(1),.analytics-module-preview.weather i:nth-child(1){height:72%}.analytics-module-preview.empty i{background:#ffffff14}.analytics-module-description{grid-column:1 / -1;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.analytics-module-list{display:grid;gap:var(--space-2)}.analytics-module-row{min-height:62px;display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-lg);background:#ffffff06;color:var(--color-text);text-align:left}.analytics-module-row strong,.analytics-module-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-module-row small{margin-top:2px;color:var(--color-text-muted);font-size:.72rem;font-weight:740}.analytics-module-row em{color:var(--color-accent);font-size:.8rem;font-style:normal;font-weight:900;white-space:nowrap}.analytics-unlock-toast{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(var(--bottom-nav-height) + 18px + env(safe-area-inset-bottom));z-index:80;max-width:min(320px,calc(100vw - 32px));padding:12px 15px;border:1px solid rgba(45,207,159,.28);border-radius:18px;background:radial-gradient(circle at 18% 18%,rgba(94,255,220,.18),transparent 38%),#071915f0;color:var(--color-text);font-size:.82rem;font-weight:950;box-shadow:0 18px 46px #00000059,0 0 24px #2dcf9f2e}.analytics-module-detail-head{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-xl);background:#2dcf9f0b}.analytics-module-back{width:fit-content;min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-2) 0 0;border:0;background:transparent;color:var(--color-accent);font-weight:850}.analytics-module-placeholder{min-height:220px}.life-calendar-page{display:grid;gap:12px;padding:0}.life-calendar-hero,.life-calendar-settings,.life-calendar-card,.life-calendar-selected,.life-calendar-rounds{display:grid}.life-calendar-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px}.life-calendar-hero-icon,.life-calendar-selected-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;color:var(--accent);background:#2dcf9f1f;box-shadow:inset 0 0 0 1px #2dcf9f2e}.life-calendar-hero h3,.life-calendar-rounds h3{margin:0;font-size:1.05rem}.life-calendar-hero p,.life-calendar-selected p{margin:3px 0 0;color:var(--color-text-muted);font-size:.78rem;font-weight:750}.life-calendar-edit-profile{justify-self:end;min-height:36px;padding:0 14px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--group-bg-strong));font-size:.76rem;font-weight:900;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.life-calendar-settings-backdrop{position:fixed;inset:0;z-index:95;display:grid;place-items:end center;padding:18px;background:#0000007a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.life-calendar-settings-modal{width:min(100%,440px);display:grid;gap:12px;padding:16px;border-radius:28px 28px 20px 20px;border:1px solid var(--group-border);background:linear-gradient(180deg,color-mix(in srgb,var(--group-bg-strong) 84%,transparent),color-mix(in srgb,var(--group-bg) 98%,transparent)),var(--group-bg);color:var(--color-text);box-shadow:0 24px 70px #0000005c;-webkit-backdrop-filter:var(--group-blur);backdrop-filter:var(--group-blur)}.life-calendar-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.life-calendar-settings-head div{display:grid;gap:4px}.life-calendar-settings-head strong{font-size:1.05rem}.life-calendar-settings-head span,.life-calendar-settings-modal label{color:var(--color-text-muted);font-size:.78rem;font-weight:800}.life-calendar-settings-head button{min-height:32px;padding:0 12px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:.74rem;font-weight:900}.life-calendar-settings-modal label{display:grid;gap:6px}.life-calendar-settings-modal input{width:100%;min-height:44px;border:0;border-radius:16px;padding:0 13px;background:color-mix(in srgb,var(--color-bg) 72%,transparent);color:var(--color-text);font:inherit;font-size:.95rem;font-weight:850;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 10%,transparent)}.life-calendar-settings-modal .primary{min-height:46px;border-radius:18px;background:var(--accent);color:var(--color-bg);font-size:.95rem;font-weight:950;box-shadow:var(--shadow-glow)}.life-calendar-settings-modal .primary:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.life-calendar-settings-error{margin:0;color:var(--color-danger, #ff7777);font-size:.78rem;font-weight:900}.life-calendar-selected-markers{color:var(--accent)!important;font-size:.7rem!important}.life-calendar-settings{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr) auto;gap:8px;align-items:end;padding:10px}.life-calendar-settings label{min-width:0;display:grid;gap:5px;color:var(--color-text-muted);font-size:.72rem;font-weight:850}.life-calendar-settings input{width:100%;min-height:38px;border:0;border-radius:14px;padding:0 10px;background:#00000047;color:var(--color-text);font:inherit;font-size:.82rem;box-shadow:inset 0 0 0 1px #ffffff14}.life-calendar-settings button{min-height:38px;padding:0 12px;border-radius:14px;background:#2dcf9f29;color:var(--accent);font-size:.78rem;font-weight:900;box-shadow:inset 0 0 0 1px #2dcf9f40}.life-calendar-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.life-calendar-stats span{min-width:0;display:grid;gap:2px;padding:10px 8px;border-radius:16px;background:#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff0f}.life-calendar-stats strong{overflow:hidden;color:var(--color-text);font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.life-calendar-stats small{overflow:hidden;color:var(--color-text-muted);font-size:.66rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.life-calendar-card{display:grid;gap:12px;padding:12px;overflow:hidden}.life-calendar-scale-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;gap:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:4px;border-radius:18px;background:#0000002e;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.life-calendar-scale-tabs::-webkit-scrollbar{display:none}.life-calendar-scale-tabs button{flex:1 0 84px;min-width:84px;min-height:42px;padding:5px 2px;border-radius:14px;background:transparent;color:var(--color-text-muted);text-align:center;scroll-snap-align:start}.life-calendar-scale-tabs button.active{background:#2dcf9f21;color:var(--accent);box-shadow:inset 0 0 0 1px #2dcf9f38}.life-calendar-scale-tabs strong,.life-calendar-scale-tabs span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.life-calendar-scale-tabs strong{font-size:.72rem;font-weight:900}.life-calendar-scale-tabs span{margin-top:2px;font-size:.6rem;font-weight:800;opacity:.76}.life-calendar-board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.life-calendar-board-head strong,.life-calendar-board-head span{display:block}.life-calendar-board-head strong{font-size:.95rem}.life-calendar-board-head>div:first-child span{margin-top:2px;color:var(--color-text-muted);font-size:.72rem;font-weight:800}.life-calendar-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;color:var(--color-text-muted);font-size:.63rem;font-weight:850}.life-calendar-legend span{display:inline-flex;align-items:center;gap:4px}.life-calendar-legend i{width:7px;height:7px;border-radius:999px}.life-calendar-legend .lived{background:var(--accent)}.life-calendar-legend .current{background:#ffd76d}.life-calendar-legend .future{background:#ffffff29}.life-calendar-period-strip{display:flex;gap:8px;overflow-x:auto;margin:-2px -2px 2px;padding:2px 2px 6px;scrollbar-width:none;scroll-snap-type:x proximity}.life-calendar-period-strip::-webkit-scrollbar{display:none}.life-calendar-period-strip button{flex:0 0 auto;min-width:58px;min-height:48px;display:grid;place-items:center;gap:1px;padding:7px 10px;border-radius:18px;background:#ffffff0b;color:var(--color-text-muted);scroll-snap-align:center;box-shadow:inset 0 0 0 1px #ffffff0a}.life-calendar-period-strip button.lived{background:#2dcf9f12}.life-calendar-period-strip button.current{color:#ffd76d;background:#ffd76d14;box-shadow:inset 0 0 0 1px #ffd76d33}.life-calendar-period-strip button.future{opacity:.58}.life-calendar-period-strip button.active{color:var(--accent);background:radial-gradient(circle at 50% 0%,rgba(45,207,159,.18),transparent 64%),#2dcf9f1f;box-shadow:inset 0 0 0 1px #2dcf9f6b,0 10px 28px #2dcf9f14}.life-calendar-period-strip strong,.life-calendar-period-strip span{display:block;line-height:1.05;white-space:nowrap}.life-calendar-period-strip strong{font-size:.82rem;font-weight:950}.life-calendar-period-strip span{font-size:.62rem;font-weight:850}.life-calendar-matrix{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:18px minmax(0,auto);gap:4px;contain:content}.life-calendar-matrix.months{--life-month-cell-size: minmax(0, 1fr)}.life-calendar-corner{grid-column:1;grid-row:1}.life-calendar-top-axis{grid-column:2;grid-row:1;display:grid;align-items:end;color:var(--color-text-muted);font-size:.55rem;font-weight:900;line-height:1;text-align:center}.life-calendar-matrix.weeks .life-calendar-top-axis{grid-template-columns:repeat(52,minmax(0,1fr))}.life-calendar-matrix.months .life-calendar-top-axis{grid-template-columns:repeat(12,var(--life-month-cell-size));gap:3px}.life-calendar-matrix.year-days .life-calendar-top-axis{grid-template-columns:repeat(31,minmax(0,1fr))}.life-calendar-matrix.month-days .life-calendar-top-axis,.life-calendar-matrix.week-days .life-calendar-top-axis{grid-template-columns:repeat(7,minmax(0,1fr))}.life-calendar-left-axis{grid-column:1;grid-row:2;display:grid;align-items:center;color:var(--color-text-muted);font-size:.55rem;font-weight:900;line-height:1;text-align:right}.life-calendar-grid{grid-column:2;grid-row:2;display:grid;gap:3px;align-items:center;padding:1px;contain:content}.life-calendar-grid.weeks{grid-template-columns:repeat(52,minmax(3px,1fr))}.life-calendar-grid.months{grid-template-columns:repeat(12,var(--life-month-cell-size));gap:3px}.life-calendar-grid.months .life-calendar-cell{width:min(100%,18px);justify-self:center}.life-calendar-grid.year-days{grid-template-columns:repeat(31,minmax(6px,1fr))}.life-calendar-grid.month-days,.life-calendar-grid.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.life-calendar-cell{position:relative;min-width:0;aspect-ratio:1;border-radius:999px;padding:0;background:#ffffff0b;color:transparent;--life-marker-color: rgba(45, 207, 159, .45);--life-marker-ring: conic-gradient(transparent 0deg 360deg)}.life-calendar-cell:not(:disabled){cursor:pointer}.life-calendar-cell:disabled{cursor:default}.life-calendar-cell.lived{background:#2dcf9f38}.life-calendar-cell.current{background:#ffd76d}.life-calendar-cell.future{background:#ffffff0b;opacity:.45}.life-calendar-cell.no-data{opacity:.28}.life-calendar-cell.current.no-data{opacity:.72}.life-calendar-cell.has-markers{background:var(--life-marker-color);opacity:1}.life-calendar-cell.solid{width:min(100%,10px);justify-self:center;align-self:center;box-shadow:inset 0 0 0 1px #ffffff08}.life-calendar-grid.months .life-calendar-cell.solid{width:min(100%,14px)}.life-calendar-cell.segmented{display:grid;place-items:center;width:min(100%,48px);justify-self:center;align-self:center;border-radius:999px;color:var(--color-text);background:#ffffff0b;font-size:.82rem;font-weight:900;box-shadow:inset 0 0 0 2px #ffffff09,0 0 0 1px #ffffff05}.life-calendar-cell.segmented.has-markers{background:#091915eb}.life-calendar-cell.segmented.has-markers:after,.life-calendar-loupe-cell.has-markers:after{content:"";position:absolute;inset:0;border-radius:999px;background:var(--life-marker-ring);-webkit-mask:radial-gradient(circle,transparent 56%,#000 58%,#000 70%,transparent 72%);mask:radial-gradient(circle,transparent 56%,#000 58%,#000 70%,transparent 72%);pointer-events:none}.life-calendar-cell.segmented span,.life-calendar-loupe-cell span{position:relative;z-index:1}.life-calendar-cell.selected{z-index:2;outline:2px solid rgba(255,255,255,.65);outline-offset:2px}.life-calendar-cell.current{outline:1px solid rgba(255,215,109,.72);outline-offset:1px}.life-calendar-cell.current.selected{outline:2px solid rgba(255,215,109,.9);outline-offset:2px}.life-calendar-grid.month-days .life-calendar-cell,.life-calendar-grid.week-days .life-calendar-cell{min-height:auto}.life-calendar-data-legend{display:flex;flex-wrap:wrap;gap:7px;color:var(--color-text-muted);font-size:.65rem;font-weight:850}.life-calendar-data-legend span{display:inline-flex;align-items:center;gap:5px}.life-calendar-data-legend i{width:8px;height:8px;border-radius:999px}.life-calendar-selected{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px}.life-calendar-selected strong,.life-calendar-selected em{display:block}.life-calendar-selected strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.life-calendar-selected em{color:var(--accent);font-size:.72rem;font-style:normal;font-weight:900}.life-calendar-selected-icon.current{color:#ffd76d;background:#ffd76d1f;box-shadow:inset 0 0 0 1px #ffd76d38}.life-calendar-selected-icon.future{color:var(--color-text-muted);background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff14}.life-calendar-loupe-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:14px;background:#0000007a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.life-calendar-loupe{width:min(100%,520px);display:grid;gap:12px;padding:14px;border-radius:24px 24px 18px 18px;border:1px solid rgba(45,207,159,.22);background:radial-gradient(circle at 20% 0%,rgba(45,207,159,.14),transparent 38%),#081814f5;box-shadow:0 -22px 58px #0000006b}.life-calendar-loupe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.life-calendar-loupe-head strong,.life-calendar-loupe-head span{display:block}.life-calendar-loupe-head span{margin-top:3px;color:var(--color-text-muted);font-size:.72rem;font-weight:800}.life-calendar-loupe-head button{min-height:34px;padding:0 10px;border-radius:13px;background:#ffffff0f;color:var(--accent);font-size:.76rem;font-weight:900}.life-calendar-loupe-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.life-calendar-loupe-cell{position:relative;display:grid;place-items:center;width:min(100%,48px);aspect-ratio:1;justify-self:center;border-radius:999px;background:#ffffff0b;color:var(--color-text);font-size:.88rem;font-weight:900;box-shadow:inset 0 0 0 2px #ffffff09,0 0 0 1px #ffffff05}.life-calendar-loupe-cell.no-data{opacity:.32}.life-calendar-loupe-cell.has-markers{background:#091915eb}.life-calendar-loupe-cell:disabled{color:var(--color-text-muted)}.life-calendar-loupe-cell:not(:disabled){cursor:pointer}.life-calendar-rounds{display:grid;gap:10px;padding:12px}.life-calendar-rounds>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.life-calendar-rounds span{min-width:0;display:grid;gap:4px;padding:9px;border-radius:15px;background:#ffffff0b}.life-calendar-rounds strong,.life-calendar-rounds small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.life-calendar-rounds small{color:var(--color-text-muted);font-size:.64rem;font-weight:800}@media(max-width:430px){.life-calendar-settings{grid-template-columns:minmax(0,1fr) minmax(82px,.42fr)}.life-calendar-settings button{grid-column:1 / -1}.life-calendar-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.life-calendar-scale-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.life-calendar-board-head{align-items:flex-start;flex-direction:column}.life-calendar-legend{justify-content:flex-start}.life-calendar-grid.weeks{gap:2px}.life-calendar-grid.months{grid-template-columns:repeat(12,var(--life-month-cell-size));gap:2px}.life-calendar-grid.months .life-calendar-cell{width:min(100%,14px)}.life-calendar-grid.year-days{grid-template-columns:repeat(31,minmax(5px,1fr));gap:2px}.life-calendar-matrix{grid-template-columns:18px minmax(0,1fr)}.life-calendar-matrix.months{--life-month-cell-size: minmax(0, 1fr)}.life-calendar-rounds>div:last-child{grid-template-columns:1fr}}.analytics-streak-card{gap:10px;padding:0;border:0;background:radial-gradient(circle at 20% 0%,rgba(45,207,159,.09),transparent 42%),transparent;box-shadow:none}.analytics-streak-hero,.analytics-streak-empty{min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) 42px;grid-template-rows:auto auto;align-items:center;gap:10px;padding:13px 14px;border-radius:var(--radius-xl);border:1px solid rgba(45,207,159,.16);background:radial-gradient(circle at 86% 42%,rgba(36,255,240,.22),transparent 26%),radial-gradient(circle at 20% 0%,rgba(45,207,159,.16),transparent 42%),linear-gradient(135deg,#0f302adb,#081512eb);box-shadow:inset 0 0 0 1px #ffffff06,0 12px 28px #00000038,0 0 22px #24fff00f}.analytics-streak-hero>div:not(.analytics-streak-details),.analytics-streak-empty>div:not(.analytics-streak-details){min-width:0;grid-column:1;grid-row:1}.analytics-streak-icon{grid-column:2;grid-row:1;justify-self:end;width:38px;height:38px;display:grid;place-items:center;border-radius:16px;border:0;background:radial-gradient(circle at 50% 48%,rgba(36,255,240,.24),transparent 56%),#2dcf9f14;color:var(--color-accent);box-shadow:0 0 24px #24fff02e}.analytics-streak-icon svg{width:22px;height:22px;filter:drop-shadow(0 0 8px rgba(36,255,240,.32))}.analytics-streak-hero h3,.analytics-streak-empty h3{margin:0 0 6px;color:#ecfffab8;font-size:.72rem;font-weight:800;line-height:1}.analytics-streak-hero strong,.analytics-streak-empty strong{display:block;color:var(--color-text);font-size:clamp(1.05rem,5.8vw,1.42rem);font-weight:950;line-height:1.04;letter-spacing:0;text-shadow:0 8px 18px rgba(0,0,0,.3)}.analytics-streak-hero small,.analytics-streak-empty small{display:block;margin-top:6px;color:var(--color-text-muted);font-size:.68rem;font-weight:760}.analytics-streak-hero p{margin:5px 0 0;color:var(--color-accent);font-size:.66rem;font-weight:850}.analytics-streak-details{grid-column:1 / -1;grid-row:2;display:grid;gap:8px;margin-top:4px}.analytics-streak-details-toggle{width:fit-content;min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 2px;border:0;background:transparent;color:var(--color-text-secondary);font-size:.76rem;font-weight:850}.analytics-streak-details-toggle svg{transition:transform var(--motion-normal) var(--ease-soft)}.analytics-streak-details.open .analytics-streak-details-toggle svg{transform:rotate(180deg)}.analytics-streak-details-body{display:grid;gap:12px;animation:sheet-content-in var(--motion-normal) var(--ease-out) both;min-width:0}.analytics-streak-metrics{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.analytics-streak-metrics span{display:inline-flex;align-items:center;min-width:0;padding:6px 10px;border-radius:var(--radius-pill);border:1px solid rgba(45,207,159,.13);background:#2dcf9f0e}.analytics-streak-metrics strong{color:#f5fffceb;font-size:.76rem;font-weight:900;line-height:1.15}.analytics-streak-metrics small{color:var(--muted);font-size:.7rem;font-weight:760}.analytics-streak-strip{display:flex;gap:8px;max-width:100%;margin-inline:-2px;padding:2px 2px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.analytics-streak-strip::-webkit-scrollbar{display:none}.analytics-streak-day{position:relative;flex:0 0 54px;min-width:54px;min-height:74px;display:grid;place-items:center;grid-template-rows:16px 20px 18px;gap:5px;padding:9px 5px;border-radius:18px;border:1px solid rgba(255,255,255,.04);background:#ffffff06;color:#f8fffd8c;font-variant-numeric:tabular-nums}.analytics-streak-day.active{border-color:#2dcf9f29;background:radial-gradient(circle at 50% 80%,rgba(36,255,240,.11),transparent 40%),#2dcf9f0b;color:var(--text);box-shadow:0 0 18px #24fff00a}.analytics-streak-day.today{border-color:#24fff0a8}.analytics-streak-day small{max-width:100%;overflow:hidden;color:var(--muted);font-size:.62rem;font-weight:850;line-height:1;text-overflow:ellipsis;white-space:nowrap}.analytics-streak-day strong{color:inherit;font-size:1.08rem;font-weight:900;line-height:1}.analytics-streak-day>i{width:20px;height:20px;border-radius:999px;border:2px solid rgba(255,255,255,.09);background:#ffffff05}.analytics-streak-day.active>i{border-color:#2dcf9f38;background:radial-gradient(circle at 45% 40%,#5dffe1,var(--color-accent) 70%);box-shadow:0 0 0 6px #2dcf9f14,0 0 16px #24fff052}.analytics-streak-legend{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--color-text-muted);font-size:.66rem;font-weight:760}.analytics-streak-legend span{display:inline-flex;align-items:center;gap:5px}.analytics-streak-legend i{width:7px;height:7px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f}.analytics-streak-legend i.active{border-color:#2dcf9f73;background:var(--color-accent)}.analytics-streak-legend i.today{border-color:#24fff0cc;background:transparent}.growth-areas-card{gap:var(--space-3)}.growth-area-list{display:grid;gap:var(--space-3)}.growth-area-card{display:grid;gap:10px;padding:var(--space-3);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.07);background:linear-gradient(135deg,#2dcf9f1a,#ffffff06),#ffffff06}.growth-area-card.attention{border-color:#ffcc662e;background:linear-gradient(135deg,#ffcc661c,#2dcf9f0a),#ffffff06}.growth-area-card.stable{border-color:#2dcf9f29}.growth-area-head,.growth-area-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.growth-area-head>div,.growth-area-suggestion{min-width:0}.growth-area-branch,.growth-area-suggestion small{display:block;color:var(--muted);font-size:.68rem;font-weight:850}.growth-area-head strong,.growth-area-suggestion strong{display:block;color:var(--text);font-size:.94rem;line-height:1.2}.growth-area-status{flex:0 0 auto;max-width:44%;padding:4px 8px;border-radius:var(--radius-pill);color:var(--muted);background:#ffffff0e;font-size:.68rem;font-weight:850;line-height:1.15;text-align:right}.growth-area-status.attention{color:#ffe1a3;background:#ffcc661f}.growth-area-status.stable,.growth-area-status.improving{color:var(--accent);background:#2dcf9f1f}.growth-area-card p,.growth-area-next{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.35}.growth-area-next{padding:8px 10px;border-radius:var(--radius-lg);background:#00000029}.growth-area-action{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid rgba(45,207,159,.28);border-radius:var(--radius-pill);background:#2dcf9f1a;color:var(--accent);font:inherit;font-size:.74rem;font-weight:900}.growth-protocol-list{display:grid;gap:10px}.growth-protocol-card{display:grid;gap:8px;padding:10px;border-radius:var(--radius-lg);border:1px solid rgba(45,207,159,.14);background:#00000029}.growth-protocol-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.growth-protocol-summary span,.growth-protocol-footer span{min-width:0}.growth-protocol-summary small,.growth-protocol-footer small{display:block;color:var(--muted);font-size:.66rem;font-weight:850}.growth-protocol-summary strong,.growth-protocol-footer strong{display:block;color:var(--text);font-size:.86rem;line-height:1.2}.growth-protocol-summary em{flex:0 0 auto;color:var(--accent);font-size:.7rem;font-style:normal;font-weight:900}.growth-protocol-card p{margin:0;color:var(--text-secondary);font-size:.76rem;line-height:1.35}.growth-protocol-details{display:grid;gap:8px;padding:9px;border-radius:var(--radius-md);background:#ffffff09}.growth-protocol-details strong{display:block;color:var(--text);font-size:.72rem;line-height:1.2}.growth-protocol-details ol{display:grid;gap:4px;margin:6px 0 0;padding-left:18px;color:var(--text-secondary);font-size:.74rem;line-height:1.3}.growth-protocol-details span{display:grid;gap:3px;color:var(--text-secondary);font-size:.74rem;line-height:1.3}.growth-protocol-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.growth-tree-entry{border:1px solid rgba(49,224,191,.34);border-radius:var(--radius-pill);background:#1fd6b61f;color:var(--color-accent);min-height:32px;padding:0 var(--space-3);font:inherit;font-size:12px;font-weight:800}.skill-tree-page{gap:var(--page-section-gap)}.skill-tree-intro,.skill-tree-callout,.habit-influence-card{border:1px solid rgba(49,224,191,.14);background:radial-gradient(circle at 18% 0%,rgba(49,224,191,.18),transparent 34%),#0d231fc7;border-radius:var(--radius-xl);padding:var(--space-4)}.skill-tree-intro,.skill-tree-callout,.habit-influence-card{display:grid;gap:var(--space-3)}.skill-tree-intro span,.skill-tree-callout span,.skill-tree-branch span{color:var(--color-text-secondary);font-size:12px;font-weight:800}.skill-tree-intro h2{margin:var(--space-1) 0 var(--space-2);font-size:18px;letter-spacing:0}.skill-tree-intro p,.skill-tree-callout span,.habit-influence-card p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.45}.skill-tree-legend{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-tree-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-muted)}.skill-tree-legend i{display:inline-block;width:9px;height:9px;border-radius:999px}.skill-tree-legend i.recommended{background:var(--color-accent);box-shadow:0 0 14px #31e0bfb3}.skill-tree-legend i.active{background:#7bdcff}.skill-tree-legend i.mastered{background:#7ae05b}.skill-tree-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border:1px solid rgba(49,224,191,.14);border-radius:var(--radius-xl);background:linear-gradient(180deg,#071f1cf0,#04110feb),var(--color-surface)}.skill-tree-scroll.compact{border-radius:var(--radius-lg)}.skill-tree-canvas{position:relative;min-height:560px;background-image:radial-gradient(circle at 20% 22%,rgba(49,224,191,.1),transparent 26%),radial-gradient(circle at 72% 70%,rgba(123,220,255,.07),transparent 24%)}.skill-tree-canvas.compact{min-height:220px;transform:scale(.56);transform-origin:top left;margin-right:-44%;margin-bottom:-96px}.skill-tree-lines{position:absolute;inset:0;pointer-events:none}.skill-tree-edge{stroke:#50ffdc40;stroke-width:2;stroke-linecap:round}.skill-tree-edge.cross{stroke:#7bdcff47;stroke-dasharray:5 7}.skill-tree-node{position:absolute;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(49,224,191,.32);border-radius:999px;background:#0b2622f0;color:var(--color-text);box-shadow:inset 0 0 0 1px #ffffff0a;transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-normal) var(--ease-out),opacity var(--motion-fast) var(--ease-out);z-index:2}.skill-tree-node:active{transform:scale(.94)}.skill-tree-node.recommended{border-color:#31e0bfe6;box-shadow:0 0 22px #31e0bf59,inset 0 0 16px #31e0bf2e;color:var(--color-accent)}.skill-tree-node.active{border-color:#7bdcffd9;box-shadow:0 0 18px #7bdcff38}.skill-tree-node.mastered{border-color:#7ae05beb;color:#9af37d;box-shadow:0 0 20px #7ae05b47}.skill-tree-node.locked{opacity:.42;filter:grayscale(.7)}.skill-tree-node.outcome{border-style:dashed;color:#ffffffd1}.skill-node-progress{position:absolute;inset:-4px;border-radius:999px;pointer-events:none}.skill-node-progress.active{border:2px solid rgba(123,220,255,.5);clip-path:polygon(0 0,100% 0,100% 62%,0 62%)}.skill-node-progress.full{border:2px solid rgba(122,224,91,.75)}.skill-tree-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.skill-tree-branch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-3);background:#ffffff0a}.skill-tree-branch.active{border-color:#31e0bf3d;background:#31e0bf14}.skill-tree-branch.locked{opacity:.62}.skill-universe-page{--universe-core: rgba(12, 52, 45, .96);--universe-line: rgba(49, 224, 191, .2);width:100%;min-height:calc(100dvh - var(--app-shell-bottom-space));grid-template-rows:var(--page-header-height) minmax(0,1fr);gap:0;border:0;border-radius:0;background:#020c0bfa;box-shadow:none}.app-shell:has(.skill-universe-page){width:100%;padding:0 0 var(--app-shell-bottom-space)}.skill-universe-intro{background:linear-gradient(180deg,#092522eb,#071816e0),var(--color-surface)}.skill-universe-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.skill-universe-stats span{min-width:0;border:1px solid rgba(49,224,191,.14);border-radius:var(--radius-pill);padding:7px 9px;background:#ffffff0a;color:var(--color-text);text-align:center;white-space:nowrap}.skill-universe-map{position:relative;width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;touch-action:none;-webkit-overflow-scrolling:touch}.skill-universe-viewport{position:relative;overflow:hidden;min-height:0;height:100%;border:0;border-radius:0;background:radial-gradient(circle at 18% 20%,rgba(49,224,191,.12),transparent 26%),radial-gradient(circle at 76% 72%,rgba(123,220,255,.08),transparent 28%),linear-gradient(180deg,#041614f5,#020c0bf5)}.skill-universe-viewport:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.52;background-image:radial-gradient(circle,rgba(255,255,255,.45) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(49,224,191,.35) 0 1px,transparent 1.5px);background-position:0 0,23px 31px;background-size:74px 74px,109px 109px}.skill-universe-toolbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);background:linear-gradient(180deg,#041614f5,#041614bd);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skill-universe-ritual-strip{min-width:0;display:flex;gap:6px;overflow-x:auto}.skill-universe-ritual-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:28px;border:1px solid rgba(123,220,255,.22);border-radius:var(--radius-pill);padding:0 8px;background:#7bdcff14;color:#ffffffe0;font-size:11px;font-weight:900;white-space:nowrap}.skill-universe-ritual-chip svg{color:#7bdcff}.skill-universe-ritual-chip small{display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#31e0bf1f;color:var(--color-accent);font-size:10px}.skill-universe-zoom{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(49,224,191,.18);border-radius:var(--radius-pill);padding:3px;background:#020c0bb8}.skill-universe-zoom button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:999px;background:#31e0bf1a;color:var(--color-accent)}.skill-universe-zoom button:disabled{opacity:.38}.skill-universe-zoom span{min-width:42px;color:var(--color-text-secondary);font-size:11px;font-weight:900;text-align:center}.skill-universe-map-inner{position:relative;z-index:1;width:var(--universe-layout-width);min-width:var(--universe-layout-width);height:var(--universe-layout-height);min-height:var(--universe-layout-height);display:block;padding:0;transform:scale(var(--universe-zoom));transform-origin:top left;pointer-events:none}.skill-universe-map-inner>*{pointer-events:auto}.skill-universe-link-layer{position:absolute;left:0;top:0;width:var(--universe-layout-width);height:var(--universe-layout-height);z-index:2;pointer-events:none;overflow:visible}.skill-universe-graph-link{stroke:#7bdcff52;stroke-width:1.5;stroke-dasharray:5 7;filter:drop-shadow(0 0 8px rgba(49,224,191,.16))}.skill-universe-shared-node{position:absolute;left:0;top:0;width:74px;display:grid;place-items:center;gap:5px;transform:translate(-50%,-50%);z-index:6;animation:skill-universe-shared-spawn .76s var(--ease-soft) both}.skill-universe-shared-node:before{content:"";position:absolute;width:86px;height:86px;border-radius:999px;background:radial-gradient(circle,rgba(123,220,255,.22),transparent 68%);opacity:.42;transform:translateY(-10px);pointer-events:none}.skill-universe-shared-static{border:0;background:transparent;font:inherit;padding:0}.skill-universe-shared-node .skill-universe-child-icon{width:58px;height:58px;border-color:#7bdcffb8;background:radial-gradient(circle at 42% 34%,rgba(123,220,255,.34),transparent 58%),#071b19fa;box-shadow:0 0 26px #7bdcff3d,0 0 50px #31e0bf14}.skill-universe-shared-node>span:not(.skill-universe-child-icon){max-width:108px;overflow:hidden;border-radius:var(--radius-pill);padding:3px 7px;background:#020c0bcc;color:#ffffffe6;font-size:11px;font-weight:900;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.skill-universe-system{position:absolute;left:var(--system-x);top:var(--system-y);width:var(--orbit-size);min-height:var(--orbit-size);display:grid;place-items:center;z-index:1;transform:translate(-50%,-50%);animation:skill-universe-system-spawn .78s var(--ease-soft) both;animation-delay:calc(var(--system-index, 0) * 45ms)}.skill-universe-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.skill-universe-draggable:active{cursor:grabbing}.skill-universe-orbit-field{position:relative;width:var(--orbit-size);aspect-ratio:1;display:grid;place-items:center}.skill-universe-system.ritual-system{min-height:390px}.skill-universe-core{position:relative;width:138px;min-height:138px;display:grid;place-items:center;align-content:center;gap:4px;border:0;border-radius:999px;background:transparent;color:var(--color-text);font:inherit;box-shadow:none;z-index:3}.skill-universe-core.in-ritual{filter:drop-shadow(0 0 22px rgba(123,220,255,.22))}.skill-universe-core.ritual-sun{width:152px;min-height:152px;filter:drop-shadow(0 0 22px rgba(255,225,118,.28)) drop-shadow(0 0 46px rgba(49,224,191,.12))}.skill-universe-core.ritual-sun:before{content:"";position:absolute;inset:28px;border-radius:999px;background:radial-gradient(circle,rgba(255,225,118,.24),rgba(49,224,191,.1) 54%,transparent 72%);z-index:-2}.skill-universe-core.ritual-sun .skill-universe-core-progress{background:conic-gradient(#ffe176 var(--core-progress),rgba(255,255,255,.08) 0);opacity:.22}.skill-universe-core.ritual-sun .skill-universe-core-progress:after{background:#061814db}.skill-universe-core.ritual-sun .skill-universe-icon{width:82px;height:82px;color:#ffe176;filter:drop-shadow(0 0 16px rgba(255,225,118,.52)) drop-shadow(0 0 30px rgba(49,224,191,.18))}.skill-universe-core.ritual-sun .skill-universe-title{color:#fffffff5}.skill-universe-core.ritual-sun .skill-universe-meta{color:#ffe176b8}.skill-universe-core-progress{position:absolute;inset:18px;border-radius:inherit;background:conic-gradient(var(--color-accent) var(--core-progress),rgba(255,255,255,.08) 0);opacity:.16;z-index:-1}.skill-universe-core-progress:after{content:"";position:absolute;inset:2px;border-radius:inherit;background:#041614f5}.skill-universe-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:999px;background:transparent;color:var(--color-accent);filter:drop-shadow(0 0 18px rgba(49,224,191,.34))}.skill-universe-title,.skill-universe-meta{max-width:112px;text-align:center;line-height:1.15}.skill-universe-title{color:var(--color-text);font-size:14px;font-weight:900}.skill-universe-meta{color:var(--color-text-muted);font-size:10px;font-weight:800}.skill-universe-effects{position:absolute;inset:-62px;border-radius:999px;pointer-events:none}.skill-universe-effect{position:absolute;top:50%;left:50%;display:inline-flex;align-items:center;gap:3px;max-width:78px;min-height:24px;padding:3px 6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-pill);background:#091816eb;color:#ffffffd1;font-size:9px;font-weight:900;line-height:1;transform:rotate(var(--effect-angle)) translate(106px) rotate(var(--effect-angle-negative)) translate(-50%,-50%);box-shadow:0 0 12px #31e0bf14}.skill-universe-effect svg{flex:0 0 auto;color:var(--color-accent)}.skill-universe-child-orbit{position:absolute;inset:0;display:grid;place-items:center;animation:skill-universe-orbit var(--orbit-duration) linear infinite;animation-delay:var(--orbit-delay);transform:rotate(var(--child-angle));transform-origin:50% 50%}.skill-universe-child{position:absolute;top:calc(50% - var(--child-radius));left:50%;width:58px;min-height:78px;display:grid;place-items:start center;gap:5px;border:0;padding:0;background:transparent;color:var(--color-text);font:inherit;cursor:pointer;transform:translate(-50%) translate(var(--drag-x, 0),var(--drag-y, 0)) rotate(var(--child-angle-negative));animation:skill-universe-counter-orbit var(--orbit-duration) linear infinite;animation-delay:var(--orbit-delay)}.skill-universe-grandchild-field{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto}.skill-universe-grandchild-orbit{position:absolute;inset:-34px;display:grid;place-items:center;transform:rotate(var(--grandchild-angle));animation:skill-universe-grandchild-orbit 9s linear infinite}.skill-universe-grandchild{position:absolute;top:-5px;left:50%;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(49,224,191,.38);padding:0;border-radius:999px;background:#041614f5;color:var(--color-accent);font:inherit;cursor:pointer;transform:translate(-50%) translate(var(--drag-x, 0),var(--drag-y, 0)) rotate(var(--grandchild-angle-negative));box-shadow:0 0 14px #31e0bf1f;animation:skill-universe-grandchild-counter-orbit 9s linear infinite}.skill-universe-child-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(123,220,255,.38);border-radius:999px;background:radial-gradient(circle at 44% 34%,rgba(123,220,255,.24),transparent 58%),#071b19f5;box-shadow:0 0 20px #7bdcff21}.skill-universe-child.in-ritual .skill-universe-child-icon{border-color:#7bdcffb8;box-shadow:0 0 22px #7bdcff38}.skill-universe-child svg{color:#7bdcff}.skill-universe-child span{max-width:92px;min-width:0;overflow:hidden;color:#ffffffdb;font-size:11px;font-weight:900;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.skill-universe-child>span:not(.skill-universe-child-icon){padding:3px 6px;border-radius:var(--radius-pill);background:#020c0bb8}.skill-universe-ritual-mark{display:inline-flex;align-items:center;gap:3px;max-width:96px;min-height:20px;border-radius:var(--radius-pill);padding:2px 6px;background:#7bdcff1a;color:#a9eaff;font-size:9px;font-weight:900;line-height:1}.skill-universe-callout{grid-template-columns:minmax(0,1fr) auto;align-items:center}.skill-universe-callout strong,.skill-universe-callout span{grid-column:1}.skill-universe-callout button{grid-column:2;grid-row:1 / span 2}.skill-universe-node-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--space-4);background:#0008079e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skill-universe-node-modal{width:min(100%,360px);display:grid;gap:var(--space-3);border:1px solid rgba(49,224,191,.24);border-radius:var(--radius-xl);background:linear-gradient(160deg,#0f2a24fa,#020e0dfa),var(--color-surface);box-shadow:0 24px 70px #00000061,0 0 36px #31e0bf1f;padding:var(--space-4)}.skill-universe-node-modal-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.skill-universe-node-modal-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;background:#31e0bf1f;color:var(--color-accent);box-shadow:0 0 22px #31e0bf1f}.skill-universe-node-modal-head strong,.skill-universe-node-modal-head span{display:block;min-width:0}.skill-universe-node-modal-head strong{color:var(--color-text);font-size:16px;font-weight:900;line-height:1.15}.skill-universe-node-modal-head div>span{margin-top:4px;color:var(--color-text-muted);font-size:12px;font-weight:800;line-height:1.25}.skill-universe-node-modal-actions{display:grid;gap:var(--space-2)}.skill-universe-node-action,.skill-universe-node-counter{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(49,224,191,.24);border-radius:var(--radius-pill);background:#31e0bf14;color:var(--color-accent);font-size:13px;font-weight:900}.skill-universe-node-action{width:100%}.skill-universe-node-action.active{border-color:#31e0bf6b;background:#31e0bf29}.skill-universe-node-action:disabled,.skill-universe-node-counter button:disabled{opacity:.45}.skill-universe-node-counter{display:grid;grid-template-columns:40px minmax(58px,1fr) 40px;padding:0 4px}.skill-universe-node-counter button{width:34px;height:34px;display:grid;place-items:center;justify-self:center;border:1px solid rgba(49,224,191,.16);border-radius:50%;background:#0000002e;color:var(--color-accent)}.skill-universe-node-counter strong{color:var(--color-text);font-size:14px;font-weight:930;text-align:center}.skill-universe-node-modal-actions>span{color:var(--color-text-secondary);font-size:13px;font-weight:800;line-height:1.35}@keyframes skill-universe-system-spawn{0%{opacity:0;transform:translate(calc(-50% + var(--spawn-x, 0)),calc(-50% + var(--spawn-y, 0))) scale(.36)}68%{opacity:1;transform:translate(-50%,-50%) scale(1.03)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes skill-universe-shared-spawn{0%{opacity:0;transform:translate(calc(-50% + var(--spawn-x, 0)),calc(-50% + var(--spawn-y, 0))) scale(.36)}68%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes skill-universe-orbit{to{transform:rotate(calc(var(--child-angle) + 360deg))}}@keyframes skill-universe-counter-orbit{to{transform:translate(-50%) translate(var(--drag-x, 0),var(--drag-y, 0)) rotate(calc(var(--child-angle-negative) - 360deg))}}@keyframes skill-universe-grandchild-orbit{to{transform:rotate(calc(var(--grandchild-angle) + 360deg))}}@keyframes skill-universe-grandchild-counter-orbit{to{transform:translate(-50%) translate(var(--drag-x, 0),var(--drag-y, 0)) rotate(calc(var(--grandchild-angle-negative) - 360deg))}}@media(prefers-reduced-motion:reduce){.skill-universe-child-orbit,.skill-universe-child,.skill-universe-grandchild-orbit,.skill-universe-grandchild,.skill-universe-system,.skill-universe-shared-node{animation:none}}.skill-universe-page.zoom-mid .skill-universe-effect span,.skill-universe-page.zoom-mid .skill-universe-meta,.skill-universe-page.zoom-mid .skill-universe-ritual-mark{display:none}.skill-universe-page.zoom-far .skill-universe-effect,.skill-universe-page.zoom-far .skill-universe-child>span:not(.skill-universe-child-icon),.skill-universe-page.zoom-far .skill-universe-shared-node>span:not(.skill-universe-child-icon),.skill-universe-page.zoom-far .skill-universe-meta,.skill-universe-page.zoom-far .skill-universe-ritual-mark{display:none}.skill-universe-page.zoom-far .skill-universe-title{font-size:11px;max-width:86px}@media(max-width:520px){.skill-universe-stats{grid-template-columns:1fr}.skill-universe-toolbar{align-items:flex-start;flex-direction:column}.skill-universe-map-inner{min-width:var(--universe-layout-width);padding:0}.skill-universe-system{min-height:var(--orbit-size)}.skill-universe-core{width:126px;min-height:126px}.skill-universe-effect{transform:rotate(var(--effect-angle)) translate(92px) rotate(var(--effect-angle-negative)) translate(-50%,-50%)}.skill-universe-callout{grid-template-columns:1fr}.skill-universe-callout strong,.skill-universe-callout span,.skill-universe-callout button{grid-column:auto;grid-row:auto}}.skill-node-sheet-body{display:grid;gap:var(--space-3);min-height:0;overflow-y:auto;padding:0 var(--space-4) var(--space-4)}.skill-node-hero{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-3);align-items:center}.skill-node-detail-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(49,224,191,.34);background:#31e0bf1f;color:var(--color-accent)}.skill-node-outcomes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.skill-node-outcomes span,.skill-node-sources span,.skill-node-sources a{border-radius:var(--radius-pill);background:#ffffff12;color:var(--color-text-secondary);padding:5px 8px;font-size:12px;font-weight:800;text-decoration:none}.skill-node-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.skill-node-info-grid span,.skill-node-copy{border-radius:var(--radius-lg);background:#ffffff0d;padding:var(--space-3)}.skill-node-info-grid small,.skill-node-hero small,.skill-node-copy small{display:block;color:var(--color-text-muted);font-size:11px;font-weight:800}.skill-node-info-grid strong,.skill-node-copy h3{display:block;margin:0 0 6px;color:var(--color-text);font-size:13px}.skill-node-copy p,.skill-node-copy li{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.45}.skill-node-copy ol{margin:var(--space-2) 0;padding-left:18px}.skill-node-copy.caution{border:1px solid rgba(255,196,87,.2);background:#ffc45712}.skill-node-sources{display:flex;flex-wrap:wrap;gap:6px}.habit-influence-card .skill-tree-scroll{max-height:172px}.achievements-card{display:grid;gap:var(--space-3);border:1px solid rgba(49,224,191,.14);background:radial-gradient(circle at 16% 0%,rgba(49,224,191,.16),transparent 34%),#0d231fc2;border-radius:var(--radius-xl);padding:var(--space-4)}.achievement-badge{min-width:0;display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);border:1px solid rgba(49,224,191,.2);background:#31e0bf14;color:var(--color-text-secondary);padding:6px 9px}.achievement-badge strong,.achievement-badge small{display:block;line-height:1.05}.achievement-badge strong{color:var(--color-text);font-size:11px}.achievement-badge small{margin-top:2px;color:var(--color-text-muted);font-size:10px}.achievement-badge.current{color:var(--color-accent)}.achievement-next-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);background:#ffffff0e;padding:var(--space-3)}.achievement-next-card.complete{grid-template-columns:38px minmax(0,1fr)}.achievement-next-icon,.achievement-dot{display:grid;place-items:center;border-radius:999px;border:1px solid rgba(49,224,191,.28);background:#31e0bf1f;color:var(--color-accent)}.achievement-next-icon{width:38px;height:38px}.achievement-next-card small,.achievement-next-card span,.achievement-disclaimer,.achievement-pause-note{color:var(--color-text-muted);font-size:12px;line-height:1.35}.achievement-next-card strong{display:block;min-width:0;color:var(--color-text);font-size:13px;line-height:1.25}.achievement-next-card>strong{color:var(--color-accent);font-size:14px}.achievement-pause-note{margin:0;border-radius:var(--radius-lg);border:1px solid rgba(255,196,87,.18);background:#ffc45712;padding:var(--space-3)}.achievement-timeline{display:grid;gap:var(--space-2)}.achievement-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:48px;border:0;border-radius:var(--radius-lg);background:#ffffff0b;color:inherit;padding:8px 10px;text-align:left}.achievement-row.current{background:#31e0bf1a}.achievement-row.unlocked .achievement-dot{background:#7ae05b24;border-color:#7ae05b59;color:#7ae05b}.achievement-row.locked{opacity:.72}.achievement-dot{width:34px;height:34px}.achievement-row-copy{min-width:0;display:grid;gap:2px}.achievement-row-copy strong{min-width:0;color:var(--color-text);font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-row-copy small,.achievement-source{color:var(--color-text-muted);font-size:11px;font-weight:800}.achievement-source{border-radius:var(--radius-pill);background:#ffffff0f;padding:4px 7px}.achievement-disclaimer{margin:0}.habit-influence-chip-card{display:grid;gap:var(--space-3)}.habit-influence-chip-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.habit-influence-chip{min-width:0;min-height:36px;display:inline-grid;grid-template-columns:auto minmax(0,auto) auto;align-items:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-pill);padding:7px 9px;background:#ffffff0d;color:var(--color-text-secondary);font:inherit;text-align:left}.habit-influence-chip.active{border-color:#31e0bf6b;background:#31e0bf1f;color:var(--color-accent)}.habit-influence-chip span{min-width:0;font-size:12px;font-weight:800}.habit-influence-chip small{color:var(--color-text-muted);font-size:10px;font-weight:800}.habit-influence-explainer,.habit-achievement-template-picker{display:grid;gap:var(--space-2);border-radius:var(--radius-lg);background:#ffffff0d;padding:var(--space-3)}.habit-influence-explainer strong{color:var(--color-text);font-size:13px}.habit-influence-explainer p,.habit-achievement-template-picker p{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.35}.habit-achievement-template-list{display:grid;gap:var(--space-2)}.habit-achievement-template-list button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px var(--space-2);align-items:center;border:1px solid transparent;border-radius:var(--radius-lg);background:#ffffff0d;color:var(--color-text);padding:var(--space-3);text-align:left;font:inherit}.habit-achievement-template-list button.active{border-color:#31e0bf6b;background:#31e0bf1f}.habit-achievement-template-list strong,.habit-achievement-template-list small{min-width:0}.habit-achievement-template-list strong{font-size:13px}.habit-achievement-template-list small{grid-column:1 / -1;color:var(--color-text-muted);font-size:12px}.habit-achievement-template-list span{border-radius:var(--radius-pill);background:#ffffff12;color:var(--color-accent);padding:3px 7px;font-size:10px;font-weight:900}.achievement-detail-body{display:grid;gap:var(--space-3);min-height:0;overflow-y:auto;padding:0 var(--space-4) var(--space-4)}.achievement-detail-sheet .sheet-actions{flex:0 0 auto;margin:0 -16px;padding:12px var(--space-4) calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#08121000,#081210eb 28%,#081210fa)}.achievement-detail-hero{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:var(--space-3)}.achievement-detail-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(49,224,191,.34);background:#31e0bf1f;color:var(--color-accent)}.analytics-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.legend-item{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 7px;border-radius:999px;border:1px solid transparent;background:#ffffff06;color:var(--muted);font-size:.72rem;font-weight:800;transition:opacity var(--dur-fast) var(--ease-soft),background-color var(--dur-fast) var(--ease-soft),border-color var(--dur-fast) var(--ease-soft)}.legend-item:before{content:"";width:8px;height:8px;border-radius:999px}.legend-item.mood:before{background:#7cff7a}.legend-item.energy:before{background:#45a3ff}.legend-item.active{color:#ecfff8;background:#ffffff0b;border-color:#ffffff14}.legend-item:not(.active){opacity:.42}.analytics-chart-wrap{min-width:0;width:100%}.analytics-chart{display:block;min-width:0;width:100%;height:auto;aspect-ratio:640 / 156;max-height:210px}.chart-scale-bg{fill:#ffffff06;stroke:#ffffff0b;stroke-width:1}.chart-area{opacity:.34;transform-box:fill-box;transform-origin:bottom;animation:chart-area-in var(--motion-slow) var(--ease-out) both}.chart-area.mood{fill:#7cff7a}.chart-area.energy{fill:#45a3ff;opacity:.26}.chart-grid-line{stroke:#ffffff1a;stroke-width:1}.chart-y-label{fill:#dae8e1b8;font-size:9px;font-weight:800;text-anchor:middle}.chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));stroke-dasharray:720;stroke-dashoffset:720;animation:chart-line-draw var(--motion-slow) var(--ease-out) forwards}.chart-line.mood{stroke:#7cff7a}.chart-line.energy{stroke:#45a3ff}.chart-point.mood{fill:#7cff7a;stroke:#0b100e;stroke-width:1.4}.chart-point.energy{fill:#45a3ff;stroke:#0b100e;stroke-width:1.4}.analytics-chart-labels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;padding-left:clamp(28px,5.6%,44px);padding-right:clamp(10px,1.9%,16px);color:var(--muted);font-size:.72rem;font-weight:700}.analytics-chart-labels span{min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-filter-note{margin-bottom:-2px;font-size:.78rem}.analytics-control-row{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(136px,.92fr);align-items:center;gap:10px;min-width:0}.analytics-series-toggle{min-width:0;display:inline-flex;align-items:center;justify-self:start;gap:4px;padding:3px;border-radius:999px;background:#ffffff09;box-shadow:inset 0 0 0 1px #ffffff06}.analytics-series-button{min-height:31px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;border:0;border-radius:999px;background:transparent;color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:.72rem;font-weight:900;white-space:nowrap;transition:background var(--motion-normal) var(--ease-soft),color var(--motion-normal) var(--ease-soft),opacity var(--motion-fast) var(--ease-soft),transform var(--motion-fast) var(--ease-soft)}.analytics-series-button:before{content:"";width:7px;height:7px;border-radius:50%;background:#ffffff3d}.analytics-series-button.mood:before{background:#58e0a4}.analytics-series-button.energy:before{background:#67c7f4}.analytics-series-button.active{background:#ffffff0f;color:var(--text)}.analytics-series-button:not(.active){opacity:.48}.analytics-activity-select{min-width:0}.analytics-activity-button{width:100%;min-height:37px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(36,255,240,.13);border-radius:999px;background:#ffffff0a;color:var(--text);font-size:.74rem;font-weight:900;text-align:left;box-shadow:inset 0 0 0 1px #ffffff03}.analytics-activity-button:disabled{cursor:default;opacity:.5}.analytics-activity-button strong{min-width:24px;padding:3px 6px;border-radius:999px;background:#2dcf9f1f;color:color-mix(in srgb,var(--accent) 76%,var(--text));font-size:.68rem;text-align:center;font-variant-numeric:tabular-nums}.analytics-activity-button.active,.analytics-activity-select.open .analytics-activity-button{border-color:#2dcf9f57;background:radial-gradient(circle at 100% 0%,rgba(36,255,240,.1),transparent 46%),#2dcf9f12}.analytics-activity-panel{position:relative;z-index:3;display:grid;gap:9px;margin-top:-2px;padding:10px;border:1px solid rgba(36,255,240,.14);border-radius:20px;background:linear-gradient(180deg,#111d19,#0b1411);box-shadow:0 18px 44px #00000047;animation:sheet-in var(--motion-normal) var(--ease-out)}.analytics-activity-panel input{min-height:40px;border-radius:14px;border:1px solid rgba(36,255,240,.12);background:#ffffff0b;color:var(--text)}.analytics-activity-list{display:grid;gap:6px;max-height:230px;overflow-y:auto;padding-right:2px}.analytics-activity-group{display:grid;gap:5px}.analytics-activity-group+.analytics-activity-group{margin-top:4px}.analytics-activity-group-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px 2px;color:var(--muted);font-size:.68rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.analytics-activity-group-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-activity-group-title strong{color:color-mix(in srgb,var(--accent) 60%,var(--muted));font-size:.68rem;font-variant-numeric:tabular-nums}.analytics-activity-option{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:13px;background:#ffffff09;color:var(--text);font-size:.78rem;font-weight:850;text-align:left}.analytics-activity-option strong{color:color-mix(in srgb,var(--accent) 72%,var(--text));font-size:.74rem;font-variant-numeric:tabular-nums}.analytics-activity-option.active{background:#2dcf9f24;box-shadow:inset 0 0 0 1px #2dcf9f2e}.analytics-activity-empty{margin:4px 0;text-align:center}.analytics-row-list,.analytics-tag-list,.analytics-filter-list,.analytics-insights{display:grid;gap:8px}.analytics-card:has(>.analytics-row-list){display:none}.analytics-filter-list{display:flex;flex-wrap:wrap;gap:7px}.analytics-filter-chip{min-height:32px;display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:#ffffff0a;color:#dbe6e1;font-size:.76rem;font-weight:800}.analytics-filter-chip.active{border-color:#2dcf9f85;background:#2dcf9f24;color:#effff9}.analytics-filter-chip span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-filter-chip span:nth-child(n+3){display:none}.analytics-row,.analytics-tag-row{display:grid;grid-template-columns:minmax(70px,1fr) 64px 64px 34px;align-items:center;gap:8px;min-height:36px;padding:8px 10px;border-radius:14px;background:#ffffff09;color:#dbe6e1;font-size:.78rem;font-weight:750;transition:background-color var(--motion-normal) var(--ease-soft),transform var(--motion-fast) var(--ease-soft),opacity var(--motion-fast) var(--ease-soft)}.analytics-tag-row{grid-template-columns:minmax(80px,1fr) 38px 74px 74px}.analytics-row-title,.analytics-tag-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.analytics-empty{margin-bottom:0}.analytics-insights p{margin:0;padding:10px 12px;border-radius:14px;background:#2dcf9f12;color:#d7f6ec;font-size:.86rem;line-height:1.35}.context-coverage-summary{display:grid;gap:4px;padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffff0a}.context-coverage-summary strong{color:var(--color-text);font-size:.9rem;font-weight:900}.context-coverage-summary span{color:var(--color-text-muted);font-size:.76rem;font-weight:760;line-height:1.35}.context-coverage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.context-coverage-grid>span{min-width:0;display:grid;gap:2px;padding:var(--space-2);border-radius:var(--radius-md);background:#ffffff0a}.context-coverage-grid strong{min-width:0;color:var(--color-text);font-size:.82rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.context-coverage-grid small{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:.68rem;font-weight:760;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.picker-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:4px 2px 0}.picker-inline-trigger{padding:0;background:transparent;color:var(--accent);text-align:left;font-weight:700;transition:transform var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft),opacity var(--dur-fast) var(--ease-soft)}.picker-inline-trigger:hover{color:#86e6c9}.picker-inline-trigger.date{color:#78dabb}.picker-inline-trigger.time{color:#78dabb;text-align:right}.picker-inline .picker-label{display:none}.native-picker{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.note-field{display:grid;gap:8px}.note-field span{font-weight:700}.checkin-note-toggle{justify-self:start;min-height:36px;width:fit-content;display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;padding-inline:0;color:var(--color-text-secondary);line-height:1;white-space:nowrap}.checkin-note-toggle svg{flex:0 0 auto}.checkin-note-toggle:hover{color:var(--color-accent)}.checkin-note-field textarea{min-height:86px}.scale-row{display:grid;gap:10px;margin:0;padding:0;border:0}.scale-row.collapsed{grid-template-columns:minmax(92px,.75fr) minmax(0,1fr);align-items:center;gap:8px}.scale-row legend{padding:0;font-weight:700}.scale-toggle{padding:0;background:transparent;color:var(--accent);font-size:.78rem;font-weight:800}.scale-compact-choice{min-height:42px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;padding:7px 10px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent, #2dcf9f) 36%,transparent);background:color-mix(in srgb,var(--accent, #2dcf9f) 12%,#111715);color:var(--text);font-weight:800}.scale-compact-choice span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scale-actions{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px}.picker-option{min-width:44px;min-height:48px;display:grid;place-items:center;border-radius:18px;border:1px solid var(--border);background:#111715;transition:transform var(--dur-fast) var(--ease-soft),border-color var(--dur-med) var(--ease-soft),background-color var(--dur-med) var(--ease-soft),box-shadow var(--dur-med) var(--ease-soft)}.picker-option.active{border-color:var(--accent, #2dcf9f);background:color-mix(in srgb,var(--accent, #2dcf9f) 15%,#111715);box-shadow:0 12px 22px #0003,0 0 0 1px #ffffff05}.link-button{justify-self:start;padding:0;background:transparent;color:var(--accent);font-weight:700}.sheet-actions{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}.sheet-actions.single-action{grid-template-columns:minmax(0,1fr)}.habit-form .sheet-actions:not(.single-action){grid-template-columns:minmax(92px,.36fr) minmax(0,1fr)}.habit-form .habit-wizard-actions:not(.single-action){grid-template-columns:minmax(112px,auto) minmax(0,1fr)}.sheet-actions.has-delete{grid-template-columns:48px 48px minmax(0,1fr)}.sheet-actions.habit-delete-actions{grid-template-columns:48px minmax(0,1fr) minmax(96px,.7fr)}.habit-delete-actions .secondary-button,.habit-delete-actions .danger-cta{min-width:0;font-size:.78rem}.sheet-actions.checkin-final-actions{grid-template-columns:48px minmax(84px,.45fr) minmax(0,1fr)}.sheet-actions.checkin-final-actions.has-delete{grid-template-columns:48px 48px minmax(84px,.45fr) minmax(0,1fr)}.sheet-actions .primary-cta{min-width:0;width:100%}.sticky-actions{position:sticky;bottom:0;z-index:3;margin:0 -16px calc(-86px - env(safe-area-inset-bottom,0px));padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#0f141200,#0f1412 26%)}.night-day-prompt{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;padding:16px;background:#0000006b}.night-day-card{width:100%;display:grid;gap:10px;padding:16px;border-radius:22px;border:1px solid rgba(45,207,159,.18);background:#121916;box-shadow:0 -18px 48px #00000061;animation:sheet-in var(--dur-med) var(--ease-out)}.night-day-card h3,.night-day-card p{margin:0}.night-day-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding-top:4px}.icon-action,.danger-button{min-height:48px;border-radius:16px;font-weight:700}.icon-action{width:48px;display:grid;place-items:center;background:#ffffff0f;color:var(--text);font-size:1.35rem;line-height:1}.danger-icon,.danger-button{background:#ff7b7b24;color:#ff9b9b;box-shadow:inset 0 0 0 1px #ff7b7b1f}.toast{position:fixed;left:14px;right:14px;top:calc(12px + env(safe-area-inset-top,0px));z-index:40;margin:0 auto;width:min(100%,420px);padding:12px 14px;border-radius:14px;font-size:.92rem;transition:transform .18s ease,opacity .18s ease;touch-action:pan-x;animation:toast-in .22s var(--ease-out)}.toast.success{background:#1c533df5;color:#e9fff5}.toast.error{background:#682424f5;color:#ffe9e9}.toast-top{-webkit-user-select:none;user-select:none}body{background:radial-gradient(circle at 50% -8%,rgba(45,207,159,.08),transparent 34%),linear-gradient(180deg,#08100d 0%,var(--color-bg) 42%,#060907 100%)}h1,h2,h3{color:var(--text);letter-spacing:0}h2{font-size:1.08rem;font-weight:900}h3,.section-heading strong,.analytics-card-head h3,.today-habits-head h3,.profile-section>h3{font-size:.98rem;font-weight:900}.muted,.state-mini-title,.today-habit-meta,.profile-menu-copy span,.profile-menu-value,.analytics-card-meta,.analytics-chart-labels,.calendar-weekday-name,.day-weekday{color:var(--muted)}.panel,.calendar-page,.profile-panel,.calendar-window,.sheet{border-color:var(--border-subtle);background:linear-gradient(180deg,#ffffff07,#ffffff03),var(--surface);box-shadow:var(--shadow-soft)}.today-panel,.today-habits-panel,.history-panel,.analytics-card,.profile-section,.habit-card,.habit-detail-card,.habit-heatmap-card,.calendar-summary,.day-context-card,.day-habits-card{border:1px solid var(--border-subtle);background:linear-gradient(180deg,#ffffff08,#ffffff04),var(--surface);box-shadow:0 12px 28px #0000002e}.today-panel,.today-habits-panel,.analytics-card,.profile-section,.habit-card,.habit-detail-card,.calendar-summary{border-radius:var(--radius-xl)}.today-panel{gap:var(--space-3);position:relative;overflow:hidden;padding:16px;border-color:#24fff024;border-radius:30px;background:radial-gradient(circle at 82% 10%,rgba(36,255,240,.12),transparent 32%),radial-gradient(circle at 12% 62%,rgba(45,207,159,.09),transparent 30%),linear-gradient(180deg,#ffffff09,#ffffff04),var(--surface);box-shadow:inset 0 0 0 1px #24fff006,0 18px 50px #00000038}.month-toolbar{gap:var(--space-3)}.month-arrow,.month-chip,.calendar-close{border-color:var(--border-subtle);background:var(--surface-soft);box-shadow:none}.month-chip{font-weight:850}.day-strip{grid-auto-columns:minmax(74px,1fr);gap:10px;padding:4px 2px 12px}.day-pill{min-height:108px;border-radius:26px;border-color:#ffffff12;background:radial-gradient(circle at 50% 55%,rgba(45,207,159,.08),transparent 50%),linear-gradient(180deg,#ffffff0b,#ffffff05)}.day-pill.active{border-color:#24fff0ad;background:radial-gradient(circle at 50% 58%,rgba(36,255,240,.18),transparent 54%),linear-gradient(180deg,#2dcf9f40,#2dcf9f13);box-shadow:inset 0 0 0 1px #24fff029,0 18px 42px #24fff029}.day-number.has-entry{border-color:#2dcf9fb8;box-shadow:inset 0 -18px 28px #0000002e,0 0 0 3px #2dcf9f14}.streak-counter{min-height:56px;padding:9px 12px;border:1px solid rgba(40,230,214,.22);background:radial-gradient(circle at 15% 50%,rgba(40,230,214,.16),transparent 34%),linear-gradient(90deg,#18756b38,#10524e24)}.streak-counter-label,.streak-counter-value{font-size:.92rem}.state-preview.compact-two,.state-preview.compact-three{gap:var(--space-2)}.state-mini{border-color:transparent;background:linear-gradient(180deg,#ffffff09,#ffffff05),#ffffff05}.state-mini-value{font-size:1rem}.state-nudge{margin:-2px 0 0;padding:9px 11px;border-radius:var(--radius-md);background:#2dcf9f0e;color:var(--text-secondary);font-size:.78rem;font-weight:760;line-height:1.35}.today-habits-panel{gap:var(--space-3)}.today-habit-row,.habit-card-main{min-height:48px;border-color:transparent;background:#ffffff0a}.today-habit-row.quit,.habit-card.quit{border-color:#ffbd631f;background:#ffbd630b}.habit-status-dot{background:#ffffff12}.habit-progress{height:6px;background:#ffffff12}.habit-progress span,.habit-milestone-bar span{background:linear-gradient(90deg,var(--success),var(--accent))}.today-habit-empty,.habits-empty,.analytics-empty,.placeholder-panel{border-style:dashed;border-color:#ffffff14;background:#ffffff06}.primary-cta,.secondary-button,.compact-button,.text-button.compact,.analytics-period-button,.analytics-view-button,.calendar-mode-button,.tag-chip,.analytics-filter-chip,.picker-inline-trigger,.analytics-period-date-button,.icon-action,.danger-button{border-radius:var(--radius-md)}.primary-cta{background:linear-gradient(180deg,#39d9ad,#22bd91);color:#04120d;box-shadow:0 12px 28px #2dcf9f33}.secondary-button,.compact-button,.picker-inline-trigger,.analytics-period-date-button{border:1px solid transparent;background:#fff1;color:var(--text);box-shadow:none}.secondary-button:hover,.compact-button:hover,.picker-inline-trigger:hover{border-color:#ffffff14;background:#ffffff16}.soft-danger,.danger-button,.danger-cta{border-color:#ff7b7b24;background:#ff7b7b1f;color:#ffd0d0;box-shadow:none}.text-button.compact{min-height:34px;padding:0 11px;border:1px solid rgba(45,207,159,.16);background:#2dcf9f14;color:var(--accent);font-weight:900}.tag-chip,.analytics-filter-chip,.habit-log-chip{border-color:transparent;background:#ffffff0e;color:var(--text-secondary)}.tag-chip.active,.tag-chip.selected-chip,.analytics-filter-chip.active{border-color:#2dcf9f59;background:#2dcf9f21;box-shadow:0 0 0 1px #2dcf9f17}.calendar-page{gap:var(--space-3);border-radius:var(--radius-2xl)}.calendar-mode-switch,.analytics-period-switch,.analytics-view-switch,.habit-segment,.habit-weekday-grid{border:none;background:#ffffff09;border-radius:var(--radius-lg)}.calendar-mode-button.active,.analytics-period-button.active,.analytics-view-button.active,.habit-segment button.active,.habit-weekday-grid button.active{background:#2dcf9f24;color:var(--accent);box-shadow:inset 0 0 0 1px #2dcf9f2e}.calendar-grid-corner,.calendar-week-meta,.calendar-weekday-button,.calendar-day{border-color:transparent;background:var(--day-fill, rgba(255, 255, 255, .035));box-shadow:none}.calendar-grid-corner,.calendar-weekday-button{border-radius:var(--radius-lg)}.calendar-week-meta,.calendar-day{border-radius:var(--radius-md)}.calendar-grid-corner.active,.calendar-weekday-button.active,.calendar-week-meta.active,.calendar-day.selected{border-color:#2dcf9f6b;box-shadow:0 0 0 1px #2dcf9f3d}.calendar-day.today{box-shadow:0 0 0 1px #ffffff38}.calendar-summary{padding:var(--space-4)}.calendar-summary-stats{gap:var(--space-2)}.analytics-header{padding:0 2px}.analytics-header p{margin-bottom:0}.analytics-card{gap:var(--space-3);padding:var(--space-4)}.analytics-summary-grid{gap:var(--space-3)}.analytics-row,.analytics-tag-row,.habit-analytics-grid span,.profile-stat-card,.profile-menu-card,.day-habit-summary-strip span{border:0;background:#ffffff0a}.analytics-insights p,.habit-analytics-summary{border:1px solid rgba(45,207,159,.09);background:#2dcf9f0e;color:var(--text-secondary)}.habit-card,.habit-overview-card,.habit-frequency-card,.habit-template-card,.habit-confirm-card{border-color:var(--border-subtle);background:linear-gradient(180deg,#ffffff09,#ffffff04),var(--surface)}.habit-card{padding:var(--space-3)}.habit-overview-card{border-radius:var(--radius-xl)}.habit-overview-main,.habit-action-title{background:#ffffff0a}.habit-page-stats span,.habit-template-stats span,.habit-metrics-preview span,.habit-page-meta-strip span{border:0;background:#2dcf9f13}.habit-management-actions .compact-button{background:#ffffff0b;color:var(--text-secondary)}.habit-heatmap-card{background:#ffffff06}.profile-panel{gap:var(--space-4);border-radius:var(--radius-2xl)}.profile-hero{border-color:#2dcf9f1a;background:radial-gradient(circle at 12% 0%,rgba(45,207,159,.12),transparent 38%),#ffffff07}.profile-section{padding:var(--space-3)}.profile-menu-card{border-color:transparent}.profile-context-menu{margin-bottom:var(--space-3)}.profile-menu-row+.profile-menu-row{border-top-color:#ffffff0b}.profile-menu-row.static .profile-menu-value,.profile-menu-row.static .profile-menu-copy span{color:#86948db8}.sheet-overlay{background:#030706a8}.sheet{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:var(--space-3) var(--space-4) 0;box-shadow:0 -24px 56px #00000080}.sheet-header h2,.sheet-header h3{font-size:1.05rem}.sticky-actions,.tag-settings-savebar{background:linear-gradient(180deg,rgba(15,20,18,0),var(--surface) 32%)}.tag-category-card,.profile-category-card,.day-habit-group{border-color:transparent;background:#ffffff09}.sheet-overlay.closing{pointer-events:none;animation:overlay-out var(--motion-normal) var(--ease-soft) forwards}.sheet-overlay.closing .sheet-shell{animation:sheet-out var(--motion-normal) var(--ease-soft) forwards}.calendar-mode-switch,.analytics-period-switch,.analytics-view-switch,.habit-segment{position:relative;overflow:hidden;isolation:isolate;--segment-count: 3;--segment-gap: 6px;--segment-pad: 4px;--segment-index: 0}.calendar-mode-switch:before,.analytics-period-switch:before,.analytics-view-switch:before,.habit-segment:before{content:"";position:absolute;inset-block:var(--segment-pad);left:var(--segment-pad);z-index:0;border-radius:calc(var(--radius-lg) - 4px);border:1px solid rgba(36,255,240,.24);background:radial-gradient(circle at 50% 18%,rgba(36,255,240,.2),transparent 48%),#2dcf9f1b;box-shadow:inset 0 0 0 1px #2dcf9f14,0 10px 24px #24fff014;width:calc((100% - (var(--segment-pad) * 2) - (var(--segment-gap) * (var(--segment-count) - 1))) / var(--segment-count));transform:translate(calc(var(--segment-index) * (100% + var(--segment-gap))));transition:transform var(--motion-slow) var(--ease-spring),opacity var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft);pointer-events:none}.analytics-period-switch{--segment-count: 5;--segment-pad: 5px}.analytics-period-panel{display:none;padding:0;border:0;background:transparent;box-shadow:none}.analytics-view-switch.stats-view-switch.analytics-period-detail-switch{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;min-height:48px;border-radius:19px;--segment-count: 5;--segment-gap: 6px;--segment-pad: 4px}.analytics-view-switch.stats-view-switch.analytics-breakdown-detail-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-height:48px;border-radius:19px;--segment-count: 2;--segment-gap: 6px;--segment-pad: 4px}.analytics-period-detail-switch .analytics-period-button,.analytics-breakdown-detail-switch .analytics-period-button{min-height:40px;padding:6px 3px;border-radius:15px;font-size:.78rem;white-space:nowrap}.analytics-period-detail-switch .analytics-period-button.custom{display:inline-flex;align-items:center;justify-content:center;gap:5px}.analytics-period-detail-switch .analytics-period-button.custom svg{width:14px;height:14px}.habit-segment{--segment-count: 2}.analytics-view-switch.stats-view-switch{grid-template-columns:repeat(3,minmax(0,1fr));--segment-count: 3;--segment-gap: 6px;--segment-pad: 4px}.analytics-view-switch.stats-view-switch.analytics-overview-icon-switch{grid-template-columns:repeat(2,minmax(0,1fr));--segment-count: 2}.calendar-mode-switch:has(.calendar-mode-button:nth-child(1).active),.analytics-period-switch:has(.analytics-period-button:nth-child(1).active),.analytics-view-switch:has(.analytics-view-button:nth-child(1).active),.habit-segment:has(button:nth-child(1).active){--segment-index: 0}.calendar-mode-switch:has(.calendar-mode-button:nth-child(2).active),.analytics-period-switch:has(.analytics-period-button:nth-child(2).active),.analytics-view-switch:has(.analytics-view-button:nth-child(2).active),.habit-segment:has(button:nth-child(2).active){--segment-index: 1}.calendar-mode-switch:has(.calendar-mode-button:nth-child(3).active),.analytics-period-switch:has(.analytics-period-button:nth-child(3).active),.analytics-view-switch:has(.analytics-view-button:nth-child(3).active),.habit-segment:has(button:nth-child(3).active){--segment-index: 2}.stats-view-switch:has(.analytics-view-button:nth-child(4).active){--segment-index: 3}.analytics-period-switch:has(.analytics-period-button:nth-child(4).active){--segment-index: 3}.analytics-period-switch:has(.analytics-period-button:nth-child(5).active){--segment-index: 4}.calendar-mode-switch>*,.analytics-period-switch>*,.analytics-view-switch>*,.habit-segment>*{position:relative;z-index:1}.calendar-mode-button.active,.analytics-period-button.active,.analytics-view-button.active,.habit-segment button.active{background:transparent;box-shadow:none}.state-mini-value,.analytics-card strong,.profile-stat-card strong,.habit-page-stats strong,.habit-template-stats strong,.streak-counter-value{font-variant-numeric:tabular-nums;animation:metric-pop var(--motion-normal) var(--ease-spring) both}.today-habit-row,.habit-card,.calendar-summary,.day-context-card,.day-habits-card{transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft)}.today-habit-row:has(.habit-status-dot.done),.today-habit-row:has(.habit-status-dot.avoided){border-color:#2dcf9f3d;background:#2dcf9f0e}.habit-status-dot.done,.habit-status-dot.avoided,.habit-status-dot.craving,.habit-status-dot.relapse,.habit-status-dot.resumed,.habit-status-dot.skipped{animation:habit-check-pop var(--motion-normal) var(--ease-spring) both}.habit-progress span,.habit-page-progress-bar span,.streak-progress-bar span{transition:width var(--motion-slow) var(--ease-soft),transform var(--motion-normal) var(--ease-soft)}.calendar-window,.calendar-grid,.calendar-summary,.analytics-chart,.analytics-chart-labels{animation:calendar-shift-in var(--motion-normal) var(--ease-soft) both}.calendar-day,.calendar-week-meta,.calendar-weekday-button{transition:background-color var(--motion-normal) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft),transform var(--motion-fast) var(--ease-soft)}.calendar-day:active,.calendar-week-meta:active,.calendar-weekday-button:active{transform:scale(.965)}.chart-line,.chart-area,.chart-point{transition:opacity var(--motion-normal) var(--ease-soft),transform var(--motion-normal) var(--ease-soft),stroke var(--motion-normal) var(--ease-soft),fill var(--motion-normal) var(--ease-soft)}.today-habit-empty,.habits-empty,.analytics-empty,.daylog-empty,.calendar-day-empty,.placeholder-panel{animation:empty-rise var(--motion-normal) var(--ease-out) both}.fab-button{position:relative;overflow:visible;animation:fab-enter var(--motion-slow) var(--ease-spring) both}.fab-button.mood-fab:after,.fab-button.habit-fab:after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:1px solid rgba(45,207,159,.38);opacity:0;animation:fab-soft-pulse 1.8s var(--ease-out) .72s 2;pointer-events:none}.habit-confirm-card,.delete-confirm,.night-day-prompt{animation:confirm-rise var(--motion-normal) var(--ease-out) both}.daylog-page,.habit-detail-card{animation:route-in var(--motion-normal) var(--ease-out) both}.skeleton-page{pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-block{display:block;min-width:0;min-height:12px;border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff0a,#2dcf9f1f 42%,#ffffff0b 82%),#ffffff0b;background-size:220% 100%;animation:skeleton-shimmer 1.2s var(--ease-soft) infinite;opacity:.9}.skeleton-card{position:relative;overflow:hidden}.skeleton-stack{display:grid;gap:8px;min-width:0}.skeleton-toolbar{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:var(--space-3)}.skeleton-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.skeleton-row{min-height:54px;display:grid;grid-template-columns:38px minmax(0,1fr) 58px;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-lg);background:#ffffff08}.skeleton-row>span:not(.skeleton-block){display:grid;gap:7px;min-width:0}.skeleton-block.line{height:12px}.skeleton-block.line.long{width:min(100%,260px)}.skeleton-block.line.medium{width:min(68%,190px)}.skeleton-block.line.short{width:min(42%,120px)}.skeleton-block.pill{width:86px;height:34px;border-radius:var(--radius-pill)}.skeleton-block.pill.tiny{width:54px;height:26px}.skeleton-block.short-pill{width:62px}.skeleton-block.circle{width:48px;height:48px;border-radius:50%}.skeleton-block.square{min-height:40px;border-radius:var(--radius-lg)}.skeleton-block.avatar{width:34px;height:34px;border-radius:50%}.skeleton-block.avatar.large{width:58px;height:58px}.skeleton-block.title-pill{width:100%;height:48px;border-radius:var(--radius-lg)}.skeleton-block.metric-card{min-height:96px;border-radius:var(--radius-lg)}.skeleton-block.metric-card.tall{min-height:112px}.skeleton-block.chart{width:100%;min-height:158px;border-radius:var(--radius-lg)}.skeleton-block.progress,.skeleton-block.streak{width:100%;height:12px;border-radius:var(--radius-pill)}.skeleton-day-strip{display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:var(--space-2);overflow:hidden}.skeleton-block.day-pill-skeleton{min-height:62px;border-radius:var(--radius-lg)}.skeleton-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:42px;padding:4px;border-radius:var(--radius-lg);background:#ffffff08}.skeleton-segment.five{grid-template-columns:repeat(5,minmax(0,1fr))}.skeleton-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2)}.skeleton-block.calendar-cell{aspect-ratio:1 / 1;min-height:38px;border-radius:var(--radius-md)}.skeleton-metric-grid{display:grid;gap:var(--space-2)}.skeleton-metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-metric-grid .skeleton-block{min-height:86px}.skeleton-chart-labels,.skeleton-chip-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.skeleton-chart-labels .skeleton-block{width:52px;height:10px}.skeleton-heatmap{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px;padding-top:var(--space-2)}.skeleton-block.heatmap-cell{aspect-ratio:1 / 1;min-height:12px;border-radius:4px}.success-pulse{position:fixed;left:50%;bottom:calc(118px + env(safe-area-inset-bottom,0px));z-index:55;min-width:142px;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(45,207,159,.34);background:#0e1d18f0;color:#effff9;box-shadow:0 18px 42px #0000005c,0 0 0 1px #ffffff0a;animation:success-bubble-life 1.45s var(--ease-out) both;will-change:transform,opacity}.success-pulse-ring{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#2dcf9f2e;box-shadow:inset 0 0 0 1px #2dcf9f57;animation:success-ring .52s var(--ease-spring) both}.success-pulse-ring svg{width:21px;height:21px;fill:none;stroke:#6ff5c7;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.success-pulse-ring path{stroke-dasharray:32;stroke-dashoffset:32;animation:success-check .46s var(--ease-out) .15s forwards}.pwa-install-prompt{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:54;max-width:430px;margin-inline:auto;display:grid;grid-template-columns:38px minmax(0,1fr) auto 32px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(36,255,240,.18);border-radius:22px;background:radial-gradient(circle at 18% 0%,rgba(36,255,240,.13),transparent 42%),linear-gradient(180deg,#122e27f5,#071310f5);color:var(--text);box-shadow:0 18px 44px #0000006b,0 0 34px #24fff014,inset 0 1px #ffffff0f;animation:panel-in var(--motion-normal) var(--ease-soft) both}.pwa-install-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:#2dcf9f24;color:var(--accent);box-shadow:inset 0 0 0 1px #24fff02e}.pwa-install-prompt strong,.pwa-install-prompt span{display:block;min-width:0}.pwa-install-prompt strong{color:var(--text);font-size:.84rem;font-weight:900;line-height:1.12}.pwa-install-prompt span{margin-top:3px;color:var(--muted);font-size:.72rem;font-weight:760;line-height:1.2}.pwa-install-action,.pwa-install-close{border:0;white-space:nowrap}.pwa-install-action{min-height:34px;padding:0 12px;border-radius:999px;background:linear-gradient(180deg,#33efd3f2,#26c6a9f2);color:#041512;font-size:.74rem;font-weight:950;box-shadow:0 10px 24px #24fff029}.pwa-install-close{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#ffffff0b;color:var(--muted)}.auth-link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.auth-waiting{margin:0;color:var(--accent);font-size:.82rem;font-weight:850}.auth-action-stack{display:grid;gap:var(--space-2)}.auth-provider-block{display:grid;justify-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.76rem;font-weight:850}.auth-provider-actions{display:flex;justify-content:center;gap:var(--space-2)}.auth-provider-button{width:74px;min-height:58px;display:grid;place-items:center;gap:3px;padding:7px 8px;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0%,rgba(45,207,159,.1),transparent 62%),#ffffff09;color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px #2dcf9f09}.auth-provider-button b{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#2dcf9f1f;color:var(--accent);font-size:.95rem;font-weight:950;line-height:1}.auth-provider-button small{overflow:hidden;max-width:100%;color:inherit;font-size:.66rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.auth-provider-button:disabled{opacity:.56}.auth-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;padding-top:2px;color:var(--color-text-muted);font-size:.76rem;font-weight:850}.auth-legal-links a{color:var(--accent);text-decoration:none}.auth-legal-links a:hover{text-decoration:underline}.password-auth-form{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-2xl);background:radial-gradient(circle at 18% 0%,rgba(45,207,159,.12),transparent 42%),#ffffff09;border:1px solid rgba(45,207,159,.16)}.password-auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);padding:3px;border-radius:var(--radius-pill);background:#ffffff0b}.password-auth-tabs button{min-height:34px;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-size:.78rem;font-weight:900}.password-auth-tabs button.active{background:var(--color-accent-soft);color:var(--color-accent);box-shadow:inset 0 0 0 1px #2dcf9f3d}.password-auth-heading{display:grid;gap:4px;min-width:0}.password-auth-heading strong{color:var(--color-text);font-size:1rem;line-height:1.1}.password-auth-heading small{color:var(--color-text-secondary);font-size:.82rem;font-weight:760}.password-auth-label{display:grid;gap:5px;min-width:0;color:var(--color-text-secondary);font-size:.76rem;font-weight:900}.password-auth-input{min-height:46px;padding:0 13px;border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-lg);background:#080d0bcc;color:var(--color-text);font:inherit;font-weight:850}.password-auth-input:focus{border-color:#2dcf9fa3;box-shadow:0 0 0 3px #2dcf9f1a;outline:none}.auth-text-button{justify-self:center;min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:transparent;color:var(--color-accent);font-size:.82rem;font-weight:900}.auth-text-button:active{transform:scale(.98)}@media(max-width:380px){.pwa-install-prompt{grid-template-columns:34px minmax(0,1fr) 30px}.pwa-install-action{grid-column:2 / 4;width:100%}.pwa-install-close{grid-column:3;grid-row:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-view-slide-forward{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@keyframes page-view-slide-backward{0%{transform:translate3d(-100%,0,0)}to{transform:translateZ(0)}}@keyframes card-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-out{to{opacity:0}}@keyframes sheet-out{to{opacity:0;transform:translateY(100%)}}@keyframes metric-pop{0%{transform:translateY(2px) scale(.98)}65%{transform:translateY(0) scale(1.035)}to{transform:translateY(0) scale(1)}}@keyframes habit-check-pop{0%{transform:scale(.82)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes empty-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fab-enter{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fab-soft-pulse{0%{opacity:0;transform:scale(.92)}24%{opacity:.55}to{opacity:0;transform:scale(1.22)}}@keyframes confirm-rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes route-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes calendar-shift-in{0%{opacity:.72;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes chart-line-draw{to{stroke-dashoffset:0}}@keyframes chart-area-in{0%{opacity:0;transform:scaleY(.82)}to{transform:scaleY(1)}}@keyframes chart-point-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes analytics-chart-stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes analytics-bar-in{0%{opacity:0;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}@keyframes analytics-column-in{0%{opacity:0;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}@keyframes success-bubble-life{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.86)}16%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}82%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}}@keyframes success-ring{0%{transform:scale(.4)}65%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes success-check{to{stroke-dashoffset:0}}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fab-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}:root{--glass-panel: radial-gradient(circle at 88% 6%, rgba(36, 255, 240, .1), transparent 30%), radial-gradient(circle at 8% 98%, rgba(45, 207, 159, .07), transparent 34%), linear-gradient(180deg, rgba(255, 255, 255, .047), rgba(255, 255, 255, .014)), rgba(12, 22, 20, .92);--glass-panel-quiet: radial-gradient(circle at 92% 0%, rgba(36, 255, 240, .055), transparent 30%), linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .012)), rgba(12, 20, 18, .9);--glass-control: radial-gradient(circle at 50% 0%, rgba(36, 255, 240, .08), transparent 48%), linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .018));--glass-control-active: radial-gradient(circle at 50% 18%, rgba(36, 255, 240, .2), transparent 48%), linear-gradient(180deg, rgba(45, 207, 159, .22), rgba(45, 207, 159, .065));--glow-border: rgba(36, 255, 240, .24);--glow-border-strong: rgba(36, 255, 240, .52);--glow-soft: 0 16px 40px rgba(36, 255, 240, .09);--glow-strong: 0 18px 48px rgba(36, 255, 240, .16)}body{background:radial-gradient(circle at 50% -12%,rgba(36,255,240,.12),transparent 34%),radial-gradient(circle at 100% 22%,rgba(45,207,159,.06),transparent 30%),linear-gradient(180deg,#06100f,#070c0b 44%,#040706)}.app-shell{position:relative}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(36,255,240,.035),transparent 16%,transparent 84%,rgba(36,255,240,.026)),radial-gradient(circle at 50% 0%,rgba(36,255,240,.06),transparent 30%)}.panel,.calendar-page,.analytics-page,.profile-panel,.habits-page,.daylog-page,.placeholder-panel{border:1px solid rgba(36,255,240,.1);background:var(--glass-panel-quiet);box-shadow:inset 0 0 0 1px #ffffff05,0 20px 56px #00000047}.calendar-page,.analytics-page,.profile-panel,.habits-page,.daylog-page{padding:var(--page-pad);border-radius:30px}.today-panel,.today-habits-panel,.history-panel,.analytics-card,.profile-section,.profile-hero,.calendar-summary,.day-context-card,.day-habits-card,.habit-card,.habit-detail-card,.habit-overview-card,.habit-heatmap-card,.habit-frequency-card,.habit-template-card,.habit-confirm-card,.daylog-empty,.habits-empty,.today-habit-empty,.analytics-empty,.month-picker-option,.history-card,.profile-stat-card,.profile-menu-card,.analytics-row,.analytics-tag-row,.habit-analytics-grid span,.habit-page-stats span,.habit-template-stats span,.habit-metrics-preview span,.habit-page-meta-strip span,.day-habit-summary-strip span,.tag-category-card,.profile-category-card,.day-habit-group,.night-day-card{border-color:#24fff01f;background:var(--glass-panel);box-shadow:inset 0 0 0 1px #ffffff05,0 14px 34px #00000038}.today-habits-panel,.history-panel,.analytics-card,.profile-section,.calendar-summary,.day-context-card,.day-habits-card,.habit-card,.habit-detail-card,.habit-overview-card,.habit-heatmap-card,.habit-frequency-card,.habit-template-card,.habit-confirm-card,.profile-hero{border-radius:24px}.today-panel,.calendar-page,.analytics-page,.profile-panel,.habits-page,.daylog-page,.sheet{border-color:#24fff029;box-shadow:inset 0 0 0 1px #24fff009,0 24px 62px #00000057,var(--glow-soft)}.month-toolbar,.analytics-header,.habits-page-head,.daylog-page-header,.calendar-window-header,.habit-heatmap-head,.analytics-card-head,.today-habits-head,.day-context-head{animation:soft-slide-in var(--motion-normal) var(--ease-out) both}.month-arrow,.month-chip,.calendar-title-button,.calendar-close,.primary-cta,.secondary-button,.compact-button,.text-button.compact,.icon-action,.danger-button,.link-button,.picker-inline-trigger,.analytics-period-date-button,.scale-toggle,.scale-compact-choice,.picker-option,.tag-chip,.analytics-filter-chip,.habit-status-dot,.today-habit-row,.habit-card-main,.profile-menu-row,.profile-menu-card,.month-picker-option{border:1px solid rgba(36,255,240,.12);background:var(--glass-control);box-shadow:inset 0 0 0 1px #ffffff04,0 10px 24px #00000029;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-normal) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft),color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft),opacity var(--motion-fast) var(--ease-soft)}.month-arrow:hover,.month-chip:hover,.calendar-title-button:hover,.primary-cta:hover,.secondary-button:hover,.compact-button:hover,.text-button.compact:hover,.icon-action:hover,.picker-inline-trigger:hover,.analytics-period-date-button:hover,.scale-toggle:hover,.scale-compact-choice:hover,.picker-option:hover,.tag-chip:hover,.analytics-filter-chip:hover,.today-habit-row:hover,.habit-card:hover,.habit-card-main:hover,.profile-menu-card:hover,.month-picker-option:hover,.history-card.tappable:hover,.calendar-summary.tappable:hover,.day-context-card:hover,.day-habits-card:hover{border-color:var(--glow-border);box-shadow:inset 0 0 0 1px #24fff00b,0 16px 34px #00000038,0 0 26px #24fff00e;transform:translateY(-1px)}.primary-cta,.fab-button.mood-fab,.fab-button.habit-fab{border:1px solid rgba(101,255,226,.38);background:radial-gradient(circle at 50% 16%,rgba(255,255,255,.28),transparent 34%),linear-gradient(180deg,#3ffff0,#24d4bd 42%,#1aa17e);color:#02110f;box-shadow:inset 0 0 0 1px #ffffff29,0 16px 38px #24fff038,0 0 34px #24fff029}.primary-cta:hover,.fab-button.mood-fab:hover,.fab-button.habit-fab:hover{box-shadow:inset 0 0 0 1px #fff3,0 20px 46px #24fff047,0 0 44px #24fff033}.secondary-button.active,.compact-button.active,.tag-chip.active,.tag-chip.selected-chip,.analytics-filter-chip.active,.picker-option.active,.month-picker-option.active,.scale-compact-choice,.habit-template-card.active,.habit-weekday-grid button.active,.calendar-grid-corner.active,.calendar-weekday-button.active,.calendar-week-meta.active,.calendar-day.selected,.habit-status-dot.done,.habit-status-dot.avoided{border-color:var(--glow-border-strong);background:var(--glass-control-active);color:#dffff8;box-shadow:inset 0 0 0 1px #24fff01f,0 14px 34px #24fff01f,0 0 30px #24fff01a}.soft-danger,.danger-button,.danger-cta,.danger-icon,.habit-status-dot.relapse,.habit-status-dot.resumed{border-color:#ff7b7b47;background:radial-gradient(circle at 50% 0%,rgba(255,123,123,.16),transparent 46%),#ff7b7b1c;color:#ffd2d2;box-shadow:inset 0 0 0 1px #ff7b7b14,0 12px 28px #ff7b7b14}textarea,input,.habit-range{border-color:#24fff01f;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.055),transparent 44%),#08110feb;box-shadow:inset 0 0 0 1px #ffffff04;transition:border-color var(--motion-normal) var(--ease-soft),box-shadow var(--motion-normal) var(--ease-soft),background-color var(--motion-normal) var(--ease-soft)}textarea:focus,input:focus{border-color:var(--glow-border-strong);outline:none;box-shadow:inset 0 0 0 1px #24fff01a,0 0 0 3px #24fff014}.state-mini,.profile-stat-card,.analytics-summary-grid>span,.habit-page-stats span,.habit-template-stats span,.habit-analytics-grid span,.calendar-summary .state-mini,.day-habit-summary-strip span{border:1px solid rgba(36,255,240,.11);background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.08),transparent 48%),#ffffff09}.state-mini:hover,.profile-stat-card:hover,.analytics-summary-grid>span:hover,.habit-page-stats span:hover,.habit-template-stats span:hover,.habit-analytics-grid span:hover{border-color:var(--glow-border);transform:translateY(-1px);box-shadow:var(--glow-soft)}.calendar-grid-shell,.calendar-grid-header,.calendar-grid,.calendar-week-row{gap:6px}.calendar-grid-corner,.calendar-weekday-button,.calendar-week-meta,.calendar-day{border:1px solid rgba(36,255,240,.08);background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.055),transparent 46%),var(--day-fill, rgba(255, 255, 255, .035))}.calendar-day.today{border-color:#ffffff47;box-shadow:inset 0 0 0 1px #ffffff0e,0 0 22px #ffffff0d}.calendar-day-mood-fill,.calendar-day-energy-fill,.habit-progress span,.habit-milestone-bar span,.habit-page-progress-bar span,.streak-progress-bar span{box-shadow:0 0 16px color-mix(in srgb,var(--day-accent, var(--accent)) 48%,transparent)}.analytics-chart,.habit-heatmap-board{border:1px solid rgba(36,255,240,.1);background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.075),transparent 45%),#02090838;box-shadow:inset 0 0 0 1px #ffffff04}.habit-heatmap-cell{box-shadow:inset 0 0 0 1px #ffffff05}.habit-heatmap-cell.level-3,.habit-heatmap-cell.level-4,.habit-heatmap-cell.positive{box-shadow:inset 0 0 0 1px #24fff01f,0 0 12px #24fff024}.sheet-overlay{background:radial-gradient(circle at 50% 100%,rgba(36,255,240,.12),transparent 38%),#010706bd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet{background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.13),transparent 34%),linear-gradient(180deg,#ffffff0b,#ffffff03),#081210f5}.sheet-grabber:before{background:#24fff05c;box-shadow:0 0 18px #24fff029}.sticky-actions,.tag-settings-savebar{background:linear-gradient(180deg,#08121000,#081210e6 28%,#081210fa)}.bottom-nav,.success-pulse,.toast{border-color:#24fff02e;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.13),transparent 44%),#050e0ddb;box-shadow:inset 0 0 0 1px #ffffff06,0 18px 48px #00000059,0 0 34px #24fff014;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-view>*{animation-duration:var(--motion-slow)}.today-panel,.today-habits-panel,.calendar-summary,.analytics-card,.profile-section,.habit-card,.habit-overview-card,.habit-heatmap-card,.day-context-card,.day-habits-card,.history-card{animation:panel-glow-in var(--motion-slow) var(--ease-out) both}@keyframes soft-slide-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-glow-in{0%{opacity:0;transform:translateY(8px) scale(.992);filter:saturate(.92)}to{opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}}:root{--border-shell-glow: rgba(36, 255, 240, .11);--border-card-soft: rgba(36, 255, 240, .065);--border-inline-soft: rgba(255, 255, 255, .045);--border-active-glow: rgba(36, 255, 240, .46);--shadow-card-soft: 0 12px 30px rgba(0, 0, 0, .2);--shadow-inline-soft: 0 8px 18px rgba(0, 0, 0, .13)}.panel,.calendar-page,.analytics-page,.profile-panel,.habits-page,.daylog-page,.sheet{border-color:var(--border-shell-glow);box-shadow:inset 0 0 0 1px #ffffff03,0 22px 54px #0000004d}.today-panel,.today-habits-panel,.history-panel,.analytics-card,.profile-section,.calendar-summary,.day-context-card,.day-habits-card,.habit-card,.habit-detail-card,.habit-overview-card,.habit-heatmap-card,.habit-frequency-card,.habit-template-card,.habit-confirm-card,.profile-hero,.night-day-card{border-color:var(--border-card-soft);box-shadow:inset 0 0 0 1px #ffffff03,var(--shadow-card-soft)}.profile-menu-card,.profile-stat-card,.profile-menu-row,.today-habit-row,.habit-card-main,.state-mini,.analytics-row,.analytics-tag-row,.analytics-summary-grid>*,.habit-analytics-grid span,.habit-page-stats span,.habit-template-stats span,.habit-metrics-preview span,.habit-page-meta-strip span,.day-habit-summary-strip span,.tag-category-card,.profile-category-card,.day-habit-group,.day-context-chip,.habit-log-chip{border-color:transparent;box-shadow:none}.profile-menu-card,.tag-category-card,.profile-category-card,.day-habit-group{background:radial-gradient(circle at 92% 0%,rgba(36,255,240,.04),transparent 34%),#ffffff08}.profile-menu-row,.today-habit-row,.habit-card-main,.analytics-row,.analytics-tag-row{background:#ffffff09}.profile-menu-row+.profile-menu-row,.analytics-row+.analytics-row,.analytics-tag-row+.analytics-tag-row{border-top:1px solid var(--border-inline-soft)}.profile-stat-card,.state-mini,.analytics-summary-grid>*,.habit-page-stats span,.habit-template-stats span,.habit-metrics-preview span,.habit-page-meta-strip span,.day-habit-summary-strip span{background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.045),transparent 52%),#ffffff08;box-shadow:var(--shadow-inline-soft)}.month-arrow,.month-chip,.calendar-title-button,.calendar-close,.secondary-button,.compact-button,.text-button.compact,.icon-action,.danger-button,.link-button,.picker-inline-trigger,.analytics-period-date-button,.scale-toggle,.scale-compact-choice,.picker-option,.tag-chip,.analytics-filter-chip,.habit-status-dot,.month-picker-option,textarea,input{border-color:#24fff013;box-shadow:inset 0 0 0 1px #ffffff02,0 8px 18px #0000001f}.month-arrow:hover,.month-chip:hover,.calendar-title-button:hover,.secondary-button:hover,.compact-button:hover,.text-button.compact:hover,.icon-action:hover,.picker-inline-trigger:hover,.analytics-period-date-button:hover,.scale-toggle:hover,.scale-compact-choice:hover,.picker-option:hover,.tag-chip:hover,.analytics-filter-chip:hover,.today-habit-row:hover,.habit-card:hover,.habit-card-main:hover,.month-picker-option:hover,.history-card.tappable:hover,.calendar-summary.tappable:hover,.day-context-card:hover,.day-habits-card:hover{border-color:#24fff029;box-shadow:inset 0 0 0 1px #24fff005,0 12px 26px #0003}.profile-menu-card:hover,.profile-stat-card:hover,.state-mini:hover,.analytics-summary-grid>*:hover,.habit-page-stats span:hover,.habit-template-stats span:hover,.habit-analytics-grid span:hover{border-color:transparent;box-shadow:var(--shadow-inline-soft)}.day-pill{border-color:transparent;box-shadow:inset 0 0 0 1px #ffffff06,0 10px 24px #00000024}.day-pill.active{border-color:var(--border-active-glow);box-shadow:inset 0 0 0 1px #24fff01a,0 18px 40px #24fff021}.day-number{border-color:#24fff02e}.day-number.has-entry{border-color:#24fff057;box-shadow:inset 0 -16px 24px #00000029,0 0 0 1px #24fff00a}.day-pill.active .day-number{border-color:#24fff0c2}.calendar-grid-corner,.calendar-weekday-button,.calendar-week-meta,.calendar-day{border-color:transparent;box-shadow:none}.calendar-grid-corner,.calendar-weekday-button{box-shadow:inset 0 0 0 1px #ffffff05}.calendar-day.today{border-color:transparent;box-shadow:inset 0 0 0 1px #ffffff29,0 0 18px #ffffff09}.calendar-grid-corner.active,.calendar-weekday-button.active,.calendar-week-meta.active,.calendar-day.selected{border-color:var(--border-active-glow);box-shadow:inset 0 0 0 1px #24fff01a,0 0 24px #24fff01a}.calendar-day.dense{border-width:1px}.calendar-day-empty{opacity:.36}.calendar-mode-switch,.analytics-period-switch,.analytics-view-switch,.habit-segment,.habit-weekday-grid{border-color:#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff02}.calendar-mode-switch:before,.analytics-period-switch:before,.analytics-view-switch:before,.habit-segment:before{border-color:#24fff02e;box-shadow:inset 0 0 0 1px #24fff00b,0 8px 18px #24fff00e}.secondary-button.active,.compact-button.active,.tag-chip.active,.tag-chip.selected-chip,.analytics-filter-chip.active,.picker-option.active,.month-picker-option.active,.scale-compact-choice,.habit-template-card.active,.habit-weekday-grid button.active,.habit-status-dot.done,.habit-status-dot.avoided{border-color:var(--border-active-glow);box-shadow:inset 0 0 0 1px #24fff014,0 10px 24px #24fff017}.habit-card.quit,.habit-overview-card.quit,.habit-template-card.quit{border-color:#ffbd6314}.soft-danger,.danger-button,.danger-cta,.danger-icon,.habit-status-dot.relapse,.habit-status-dot.resumed{border-color:#ff7b7b29}.delete-confirm-prompt{background:#06100e;-webkit-backdrop-filter:none;backdrop-filter:none}.delete-confirm-card{opacity:1;border-color:#ff7b7b52!important;background:radial-gradient(circle at 100% 0%,rgba(255,123,123,.1),transparent 38%),linear-gradient(180deg,#14201c,#0c1411)!important;box-shadow:inset 0 0 0 1px #ffffff09,0 22px 52px #00000070!important;-webkit-backdrop-filter:none;backdrop-filter:none}.sleep-delete-confirm:not(.pinned){display:none}.delete-confirm-card .muted{color:color-mix(in srgb,var(--text) 72%,var(--muted))}.delete-confirm-actions .secondary-button,.delete-confirm-card+.sheet-actions .icon-action{border-color:#ffffff1a;background:#17231f;color:var(--text);box-shadow:none}.delete-confirm-actions .danger-cta,.delete-confirm-card+.sheet-actions .danger-cta{border-color:#ffa0a06b;background:linear-gradient(180deg,#ff8d8d,#e85d5d);color:#190605;box-shadow:0 14px 28px #ff5c5c38}.analytics-chart,.habit-heatmap-board{border-color:#24fff00e}.bottom-nav,.success-pulse,.toast{border-color:#24fff021}.calendar-page,.analytics-page,.profile-panel,.habits-page,.daylog-page,.profile-section,.analytics-card,.today-habits-panel,.calendar-summary,.day-context-card,.day-habits-card,.habit-heatmap-card,.habit-overview-card{border-color:transparent;background:transparent;box-shadow:none}.profile-section,.analytics-card{padding-inline:0}.today-panel{border-color:#24fff014;box-shadow:inset 0 0 0 1px #ffffff03,0 18px 42px #0000003d}.profile-hero,.streak-counter,.analytics-chart,.analytics-insights p,.habit-analytics-summary,.profile-menu-card,.calendar-summary-stats,.habit-card,.habits-empty,.today-habit-empty,.daylog-empty,.night-day-card{border-color:transparent;background:radial-gradient(circle at 92% 0%,rgba(36,255,240,.055),transparent 34%),linear-gradient(180deg,#ffffff09,#ffffff03),#ffffff07;box-shadow:inset 0 0 0 1px #ffffff05,0 10px 24px #00000029}.profile-menu-card{overflow:hidden}.profile-menu-row,.today-habit-row,.habit-card-main,.analytics-row,.analytics-tag-row,.state-mini,.profile-stat-card,.habit-page-stats span,.habit-template-stats span,.habit-page-meta-strip span,.habit-metrics-preview span,.day-habit-summary-strip span{border:0;background:#ffffff07;box-shadow:none}.profile-stat-card,.state-mini,.habit-page-stats span,.habit-template-stats span,.habit-page-meta-strip span,.habit-metrics-preview span,.day-habit-summary-strip span{background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.035),transparent 52%),#ffffff06}.profile-menu-row+.profile-menu-row,.analytics-row+.analytics-row,.analytics-tag-row+.analytics-tag-row{border-top:1px solid rgba(255,255,255,.035)}.habit-card{min-height:auto;padding:14px}.habit-card-main{background:transparent}.habit-card.quit{border-color:transparent;background:radial-gradient(circle at 92% 0%,rgba(255,189,99,.06),transparent 34%),linear-gradient(180deg,#ffffff09,#ffffff03),#ffbd6306}.day-pill{background:radial-gradient(circle at 50% 55%,rgba(45,207,159,.06),transparent 50%),#ffffff06;box-shadow:none}.day-number{border-color:transparent;box-shadow:inset 0 0 0 1px #24fff014,inset 0 -14px 22px #00000029}.day-number.has-entry{border-color:transparent}.calendar-grid-corner,.calendar-weekday-button,.calendar-week-meta,.calendar-day{background:var(--day-fill, rgba(255, 255, 255, .026));box-shadow:none}.calendar-grid-corner,.calendar-weekday-button{background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.035),transparent 48%),#ffffff07}.calendar-summary{padding:0}.calendar-summary-stats{padding:12px;border-radius:20px}.analytics-card-head,.habit-heatmap-head,.day-context-head{padding-inline:2px}.analytics-insights p{border:0}.month-arrow,.month-chip,.calendar-title-button,.secondary-button,.compact-button,.text-button.compact,.icon-action,.picker-option,.tag-chip,.analytics-filter-chip,.analytics-period-date-button,.month-picker-option{border-color:transparent}.month-arrow,.month-chip,.calendar-title-button,.secondary-button,.compact-button,.text-button.compact,.icon-action{box-shadow:inset 0 0 0 1px #24fff00e}.primary-cta,.fab-button.mood-fab,.fab-button.habit-fab,.bottom-nav,.sheet,.day-pill.active,.calendar-grid-corner.active,.calendar-weekday-button.active,.calendar-week-meta.active,.calendar-day.selected,.secondary-button.active,.compact-button.active,.tag-chip.active,.tag-chip.selected-chip,.analytics-filter-chip.active,.picker-option.active,.month-picker-option.active,.habit-template-card.active,.habit-frequency-card.active,.habit-status-dot.done,.habit-status-dot.avoided{border-color:var(--border-active-glow)}.month-arrow:hover,.month-chip:hover,.calendar-title-button:hover,.secondary-button:hover,.compact-button:hover,.text-button.compact:hover,.icon-action:hover,.picker-option:hover,.tag-chip:hover,.analytics-filter-chip:hover,.today-habit-row:hover,.habit-card:hover,.habit-card-main:hover,.month-picker-option:hover,.history-card.tappable:hover,.calendar-summary.tappable:hover,.day-context-card:hover,.day-habits-card:hover{border-color:transparent;box-shadow:inset 0 0 0 1px #24fff00e,0 10px 22px #0000002e}.profile-menu-card:hover,.profile-stat-card:hover,.state-mini:hover,.analytics-summary-grid>*:hover,.habit-page-stats span:hover,.habit-template-stats span:hover,.habit-analytics-grid span:hover{box-shadow:none}.analytics-card{gap:13px}.analytics-legend{padding:3px;border-radius:999px;background:#ffffff07;box-shadow:inset 0 0 0 1px #ffffff07}.legend-item{min-height:28px;padding:4px 9px;border-radius:999px;background:transparent;box-shadow:none}.legend-item.mood:before{background:#58e0a4;box-shadow:0 0 10px #58e0a438}.legend-item.energy:before{background:#67c7f4;box-shadow:0 0 10px #67c7f433}.legend-item.active{background:#ffffff0b;border-color:#ffffff0e;color:var(--text)}.legend-item:not(.active){opacity:.48}.analytics-chart-stage{display:grid;gap:11px;min-width:0;animation:analytics-chart-stage-in var(--motion-normal) var(--ease-soft) both}.analytics-breakdown-weekday-select{position:relative;display:grid;grid-template-columns:auto minmax(112px,1fr);align-items:center;gap:10px;min-width:0;padding:6px 8px 6px 10px;border-radius:14px;background:#ffffff08;box-shadow:inset 0 0 0 1px #ffffff0b}.analytics-breakdown-weekday-select>span{min-width:0;color:var(--color-text-muted);font-size:.7rem;font-weight:850;white-space:nowrap}.analytics-weekday-select-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;width:100%;min-height:32px;border:0;border-radius:11px;padding:0 30px 0 10px;background:linear-gradient(135deg,#2dcf9f24,#2dcf9f0b),#ffffff0b;color:var(--color-text);font:inherit;font-size:.78rem;font-weight:900;text-align:left;outline:none;box-shadow:inset 0 0 0 1px #2dcf9f29}.analytics-weekday-select-button span{min-width:0;overflow:hidden;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap}.analytics-weekday-select-button svg{color:var(--color-accent)}.analytics-weekday-select-panel{grid-column:1 / -1;display:grid;gap:8px;min-width:0;padding-top:2px}.analytics-weekday-select-option{min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;border-radius:12px;background:#ffffff09;color:var(--color-text-secondary);font-size:.76rem;font-weight:880;text-align:left;box-shadow:inset 0 0 0 1px #ffffff0b}.analytics-weekday-select-option.active{color:var(--color-accent);background:#2dcf9f1a;box-shadow:inset 0 0 0 1px #2dcf9f33}.analytics-weekday-select-option strong{color:var(--color-text-muted);font-size:.66rem;font-weight:820}.analytics-weekday-select-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.analytics-weekday-chip{min-width:0;min-height:34px;border-radius:12px;background:#ffffff09;color:var(--color-text-muted);font-size:.72rem;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff0b}.analytics-weekday-chip.active{color:var(--color-accent);background:linear-gradient(135deg,#2dcf9f2e,#2dcf9f0e);box-shadow:inset 0 0 0 1px #2dcf9f4d,0 0 16px #2dcf9f1a}.analytics-time-breakdown{display:grid;gap:11px;min-width:0}.analytics-time-dynamics{display:grid;gap:5px;min-width:0;padding:10px 10px 8px;border-radius:16px;background:radial-gradient(circle at 50% 0%,rgba(45,207,159,.08),transparent 56%),#ffffff05;box-shadow:inset 0 0 0 1px #ffffff0a}.analytics-time-dynamics-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.analytics-time-dynamics-head span{color:color-mix(in srgb,var(--color-text) 88%,var(--color-text-muted));font-size:.78rem;font-weight:900}.analytics-time-dynamics-head small{color:var(--color-text-muted);font-size:.68rem;font-weight:820;white-space:nowrap}.analytics-time-dynamics-chart{display:block;width:100%;height:auto;aspect-ratio:320 / 120;overflow:visible}.analytics-time-dynamics-line{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(45,207,159,.18))}.analytics-time-dynamics-line.mood{stroke:var(--color-mood)}.analytics-time-dynamics-line.energy{stroke:var(--color-energy)}.analytics-time-dynamics-point{stroke:#030d0ae0;stroke-width:2.3}.analytics-time-dynamics-point.mood{fill:var(--color-mood)}.analytics-time-dynamics-point.energy{fill:var(--color-energy)}.analytics-time-dynamics-hour-label{fill:var(--color-text-muted);font-size:8.5px;font-weight:820}.analytics-hourly-bars{position:relative;display:grid;grid-template-columns:repeat(24,minmax(8px,1fr));align-items:center;gap:3px;min-width:0;height:126px;padding:11px 4px 20px;overflow:hidden}.analytics-hourly-baseline{position:absolute;left:4px;right:4px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:translateY(-50%);pointer-events:none}.analytics-hourly-slot{position:relative;display:grid;grid-template-rows:1fr 1fr;justify-items:center;align-items:end;min-width:0;height:94px;padding:0;border:0;border-radius:10px;background:transparent;cursor:default;transition:background var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.analytics-hourly-slot.has-data{cursor:pointer}.analytics-hourly-slot.has-data:hover,.analytics-hourly-slot.has-data:focus-visible{background:#2dcf9f0e;outline:none}.analytics-hourly-slot.selected{background:#2dcf9f14;box-shadow:inset 0 0 0 1px #2dcf9f47,0 0 16px #2dcf9f1f}.analytics-hourly-slot:disabled{opacity:.38}.analytics-hourly-bar{width:min(11px,80%);min-height:0;border-radius:999px;opacity:0;transition:height var(--motion-normal) var(--ease-soft),opacity var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.analytics-hourly-slot.has-data .analytics-hourly-bar{opacity:.92}.analytics-hourly-slot.selected .analytics-hourly-bar{opacity:1;transform:scaleX(1.15)}.analytics-hourly-bar.mood{align-self:end;background:linear-gradient(180deg,color-mix(in srgb,var(--hourly-tone, var(--color-mood)) 96%,white 4%),color-mix(in srgb,var(--hourly-tone, var(--color-mood)) 56%,transparent));box-shadow:0 -4px 14px color-mix(in srgb,var(--hourly-tone, var(--color-mood)) 32%,transparent)}.analytics-hourly-bar.energy{align-self:start;background:linear-gradient(180deg,color-mix(in srgb,var(--hourly-tone, var(--color-energy)) 54%,transparent),color-mix(in srgb,var(--hourly-tone, var(--color-energy)) 96%,white 4%));box-shadow:0 4px 14px color-mix(in srgb,var(--hourly-tone, var(--color-energy)) 30%,transparent)}.analytics-hourly-label{position:absolute;bottom:-18px;left:50%;color:var(--color-text-muted);font-size:.62rem;font-weight:850;line-height:1;transform:translate(-50%);white-space:nowrap;pointer-events:none}.analytics-hourly-slot:first-of-type .analytics-hourly-label{left:0;transform:none}.analytics-hourly-slot:last-of-type .analytics-hourly-label{left:auto;right:0;transform:none}.analytics-hourly-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 9px;border-radius:12px;background:#ffffff09;color:var(--color-text);box-shadow:inset 0 0 0 1px #ffffff0b}.analytics-hourly-selected strong{font-size:.78rem;font-weight:900}.analytics-hourly-selected span{min-width:0;color:var(--color-text-muted);font-size:.72rem;font-weight:820;text-align:right;white-space:nowrap}.analytics-chart-summary{margin:0;color:color-mix(in srgb,var(--text) 88%,var(--muted));font-size:.8rem;font-weight:850;letter-spacing:0}.analytics-chart-wrap{display:grid;gap:7px;min-width:0;padding-top:3px}.analytics-chart{width:100%;aspect-ratio:640 / 176;max-height:190px;border:0!important;background:radial-gradient(circle at 54% 12%,rgba(45,207,159,.055),transparent 46%),linear-gradient(180deg,#ffffff03,#fff0);box-shadow:none!important}.chart-scale-bg{display:none}.chart-grid-line{stroke:#e2f6ee13;stroke-width:1}.chart-y-label{fill:#d2e1db7a;font-size:9px;font-weight:750;text-anchor:middle}.chart-area{opacity:.14;transform-box:fill-box;transform-origin:bottom;animation:chart-area-in var(--motion-slow) var(--ease-out) both}.chart-area.mood{fill:#58e0a4}.chart-area.energy{fill:#67c7f4;opacity:.11}.chart-line{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 10px rgba(0,0,0,.22));stroke-dasharray:720;stroke-dashoffset:720;animation:chart-line-draw var(--motion-slow) var(--ease-out) forwards}.chart-line.mood{stroke:#58e0a4}.chart-line.energy{stroke:#67c7f4}.chart-point{transform-box:fill-box;transform-origin:center;animation:chart-point-in var(--motion-normal) var(--ease-spring) both}.chart-point.mood{fill:#58e0a4;stroke:#050f0deb;stroke-width:1.5}.chart-point.energy{fill:#67c7f4;stroke:#050f0deb;stroke-width:1.5}.chart-point-ring{fill:#ffffff05;stroke-width:1.4}.chart-point-group.mood .chart-point-ring{stroke:#58e0a4b8;filter:drop-shadow(0 0 10px rgba(88,224,164,.28))}.chart-point-group.energy .chart-point-ring{stroke:#67c7f4b8;filter:drop-shadow(0 0 10px rgba(103,199,244,.24))}.chart-point-group.selected .chart-point-ring{stroke-width:1.8}.chart-point-group.activity .chart-point-ring{fill:#24fff009;stroke:#24fff0c7;stroke-width:1.5;filter:drop-shadow(0 0 9px rgba(36,255,240,.25))}.chart-point-group.activity .chart-point{filter:drop-shadow(0 0 8px rgba(36,255,240,.22))}.chart-selected-line{stroke:#24fff033;stroke-width:1;stroke-dasharray:4 6;pointer-events:none}.chart-hit-area{fill:transparent;cursor:pointer;outline:none}.chart-hit-area.active{fill:#24fff009}.chart-hit-area.activity{fill:transparent}.chart-hit-area.active.activity{fill:#24fff00d}.chart-hit-area:focus-visible{fill:#24fff00e;stroke:#24fff047;stroke-width:1}.analytics-chart-labels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;padding-inline:clamp(30px,5.8%,42px) clamp(10px,2%,18px);color:#d2e1db85;font-size:.68rem;font-weight:760}.analytics-chart-labels span{min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.analytics-chart-empty{min-height:168px;display:grid;place-content:center;gap:6px;padding:20px;border-radius:20px;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.055),transparent 48%),#ffffff05;color:var(--muted);text-align:center}.analytics-chart-empty strong{color:var(--text);font-size:.92rem}.analytics-chart-empty span{max-width:230px;font-size:.78rem;font-weight:720}.analytics-bars-list{display:grid;gap:8px;min-height:170px;align-content:center}.analytics-metric-bars-head{display:grid;grid-template-columns:minmax(34px,.34fr) minmax(0,1.66fr);align-items:center;gap:8px;min-width:0;margin-bottom:1px}.analytics-bars-column-labels{display:grid;grid-template-columns:repeat(2,minmax(72px,1fr));gap:6px;min-width:0}.analytics-bars-column-labels span{min-width:0;display:inline-flex;align-items:center;gap:5px;color:var(--color-text-muted);font-size:.67rem;font-weight:850;line-height:1;white-space:nowrap}.analytics-bars-column-labels i{width:6px;height:6px;flex:0 0 auto;border-radius:999px;background:var(--color-mood);box-shadow:0 0 10px color-mix(in srgb,var(--color-mood) 42%,transparent)}.analytics-bars-column-labels .energy i{background:var(--color-energy);box-shadow:0 0 10px color-mix(in srgb,var(--color-energy) 42%,transparent)}.analytics-bars-column-labels .sleep i{background:#a855f7;box-shadow:0 0 10px #a855f766}.analytics-bars-column-labels:has(.sleep){grid-template-columns:repeat(3,minmax(56px,1fr))}.analytics-soft-bar.sleep{--metric-tone: #a855f7}.analytics-breakdown-section{display:grid;gap:6px}.analytics-breakdown-section-head{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:650;color:var(--color-text-muted);padding-bottom:2px}.analytics-breakdown-divider{height:1px;background:#ffffff12;margin:4px 0}.analytics-metric-bar-row{display:grid;grid-template-columns:minmax(34px,.34fr) minmax(0,1.66fr);align-items:center;gap:8px;min-width:0}.analytics-metric-bar-row>div:first-child{display:grid;gap:2px;min-width:0}.analytics-metric-bar-row strong{color:var(--text);font-size:.8rem;line-height:1.1}.analytics-metric-bar-row span{color:var(--muted);font-size:.68rem;font-weight:760}.analytics-twin-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-items:center;gap:6px;min-width:0}.analytics-soft-bar{position:relative;height:17px;overflow:hidden;border-radius:7px;background:linear-gradient(90deg,#ff626229 0% 20%,#ffa85021 20% 40%,#ffd75c1c 40% 60%,#75d7801f 60% 80%,#45e29e29 80% 100%);box-shadow:inset 0 0 0 1px #ffffff07}.analytics-soft-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(20% - 1px),rgba(4,12,10,.34) calc(20% - 1px),rgba(4,12,10,.34) calc(20% + 1px),transparent calc(20% + 1px),transparent calc(40% - 1px),rgba(4,12,10,.34) calc(40% - 1px),rgba(4,12,10,.34) calc(40% + 1px),transparent calc(40% + 1px),transparent calc(60% - 1px),rgba(4,12,10,.34) calc(60% - 1px),rgba(4,12,10,.34) calc(60% + 1px),transparent calc(60% + 1px),transparent calc(80% - 1px),rgba(4,12,10,.34) calc(80% - 1px),rgba(4,12,10,.34) calc(80% + 1px),transparent calc(80% + 1px));pointer-events:none}.analytics-soft-bar i{position:relative;z-index:1;display:block;width:var(--bar-value);height:100%;min-width:3px;border-radius:inherit;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--metric-tone) 72%,rgba(255,255,255,.1)),var(--metric-tone));box-shadow:0 0 14px color-mix(in srgb,var(--metric-tone) 28%,transparent);transform-origin:left center;animation:analytics-bar-in var(--motion-slow) var(--ease-out) both}.analytics-soft-bar.empty i{width:0;min-width:0;background:transparent;box-shadow:none;animation:none}.analytics-soft-bar.empty .analytics-soft-bar-icon{display:none}.analytics-soft-bar-icon{position:absolute;right:5px;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.42));transform:translateY(-50%);pointer-events:none}.analytics-soft-bar-icon .app-icon{width:16px;height:16px}.analytics-week-bars{min-height:174px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;padding-top:4px}.analytics-week-column{display:grid;justify-items:center;gap:6px;min-width:0}.analytics-week-track{position:relative;display:flex;align-items:end;justify-content:center;gap:3px;width:100%;height:116px;padding:7px 5px;border-radius:15px;background:linear-gradient(180deg,#45e29e21 0% 20%,#75d78018 20% 40%,#ffd75c13 40% 60%,#ffa85016 60% 80%,#ff62621f 80% 100%),#ffffff05;box-shadow:inset 0 0 0 1px #ffffff05}.analytics-week-track i{width:min(12px,40%);min-height:3px;border-radius:999px 999px 5px 5px;transform-origin:bottom center;animation:analytics-column-in var(--motion-slow) var(--ease-out) both}.analytics-week-track .mood,.analytics-week-track .energy{background:linear-gradient(180deg,color-mix(in srgb,var(--metric-tone) 88%,white),var(--metric-tone));box-shadow:0 0 14px color-mix(in srgb,var(--metric-tone) 22%,transparent)}.analytics-week-column strong{color:color-mix(in srgb,var(--text) 82%,var(--muted));font-size:.68rem}.analytics-week-column span{color:var(--muted);font-size:.66rem;font-weight:760;font-variant-numeric:tabular-nums}.analytics-chart-metrics{margin-top:2px}.analytics-dynamics-card .analytics-chart-metrics,.analytics-breakdown-card .analytics-chart-metrics{display:none}.analytics-chart-metrics .state-mini{min-height:78px}.analytics-trend-value{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:.92rem;font-weight:900;line-height:1}.analytics-trend-value b{color:currentColor;font-size:1.12rem;font-weight:950;line-height:1}.analytics-trend-value.up{color:#5fe2a6}.analytics-trend-value.down{color:#ff8f82}.analytics-trend-value.flat{color:color-mix(in srgb,var(--text) 82%,var(--muted))}.day-strip-shell{position:relative;width:100%;max-width:100%;min-width:0;margin-inline:0;overflow:visible;isolation:isolate}.day-strip-shell:before,.day-strip-shell:after{content:"";position:absolute;top:8px;bottom:10px;z-index:4;width:22px;opacity:0;transition:opacity var(--motion-normal) var(--ease-soft);pointer-events:none}.day-strip-shell:before{left:0;background:linear-gradient(90deg,#040f0d70,#040f0d00)}.day-strip-shell:after{right:0;background:linear-gradient(270deg,#040f0d70,#040f0d00)}.day-strip-shell.has-left-fade:before,.day-strip-shell.has-right-fade:after{opacity:.36}.day-strip{width:100%;max-width:100%;min-width:0;display:flex;gap:9px;padding:18px 0 24px;position:relative;isolation:isolate;background:transparent;border:0;box-shadow:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch}.day-strip.dragging{cursor:grabbing;scroll-snap-type:none}.day-strip.dragging .day-pill{pointer-events:none}.day-strip-item{flex:0 0 58px;position:relative;z-index:1;min-width:58px;scroll-snap-align:center}.day-strip-connector{position:absolute;z-index:0;top:47px;right:-10px;width:12px;height:2px;border-radius:999px;background:#24fff033;box-shadow:0 0 10px #24fff014;pointer-events:none}.day-strip-item.near-active .day-strip-connector{background:#24fff057;box-shadow:0 0 12px #24fff024}.day-pill{width:100%;min-height:72px;padding:8px 5px 6px;border-radius:20px;gap:4px;position:relative;z-index:2;scroll-snap-align:none}.day-pill.active{background:radial-gradient(circle at 50% 58%,rgba(36,255,240,.08),transparent 54%),#2dcf9f09}.day-weekday{font-size:.72rem}.day-number{width:42px;height:42px;font-size:1.14rem}.day-number:not(.has-entry){border-color:transparent;background:transparent;box-shadow:none;color:#f8fffdc2}.day-pill.active .day-number:not(.has-entry){border-color:transparent;background:transparent;box-shadow:none;color:#f8fffd}.day-pill.active .day-number{transform:scale(1.03)}.day-strip-item.streak{flex-basis:70px;width:70px;min-width:70px}.day-strip-streak-tile{min-height:72px;width:100%;display:grid;align-content:center;justify-items:center;gap:5px;padding:8px 7px;border-radius:20px;background:radial-gradient(circle at 50% 15%,rgba(36,255,240,.07),transparent 46%),#ffffff06;color:var(--muted);font-size:.69rem;font-weight:800;line-height:1;text-align:center;box-shadow:inset 0 0 0 1px #ffffff04}.day-strip-streak-tile strong{max-width:100%;overflow:hidden;color:color-mix(in srgb,var(--accent) 72%,var(--text));font-size:.88rem;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.today-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.today-panel .day-strip-shell{margin-inline:0}.today-panel .day-strip-shell:before,.today-panel .day-strip-shell:after{display:none}.today-panel .day-strip{padding:18px 0 24px}.app-shell-home{height:100dvh;overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-shell-home .page-view,.app-shell-home .home-grid{height:auto;max-height:none;overflow:visible}.app-shell-home .home-grid{min-height:0;padding-bottom:var(--page-gap)}.month-chip-button,.calendar-title-button{flex-wrap:nowrap;align-content:center;column-gap:8px;line-height:1}.month-chip-button>span:first-child,.calendar-title-button>span:first-child{min-width:0;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-habit-row{max-height:124px;overflow:hidden;transition:opacity .26s var(--ease-soft),transform .26s var(--ease-soft),max-height .28s var(--ease-soft),padding .28s var(--ease-soft),margin .28s var(--ease-soft),border-color .22s var(--ease-soft),background .22s var(--ease-soft),box-shadow .22s var(--ease-soft)}.today-habit-row.habit-row-completing{opacity:.74;pointer-events:none}.today-habit-row.habit-row-success{border-color:#2dcf9f57;background:linear-gradient(135deg,#2dcf9f33,#ffffff09),#08221cb8;box-shadow:0 0 26px #2dcf9f24,inset 0 1px #ffffff0f}.today-habit-row.habit-row-collapsing{max-height:0;min-height:0;margin:-10px 0 0;padding-top:0;padding-bottom:0;border-width:0;opacity:0;transform:translateY(-6px)}.today-habit-action,.today-habit-counter,.today-habit-inline-status,.today-habit-quit-actions{justify-self:end}.today-habit-inline-status{min-width:28px;color:var(--accent);font-size:.72rem;font-weight:900;line-height:1;text-align:right;white-space:nowrap}.today-habit-action{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;border:1px solid rgba(45,207,159,.18);border-radius:999px;background:#2dcf9f14;color:color-mix(in srgb,var(--accent) 72%,var(--text));font-size:.74rem;font-weight:900;white-space:nowrap}.today-habit-counter{display:inline-grid;grid-template-columns:28px minmax(38px,auto) 28px;align-items:center;gap:5px;padding:3px;border-radius:999px;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff09}.today-habit-counter button,.today-habit-quit-actions button{border:0;color:var(--text);font-weight:900}.today-habit-counter button{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#2dcf9f1a;color:var(--accent)}.today-habit-counter button:disabled,.today-habit-quit-actions button:disabled,.today-habit-action:disabled{cursor:default;opacity:.45}.today-habit-counter strong{color:var(--text);font-size:.76rem;font-weight:900;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.habit-card.multi-count .habit-toggle-button{grid-column:1;grid-row:1}.habit-card.multi-count .habit-card-main>span:not(.habit-card-counter){grid-column:2;grid-row:1}.habit-card-counter{grid-column:3;grid-row:1;justify-self:end;display:inline-grid;grid-template-columns:28px minmax(42px,auto) 28px;align-items:center;gap:5px;padding:3px;border-radius:999px;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff09}.habit-card-counter button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:999px;background:#2dcf9f1a;color:var(--accent)}.habit-card-counter button:disabled{opacity:.45}.habit-card-counter strong{color:var(--text);font-size:.76rem;font-weight:900;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.habit-time-button{min-width:68px;min-height:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid rgba(36,255,240,.22);background:#24fff014;color:var(--accent);font-size:.74rem;font-weight:900;line-height:1;white-space:nowrap;box-sizing:border-box;font-variant-numeric:tabular-nums}.habit-time-button.done,.habit-time-button.avoided{border-color:#43ee5652;background:#43ee561f;color:var(--success)}.habit-time-button:disabled{opacity:.54}.habit-time-button:not(:disabled):active{transform:scale(.96)}.habit-detail-soft-card{display:grid;gap:10px;padding:14px;border-radius:18px;background:#ffffff06;box-shadow:inset 0 0 0 1px #ffffff09}.habit-craving-map{border:1px solid rgba(255,180,82,.1);background:radial-gradient(circle at 0% 0%,rgba(255,180,82,.1),transparent 46%),#ffffff07}.habit-craving-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.habit-craving-metrics span{min-width:0;display:grid;gap:2px;align-content:center;min-height:48px;padding:8px;border-radius:var(--radius-lg);background:#ffb45213}.habit-craving-metrics strong{color:var(--color-text);font-size:1rem;line-height:1;font-variant-numeric:tabular-nums}.habit-craving-metrics small{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:.66rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.habit-craving-trend{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:4px;height:62px;padding:8px;border-radius:var(--radius-lg);background:#00000029}.habit-craving-trend span{min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center}.habit-craving-trend i{width:100%;min-height:4px;border-radius:var(--radius-pill) var(--radius-pill) 4px 4px;background:#ffffff0e}.habit-craving-trend span.active i{background:linear-gradient(180deg,#ffd389f2,#ffb4524d);box-shadow:0 0 14px #ffb45229}.habit-craving-periods{display:grid;gap:7px}.habit-craving-periods div{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:var(--space-2)}.habit-craving-periods span{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:6px;color:var(--color-text-secondary);font-size:.74rem;font-weight:900}.habit-craving-periods small{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.habit-craving-periods i{height:9px;overflow:hidden;border-radius:var(--radius-pill);background:#ffffff0e}.habit-craving-periods b{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,#ffb45261,#ffd389e6)}.habit-craving-note{margin:0;color:var(--color-text-secondary);font-size:.78rem;line-height:1.4}.habit-craving-symptoms{border:1px solid rgba(255,180,82,.08)}.habit-craving-symptom-list{display:grid;gap:7px}.habit-craving-symptom-list div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:46px;padding:9px 10px;border-radius:var(--radius-lg);background:#ffffff09}.habit-craving-symptom-list span{min-width:0;display:grid;gap:2px}.habit-craving-symptom-list strong,.habit-craving-symptom-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-craving-symptom-list strong{color:var(--color-text);font-size:.82rem;font-weight:900}.habit-craving-symptom-list small{color:var(--color-text-muted);font-size:.67rem;font-weight:780}.habit-craving-symptom-list b{color:#ffd389;font-size:.8rem;font-weight:950;font-variant-numeric:tabular-nums}.habit-plan-chips{display:flex;flex-wrap:wrap;gap:7px}.habit-plan-chips span{min-height:30px;display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#2dcf9f14;color:color-mix(in srgb,var(--accent) 74%,var(--text));font-size:.76rem;font-weight:850}.habit-craving-plan{display:none}.habit-plan-chips.selectable button,.craving-ritual-steps button{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid rgba(45,242,213,.18);background:#2dcf9f14;color:color-mix(in srgb,var(--accent) 74%,var(--text));font-size:.76rem;font-weight:850}.habit-plan-chips.selectable button.active,.craving-ritual-steps button.active{border-color:#2df2d5b3;background:#2df2d526;box-shadow:0 0 16px #2df2d51a}.habit-craving-ritual-settings,.craving-ritual-picker{display:grid;gap:10px;border-radius:16px;padding:12px;background:#ffffff0b;border:1px solid rgba(255,255,255,.08)}.craving-ritual-steps{display:flex;flex-wrap:wrap;gap:7px}.habit-activity-legend{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:4px;color:var(--muted);font-size:10px;font-weight:750}.habit-activity-legend span{display:inline-flex;align-items:center;gap:4px}.habit-activity-legend-dot{width:6px;height:6px;border-radius:50%;background:#ffffff38}.habit-activity-legend-dot.done{background:var(--accent)}.habit-activity-legend-dot.partial{background:#beff78e6}.habit-activity-legend-dot.skipped{background:#ffc107c7}.habit-activity-legend-dot.craving{background:#ffaa40e6}.habit-activity-legend-dot.relapse{background:#ff4d6de6}.habit-activity-legend-dot.ritual{background:#60d6ffe6}.habit-activity-legend-dot.achievement{background:#beff78e6}.habit-activity-legend-dot.note{background:#ffffff73}.habit-module-card strong{display:block;margin-bottom:4px;color:var(--text)}.today-habit-quit-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:160px}.today-habit-quit-actions button{min-height:28px;padding:4px 8px;border-radius:999px;background:#ffffff0b;color:color-mix(in srgb,var(--text) 84%,var(--muted));font-size:.7rem}.today-habit-quit-actions button.soft-danger{background:#ff7b7b1a;color:#ffb6b6}.today-habits-all-button{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(45,207,159,.16);border-radius:15px;background:#2dcf9f11;color:color-mix(in srgb,var(--accent) 72%,var(--text));font-weight:900}.today-habit-empty-state,.today-habit-all-done{display:grid;gap:8px;padding:14px;border-radius:18px;background:radial-gradient(circle at 100% 0%,rgba(45,207,159,.08),transparent 48%),#ffffff06}.today-habit-empty-state strong,.today-habit-all-done strong{color:var(--text);font-size:.98rem}.today-habit-empty-state span,.today-habit-all-done span{color:var(--muted);font-size:.82rem;font-weight:760}@media(prefers-reduced-motion:reduce){.today-habit-row{transition:none}.today-habit-row.habit-row-collapsing{transform:none}}.month-chip-caret{order:1}.today-panel .streak-counter,.today-panel .state-mini-title,p.state-nudge{display:none}.state-nudge.dismissible{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;align-items:center;padding:9px 9px 9px 11px;touch-action:pan-y}.state-nudge-close{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#ffffff0b;color:var(--text-secondary)}.today-panel .state-preview.compact-two,.today-panel .state-preview.compact-three,.home-state-summary{align-items:stretch;contain:layout}.today-panel .state-mini-button,.home-state-summary .state-mini-button{min-width:0}.today-panel .state-mini,.home-state-summary .state-mini{min-height:82px;display:grid;align-content:center;gap:7px;overflow:hidden;contain:layout paint}.home-state-summary .state-mini{padding:10px;border-color:#ffffff05;background:radial-gradient(circle at 18% 0%,rgba(36,255,240,.018),transparent 54%),#ffffff03;box-shadow:none}.home-state-summary .state-mini-button:active .state-mini{background:radial-gradient(circle at 18% 0%,rgba(36,255,240,.035),transparent 54%),#ffffff05}.home-state-summary .state-mini-title{margin:0;color:var(--muted);font-size:.74rem;font-weight:820;line-height:1}.today-panel .state-mini-value,.home-state-summary .state-mini-value{width:100%;display:flex;flex-wrap:wrap;align-items:center;min-height:30px;gap:5px 7px;line-height:1;font-variant-numeric:tabular-nums}.home-state-summary .state-mini-more{flex-basis:100%;min-width:0;margin-top:0;overflow:hidden;color:color-mix(in srgb,var(--accent) 68%,var(--muted));font-size:.64rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.home-state-summary .average-value{grid-template-columns:22px minmax(0,1fr);column-gap:5px;min-width:0}.home-state-summary .average-value>.app-icon{width:22px;height:22px}.home-state-summary .average-value-text{min-width:0;font-size:.96rem}.home-sleep-mini-value{min-width:0;overflow:hidden;color:var(--text);font-size:.93rem;font-weight:900;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.home-sleep-mini-value.empty{color:var(--muted);font-size:.86rem}.home-health-carousel{display:grid;gap:9px;min-width:0}.home-health-pages{display:flex;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:24px;touch-action:pan-x pan-y}.home-health-pages::-webkit-scrollbar{display:none}.home-health-page{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;align-content:start;gap:10px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.home-health-page:before{content:none}.home-health-page-head{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.home-health-page-head span{color:color-mix(in srgb,var(--accent) 76%,var(--muted));font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:0}.home-health-page-head strong{min-width:0;overflow:hidden;color:var(--text);font-size:1rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.home-health-card-grid{position:relative;z-index:1;align-self:start;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(104px,.82fr);grid-auto-rows:minmax(64px,auto);gap:8px;min-width:0}.home-health-card-grid.layout-hero{grid-template-rows:repeat(3,minmax(64px,1fr))}.home-health-card-grid.layout-compact{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(62px,auto)}.home-health-card-grid.count-1{grid-template-columns:1fr}.home-health-card-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.home-health-card-grid.layout-compact.count-3>:first-child{grid-column:1 / -1}.home-health-card{--metric-accent: var(--accent);position:relative;min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;min-height:64px;gap:8px;padding:9px;overflow:hidden;border:1px solid color-mix(in srgb,var(--metric-accent) 24%,transparent);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--metric-accent) 16%,transparent),transparent 58%),#ffffff09;color:var(--text);text-align:left;box-shadow:inset 0 1px #ffffff0d;font:inherit}.home-health-card-aura{position:absolute;inset:auto -20px -28px auto;width:76px;height:76px;border-radius:999px;background:color-mix(in srgb,var(--metric-accent) 18%,transparent);filter:blur(18px);opacity:.9;pointer-events:none}button.home-health-card{appearance:none;cursor:pointer;transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}.home-health-card:active{transform:translateY(1px)}button.home-health-card:hover{border-color:color-mix(in srgb,var(--metric-accent) 38%,transparent)}.home-health-card.big{grid-row:span 3;align-content:end;grid-template-columns:1fr;min-height:208px;padding:13px;background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--metric-accent) 28%,transparent),transparent 34%),linear-gradient(150deg,color-mix(in srgb,var(--metric-accent) 16%,transparent),transparent 58%),#ffffff0a}.home-health-card-grid.layout-compact .home-health-card{min-height:62px;padding:8px}.home-health-card-grid.layout-compact .home-health-card.big{grid-row:auto;grid-template-columns:32px minmax(0,1fr);min-height:62px;padding:8px}.home-health-card-grid.count-2 .home-health-card.big{grid-row:auto}.home-health-card-grid.count-1 .home-health-card.big{min-height:118px}.home-health-card.tone-mood{--metric-accent: #ffd166}.home-health-card.tone-energy{--metric-accent: #7df070}.home-health-card.tone-sleep{--metric-accent: #9a7cff}.home-health-card.tone-pulse{--metric-accent: #ff6b6b}.home-health-card.tone-habits,.home-health-card.tone-activity{--metric-accent: #31d6b2}.home-health-card.tone-recovery{--metric-accent: #62c9ff}.home-health-card.tone-context{--metric-accent: #4ee7c4}.home-health-card.empty{border-color:color-mix(in srgb,var(--metric-accent) 13%,transparent);color:color-mix(in srgb,var(--text) 72%,var(--muted));background:linear-gradient(145deg,color-mix(in srgb,var(--metric-accent) 7%,transparent),transparent 64%),#ffffff06}.home-health-card-icon{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--metric-accent) 20%,transparent);color:var(--metric-accent)}.home-health-card.big .home-health-card-icon{width:52px;height:52px;border-radius:18px}.home-health-card-grid.layout-compact .home-health-card.big .home-health-card-icon{width:32px;height:32px;border-radius:13px}.home-health-card-copy{position:relative;z-index:1;min-width:0;display:grid;gap:3px}.home-health-card-copy span{min-width:0;overflow:hidden;color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:.72rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.home-health-card-copy strong{min-width:0;overflow:hidden;color:var(--text);font-size:1.05rem;font-weight:950;line-height:1.05;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.home-health-card.big .home-health-card-copy strong{font-size:1.92rem}.home-health-card-grid.layout-compact .home-health-card.big .home-health-card-copy strong{font-size:1rem}.home-health-card-copy small,.home-health-card-copy em{min-width:0;overflow:hidden;color:color-mix(in srgb,var(--text) 58%,var(--muted));font-size:.68rem;font-style:normal;font-weight:780;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.home-health-card-copy em{color:color-mix(in srgb,var(--metric-accent) 74%,var(--muted))}.home-health-card-action{z-index:1;position:absolute;right:9px;bottom:8px;color:var(--metric-accent);font-size:.66rem;font-weight:900}.home-health-card:not(.big) .home-health-card-action,.home-health-card-grid.layout-compact .home-health-card-action{display:none}.home-health-dots{display:flex;justify-content:center;gap:6px}.home-health-dots button{width:8px;height:8px;border-radius:999px;background:color-mix(in srgb,var(--muted) 36%,transparent);transition:width .15s ease,background .15s ease}.home-health-dots button.active{width:24px;background:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 46%,transparent)}@media(max-width:390px){.home-health-page{padding:0}.home-health-card-grid{gap:7px;grid-template-columns:minmax(0,1.16fr) minmax(96px,.84fr);grid-auto-rows:minmax(58px,auto)}.home-health-card-grid.layout-hero{grid-template-rows:repeat(3,minmax(58px,1fr))}.home-health-card-grid.layout-compact{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(58px,auto)}.home-health-card{grid-template-columns:29px minmax(0,1fr);min-height:58px;gap:7px;padding:8px;border-radius:15px}.home-health-card.big{min-height:188px;padding:10px}.home-health-card-icon{width:29px;height:29px}.home-health-card.big .home-health-card-icon{width:44px;height:44px}.home-health-card-grid.layout-compact .home-health-card.big .home-health-card-icon{width:29px;height:29px}.home-health-card.big .home-health-card-copy strong{font-size:1.58rem}.home-health-card-copy strong{font-size:.96rem}.home-health-card-copy small,.home-health-card-copy em{font-size:.63rem}.home-health-card-action{display:none}}.average-value{display:inline-grid;grid-template-columns:24px 58px;align-items:center;column-gap:8px;min-width:90px;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.average-value>.app-icon{width:24px;height:24px;flex:0 0 24px}.average-value-text{display:block;min-width:58px}.average-value-empty{grid-template-columns:58px;min-width:58px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(min-width:860px){.home-grid{min-height:calc(100dvh - var(--app-shell-top-space) - var(--app-shell-bottom-space))}.history-panel{max-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px))}}@media(max-width:560px){.app-shell{--page-pad: 12px}.dev-user{grid-template-columns:1fr}.history-card{grid-template-columns:104px minmax(0,1fr);gap:10px}.history-bubble{width:44px;height:44px}}@media(max-width:380px){.habit-overview-main{grid-template-columns:34px minmax(0,1fr)}.habit-page-state-chip{grid-column:1 / -1;max-width:100%;justify-self:start}.habit-management-actions,.habit-quit-guide{grid-template-columns:1fr}.calendar-page{padding-inline:8px;--calendar-gap: 3px;--calendar-week-col: 38px}.calendar-grid-corner,.calendar-weekday-button{min-height:48px;border-radius:12px}.calendar-week-meta,.calendar-day,.calendar-day-empty{min-height:42px;border-radius:12px}.calendar-weekday-button,.calendar-week-meta,.calendar-day{padding-inline:2px}.calendar-weekday-name{font-size:.62rem}.calendar-weekday-score,.calendar-week-score,.calendar-week-number,.calendar-day-number{font-size:.72rem}}.analytics-control-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,.78fr);gap:10px;align-items:center;min-width:0;position:relative;z-index:3}.analytics-series-toggle{min-width:0;max-width:100%;width:fit-content;display:inline-flex;padding:3px;border-radius:999px;background:#ffffff07;box-shadow:inset 0 0 0 1px #ffffff07}.analytics-series-button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 9px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:900;line-height:1;transition:opacity var(--dur-fast) var(--ease-soft),background-color var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft)}.analytics-series-button:before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:999px;opacity:.82}.analytics-series-button.mood:before{background:#58e0a4;box-shadow:0 0 10px #58e0a438}.analytics-series-button.energy:before{background:#67c7f4;box-shadow:0 0 10px #67c7f433}.analytics-series-button.active{background:#ffffff0b;color:var(--text)}.analytics-series-button:not(.active){opacity:.5}.analytics-activity-select{min-width:0;justify-self:stretch}.analytics-activity-button{width:100%;min-height:38px;display:inline-grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:0 10px 0 12px;border:1px solid rgba(36,255,240,.09);border-radius:15px;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.055),transparent 55%),#ffffff08;color:var(--text);font-size:.76rem;font-weight:900;text-align:left;box-shadow:inset 0 0 0 1px #ffffff05}.analytics-activity-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-activity-button strong{min-width:24px;padding:3px 7px;border-radius:999px;background:#2dcf9f1f;color:color-mix(in srgb,var(--accent) 78%,var(--text));font-size:.68rem;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}.analytics-activity-button svg{flex:0 0 auto;color:var(--muted);transition:transform var(--dur-fast) var(--ease-soft)}.analytics-activity-select.open .analytics-activity-button svg{transform:rotate(180deg)}.analytics-activity-button.active{border-color:#2dcf9f47;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.09),transparent 55%),#2dcf9f0e}.analytics-activity-button:disabled{cursor:default;opacity:.44}.analytics-activity-panel{display:grid;gap:10px;padding:10px;border:1px solid rgba(36,255,240,.12);border-radius:20px;background:radial-gradient(circle at 80% 0%,rgba(36,255,240,.07),transparent 48%),linear-gradient(180deg,#ffffff0a,#ffffff04),#0c1512;box-shadow:0 18px 40px #00000047;animation:panel-in var(--dur-med) var(--ease-out)}.analytics-activity-panel input{width:100%;min-height:38px;padding:0 12px;border:1px solid rgba(36,255,240,.1);border-radius:14px;background:#ffffff09;color:var(--text);font-size:.82rem;font-weight:800;outline:none}.analytics-activity-panel input:focus{border-color:#24fff040;box-shadow:0 0 0 3px #24fff00f}.analytics-activity-list{display:grid;gap:6px;max-height:220px;overflow-y:auto;padding-right:2px}.analytics-activity-option{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 10px;border:0;border-radius:13px;background:#ffffff07;color:color-mix(in srgb,var(--text) 84%,var(--muted));font-size:.78rem;font-weight:850;text-align:left}.analytics-activity-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-activity-option strong{min-width:26px;color:var(--muted);text-align:right;font-size:.72rem;font-weight:900;font-variant-numeric:tabular-nums}.analytics-activity-option.active{background:#2dcf9f1a;color:var(--accent);box-shadow:inset 0 0 0 1px #2dcf9f2e}.analytics-activity-option.active strong{color:color-mix(in srgb,var(--accent) 78%,var(--text))}.analytics-activity-empty{margin:0;padding:8px 4px;font-size:.78rem}@media(max-width:380px){.analytics-control-row{grid-template-columns:1fr}.analytics-series-toggle{width:100%}.analytics-series-button{flex:1 1 0}}.habits-page{align-content:start;gap:10px;padding-top:10px}.habits-page .habits-list{gap:0}.habits-sections{gap:18px}.habits-section{gap:9px}.habits-collapsible-section{gap:7px;padding:7px 8px 4px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.045);background:#ffffff05}.habits-collapsible-section.collapsed{padding-bottom:7px}.habits-collapsible-head{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0;border:0;background:transparent;color:var(--text);text-align:left}.habits-collapsible-head>span{min-width:0;display:grid;gap:2px}.habits-collapsible-head strong{color:color-mix(in srgb,var(--text) 90%,var(--muted));font-size:.86rem;font-weight:900;letter-spacing:0}.habits-collapsible-head small{color:var(--muted);font-size:.72rem;font-weight:760}.habits-collapsible-head .app-icon{flex:0 0 auto;color:color-mix(in srgb,var(--muted) 78%,transparent);transition:transform var(--motion-fast) var(--ease-soft),color var(--motion-fast) var(--ease-soft)}.habits-collapsible-head .app-icon.is-open{transform:rotate(180deg);color:var(--accent)}.habits-collapsible-body{padding-top:1px}.habits-section-title{margin:0;color:color-mix(in srgb,var(--text) 88%,var(--muted));font-size:.86rem;font-weight:900;letter-spacing:0}.ritual-list{display:grid;gap:8px}.ritual-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ritual-create-card,.ritual-empty{display:grid;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:var(--radius-xl);background:#ffffff07}.ritual-create-card label,.ritual-create-habits{display:grid;gap:6px}.ritual-create-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(86px,.6fr);gap:8px}.ritual-safety-copy{margin:0;color:var(--muted);font-size:.72rem;font-weight:720;line-height:1.35}.ritual-create-card label span,.ritual-create-habits>span,.ritual-create-habits-head>span,.ritual-empty strong{color:var(--text);font-size:.82rem;font-weight:880}.ritual-create-card input,.ritual-create-card select{width:100%;min-height:40px;padding:0 12px;border:1px solid rgba(48,226,198,.14);border-radius:var(--radius-lg);background:#0000002e;color:var(--text);font:inherit}.ritual-create-card textarea,.habit-edit-section textarea{width:100%;min-height:92px;padding:12px;border:1px solid rgba(48,226,198,.14);border-radius:var(--radius-lg);background:#0000002e;color:var(--text);font:inherit;resize:vertical}.ritual-weekdays-control{margin:0}.ritual-create-habits>div{display:flex;flex-wrap:wrap;gap:6px}.ritual-create-habits-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ritual-create-habits .ritual-add-habit-button{width:34px;min-width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-color:#30e2c66b;background:#30e2c61f;color:var(--accent)}.ritual-create-habits button{min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-pill);background:#ffffff0b;color:var(--text);font-size:.76rem;font-weight:820}.ritual-create-habits button.active{border-color:#30e2c694;background:#30e2c624;color:var(--accent)}.ritual-new-habit-chips{margin-top:2px}.ritual-habit-modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:18px;background:#010706b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ritual-habit-modal{width:min(420px,100%);display:grid;gap:12px;padding:14px;border:1px solid rgba(48,226,198,.22);border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 0%,rgba(48,226,198,.16),transparent 46%),#071210fa;box-shadow:0 24px 80px #0000006b}.ritual-habit-modal-head,.ritual-habit-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.ritual-habit-modal-head strong{color:var(--text);font-size:.95rem;font-weight:880}.ritual-habit-modal-actions{justify-content:flex-end}.ritual-create-submit{min-height:42px}.ritual-empty span{color:var(--muted);font-size:.78rem;font-weight:720}.ritual-card{display:grid;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.ritual-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ritual-card-open{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.ritual-card-open:active{transform:translateY(1px)}.ritual-card-head>span{min-width:0;display:grid;gap:2px}.ritual-card-head strong{color:var(--text);font-size:.93rem;font-weight:900}.ritual-card-head small{color:var(--muted);font-size:.76rem;font-weight:760}.ritual-card-head b{color:var(--accent);font-size:.9rem}.ritual-progress-bar{height:5px;overflow:hidden;border-radius:var(--radius-pill);background:#ffffff0f}.ritual-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 68%,#8affdf));box-shadow:0 0 16px #30e2c659}.ritual-step-list{display:grid;gap:5px}.ritual-step-shell{display:grid;gap:6px}.ritual-step{width:100%;min-height:42px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);background:#05141085;color:var(--text);text-align:left}.ritual-step.done{border-color:#30e2c633;background:#30e2c614}.ritual-step.partial{border-color:#30e2c624;background:#30e2c60b}.ritual-step .is-open{transform:rotate(180deg)}.ritual-step:disabled{opacity:.78}.ritual-step>span:last-child{min-width:0;display:grid;gap:1px}.ritual-step strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:880}.ritual-step small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:720}.ritual-step-details{display:grid;gap:7px;padding:7px 8px 9px 38px}.ritual-substep-list{display:grid;gap:5px}.ritual-substep-list button{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-lg);background:#ffffff09;color:var(--text);text-align:left;font-size:.78rem;font-weight:820}.ritual-substep-list button.done{border-color:#30e2c63d;background:#30e2c614;color:var(--accent)}.ritual-substep-list button span{display:grid;gap:1px}.ritual-substep-list button small{color:var(--muted);font-size:.68rem}.ritual-complete-step{justify-self:start}.ritual-items-panel{display:grid;gap:5px;padding:9px 10px;border-radius:var(--radius-lg);background:#ffffff09}.ritual-items-panel strong{color:var(--text);font-size:.78rem}.ritual-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ritual-item-row.replaced{opacity:.6}.ritual-item-row span{color:var(--muted);font-size:.74rem;font-weight:720}.ritual-detail-header{margin-bottom:4px}.ritual-detail-hero{display:grid;gap:11px;padding:13px;border:1px solid rgba(48,226,198,.18);border-radius:var(--radius-xl);background:radial-gradient(circle at 18% 0%,rgba(48,226,198,.16),transparent 42%),linear-gradient(135deg,#30e2c61a,#ffffff06);box-shadow:0 16px 42px #0000003d}.ritual-detail-hero-main{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px}.ritual-detail-hero-main>span:not(.ritual-detail-sun){min-width:0;display:grid;gap:2px}.ritual-detail-hero-main strong{overflow:hidden;color:var(--text);font-size:1.05rem;font-weight:930;text-overflow:ellipsis;white-space:nowrap}.ritual-detail-hero-main small,.ritual-detail-composition small{color:var(--muted);font-size:.76rem;font-weight:760}.ritual-detail-hero-main b{color:var(--accent);font-size:1rem;font-weight:930}.ritual-detail-sun{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,226,111,.36);background:radial-gradient(circle,#ffe26f3d,#30e2c612 58%,#0000002e);color:#ffe26f;box-shadow:0 0 28px #ffe26f2e}.ritual-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ritual-detail-stats span{min-height:54px;display:grid;place-content:center;gap:2px;border-radius:var(--radius-lg);background:#00000029;text-align:center}.ritual-detail-stats strong{color:var(--text);font-size:.98rem;font-weight:930}.ritual-detail-stats small{color:var(--muted);font-size:.7rem;font-weight:760}.ritual-detail-section{display:grid;gap:9px}.ritual-history-strip{height:94px;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:5px}.ritual-history-strip span{min-width:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 16px;align-items:end;gap:4px;opacity:.42}.ritual-history-strip span.due{opacity:1}.ritual-history-strip i{width:100%;min-height:8px;display:block;border-radius:var(--radius-pill);background:#ffffff13}.ritual-history-strip span.partial i{background:linear-gradient(180deg,#30e2c6cc,#60d6ff85)}.ritual-history-strip span.done i{background:linear-gradient(180deg,var(--accent),rgba(122,220,74,.88));box-shadow:0 0 14px #30e2c63d}.ritual-history-strip small{color:var(--muted);font-size:.66rem;font-weight:760;text-align:center}.ritual-detail-composition{display:grid;gap:2px}.ritual-detail-composition button{min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0;border:0;border-top:1px solid rgba(255,255,255,.045);background:transparent;color:var(--text);text-align:left}.ritual-detail-composition button:first-child{border-top:0}.ritual-detail-composition button>span:last-child{min-width:0;display:grid;gap:2px}.ritual-detail-composition strong{overflow:hidden;color:var(--text);font-size:.86rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.habits-page .habit-card{min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.habits-page .habit-card+.habit-card{border-top:1px solid rgba(255,255,255,.045)}.habits-page .habit-card:hover{border-color:transparent;box-shadow:none;transform:none}.habits-page .habit-card.completed{border-color:#ffffff0b;background:transparent}.habits-page .habit-card.partial{background:#30e2c606}.habits-page .habit-card-main{min-height:64px;grid-template-columns:30px minmax(0,1fr) auto 34px;gap:8px;padding:9px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.habits-page .habit-card-row-main{grid-template-columns:minmax(0,1fr) max-content max-content;column-gap:6px}.habits-page .habit-card.hide-actions .habit-card-row-main{grid-template-columns:minmax(0,1fr) max-content}.habits-page .habit-card-row-main>span:not(.habit-card-counter){grid-column:1;grid-row:1;min-width:0;overflow:hidden}.habits-page .habit-card-row-main .habit-toggle-button,.habits-page .habit-card-row-main .habit-status-indicator,.habits-page .habit-card-row-main .habit-craving-button,.habits-page .habit-card-row-main .habit-time-button,.habits-page .habit-card-row-main .habit-card-counter{grid-column:2;grid-row:1;justify-self:center}.habits-page .habit-card-row-main .habit-card-actions-button{grid-column:3;width:34px;min-width:34px;height:40px;min-height:40px;padding:0}.habits-page .habit-card.hide-actions .habit-card-row-main .habit-toggle-button,.habits-page .habit-card.hide-actions .habit-card-row-main .habit-status-indicator,.habits-page .habit-card.hide-actions .habit-card-row-main .habit-craving-button,.habits-page .habit-card.hide-actions .habit-card-row-main .habit-time-button,.habits-page .habit-card.hide-actions .habit-card-row-main .habit-card-counter{grid-column:2}.habits-page .habit-card.multi-count .habit-toggle-button{display:none}.habits-page .habit-card.multi-count .habit-card-row-main>span:not(.habit-card-counter){grid-column:1}.habits-page .habit-card-main:hover{border-color:transparent;background:transparent;box-shadow:none;transform:none}.habit-card-actions-button{width:40px;min-width:40px;min-height:40px;height:40px;grid-column:4;justify-self:end;display:grid;place-items:center;border-radius:var(--radius-sm);border:0;background:transparent;color:#ebfffad6}.habit-card-actions-button:hover{background:#24fff00e;color:var(--accent)}.habit-craving-button{min-width:64px;min-height:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid rgba(36,255,240,.22);background:#24fff014;color:var(--accent);font-size:.74rem;font-weight:900;line-height:1;white-space:nowrap;box-sizing:border-box}.habit-craving-button:disabled{opacity:.54}.habit-craving-button:not(:disabled):active{transform:scale(.96)}.weather-settings-card{display:grid;gap:var(--space-3);padding:var(--space-3)}.weather-settings-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.weather-settings-head>span:nth-child(2){min-width:0;display:grid;gap:3px}.weather-settings-head strong{color:var(--color-text);font-size:.95rem;font-weight:900}.weather-settings-head small,.weather-privacy-copy,.weather-confirm-box span,.weather-error-box span,.weather-analytics-summary span,.weather-analytics-summary p{color:var(--color-text-muted);font-size:.78rem;font-weight:760;line-height:1.35}.weather-settings-icon{background:#2dcf9f1f;color:var(--color-accent)}.weather-confirm-box,.weather-error-box,.weather-analytics-summary{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffff0a}.weather-sensitivity-card{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(45,207,159,.16);background:radial-gradient(circle at 12% 0%,rgba(45,207,159,.12),transparent 48%),#2dcf9f0e}.weather-sensitivity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.weather-sensitivity-head>div{min-width:0;display:grid;gap:2px}.weather-sensitivity-head span{color:var(--color-text-secondary);font-size:.73rem;font-weight:820;line-height:1.2}.weather-sensitivity-head strong{color:var(--color-text);font-size:1.55rem;font-weight:930;line-height:1}.weather-sensitivity-level{justify-items:end;text-align:right}.weather-sensitivity-level span{color:var(--color-accent)}.weather-sensitivity-level small{color:var(--color-text-muted);font-size:.68rem;font-weight:760;line-height:1.25}.weather-sensitivity-bar{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:#ffffff12}.weather-sensitivity-bar span{display:block;height:100%;min-width:4px;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,#2dcf9f73,#6bd9ffdb)}.weather-sensitivity-card p{margin:0;color:var(--color-text-secondary);font-size:.78rem;font-weight:760;line-height:1.35}.weather-sensitivity-factors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.weather-sensitivity-factors>span{min-width:0;display:grid;gap:2px;padding:7px;border-radius:var(--radius-md);background:#ffffff0b}.weather-sensitivity-factors strong{overflow:hidden;color:var(--color-text);font-size:.72rem;font-weight:860;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.weather-sensitivity-factors small{color:var(--color-text-muted);font-size:.67rem;font-weight:760;line-height:1.2}.weather-analytics-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.weather-analytics-metrics>span,.weather-analytics-block{min-width:0;display:grid;gap:3px;padding:var(--space-2);border-radius:var(--radius-md);background:#ffffff0a}.weather-analytics-metrics strong,.weather-analytics-block strong{color:var(--color-text);font-size:.9rem;font-weight:900}.weather-analytics-metrics small,.weather-analytics-block span{min-width:0;color:var(--color-text-muted);font-size:.72rem;font-weight:760;line-height:1.3}.weather-analytics-block.compact{grid-template-columns:1fr}.weather-confirm-box{border:1px solid rgba(45,207,159,.16)}.weather-error-box{border:1px solid rgba(255,180,82,.18)}.weather-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.weather-actions .ui-button{flex:1 1 132px}.home-weather-pill{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:var(--radius-pill);border:1px solid rgba(45,207,159,.16);background:#2dcf9f13;color:var(--color-text-secondary);font-size:.78rem;font-weight:860}.home-weather-pill .app-icon{color:var(--color-accent)}.wearables-page-card{display:grid;gap:var(--space-3)}.wearables-head,.wearable-source-card,.wearable-sleep-card,.wearable-activity-card{display:flex;align-items:center;gap:var(--space-3);min-width:0}.wearables-head strong,.wearable-source-copy strong{display:block;color:var(--color-text);font-size:.98rem}.wearables-head small,.wearable-source-copy small,.wearable-source-copy em{display:block;color:var(--color-text-secondary);font-size:.78rem;font-style:normal;line-height:1.35}.wearable-source-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:var(--radius-lg);color:var(--color-accent);background:#2df2d41a;border:1px solid rgba(45,242,212,.18)}.wearable-source-copy{display:block;min-width:0;flex:1}.wearable-sleep-card{align-items:flex-start}.wearable-sleep-edit-button{flex:0 0 auto;align-self:flex-start}.wearable-sleep-edit-summary{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffff0b;box-shadow:inset 0 0 0 1px #2df2d414}.wearable-sleep-edit-summary strong,.wearable-sleep-edit-summary small{display:block}.wearable-sleep-edit-summary small{color:var(--color-text-secondary);font-size:.78rem}.wearable-sleep-edit-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sleep-time-button.readonly{pointer-events:none}.tag-chip small{margin-left:4px;color:color-mix(in srgb,currentColor 72%,transparent);font-size:.68rem}.wearable-sleep-stages{display:grid;gap:var(--space-2);margin-top:var(--space-2);min-width:0}.wearable-sleep-stage-bar{display:flex;width:100%;min-width:0;height:8px;overflow:hidden;border-radius:var(--radius-pill);background:#ffffff0f}.wearable-sleep-stage-segment{min-width:0}.wearable-sleep-stage-segment.awake,.wearable-sleep-stage-dot.awake{background:var(--color-warning)}.wearable-sleep-stage-segment.light,.wearable-sleep-stage-dot.light{background:#68d8ff}.wearable-sleep-stage-segment.deep,.wearable-sleep-stage-dot.deep{background:var(--color-sleep)}.wearable-sleep-stage-segment.rem,.wearable-sleep-stage-dot.rem{background:#ba8cff}.wearable-sleep-stage-segment.unknown,.wearable-sleep-stage-dot.unknown{background:var(--color-text-muted)}.wearable-sleep-stage-grid{display:flex;flex-wrap:wrap;gap:6px 10px;min-width:0}.wearable-sleep-stage-grid span{display:inline-flex;align-items:center;gap:5px;color:var(--color-text-secondary);font-size:.72rem;line-height:1.25;white-space:nowrap}.wearable-sleep-stage-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%}.wsc-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.wsc-header{display:flex;align-items:flex-start;gap:10px}.wsc-icon{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff12;color:var(--color-text-secondary)}.wsc-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wsc-duration{font-size:1rem;font-weight:700;color:var(--color-text);line-height:1.2}.wsc-meta{font-size:.75rem;color:var(--color-text-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wsc-badge{font-style:normal;font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:10px;background:#ffffff1a;color:var(--color-text-secondary)}.wsc-edit-btn{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;border-radius:8px;color:var(--color-text-muted);cursor:pointer}.wsc-edit-btn:hover{background:#ffffff1f;color:var(--color-text)}.wsc-stages{display:flex;flex-direction:column;gap:5px}.wsc-stage-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;gap:1px}.wsc-stage-seg{border-radius:2px;min-width:2px}.wsc-stage-seg.awake{background:#f59e0b}.wsc-stage-seg.light{background:#60a5fa}.wsc-stage-seg.deep{background:#818cf8}.wsc-stage-seg.rem{background:#c084fc}.wsc-stage-seg.unknown{background:var(--color-text-muted)}.wsc-stage-legend{display:flex;flex-wrap:wrap;gap:2px 10px}.wsc-stage-legend-item{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--color-text-muted);line-height:1.3}.wsc-stage-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.wsc-stage-dot.awake{background:#f59e0b}.wsc-stage-dot.light{background:#60a5fa}.wsc-stage-dot.deep{background:#818cf8}.wsc-stage-dot.rem{background:#c084fc}.wsc-stage-dot.unknown{background:var(--color-text-muted)}.wsc-metrics-line{font-size:.75rem;color:var(--color-text-muted);margin:0;line-height:1.4}.wsc-manual-note{font-size:.72rem;color:var(--color-text-muted);font-style:italic}.wearable-source-status{margin-top:2px}.wearable-source-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;max-width:44%}.wearable-source-action{min-height:30px;padding:0;white-space:nowrap}.wearable-source-card.disabled{opacity:.84}.wearable-source-grid,.wearable-metric-grid{display:grid;gap:var(--space-2)}.wearable-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wearable-metric-card{min-width:0}.wearable-metric-card span,.wearable-metric-card small{color:var(--color-text-secondary);font-size:.76rem}.wearable-metric-card strong{color:var(--color-text);font-size:1.05rem}.wearable-metric-badge{display:inline-flex;width:fit-content;max-width:100%;margin-top:2px;padding:2px 7px;border-radius:var(--radius-pill);color:var(--color-accent)!important;background:#2df2d417;border:1px solid rgba(45,242,212,.18);font-size:.68rem!important;font-weight:850;line-height:1.2}.wearable-empty-state.ui-empty-state{padding:var(--space-3)}.home-habits-embedded{width:100%;padding:0;border:0;background:transparent;box-shadow:none}.home-habits-embedded .habits-page-head{padding-top:var(--space-2)}.home-habits-embedded .home-habits-head{position:static;min-height:auto;grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:var(--space-3);padding:0}.home-habits-embedded .home-habits-head:before{display:none}.home-habits-embedded .home-habits-head .ui-page-header-leading,.home-habits-embedded .home-habits-head .ui-page-header-action{display:none}.home-habits-embedded .home-habits-head .ui-page-header-copy{min-width:0}.home-current-action{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-xl);border:1px solid rgba(45,207,159,.12);background:#2dcf9f0b}.home-current-action-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:15px;background:#2dcf9f1c;color:var(--color-accent)}.home-current-action div{min-width:0;display:grid;gap:2px}.home-current-action small,.home-current-action span{color:var(--color-text-muted);font-size:.74rem;font-weight:760}.home-current-action strong{overflow:hidden;color:var(--color-text);font-size:.98rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.home-habits-create-button{width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid rgba(45,207,159,.34);background:linear-gradient(135deg,#2dcf9f33,#24fff01a);color:var(--color-text);font-size:.9rem;font-weight:900;box-shadow:0 14px 30px #00000038,0 0 20px #24fff00f}.home-habits-create-button:active{transform:translateY(1px)}.home-habits-compact .habits-sections,.home-habits-compact .habits-section,.home-habits-compact .ritual-list{gap:6px}.home-habits-compact .habit-card-main{min-height:52px;padding:6px 0}.home-habits-compact .habit-card.compact-home-row .habit-card-copy small:not(.habit-compact-meta),.home-habits-compact .habit-card.compact-home-row .habit-achievement-next{display:none}.home-habits-compact .habit-card.compact-home-row .habit-card-copy .habit-compact-meta:nth-of-type(n+2){display:none}.home-habits-compact .habit-card.read-only-row .habit-card-row-main{grid-template-columns:minmax(0,1fr)}.home-habits-compact .habit-card.read-only-row .habit-card-text{grid-column:1}.home-habits-more-button{min-height:34px;justify-self:start;display:inline-flex;align-items:center;justify-content:center;margin-top:2px;padding:0 12px;border:1px solid rgba(45,207,159,.2);border-radius:var(--radius-pill);background:#2dcf9f12;color:var(--color-accent);font-size:.78rem;font-weight:900}.home-habits-more-button:active{transform:translateY(1px)}.wearable-mock-actions{display:grid;gap:var(--space-2)}.wearable-mock-button{width:100%}.wearable-sleep-section{gap:var(--space-2)}.wearable-sleep-sync-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-color:#2df2d424}.wearable-sleep-sync-card strong,.wearable-sleep-sync-card small{display:block}.wearable-sleep-sync-card small{color:var(--color-text-secondary);font-size:.78rem;line-height:1.35}.wearable-sleep-sync-card.syncing .sleep-row-icon{animation:fab-soft-pulse 1.5s var(--ease-soft) infinite}.wearable-sleep-empty-card{display:grid;gap:var(--space-2);padding:var(--space-3)}.wearable-sleep-empty-card p,.wearable-sleep-empty-card small{margin:0;color:var(--color-text-secondary);font-size:.8rem;line-height:1.35}.wearable-analytics-card .ui-empty-state{padding:var(--space-3)}.context-summary-card{display:grid;gap:var(--space-2);min-width:0}.context-summary-card.home-context{padding:var(--space-3)}.context-summary-card.home-context.clickable{cursor:pointer;transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.context-summary-card.home-context.clickable:active{transform:translateY(1px)}.context-summary-card.sheet-context{padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(45,242,212,.1);background:#2df2d40a}.context-summary-card.sheet-context.empty{border-color:#ffffff0f;background:#ffffff09}.context-summary-head{display:flex;align-items:center;gap:var(--space-2);min-width:0}.context-summary-head strong,.context-summary-head small{display:block}.context-summary-head small{color:var(--color-text-secondary);font-size:.74rem}.context-summary-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:var(--radius-md);color:var(--color-accent);background:#2df2d41a}.context-chip-list{display:flex;flex-wrap:wrap;gap:6px}.context-chip-list span{display:inline-flex;min-height:28px;align-items:center;max-width:100%;padding:5px 8px;border-radius:var(--radius-pill);background:#ffffff0b;color:var(--color-text-secondary);font-size:.74rem;font-weight:820;line-height:1.2}.day-context-chips.manual{margin-bottom:var(--space-2)}.day-context-editor-sheet .sheet-scroll-body{display:grid;gap:var(--space-3)}.day-manual-state-editor{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(45,242,212,.12);background:#2df2d40b}.day-manual-state-editor label{display:grid;gap:6px}.day-manual-state-editor label span{color:var(--color-text-secondary);font-size:.76rem;font-weight:850}.day-manual-state-editor select{width:100%;min-height:40px;border:1px solid rgba(45,242,212,.18);border-radius:var(--radius-md);background:#00000038;color:var(--color-text);padding:0 10px;font:inherit}.checkin-auto-context-spoiler{display:grid;gap:8px}.checkin-auto-context-spoiler summary{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:8px 10px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.055);background:#ffffff08;color:var(--color-text-secondary);font-size:.8rem;font-weight:850;list-style:none;cursor:pointer}.checkin-auto-context-spoiler summary::-webkit-details-marker{display:none}.checkin-auto-context-spoiler summary svg{color:var(--color-accent);transition:transform var(--motion-fast) var(--ease-out)}.checkin-auto-context-spoiler[open] summary svg{transform:rotate(180deg)}.sheet-overlay.checkin-sheet-overlay-fullscreen{padding-top:0;background:radial-gradient(circle at 50% 0%,rgba(45,242,212,.08),transparent 34%),#030706b3}.sheet-shell.checkin-sheet-shell-fullscreen{width:min(100%,720px);height:100dvh;max-height:100dvh;margin-inline:auto}.sheet.checkin-sheet-fullscreen{height:100dvh;max-height:100dvh;border-radius:0;border-inline:1px solid rgba(45,242,212,.18);border-top:0;background:radial-gradient(circle at 50% -4%,rgba(45,242,212,.1),transparent 34%),linear-gradient(180deg,#0f2b23f5,#07100d 56%,#050b09)}.sheet.checkin-sheet-fullscreen .sheet-grabber{margin-top:calc(8px + env(safe-area-inset-top,0px))}.sheet.checkin-sheet-fullscreen .sheet-header{margin-bottom:var(--space-3)}.sheet.checkin-sheet-fullscreen>.checkin-form{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch;overflow-y:auto;padding-bottom:0}.sheet.checkin-sheet-fullscreen .checkin-wizard-progress{width:min(100%,300px);justify-self:center;gap:var(--space-2);flex:0 0 auto;margin-inline:0}.sheet.checkin-sheet-fullscreen .checkin-flow-shell{width:min(100%,360px);display:grid;gap:var(--space-2);align-self:center;margin-inline:auto}.sheet.checkin-sheet-fullscreen .checkin-flow-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:var(--space-2)}.sheet.checkin-sheet-fullscreen .checkin-flow-settings-button{width:34px;min-width:34px;min-height:30px;height:30px;border-color:#2dcf9f24;background:#ffffff09;color:var(--color-text-secondary)}.sheet.checkin-sheet-fullscreen .checkin-flow-settings-button.active{border-color:#2dcf9f70;background:#2dcf9f21;color:var(--color-accent)}.checkin-flow-settings{display:grid;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);border:1px solid rgba(45,207,159,.13);background:#ffffff08;animation:sheet-content-in var(--motion-fast) var(--ease-out) both}.checkin-flow-option{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.055);background:#ffffff09;color:var(--color-text-secondary);text-align:left}.checkin-flow-option strong,.checkin-flow-option small{display:block;min-width:0}.checkin-flow-option strong{color:var(--color-text);font-size:.8rem;font-weight:900}.checkin-flow-option small{margin-top:2px;color:var(--color-text-muted);font-size:.68rem;font-weight:760;line-height:1.25}.checkin-flow-option i{justify-self:end;width:30px;height:18px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.08);background:#ffffff0b;position:relative}.checkin-flow-option i:before{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:999px;background:#ffffff57;transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.checkin-flow-option.active{border-color:#2dcf9f47;background:#2dcf9f14}.checkin-flow-option.active i{border-color:#2dcf9f61;background:#2dcf9f29}.checkin-flow-option.active i:before{transform:translate(12px);background:var(--color-accent)}.sheet.checkin-sheet-fullscreen .checkin-wizard-progress button{min-height:30px;height:30px;padding:0 var(--space-2);border-radius:var(--radius-pill);aspect-ratio:auto;border-color:#2dcf9f1f;background:#ffffff09;font-size:.72rem;box-shadow:none}.sheet.checkin-sheet-fullscreen .checkin-wizard-progress button.active{border-color:#2dcf9f6b;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.1),transparent 60%),#2dcf9f24;box-shadow:0 0 18px #2dcf9f14}.sheet.checkin-sheet-fullscreen .checkin-step-number{width:16px;height:16px;flex-basis:16px;font-size:.62rem}.sheet.checkin-sheet-fullscreen .checkin-step-content{width:min(100%,520px);display:flex;flex-direction:column;gap:var(--space-4);flex:0 0 auto;align-self:center;margin-top:var(--space-2)}.sheet.checkin-sheet-fullscreen .checkin-step-head.compact{justify-items:center;padding-top:var(--space-2);text-align:center}.sheet.checkin-sheet-fullscreen .checkin-step-head.compact>div{justify-content:center}.sheet.checkin-sheet-fullscreen .checkin-step-head.compact .checkin-step-kicker,.sheet.checkin-sheet-fullscreen .checkin-step-head.compact p{display:none}.sheet.checkin-sheet-fullscreen .picker-inline{width:min(100%,300px);justify-self:center;min-height:34px;align-self:center;padding-top:0;gap:var(--space-4)}.sheet.checkin-sheet-fullscreen .picker-inline-trigger{min-width:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--color-accent);font-size:.82rem;font-weight:850}.sheet.checkin-sheet-fullscreen .picker-inline-trigger.time{text-align:right}.sheet.checkin-sheet-fullscreen .scale-row{gap:var(--space-2)}.sheet.checkin-sheet-fullscreen .scale-row legend{font-size:.88rem}.sheet.checkin-sheet-fullscreen .scale-toggle{font-size:.72rem}.sheet.checkin-sheet-fullscreen .scale-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.sheet.checkin-sheet-fullscreen .picker-option{min-width:0;min-height:50px;border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.035),transparent 58%),#ffffff09}.sheet.checkin-sheet-fullscreen .picker-option.active{background:radial-gradient(circle at 50% 0%,rgba(45,207,159,.12),transparent 62%),#2dcf9f12}.sheet.checkin-sheet-fullscreen .emotion-suggestions{border-color:#2dcf9f1f;background:#ffffff07}.checkin-form>div.checkin-step-content>.emotion-suggestions{display:none}.context-emotions{margin-bottom:var(--space-1)}.sheet.checkin-sheet-fullscreen .checkin-note-toggle{justify-self:center;width:auto;min-width:0;padding-inline:var(--space-3);align-self:center;text-align:center}.sheet.checkin-sheet-fullscreen .checkin-note-toggle .ui-button-label{display:inline-flex;align-items:center;justify-content:center;gap:7px}.sheet.checkin-sheet-fullscreen .sheet-actions.sticky-actions{margin-top:auto;flex:0 0 auto;background:linear-gradient(180deg,#050b0900,#050b09 34%)}.checkin-selected-tags{position:fixed;left:max(14px,calc((100vw - 520px)/2 + 14px));right:max(14px,calc((100vw - 520px)/2 + 14px));bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:80;display:flex;align-items:center;gap:8px;min-width:0;padding:0;border-radius:0;background:transparent;pointer-events:none}.checkin-selected-tags .selected-tags-label{display:none}.checkin-selected-tags .tag-chip-grid.selected{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding:2px 1px 4px;pointer-events:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.checkin-selected-tags .tag-chip-grid.selected::-webkit-scrollbar{display:none}.checkin-selected-tags .tag-chip.selected-chip{flex:0 0 auto;min-height:31px;padding:6px 9px;box-shadow:0 8px 22px #00000057,0 0 0 1px #2dcf9f29}.tag-chip.auto-selected{gap:6px;border-color:#2dcf9f57;background:#2dcf9f29}.tag-chip-mark{display:inline-flex;align-items:center;min-height:16px;padding:1px 5px;border-radius:var(--radius-pill);background:#2dcf9f2e;color:var(--color-accent);font-size:.62rem;font-weight:850;line-height:1}.checkin-selected-tags .tag-chip-mark{display:none}.emotion-suggestions{display:grid;gap:8px;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.055);background:#ffffff08}.emotion-suggestions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.emotion-suggestions-head h4{margin:0;color:var(--color-text);font-size:.86rem;line-height:1.2}.emotion-suggestions-head p{margin:2px 0 0;color:var(--color-text-secondary);font-size:.74rem;line-height:1.25}.emotion-add-button{width:32px;height:32px;flex:0 0 32px;display:inline-grid;place-items:center;border-radius:var(--radius-pill);border:1px dashed rgba(45,207,159,.2);background:#2dcf9f0b;color:#c8f4e5ad}.emotion-add-button:disabled{opacity:.66}.emotion-chip-grid{gap:6px}.emotion-chip{min-height:30px;padding-block:5px;font-size:.78rem}.checkin-context-switcher{min-height:40px}.checkin-context-switcher button{min-height:32px;font-size:.82rem}.quick-context-head{align-items:flex-start}.quick-context-head p{margin:4px 0 0;color:var(--color-text-muted);font-size:.76rem;line-height:1.3}.quick-context-picker{display:grid;gap:var(--space-2)}.quick-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-context-chip,.quick-more-chip{min-height:42px;justify-content:center;border-radius:16px;font-size:.86rem}.quick-more-chip{gap:6px;color:var(--color-accent)}.quick-context-full-sheet{max-height:min(82dvh,680px)}.quick-context-full-body{flex:1 1 auto;min-height:0;display:grid;gap:var(--space-3);overflow-y:auto;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}.quick-context-search{min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(49,224,191,.16);border-radius:16px;background:#ffffff0b;color:var(--color-text-muted)}.quick-context-search input,.quick-context-custom input{min-width:0;border:0;outline:none;background:transparent;color:var(--color-text);font:inherit}.quick-context-search input::placeholder,.quick-context-custom input::placeholder{color:var(--color-text-muted)}.quick-context-custom{display:grid;gap:8px;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.055);background:#ffffff09}.quick-context-custom>span{color:var(--color-text);font-size:.86rem;font-weight:850}.quick-context-full-list{gap:10px}.quick-context-category{padding:12px;border-radius:18px}.quick-context-full-actions{margin-top:0}@media(max-width:380px){.quick-context-grid{gap:7px}.quick-context-chip,.quick-more-chip{min-height:40px;padding-inline:10px;font-size:.8rem}.quick-context-custom .inline-tag-form{grid-template-columns:minmax(0,1fr)}}.auto-tag-sheet-body{display:grid;gap:var(--space-3);min-height:0;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden}.notification-sheet-body{display:grid;gap:var(--space-3);min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.notification-settings-card{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.055);background:#ffffff09}.notification-settings-card.compact{gap:var(--space-2)}.notification-settings-head{display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--space-2);align-items:center}.notification-settings-head h3,.notification-settings-head p{margin:0}.notification-settings-head h3{color:var(--color-text);font-size:.92rem;line-height:1.2}.notification-settings-head p{margin-top:3px;color:var(--color-text-muted);font-size:.74rem;line-height:1.3}.notification-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.notification-mode-grid button,.notification-toggle{border:1px solid transparent;border-radius:var(--radius-lg);background:#ffffff0b;color:var(--color-text-secondary);font:inherit;text-align:left}.notification-mode-grid button{min-height:64px;padding:9px 10px}.notification-mode-grid button.active,.notification-toggle.active{border-color:#31e0bf57;background:#31e0bf1a}.notification-mode-grid strong,.notification-mode-grid small,.notification-toggle strong,.notification-toggle small{display:block;min-width:0}.notification-mode-grid strong,.notification-toggle strong{color:var(--color-text);font-size:.78rem}.notification-mode-grid small,.notification-toggle small{margin-top:3px;color:var(--color-text-muted);font-size:.68rem;line-height:1.25}.notification-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center;min-height:54px;padding:9px 10px}.notification-toggle em,.notification-channel-row strong{border-radius:var(--radius-pill);background:#31e0bf1f;color:var(--color-accent);padding:4px 8px;font-size:.68rem;font-style:normal;font-weight:900}.notification-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.notification-time-grid label{display:grid;gap:6px;color:var(--color-text-muted);font-size:.72rem;font-weight:800}.notification-time-grid input{min-height:40px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#0000002e;color:var(--color-text);padding:0 10px;font:inherit}.notification-channel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-secondary);font-size:.82rem;font-weight:850}.notification-sheet-actions{flex-shrink:0;margin-top:var(--space-3)}.auto-tag-sheet-head,.auto-tag-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.auto-tag-sheet-head h3,.auto-tag-editor-head h3{margin:0;color:var(--color-text);font-size:.98rem;line-height:1.2}.auto-tag-sheet-head p,.auto-tag-editor-head p{margin:3px 0 0;font-size:.76rem;line-height:1.25}.auto-tag-rule-list{display:grid;gap:8px}.auto-tag-rule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:10px;border-radius:var(--radius-lg);background:#ffffff09;border:1px solid rgba(255,255,255,.045)}.auto-tag-rule-card.disabled{opacity:.58}.auto-tag-rule-main{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0}.auto-tag-rule-icon{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:var(--radius-pill);color:var(--color-accent);background:#2dcf9f1f}.auto-tag-rule-main strong,.auto-tag-rule-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-tag-rule-main strong{color:var(--color-text);font-size:.88rem;line-height:1.2}.auto-tag-rule-main span{margin-top:3px;color:var(--color-text-secondary);font-size:.73rem;font-weight:720}.auto-tag-rule-actions{display:flex;align-items:center;gap:6px}.auto-tag-toggle{min-height:32px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:var(--color-text-secondary);font-size:.72rem;font-weight:850}.auto-tag-toggle.active{border-color:#2dcf9f47;background:#2dcf9f1c;color:var(--color-accent)}.auto-tag-rule-editor{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-xl);border:1px solid rgba(45,207,159,.14);background:radial-gradient(circle at 12% 0%,rgba(45,207,159,.1),transparent 45%),#ffffff09}.auto-tag-field{display:grid;gap:7px;min-width:0}.auto-tag-field>span{color:var(--color-text);font-size:.78rem;font-weight:850}.auto-tag-field select,.auto-tag-field input{width:100%;min-height:40px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.07);background:#0000002e;color:var(--color-text);padding:0 10px;font:inherit}.auto-tag-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.auto-tag-weekdays button{min-width:0;min-height:34px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.07);background:#ffffff0b;color:var(--color-text-secondary);font-size:.74rem;font-weight:850}.auto-tag-weekdays button.active{border-color:#2dcf9f57;background:#2dcf9f24;color:var(--color-accent)}.auto-tag-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.auto-tag-preview{display:grid;gap:3px;padding:10px;border-radius:var(--radius-lg);background:#2dcf9f14}.auto-tag-preview strong{color:var(--color-text);font-size:.86rem}.auto-tag-preview span,.auto-tag-validation{color:var(--color-text-secondary);font-size:.75rem;line-height:1.3}.auto-tag-validation{margin:0;color:var(--color-warning)}.auto-tag-editor-actions{position:static;padding:0;background:transparent}.checkin-empty-context{display:grid;gap:4px;padding:var(--space-3);border-radius:var(--radius-lg);border:1px dashed rgba(255,255,255,.08);background:#ffffff06}.checkin-empty-context strong{color:var(--color-text);font-size:.88rem}.checkin-empty-context span{color:var(--color-text-secondary);font-size:.8rem}.city-picker-body{gap:var(--space-3)}.city-result-list{display:grid;gap:var(--space-2)}.city-result-row{min-height:54px;display:grid;gap:4px;padding:var(--space-3);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);background:#ffffff0a;color:var(--color-text);text-align:left}.city-result-row strong{font-size:.92rem;font-weight:900}.city-result-row span,.city-result-empty span{color:var(--color-text-muted);font-size:.78rem;font-weight:760}.city-result-empty{display:grid;gap:4px;padding:var(--space-3);color:var(--color-text)}.habit-actions-kebab{display:grid;gap:3px;place-items:center}.habit-actions-kebab span{width:4px;height:4px;display:block;border-radius:999px;background:currentColor}.habit-filter-bar{display:flex;gap:8px;margin:2px 0 12px;padding:2px 0 8px;overflow-x:auto;scrollbar-width:none}.habit-filter-bar::-webkit-scrollbar{display:none}.habit-filter-chip{flex:0 0 auto;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:#ffffff09;color:var(--muted);font-size:.78rem;font-weight:900}.habit-filter-chip.active{border-color:#24fff04d;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.16),transparent 58%),#24fff014;color:var(--accent)}.habits-empty.passive{cursor:default}.habit-reminder-soon{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border-radius:16px;border:1px dashed rgba(255,255,255,.09);background:#ffffff06;color:var(--muted)}.habit-reminder-soon strong,.habit-reminder-soon small{display:block}.habit-reminder-soon strong{color:#ebfffad1}.habit-reminder-soon small{margin-top:2px;font-size:.76rem}.habit-reminder-settings{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(49,224,191,.12);background:#ffffff09}.habit-reminder-settings-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.habit-reminder-settings-head strong,.habit-reminder-settings-head small,.habit-reminder-time-field span{display:block}.habit-reminder-settings-head strong{color:var(--color-text);font-size:.84rem}.habit-reminder-settings-head small,.habit-reminder-time-field span{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.habit-reminder-cue-grid{display:flex;flex-wrap:wrap;gap:6px}.habit-reminder-cue-grid button{min-height:30px;border-radius:var(--radius-pill);border:1px solid transparent;background:#ffffff0f;color:var(--color-text-secondary);padding:0 10px;font-size:.72rem;font-weight:850}.habit-reminder-cue-grid button.active{border-color:#31e0bf5c;background:#31e0bf1f;color:var(--color-accent)}.habit-reminder-time-field{display:grid;gap:6px}.habit-reminder-time-field input{min-height:38px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#0000002e;color:var(--color-text);padding:0 10px;font:inherit}.habit-back-button{min-width:112px;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;white-space:nowrap}.habit-back-button svg,.habit-back-button span{flex:0 0 auto}.calendar-window-header .calendar-title-button{flex:1 1 auto;min-width:0;min-height:44px;padding:0 14px;border-radius:16px;border:1px solid rgba(36,255,240,.075);background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.055),transparent 54%),#ffffff08;box-shadow:inset 0 0 0 1px #24fff00e;color:var(--text);font-size:1rem;font-weight:850}.calendar-window-header .calendar-title-button:hover{border-color:#24fff029;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.08),transparent 54%),#ffffff0a;box-shadow:inset 0 0 0 1px #24fff014,0 10px 22px #0000002e}.home-month-toolbar,.calendar-window-header{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:var(--page-gap);margin:0}.home-month-toolbar .month-arrow,.calendar-window-header .month-arrow{width:44px;min-height:44px}.home-month-toolbar .month-chip,.calendar-window-header .calendar-title-button{min-height:44px;border-radius:16px;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.055),transparent 54%),#ffffff08;box-shadow:inset 0 0 0 1px #24fff00e}.home-month-toolbar .month-chip{min-width:0;width:100%;padding-inline:14px}.home-detail-header{width:100%;grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--page-gap)}.home-detail-header .month-arrow{width:44px;min-height:44px;border-radius:15px;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.06),transparent 58%),#ffffff09;box-shadow:inset 0 0 0 1px #24fff009}.home-detail-title-button{min-width:0;width:100%;min-height:44px;display:block;justify-content:start;align-items:center;padding:0;border:0;background:transparent;color:var(--text);text-align:left}.home-detail-title-button>span{min-width:0}.home-detail-title-line{min-width:0;display:inline-flex;align-items:center;max-width:min(260px,calc(100vw - 140px));gap:7px}.home-detail-title-button h2{margin:0;max-width:100%;overflow:hidden;color:var(--text);font-size:clamp(1rem,4.6vw,1.14rem);font-weight:900;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.home-detail-title-button .detail-page-subtitle{margin-top:1px}.home-detail-calendar-icon{flex:0 0 auto;color:#fff;opacity:.94}.home-stats-nav{gap:0}.home-stats-view-switch{min-height:44px}.calendar-window-actions{display:contents}.calendar-page{height:auto;min-height:calc(100dvh - var(--app-shell-top-space) - var(--app-shell-bottom-space));padding:0;gap:var(--page-gap);overflow:visible}.calendar-sheet-body{gap:var(--page-gap);padding:0;overflow:visible}.habit-detail-top{padding:0;border:0;background:transparent;box-shadow:none;animation:none}.habit-detail-top .habit-overview-main{padding:0;background:transparent;box-shadow:none}@media(max-width:380px){.habits-page .habit-card-main{grid-template-columns:30px minmax(0,1fr) auto 34px;gap:8px}}.home-sleep-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,#113d3694,#08100f8a)}.home-sleep-main{min-width:0;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:inherit;text-align:left}.home-sleep-main span:last-child,.sleep-session-main span:last-child{min-width:0;display:grid;gap:2px}.home-sleep-main strong,.sleep-section-head h3,.sleep-insights h3{color:var(--text)}.home-sleep-main small,.sleep-session-main small{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.home-sleep-icon,.sleep-row-icon,.sleep-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;border-radius:14px;color:var(--accent);background:#2bf2d11a;box-shadow:inset 0 0 0 1px #2bf2d11f}.sleep-page{display:grid;gap:16px;padding:var(--page-gutter, 16px);padding-bottom:calc(112px + env(safe-area-inset-bottom))}.sleep-program-page{display:grid;gap:var(--page-section-gap);padding:var(--page-gutter, 16px);padding-bottom:calc(112px + env(safe-area-inset-bottom))}.sleep-page-header,.sleep-program-header{grid-template-columns:42px minmax(0,1fr) 42px}.sleep-empty-state,.sleep-latest-card,.sleep-insights,.sleep-session-list,.sleep-program-entry-card{border-radius:22px;background:linear-gradient(135deg,#113933b8,#080f0e7a)}.sleep-program-entry-card{padding:0}.sleep-program-entry-button{width:100%;min-width:0;min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:12px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left}.sleep-program-entry-button span:nth-child(2){min-width:0;display:grid;gap:3px}.sleep-program-entry-button strong{font-size:.98rem}.sleep-program-entry-button small{color:var(--color-text-muted);font-size:.78rem;line-height:1.22}.sleep-empty-state{display:grid;justify-items:center;gap:10px;padding:28px 18px;text-align:center}.sleep-empty-state p{max-width:280px;margin:0;color:var(--muted)}.sleep-latest-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.sleep-latest-card h3{margin:3px 0;font-size:26px}.sleep-latest-card p,.sleep-card-kicker{margin:0;color:var(--muted)}.sleep-card-kicker{font-size:12px;font-weight:800;text-transform:uppercase}.sleep-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sleep-stats-grid .state-mini{min-height:86px}.sleep-insights,.sleep-session-list{display:grid;gap:10px;padding:16px}.sleep-insights p,.sleep-insights-inline p{margin:0;color:var(--muted)}.sleep-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sleep-section-head h3{margin:0}.sleep-add-tonight{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:12px;border:1px dashed var(--color-border);background:none;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;margin-bottom:6px}.sleep-add-tonight:hover{border-color:var(--color-accent);color:var(--color-accent)}.sleep-session-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;padding:10px;border-radius:17px;background:#ffffff09}.sleep-session-main{min-width:0;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:inherit;text-align:left}.sleep-program-section{display:grid;gap:var(--space-3)}.sleep-program-progress-card{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);background:linear-gradient(135deg,#12463dd1,#08121199)}.sleep-program-progress-copy{min-width:0;display:grid;gap:4px}.sleep-program-kicker,.sleep-program-card-copy small,.sleep-protocol-card small,.sleep-program-achievement small,.sleep-program-detail-section p,.sleep-program-protocol-detail li,.sleep-program-template span,.sleep-program-minimum span{color:var(--color-text-muted)}.sleep-program-kicker{font-size:.72rem;font-weight:900;text-transform:uppercase}.sleep-program-progress-copy strong{font-size:1.2rem;line-height:1.1}.sleep-program-progress-copy small{color:var(--color-text-secondary);font-weight:760}.sleep-program-progress-ring{width:64px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:var(--color-accent);background:radial-gradient(circle at center,rgba(43,242,209,.12) 48%,transparent 49%),conic-gradient(from -90deg,#2bf2d1e6,#2bf2d142,#ffffff14);box-shadow:inset 0 0 0 1px #2bf2d12e}.sleep-program-progress-ring span{font-size:.82rem;font-weight:950}.sleep-program-insight-grid,.sleep-program-protocol-grid,.sleep-program-list,.sleep-program-achievement-list{display:grid;gap:var(--space-3)}.sleep-program-insight-card{display:grid;gap:6px;padding:var(--space-3);border-radius:var(--radius-lg)}.sleep-program-insight-card p,.sleep-protocol-card p,.sleep-program-caution p{margin:0;color:var(--color-text-secondary);line-height:1.35}.sleep-program-list-card{padding:0;border-radius:var(--radius-lg);background:#ffffff09}.sleep-program-card-button{width:100%;min-width:0;min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left}.sleep-program-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:var(--color-accent);background:#2bf2d11a;box-shadow:inset 0 0 0 1px #2bf2d11f}.sleep-program-icon.large{width:44px;height:44px;border-radius:16px}.sleep-program-card-copy{min-width:0;display:grid;gap:3px}.sleep-program-card-copy strong,.sleep-protocol-head strong,.sleep-program-achievement strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sleep-program-card-copy small{display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}.sleep-program-evidence{min-width:max-content;padding:5px 8px;border-radius:var(--radius-pill);color:var(--color-text-secondary);background:#ffffff0e;font-size:.68rem;font-weight:850}.sleep-protocol-card{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(135deg,#12463db3,#ffffff09)}.sleep-protocol-head,.sleep-program-achievement{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.sleep-protocol-head span:last-child,.sleep-program-achievement span:nth-child(2){min-width:0;display:grid;gap:3px}.sleep-protocol-card .ui-button{justify-self:start}.sleep-program-achievement{min-height:58px;padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffff09}.sleep-program-achievement.unlocked .sleep-program-icon{color:var(--color-success)}.sleep-program-achievement.current{box-shadow:inset 0 0 0 1px #2bf2d14d}.sleep-program-achievement em{color:var(--color-accent);font-size:.72rem;font-style:normal;font-weight:900}.sleep-program-empty.ui-empty-state,.sleep-program-caution{border-radius:var(--radius-xl);background:#ffffff09}.sleep-program-caution{display:grid;gap:var(--space-2);padding:var(--space-4)}.sleep-program-detail-sheet{max-height:calc(100dvh - 24px)}.sleep-program-detail-body{display:grid;gap:var(--space-4);min-height:0;overflow-y:auto;overflow-x:hidden}.sleep-program-detail-hero{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--space-3)}.sleep-program-detail-hero p,.sleep-program-detail-section p{margin:0}.sleep-program-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sleep-program-detail-section,.sleep-program-protocol-detail{display:grid;gap:var(--space-2)}.sleep-program-detail-section h3{margin:0;font-size:.95rem}.sleep-program-protocol-detail ol{display:grid;gap:6px;margin:0;padding-left:18px}.sleep-program-template,.sleep-program-minimum{display:grid;gap:3px;padding:var(--space-3);border-radius:var(--radius-lg);background:#2bf2d114}.sleep-sheet-form{gap:16px}.sleep-picker-inline{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.sleep-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sleep-time-button,.sleep-duration-preview{display:grid;gap:5px;min-height:56px;min-width:0;padding:12px;border:0;border-radius:16px;background:#ffffff0b;color:inherit;text-align:left}.sleep-time-button span,.sleep-duration-preview span,.sleep-duration-preview small{color:var(--muted);font-size:12px}.sleep-time-button strong,.sleep-duration-preview strong{color:var(--text);font-size:18px}.sleep-duration-preview{grid-template-columns:minmax(0,1fr) auto;align-items:center;box-shadow:inset 0 0 0 1px #2bf2d114}body{overflow-y:auto;-webkit-overflow-scrolling:touch}.app-shell{overflow-y:visible}.page-view,.page-view>.home-grid,.page-view>.calendar-page,.page-view>.analytics-page,.page-view>.habits-page,.page-view>.profile-panel,.page-view>.daylog-page,.page-view>.sleep-page,.page-view>.placeholder-panel{height:auto;max-height:none;overflow:visible}.profile-panel,.analytics-page,.habits-page,.daylog-page{max-height:none;overflow:visible}.daylog-page .history-list,.daylog-page .day-log-body{flex:initial;max-height:none;overflow:visible;padding-right:0;-webkit-mask-image:none;mask-image:none}.profile-menu-row{min-height:60px}.profile-menu-row.static{cursor:default}.profile-menu-row.static:hover{transform:none;background:#ffffff06;box-shadow:none}.profile-menu-chevron{display:grid;place-items:center;width:28px;height:28px;color:#ffffffc7}.sheet-overlay{align-items:end;padding-top:12px}.sheet-shell{width:min(100%,720px);max-height:calc(100dvh - 24px);min-height:0;margin-inline:auto}.sheet{width:100%;max-height:calc(100dvh - 24px);min-height:0;display:flex;flex-direction:column;overflow:hidden}.sheet-grabber,.sheet-header{flex:0 0 auto}.sheet>.sheet-form,.sheet>.habit-form,.sheet>.habit-sheet-body,.sheet>.analytics-period-sheet,.sheet>.sleep-sheet-form,.sheet>.achievement-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.sheet>.achievement-detail-body{padding-bottom:var(--space-4)}.tag-settings-sheet{height:auto;max-height:calc(100dvh - 24px)}.tag-settings-scroll{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.sticky-actions,.tag-settings-savebar{position:sticky;bottom:0;z-index:5;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.tag-picker,.tag-category-list{min-width:0;overflow:visible}.tag-category-card{min-width:0}.tag-chip-grid,.tag-chip-grid.selected{display:flex;flex-wrap:wrap;gap:8px;max-height:none;overflow:visible}.tag-chip{min-height:38px;max-width:100%;white-space:normal;text-align:center}.inline-tag-form{grid-template-columns:minmax(0,1fr) auto auto}.calendar-day,.calendar-day-empty,.calendar-week-meta{min-height:42px}.calendar-day{touch-action:manipulation}.calendar-day-number{min-width:24px;min-height:24px;display:grid;place-items:center}.analytics-chart-empty,.analytics-empty{min-height:118px;display:grid;place-items:center;align-content:center;gap:6px;padding:18px;border-radius:18px;background:#ffffff07;color:var(--muted);text-align:center}.analytics-chart-empty strong,.analytics-empty strong{color:var(--text)}.fab-button:disabled{pointer-events:none}@media(max-width:380px){.calendar-page{--calendar-gap: 4px;--calendar-week-col: 36px}.calendar-day,.calendar-day-empty,.calendar-week-meta{min-height:40px;border-radius:13px}.calendar-grid-corner,.calendar-weekday-button{min-height:46px}}.sleep-duration-preview small{grid-column:1 / -1}.sleep-duration-preview.invalid{box-shadow:inset 0 0 0 1px #ff6b6b2e}.sleep-scale-section,.sleep-morning-scales{display:grid;gap:10px}.sleep-morning-scale{display:grid;gap:7px}.sleep-morning-scale>span{color:var(--muted);font-size:12px;font-weight:850}.sleep-scale-choice{min-height:46px;gap:2px}.sleep-scale-choice strong{font-size:14px}.sleep-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sleep-field-head h3{margin:0;font-size:15px}.sleep-field-head span{color:var(--accent);font-size:12px;font-weight:800}.sleep-choice-grid{display:grid;gap:8px}.sleep-choice-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.sleep-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.sleep-choice,.sleep-icon-choice{min-height:50px;border:0;border-radius:15px;background:#ffffff0d;color:var(--muted);font-weight:800}.sleep-choice{display:grid;gap:2px;place-items:center;padding:8px 5px}.sleep-choice strong{color:var(--text);font-size:17px}.sleep-choice span{max-width:100%;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.sleep-choice.active,.sleep-icon-choice.active{color:var(--text);background:linear-gradient(135deg,#2bf2d15c,#2bf2d11f);box-shadow:inset 0 0 0 1px #2bf2d18c,0 10px 24px #2bf2d129}.sleep-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sleep-analytics-grid span{display:grid;gap:4px;padding:12px;border-radius:16px;background:#ffffff0a}.sleep-analytics-grid strong{color:var(--text);font-size:18px}.sleep-analytics-grid small{color:var(--muted)}.sleep-insights-inline{margin-top:12px}.sleep-regularity-card,.sleep-relation-card,.sleep-stages-analytics{display:grid;gap:10px;margin-top:12px;padding:12px;border-radius:16px;background:#ffffff0a}.sleep-regularity-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.sleep-regularity-card strong,.sleep-relation-card strong,.sleep-stages-analytics strong{color:var(--text)}.sleep-regularity-card small,.sleep-relation-card small,.sleep-relation-card p,.sleep-stages-analytics p{margin:0;color:var(--muted)}.sleep-regularity-card>div:first-child{display:grid;gap:4px;min-width:0}.sleep-regularity-metrics{display:flex;gap:8px;justify-content:flex-end}.sleep-regularity-metrics span{display:grid;gap:2px;min-width:72px;text-align:right}.sleep-relation-list{display:grid;gap:10px;margin-top:12px}.sleep-relation-head{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.sleep-relation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sleep-relation-grid span{display:grid;gap:3px;min-width:0;padding:10px;border-radius:14px;background:#00000024}.sleep-relation-grid small,.sleep-relation-grid em{overflow:hidden;color:var(--muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.sleep-stages-analytics .wearable-sleep-stage-bar{margin-top:0}@media(max-width:390px){.sleep-regularity-card{grid-template-columns:1fr}.sleep-regularity-metrics{justify-content:stretch}.sleep-regularity-metrics span{flex:1;text-align:left}}@media(max-width:430px){.wearable-source-card{align-items:stretch;flex-wrap:wrap}.wearable-source-copy{flex:1 1 calc(100% - 50px)}.wearable-source-actions{width:100%;max-width:none;justify-content:stretch}.wearable-source-actions .profile-menu-badge{width:100%;justify-content:center}.wearable-source-action{flex:1 1 46%;min-height:38px;justify-content:center;padding-inline:var(--space-2)}.wearable-metric-grid,.home-sleep-card,.sleep-latest-card{grid-template-columns:1fr}.sleep-choice-grid.five{grid-template-columns:repeat(5,minmax(42px,1fr));overflow-x:auto}}.page-view,.profile-panel,.analytics-page,.habits-page,.daylog-page,.calendar-page{height:auto;max-height:none;overflow:visible}.profile-panel{max-height:none;overflow-y:visible}.daylog-page .history-list,.daylog-page .day-log-body{max-height:none;overflow-y:visible;-webkit-mask-image:none;mask-image:none}.sheet-shell,.sheet{max-height:calc(100dvh - 24px);min-height:0}.sheet{display:flex;flex-direction:column;overflow:hidden}.sheet>.sheet-form,.sheet>.habit-form,.sheet>.habit-sheet-body,.sheet>.analytics-period-sheet,.sheet>.sleep-sheet-form{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-overlay,.sheet-shell,.sheet{max-width:100%;box-sizing:border-box;overflow-x:hidden}.sheet{max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden}.sheet *,.sheet *:before,.sheet *:after{box-sizing:border-box}.sheet>.sheet-form,.sheet>.habit-form,.sheet>.habit-sheet-body,.sheet>.analytics-period-sheet,.sheet>.sleep-sheet-form{flex:1 1 auto;min-width:0;min-height:0;max-width:100%;overflow-x:hidden;overflow-y:auto;padding-bottom:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet-form>*,.habit-form>*,.habit-sheet-body>*,.analytics-period-sheet>*,.sleep-sheet-form>*{min-width:0;max-width:100%}.sheet-actions.sticky-actions,.tag-settings-savebar{flex-shrink:0;width:100%;max-width:100%;margin:10px 0 0;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#0f141200,#0f1412 28%)}.sheet-actions.sticky-actions{position:sticky;bottom:0;z-index:5}.sheet-actions .primary-cta,.sheet-actions .secondary-button,.sheet-actions .icon-action,.habit-template-card,.habit-frequency-card,.tag-chip-grid,.tag-category-card,.inline-tag-form{max-width:100%}.tag-chip-grid,.tag-chip-grid.selected{overflow-x:hidden}.inline-tag-form{grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,auto)}.ui-button,.ui-icon-button,.ui-chip,.ui-settings-row{min-height:40px;border:1px solid transparent;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);max-width:100%;color:var(--color-text);font-weight:800;line-height:1;text-decoration:none}.ui-button{padding:0 var(--space-4)}.ui-button-sm{min-height:36px;padding:0 var(--space-3);font-size:.82rem}.ui-button-md{min-height:44px;padding:0 var(--space-4)}.ui-button-primary{border-color:#2dcf9f8c;background:linear-gradient(180deg,#35ead2,#24bea0);color:#06221d;box-shadow:0 14px 30px #2dcf9f38}.ui-button-secondary{border-color:var(--color-border-strong);background:#ffffff0e;color:var(--color-text)}.ui-button-ghost{min-height:36px;padding:0 var(--space-1);border-color:transparent;background:transparent;color:var(--color-accent)}.ui-button-danger{border-color:#ff7b7b42;background:#ff7b7b1f;color:#ffd6d6}.ui-button-icon,.ui-chip-icon{display:inline-flex;flex:0 0 auto}.ui-button-label,.ui-chip span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-icon-button{width:40px;min-width:40px;padding:0;border-color:var(--color-border-subtle);background:#ffffff0a;color:var(--color-text-secondary)}.ui-icon-button-accent{border-color:#2dcf9f61;background:var(--color-accent-soft);color:var(--color-accent)}.ui-icon-button-danger{border-color:#ff7b7b3d;background:#ff7b7b1a;color:var(--color-danger)}.ui-card,.ui-section,.ui-metric-card,.ui-empty-state{min-width:0;border-radius:var(--radius-xl);background:var(--color-surface-soft)}.ui-card{padding:var(--space-4)}.ui-card-section{background:linear-gradient(180deg,#151d1ae0,#0c1210db)}.ui-card-metric,.ui-metric-card{background:linear-gradient(180deg,#ffffff0b,#ffffff05)}.ui-card-action{border:1px solid rgba(45,207,159,.18);background:linear-gradient(135deg,#2dcf9f1f,#ffffff09)}.ui-card-row{border-radius:var(--radius-lg);background:transparent;box-shadow:inset 0 -1px 0 var(--color-border-subtle)}.ui-card-insight{background:#2dcf9f12}.ui-section{display:grid;gap:var(--space-3);padding:var(--space-4)}.ui-section-header,.ui-page-header,.ui-metric-card-head,.ui-settings-row{display:flex;align-items:center;gap:var(--space-3)}.ui-section-header,.ui-page-header{justify-content:space-between}.ui-section-header h2,.ui-page-header h1{margin:0;font-size:1.04rem;line-height:1.12}.ui-section-header p,.ui-page-header p,.ui-empty-state p,.ui-metric-card small,.ui-settings-row small{margin:3px 0 0;color:var(--color-text-muted)}.ui-section-body{display:grid;gap:var(--space-3)}.ui-page-header{min-height:var(--page-header-height)}.ui-page-header-copy{min-width:0;flex:1 1 auto}.ui-page-header-leading,.ui-page-header-action{flex:0 0 auto}.ui-metric-card{display:grid;gap:var(--space-2);padding:var(--space-4)}.ui-metric-card-head{color:var(--color-text-muted);font-size:.78rem;font-weight:800}.ui-metric-card-icon{color:var(--color-accent)}.ui-metric-card strong{color:var(--color-text);font-size:1.18rem}.ui-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;min-height:44px;padding:4px;border-radius:var(--radius-pill);background:#ffffff0b;box-shadow:inset 0 0 0 1px var(--color-border-subtle)}.ui-segmented button{min-width:0;min-height:36px;border-radius:var(--radius-pill);color:var(--color-text-muted);background:transparent;font-weight:850}.ui-segmented button.active{color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px #2dcf9f57,0 10px 24px #2dcf9f1f}.ui-chip{min-height:36px;padding:0 var(--space-3);border-color:var(--color-border-subtle);background:#ffffff0b;color:var(--color-text-secondary);font-size:.82rem}.ui-chip.active{border-color:#2dcf9f66;background:var(--color-accent-soft);color:var(--color-accent)}.ui-empty-state{display:grid;justify-items:start;gap:var(--space-2);padding:var(--space-5);color:var(--color-text-secondary)}.ui-empty-state strong{color:var(--color-text);font-size:1rem}.ui-empty-state .ui-button{margin-top:var(--space-2);width:100%}.ui-settings-row{width:100%;min-height:58px;justify-content:stretch;padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffff09;color:var(--color-text);text-align:left}.ui-settings-row.static{cursor:default;opacity:1}.ui-settings-row.static:disabled{opacity:1}.ui-settings-row.clickable{border-color:#2dcf9f24}.ui-settings-row-icon{width:36px;height:36px;border-radius:var(--radius-md);display:grid;flex:0 0 auto;place-items:center;background:var(--color-accent-soft);color:var(--color-accent)}.ui-settings-row-copy{min-width:0;flex:1 1 auto;display:grid;gap:2px}.ui-settings-row-copy strong,.ui-settings-row-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-settings-row-value,.ui-settings-row-badge{flex:0 0 auto;color:var(--color-text-muted);font-size:.78rem;font-weight:850}.ui-settings-row-badge{padding:5px 8px;border-radius:var(--radius-pill);background:#ffffff0f}.ui-button:active,.ui-icon-button:active,.ui-chip:active,.ui-settings-row.clickable:active{transform:scale(.98)}.sheet{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.sheet-header{padding-inline:var(--space-4)}.sheet>.sheet-form,.sheet>.habit-form,.sheet>.habit-sheet-body,.sheet>.analytics-period-sheet,.sheet>.sleep-sheet-form{padding-inline:var(--space-4)}.sheet-actions.sticky-actions,.tag-settings-savebar{padding-inline:0}.auth-inline-error{margin:-2px 0 0;color:var(--color-danger);font-size:.82rem;font-weight:850}.public-legal-shell{min-height:100dvh;padding:clamp(18px,4vw,38px);background:radial-gradient(circle at 50% -12%,rgba(45,207,159,.16),transparent 38%),radial-gradient(circle at 100% 16%,rgba(84,216,255,.08),transparent 30%),var(--bg);color:var(--text)}.public-legal-header{width:min(920px,100%);margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.public-legal-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:950;text-decoration:none}.public-legal-brand img{width:38px;height:38px;border-radius:12px;box-shadow:0 0 22px #23f4e83d}.public-legal-header nav,.public-legal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px}.public-legal-header-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px}.public-legal-header a,.public-legal-footer a{color:var(--accent);font-size:.84rem;font-weight:850;text-decoration:none}.public-legal-header a:hover,.public-legal-footer a:hover{text-decoration:underline}.public-legal-lang-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(45,207,159,.16);border-radius:var(--radius-pill);background:#ffffff0d}.public-legal-lang-switch button{min-width:40px;min-height:30px;padding:0 10px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font:inherit;font-size:.78rem;font-weight:950}.public-legal-lang-switch button.active{background:#2dcf9f29;color:var(--accent);box-shadow:inset 0 0 0 1px #2dcf9f2e}.public-legal-card,.public-home-hero{width:min(920px,100%);margin:0 auto;padding:clamp(18px,4vw,34px);border:1px solid rgba(45,207,159,.18);border-radius:var(--radius-2xl);background:radial-gradient(circle at 20% 0%,rgba(45,207,159,.12),transparent 42%),#ffffff09;box-shadow:var(--shadow-soft)}.public-legal-eyebrow{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.public-legal-card h1,.public-home-hero h1{margin:0;color:var(--text);font-size:clamp(2rem,6vw,3.2rem);line-height:1.03}.public-legal-subtitle,.public-home-hero>p:not(.public-legal-eyebrow){max-width:720px;margin:12px 0 0;color:var(--muted);font-size:clamp(.98rem,2.8vw,1.1rem);line-height:1.55}.public-legal-updated{margin:14px 0 0;color:var(--color-text-secondary);font-size:.86rem;font-weight:850}.public-legal-content{display:grid;gap:20px;margin-top:28px}.public-legal-content section{display:grid;gap:8px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}.public-legal-content h2{margin:0;color:var(--text);font-size:1.08rem;line-height:1.2}.public-legal-content p,.public-legal-content li{color:var(--color-text-secondary);font-size:.94rem;line-height:1.6}.public-legal-content p,.public-legal-content ul{margin:0}.public-legal-content ul{display:grid;gap:7px;padding-left:20px}.public-legal-footer{width:min(920px,100%);margin:20px auto 0;padding-bottom:10px}.public-home-shell{display:grid;align-content:start}.public-home-hero{min-height:min(620px,calc(100dvh - 150px));display:grid;align-content:center}.public-home-logo{width:88px;height:88px;margin-bottom:18px;border-radius:24px;filter:drop-shadow(0 0 28px rgba(35,244,232,.3))}.public-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.public-home-actions .primary-cta,.public-home-actions .secondary-button{width:auto;min-width:180px;padding-inline:18px}.profile-legal-link{color:inherit;text-decoration:none}@media(max-width:560px){.public-legal-header{align-items:flex-start;flex-direction:column}.public-legal-header nav,.public-legal-footer{justify-content:flex-start}.public-legal-header-actions{width:100%;align-items:flex-start;justify-content:flex-start}.public-home-actions{display:grid}.public-home-actions .primary-cta,.public-home-actions .secondary-button{width:100%}}.profile-menu-row.static{grid-template-columns:34px minmax(0,1fr) auto;cursor:default}.profile-menu-badge{justify-self:end;min-width:0;padding:6px 9px;border-radius:var(--radius-pill);background:#ffffff0d;color:var(--color-text-muted);font-size:.7rem;font-weight:900;white-space:nowrap}.profile-menu-badge.active{background:#2dcf9f1f;color:var(--color-accent)}.habit-template-helper{margin:-2px 0 0;color:var(--color-text-muted);font-size:.82rem;font-weight:760}.habit-template-card.custom-template-card{border-color:#2dcf9f6b;background:radial-gradient(circle at 0% 0%,rgba(45,207,159,.16),transparent 42%),#2dcf9f0e}.habit-template-card.custom-template-card .habit-template-icon{border-color:#2dcf9f57;background:#2dcf9f24;color:var(--color-accent)}.sleep-delete-confirm{display:grid;gap:var(--space-3);margin-top:var(--space-1)}.sleep-delete-confirm p{margin:0;color:var(--color-text-secondary);font-size:.84rem;line-height:1.35}.delete-confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.sheet>.sheet-form,.sheet>.habit-form,.sheet>.habit-sheet-body,.sheet>.analytics-period-sheet,.sheet>.sleep-sheet-form{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.calendar-day,.calendar-day-empty{min-height:44px;touch-action:manipulation}.analytics-period-detail-switch .analytics-period-button,.analytics-breakdown-switch .analytics-view-button{min-height:40px;color:color-mix(in srgb,var(--color-text) 68%,var(--color-text-muted))}.analytics-period-detail-switch .analytics-period-button.active,.analytics-breakdown-switch .analytics-view-button.active{color:var(--color-accent);font-weight:950}@media(max-width:380px){.calendar-day,.calendar-day-empty{min-height:40px}.profile-menu-badge{padding-inline:7px;font-size:.66rem}}@media(prefers-reduced-motion:reduce){.ui-button,.ui-icon-button,.ui-chip,.ui-settings-row,.ui-segmented button{transition-duration:1ms}.ui-button:active,.ui-icon-button:active,.ui-chip:active,.ui-settings-row.clickable:active{transform:none}}.home-detail-title-line h2{margin:0;font-size:clamp(1.02rem,4.3vw,1.18rem);line-height:1.08}.calendar-page{width:100%;max-width:var(--app-content-max, 430px);margin:0 auto;padding:0 0 calc(104px + env(safe-area-inset-bottom,0px));gap:var(--page-gap);background:transparent}.calendar-window-header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:var(--space-2);width:100%;margin:0 0 var(--page-gap)}.calendar-window-header .calendar-window-actions{display:contents}.calendar-window-header .month-arrow{width:42px;height:42px;min-height:42px;border-radius:var(--radius-lg);background:#ffffff0b;border-color:#2dcf9f1c;color:var(--color-text-secondary);box-shadow:none}.calendar-window-header .month-arrow:disabled{opacity:.28;color:var(--color-text-muted)}.calendar-window-header .calendar-title-button{width:100%;min-width:0;height:42px;min-height:42px;padding:0 var(--space-2);border-radius:var(--radius-lg);background:transparent;border:0;color:var(--color-text);box-shadow:none}.calendar-window-header .calendar-title-button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:950}.calendar-window-header .calendar-title-line{display:inline-flex;align-items:center;justify-content:center;gap:6px}.calendar-window-header .calendar-title-line>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-window-header .calendar-title-icon{flex:0 0 auto;color:var(--color-text)}.calendar-window-header .calendar-title-button .month-chip-caret{color:var(--color-text-muted)}.calendar-sheet-body{display:grid;gap:var(--space-3);width:100%;min-width:0}.calendar-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:42px;padding:4px;border-radius:var(--radius-xl);background:#ffffff0b;border:1px solid rgba(255,255,255,.055);box-shadow:none}.calendar-mode-switch:before{border-radius:var(--radius-lg);opacity:.9}.calendar-mode-button{min-width:0;min-height:34px;padding:0 var(--space-2);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:.78rem;font-weight:900;line-height:1}.calendar-mode-button.active{color:var(--color-accent);text-shadow:none}.calendar-grid-shell{width:100%;min-width:0;overflow:visible}.calendar-grid-header,.calendar-week-row,.calendar-week-days{min-width:0}.calendar-page{--calendar-gap: clamp(5px, 1.4vw, 7px);--calendar-week-col: clamp(39px, 11vw, 47px)}.calendar-grid-corner,.calendar-weekday-button,.calendar-week-meta,.calendar-day,.calendar-day-empty{border-radius:var(--radius-lg)}.calendar-grid-corner,.calendar-weekday-button,.calendar-week-meta,.calendar-day{min-height:42px;border:1px solid rgba(255,255,255,.035);background:#ffffff09;box-shadow:none}.calendar-grid-corner,.calendar-weekday-button{min-height:46px;padding:6px 4px}.calendar-week-meta{min-height:42px;padding:5px 3px}.calendar-day{min-height:42px;padding:6px 4px}.calendar-day.today{border-color:#2dcf9f3d;background:#2dcf9f0f}.calendar-grid-corner.active,.calendar-weekday-button.active,.calendar-week-meta.active,.calendar-day.selected{border-color:#2defd5b8;background:radial-gradient(circle at 50% 0%,rgba(45,239,213,.22),transparent 58%),#2dcf9f17;box-shadow:0 0 20px #2defd52b,inset 0 0 0 1px #2defd538}.calendar-day-number{font-size:.94rem;line-height:1}.calendar-weekday-name,.calendar-week-number{font-size:.68rem;line-height:1}.calendar-weekday-score,.calendar-week-score{font-size:.8rem;line-height:1}.calendar-day-mood-strip,.calendar-day-energy-strip{height:4px;border-radius:var(--radius-pill);opacity:.9}.calendar-selection-action{margin-top:var(--space-2)}.calendar-open-selection-button{min-height:48px;border-radius:var(--radius-lg);border-color:#2dcf9f47;background:#2dcf9f13;color:var(--color-accent);box-shadow:none}.calendar-open-selection-button:disabled{opacity:.42}@media(max-width:380px){.calendar-page{--calendar-gap: 4px;--calendar-week-col: 38px}.calendar-window-header{grid-template-columns:42px minmax(0,1fr) 42px;gap:6px}.calendar-grid-corner,.calendar-weekday-button,.calendar-week-meta,.calendar-day{min-height:40px}.calendar-grid-corner,.calendar-weekday-button{min-height:44px}.calendar-day-number{font-size:.88rem}}.analytics-detail-header{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:var(--page-header-height) minmax(0,1fr) 96px;align-items:center;gap:var(--space-3);min-height:48px;padding:0}.analytics-detail-header>div{min-width:0}.analytics-detail-header .ui-page-header-action{width:96px;min-width:96px;justify-self:end}.analytics-detail-header h2{margin:0;color:var(--color-text);font-size:clamp(1.05rem,4.4vw,1.22rem);line-height:1.08}.analytics-detail-header p{margin:3px 0 0;color:var(--color-text-muted);font-size:.78rem;font-weight:760;line-height:1.2}.page-view>.calendar-page,.calendar-page{max-width:none;margin:0;padding:0 0 calc(104px + env(safe-area-inset-bottom,0px));border:0;border-radius:0;background:transparent;box-shadow:none}.calendar-window-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--page-gap);margin:0 0 var(--page-gap)}.calendar-window-header .month-arrow{width:44px;height:44px;min-height:44px;border-radius:15px;background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.06),transparent 58%),#ffffff09;border-color:#24fff013;box-shadow:inset 0 0 0 1px #24fff009}.calendar-window-header .calendar-title-button{height:44px;min-height:44px;padding:0;text-align:left}.calendar-window-header .calendar-title-button>span:first-child{font-size:clamp(1rem,4.6vw,1.14rem);font-weight:900}.calendar-window-header .calendar-title-line{justify-content:flex-start;max-width:min(260px,calc(100vw - 140px));gap:7px}.page-screen,.page-section{display:grid;gap:var(--page-section-gap);width:100%;min-width:0}.ui-page-header{position:sticky;top:0;z-index:40;isolation:isolate;width:100%;min-height:var(--page-header-height);display:grid;grid-template-columns:var(--page-header-height) minmax(0,1fr) var(--page-header-height);align-items:center;gap:var(--page-section-gap);padding:0;border-radius:0;background:transparent;box-shadow:none}.ui-page-header:before{content:"";position:absolute;top:calc(-1 * (var(--app-shell-top-space, var(--page-padding-top)) + env(safe-area-inset-top,0px)));bottom:-10px;left:50%;width:100vw;z-index:-1;pointer-events:none;transform:translate(-50%);background:radial-gradient(circle at 50% 0%,rgba(36,255,240,.08),transparent 44%),linear-gradient(180deg,#06100ffa,#06100ff0 68%,#06100f00);box-shadow:0 14px 30px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ui-page-header.variant-compact{min-height:var(--page-header-height)}.ui-page-header-leading,.ui-page-header-action{width:var(--page-header-height);min-width:var(--page-header-height);min-height:var(--page-header-height);display:grid;place-items:center}.ui-page-header-leading:empty,.ui-page-header-action:empty{visibility:hidden}.ui-page-header-copy{min-width:0;display:grid;align-content:center;gap:2px}.ui-page-header.align-center .ui-page-header-copy{justify-items:center;text-align:center}.ui-page-header.align-left .ui-page-header-copy{justify-items:start;text-align:left}.ui-page-header h1{width:100%;min-width:0;max-width:100%;margin:0;color:var(--color-text);font-size:clamp(1.03rem,4.45vw,1.18rem);font-weight:950;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-page-header h1>button{font:inherit}.ui-page-header p{max-width:100%;margin:2px 0 0;color:var(--color-text-muted);font-size:.78rem;font-weight:760;line-height:1.18;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-page-header .month-arrow,.ui-page-header .detail-back-button,.ui-page-header .detail-edit-button{width:var(--page-header-height);height:var(--page-header-height);min-height:var(--page-header-height)}.calendar-window-header,.analytics-detail-header,.habits-page-head,.daylog-page-header,.sleep-page-header,.profile-page-header{margin:0 0 var(--page-section-gap)}.calendar-window-header .calendar-title-button,.home-detail-title-button{justify-content:center;height:var(--page-header-height);min-height:var(--page-header-height);background:transparent;box-shadow:none}.calendar-window-header .calendar-title-line,.home-detail-title-line{max-width:min(260px,calc(100vw - 140px));justify-content:center}.home-detail-title-line>span,.calendar-window-header .calendar-title-line>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.page-view>.analytics-page,.page-view>.habits-page,.page-view>.profile-panel,.page-view>.daylog-page,.page-view>.sleep-page,.page-view>.sleep-program-page,.analytics-page,.habits-page,.profile-panel,.daylog-page,.sleep-page,.sleep-program-page{max-width:none;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}.analytics-page,.habits-page,.profile-panel,.daylog-page,.sleep-page,.sleep-program-page{padding-top:0;gap:var(--page-section-gap)}.calendar-window-header .ui-page-header-copy{min-width:0;width:100%}.calendar-window-header .calendar-title-button{width:100%;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--color-text)}.calendar-window-header .calendar-title-button:hover{transform:none;background:transparent;box-shadow:none}.calendar-window-header .calendar-title-line{width:100%;max-width:none;justify-content:center;gap:7px}.calendar-window-header .calendar-title-line>span{flex:0 1 auto;max-width:100%}.page-view>.home-grid,.page-view>.calendar-page,.page-view>.analytics-page,.page-view>.habits-page,.page-view>.profile-panel,.page-view>.daylog-page,.page-view>.sleep-page,.page-view>.sleep-program-page{margin-top:0;padding-top:0}.page-view>.calendar-page{margin-top:calc(-1 * var(--page-section-gap))}.home-grid.page-screen,.calendar-page.page-screen,.analytics-page.page-screen,.habits-page.page-screen,.profile-panel.page-screen,.daylog-page.page-screen,.sleep-page.page-screen,.sleep-program-page.page-screen{gap:var(--page-section-gap)}.calendar-content,.habits-sections,.profile-section,.sleep-session-list,.analytics-card,.stats-detail-panel,.sleep-insights,.sleep-latest-card{gap:var(--space-3)}.analytics-card,.stats-detail-panel,.sleep-latest-card,.sleep-insights,.profile-menu-card,.profile-stat-card,.habit-card,.sleep-session-row{border-radius:var(--radius-lg)}.analytics-card,.stats-detail-panel,.sleep-latest-card,.sleep-insights,.profile-menu-card,.profile-stat-card{padding:var(--space-4)}.calendar-open-selection-button.ui-button{width:100%;min-height:48px;border-radius:var(--radius-lg)}.habit-filter-chip.ui-chip{flex:0 0 auto;min-height:36px;padding-inline:var(--space-3)}.habits-page .habit-card-main,.sleep-session-main,.profile-menu-row{min-height:56px;gap:var(--space-3)}.profile-menu-row.ui-settings-row{width:100%;border:0;background:transparent}.profile-menu-row.ui-settings-row.clickable{cursor:pointer}.profile-menu-row.ui-settings-row.static{cursor:default}.profile-menu-row.ui-settings-row .ui-settings-row-icon{width:36px;height:36px}.profile-menu-row.ui-settings-row .ui-settings-row-value{display:inline-flex;align-items:center;justify-content:flex-end;min-width:max-content}.sleep-session-row.ui-card-row{padding:var(--space-2) 0;border-radius:0}.sleep-empty-state.ui-empty-state{border-radius:var(--radius-xl);background:#ffffff09}.calendar-page.page-screen{--calendar-gap: clamp(4px, 1.25vw, 6px);--calendar-week-col: clamp(38px, 10.5vw, 44px);width:100%;max-width:none;margin:0;padding:0 0 calc(104px + env(safe-area-inset-bottom,0px));display:grid;align-content:start;gap:var(--page-section-gap);border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.calendar-page .calendar-window-header{margin:0}.calendar-page .month-arrow{width:var(--page-header-height);height:var(--page-header-height);min-height:var(--page-header-height);border-radius:var(--radius-lg);border:1px solid rgba(45,207,159,.11);background:#ffffff0a;color:var(--color-text-secondary);box-shadow:none}.calendar-page .month-arrow:disabled{opacity:.28;color:var(--color-text-muted)}.calendar-page .calendar-title-button{width:100%;max-width:none;min-width:0;height:var(--page-header-height);min-height:var(--page-header-height);padding:0;justify-content:center;border:0;border-radius:0;background:transparent;color:var(--color-text);box-shadow:none}.calendar-page .calendar-title-button:hover{transform:none;background:transparent;box-shadow:none}.calendar-page .calendar-title-line{width:100%;max-width:none;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px}.calendar-page .calendar-title-line>span{flex:0 0 auto;min-width:max-content;overflow:visible;text-overflow:clip;white-space:nowrap}.calendar-page .calendar-title-icon{flex:0 0 auto;color:var(--color-text)}.calendar-content{width:100%;min-width:0;display:grid;gap:var(--page-section-gap);overflow:visible}.calendar-month-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.calendar-month-summary span{min-width:0;display:grid;gap:3px;padding:10px 11px;border-radius:var(--radius-lg);border:1px solid rgba(45,207,159,.08);background:#ffffff09}.calendar-month-summary small{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:.68rem;font-weight:850;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.calendar-month-summary strong{color:var(--color-text);font-size:1.05rem;font-weight:950;line-height:1}.calendar-mode-control.ui-segmented{width:100%;height:auto;min-height:42px;padding:var(--space-1);border-radius:var(--radius-xl);background:#ffffff0b;box-shadow:inset 0 0 0 1px var(--color-border-subtle)}.calendar-mode-control.ui-segmented:before{display:none}.calendar-mode-control.ui-segmented button{height:34px;min-height:34px;padding:0 5px;border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:clamp(.62rem,2.2vw,.76rem);font-weight:900;line-height:1;white-space:nowrap}.calendar-mode-control.ui-segmented button.active{color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px #2dcf9f57,0 10px 24px #2dcf9f1f}.calendar-life-link-button.ui-button{width:100%;min-height:46px;justify-content:center}.calendar-month-grid{width:100%;min-width:0;display:grid;gap:var(--space-2);overflow:visible;animation:calendar-shift-in var(--motion-normal) var(--ease-out) both}.calendar-month-grid .calendar-week-row,.calendar-month-grid .calendar-week-days,.calendar-month-grid .calendar-grid{min-width:0;gap:var(--calendar-gap)}.calendar-weekday-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--calendar-gap)}.calendar-weekday-labels span{min-width:0;color:var(--color-text-muted);font-size:.68rem;font-weight:900;line-height:1;text-align:center;text-transform:uppercase}.calendar-month-grid .calendar-grid{display:grid}.calendar-month-grid .calendar-week-row{display:grid;grid-template-columns:minmax(0,1fr)}.calendar-month-grid .calendar-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-grid .calendar-grid-corner,.calendar-month-grid .calendar-weekday-button,.calendar-month-grid .calendar-week-meta,.calendar-month-grid .calendar-day,.calendar-month-grid .calendar-day-empty{min-width:0;border-radius:var(--radius-lg)}.calendar-month-grid .calendar-grid-corner,.calendar-month-grid .calendar-weekday-button,.calendar-month-grid .calendar-week-meta,.calendar-month-grid .calendar-day{display:grid;place-items:center;gap:2px;border:1px solid transparent;background:#ffffff08;box-shadow:none}.calendar-month-grid .calendar-grid-corner,.calendar-month-grid .calendar-weekday-button{min-height:44px;padding:5px 3px;background:var(--weekday-fill, rgba(255, 255, 255, .032))}.calendar-month-grid .calendar-grid-corner{background:var(--week-fill, rgba(255, 255, 255, .032))}.calendar-month-grid .calendar-week-meta,.calendar-month-grid .calendar-day,.calendar-month-grid .calendar-day-empty{min-height:46px}.calendar-month-grid .calendar-week-meta{padding:5px 3px;background:var(--week-fill, rgba(255, 255, 255, .032))}.calendar-month-grid .calendar-day{position:relative;align-content:center;padding:6px 3px;background:var(--day-fill, rgba(255, 255, 255, .032));color:var(--color-text);touch-action:manipulation}.calendar-month-grid .calendar-day.disabled{opacity:.36;cursor:not-allowed}.calendar-month-grid .calendar-day.outside-month{opacity:.26}.calendar-month-grid .calendar-day.outside-month .calendar-day-ring{background:#ffffff09;box-shadow:none}.calendar-month-grid .calendar-day.outside-month .calendar-day-core{background:transparent;box-shadow:none}.calendar-month-grid .calendar-day.outside-month .calendar-day-number{color:#eff5f275}.calendar-month-grid .calendar-day.today{border-color:#2dcf9f38;background:radial-gradient(circle at 50% 30%,rgba(45,207,159,.1),transparent 58%),var(--day-fill, rgba(255, 255, 255, .032));box-shadow:none}.calendar-month-grid .calendar-grid-corner.active,.calendar-month-grid .calendar-weekday-button.active,.calendar-month-grid .calendar-week-meta.active,.calendar-month-grid .calendar-day.selected{border-color:#2defd5ad;background:radial-gradient(circle at 50% 0%,rgba(45,239,213,.2),transparent 58%),#2dcf9f17;box-shadow:inset 0 0 0 1px #2defd52e,0 0 18px #2defd51f}.calendar-month-grid .calendar-weekday-name,.calendar-month-grid .calendar-week-number{color:var(--color-text-muted);font-size:.67rem;font-weight:850;line-height:1;text-transform:uppercase}.calendar-month-grid .calendar-weekday-score,.calendar-month-grid .calendar-week-score{color:var(--color-text);font-size:.78rem;font-weight:900;line-height:1}.calendar-month-grid .calendar-weekday-score.empty,.calendar-month-grid .calendar-week-score.empty{color:var(--color-text-muted)}.calendar-month-grid .calendar-day-number{min-width:24px;min-height:18px;display:grid;place-items:center;font-size:.9rem;font-weight:900;line-height:1}.calendar-month-grid .calendar-day-value{max-width:100%;min-height:13px;overflow:hidden;color:var(--day-accent, var(--color-text-muted));font-size:clamp(.58rem,2.05vw,.68rem);font-weight:950;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.calendar-month-grid .calendar-day.empty .calendar-day-value{color:#eff5f247}.calendar-month-grid .calendar-day-mood-strip,.calendar-month-grid .calendar-day-energy-strip{display:none}.calendar-month-grid .calendar-day-mood-fill,.calendar-month-grid .calendar-day-energy-fill{display:block;height:100%;border-radius:inherit;background:var(--day-accent, var(--color-accent))}.calendar-month-grid .calendar-day-note-dot{display:none}.calendar-month-grid .calendar-day.mode-energy .calendar-day-note-dot,.calendar-month-grid .calendar-day.mode-mood .calendar-day-note-dot{bottom:12px}.calendar-month-grid .calendar-day{isolation:isolate;padding:0;background:transparent;border-color:transparent;box-shadow:none}.calendar-day-ring,.calendar-day-core{grid-column:1;grid-row:1}.calendar-day-ring{width:clamp(32px,10.2vw,42px);aspect-ratio:1;border-radius:50%;background:var(--day-ring, rgba(255, 255, 255, .075));box-shadow:0 0 12px var(--day-ring-glow, transparent);-webkit-mask:radial-gradient(circle,transparent 57%,#000 59%);mask:radial-gradient(circle,transparent 57%,#000 59%)}.calendar-day-core{z-index:1;width:clamp(24px,7.3vw,31px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.05),transparent 46%),#071310;box-shadow:inset 0 0 0 1px #ffffff09}.calendar-month-grid .calendar-day.empty .calendar-day-ring{background:#ffffff0b;box-shadow:none}.calendar-month-grid .calendar-day.empty .calendar-day-core{background:#ffffff06}.calendar-month-grid .calendar-day.today .calendar-day-core{box-shadow:inset 0 0 0 1px #2dcf9f47,0 0 14px #2dcf9f1f}.calendar-month-grid .calendar-day.selected{border-color:transparent;background:transparent;box-shadow:none}.calendar-month-grid .calendar-day.selected .calendar-day-ring{filter:saturate(1.08);box-shadow:0 0 0 1px #2defd55c,0 0 18px #2defd52e,0 0 12px var(--day-ring-glow, transparent)}.calendar-month-grid .calendar-day.selected .calendar-day-core{background:radial-gradient(circle at 50% 0%,rgba(45,239,213,.16),transparent 54%),#071310;box-shadow:inset 0 0 0 1px #2defd580,0 0 16px #2defd524}.calendar-month-grid .calendar-day.dense{border-width:0}.calendar-month-grid .calendar-day-value{display:none}.calendar-layer-legend{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px;border:1px solid rgba(45,207,159,.1);border-radius:var(--radius-lg);background:#ffffff07}.calendar-level-legend-item{min-width:0;display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;column-gap:4px;row-gap:1px}.calendar-level-legend-item i,.calendar-sleep-legend-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 10px currentColor}.calendar-level-legend-item strong{color:var(--color-text);font-size:.72rem;font-weight:950;line-height:1}.calendar-level-legend-item small{grid-column:1 / -1;overflow:hidden;color:var(--color-text-muted);font-size:clamp(.5rem,1.7vw,.58rem);font-weight:780;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.calendar-layer-legend:has(.calendar-sleep-legend-dot){grid-template-columns:13px repeat(2,minmax(0,1fr));align-items:center}.calendar-sleep-legend-dot{color:var(--color-sleep);background:linear-gradient(135deg,#2fda8d,#54bee8)}.calendar-layer-legend>span:not(.calendar-level-legend-item):not(.calendar-sleep-legend-dot){min-width:0;display:grid;gap:2px}.calendar-layer-legend>span:not(.calendar-level-legend-item):not(.calendar-sleep-legend-dot) strong{overflow:hidden;color:var(--color-text);font-size:.84rem;font-weight:950;line-height:1;text-overflow:ellipsis;white-space:nowrap}.calendar-layer-legend>span:not(.calendar-level-legend-item):not(.calendar-sleep-legend-dot) small{overflow:hidden;color:var(--color-text-muted);font-size:.66rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.calendar-day-summary-card{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);border:1px solid rgba(45,207,159,.18);background:radial-gradient(circle at 88% 0%,rgba(45,207,159,.12),transparent 48%),#081c18b8;box-shadow:0 18px 42px #00000038}.calendar-day-summary-card.empty{border-color:#ffffff17;background:#ffffff09;box-shadow:none}.calendar-day-summary-head{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:var(--space-3)}.calendar-day-summary-head small{color:var(--color-text-muted);font-size:.72rem;font-weight:850}.calendar-day-summary-head h2{margin:2px 0 0;color:var(--color-text);font-size:1.16rem;line-height:1.05}.calendar-day-summary-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-lg);background:#2dcf9f1f;color:var(--color-accent)}.calendar-day-summary-lines{display:grid;gap:7px}.calendar-day-summary-lines p{margin:0;color:var(--color-text-secondary);font-size:.86rem;font-weight:800;line-height:1.25}.calendar-open-selection-button.ui-button{width:100%;min-height:46px;border-radius:var(--radius-lg);border-color:#2dcf9f47;background:#2dcf9f13;color:var(--color-accent);box-shadow:none}.calendar-open-selection-button.ui-button .ui-button-icon{order:2}.calendar-open-selection-button.ui-button:disabled{opacity:.42}@media(max-width:380px){.calendar-page.page-screen{--calendar-gap: 4px;--calendar-week-col: 38px}.calendar-month-grid .calendar-grid-corner,.calendar-month-grid .calendar-weekday-button{min-height:42px}.calendar-month-grid .calendar-week-meta,.calendar-month-grid .calendar-day,.calendar-month-grid .calendar-day-empty{min-height:39px;border-radius:13px}.calendar-month-grid .calendar-day-number{font-size:.86rem}}.habits-page .habit-card-row-main{grid-template-columns:minmax(0,1fr) max-content;align-items:center;column-gap:8px;padding-inline:0}.habits-page .habit-card-row-main>.habit-card-text{grid-column:1;grid-row:1;min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:8px;overflow:hidden}.habits-page .habit-card-text .habit-row-icon{width:32px;height:32px;justify-self:start}.habits-page .habit-card-copy{min-width:0;display:grid;gap:2px}.habits-page .habit-card-copy .habit-title-text,.habits-page .habit-card-copy .habit-compact-meta{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habits-page .habit-child-list{display:grid;gap:6px;margin:-2px 0 8px 40px;padding-left:10px;border-left:1px solid rgba(48,226,198,.16)}.habits-page .habit-child-list.nested{margin:0 0 0 clamp(12px,calc(8px + var(--habit-child-level, 1) * 4px),24px);padding-left:9px;border-left-color:#30e2c61c}.habits-page .habit-child-toggle{justify-self:start;min-height:28px;display:inline-flex;align-items:center;gap:7px;margin:-2px 0 6px 40px;padding:0 10px;border:1px solid rgba(48,226,198,.2);border-radius:999px;background:#30e2c612;color:var(--accent);font-size:.74rem;font-weight:850}.habits-page .habit-child-toggle small{min-width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;background:#ffffff14;color:var(--muted);font-size:.66rem;font-weight:900}.habits-page .habit-child-branch>.habit-child-toggle{margin:0 0 2px 33px}.habits-page .habit-child-branch{min-width:0;display:grid;gap:4px}.ui-page-header.align-center .ui-page-header-copy,.ui-page-header:not(.align-left) .ui-page-header-copy{justify-items:center;text-align:center}.analytics-detail-header{grid-template-columns:var(--page-header-height) minmax(0,1fr) var(--page-header-height)}.analytics-detail-header .ui-page-header-action{width:var(--page-header-height);min-width:var(--page-header-height)}.analytics-detail-header .analytics-overview-icon-switch{justify-self:end;width:max-content}.date-title-stepper{min-width:0;width:min(100%,320px);max-width:min(100%,calc(100vw - 32px));display:inline-grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;justify-content:center;gap:6px;vertical-align:middle}.date-title-stepper .month-arrow.compact{width:36px;height:36px;min-height:36px;border-radius:13px}.date-title-stepper .home-detail-title-button,.date-title-stepper .calendar-title-button{width:auto;max-width:100%;min-width:0;height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 2px;border:0;background:transparent;box-shadow:none;text-align:center}.date-title-stepper .home-detail-title-line,.date-title-stepper .calendar-title-line{width:auto;max-width:100%;min-width:0;justify-content:center;gap:6px}.date-title-stepper .home-detail-title-line>span,.date-title-stepper .calendar-title-line>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-page .date-title-stepper .calendar-title-line>span{flex:0 0 auto;min-width:max-content;overflow:visible;text-overflow:clip}.calendar-page .ui-page-header h1{overflow:visible}.habits-page .habit-child-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0}.habits-page .habit-child-main{min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--text);text-align:left}.habits-page .habit-child-main .habit-row-icon{width:24px;height:24px;border-radius:9px}.habits-page .habit-child-main span:last-child{min-width:0;display:grid;gap:1px}.habits-page .habit-child-main strong,.habits-page .habit-child-main small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habits-page .habit-child-main strong{font-size:.82rem;font-weight:860}.habits-page .habit-child-main small{color:var(--muted);font-size:.7rem;font-weight:720}.habits-page .habit-child-row .habit-status-dot{width:30px;min-width:30px;height:30px}.habits-page .habit-child-action{min-height:30px;padding:0 10px;border:1px solid rgba(48,226,198,.24);border-radius:999px;background:#30e2c614;color:var(--accent);font-size:.75rem;font-weight:850}.habits-page .habit-child-row .habit-time-button{min-width:62px;min-height:30px;height:30px;padding:0 8px;font-size:.72rem}.habits-page .habit-child-counter{min-height:30px;height:30px;min-width:92px;padding:2px}.habits-page .habit-child-counter button{width:26px;min-width:26px;height:26px}.habits-page .habit-child-counter strong{min-width:30px;font-size:.72rem}.habits-page .habit-card-row-main .habit-toggle-button,.habits-page .habit-card-row-main .habit-status-indicator,.habits-page .habit-card-row-main .habit-craving-button,.habits-page .habit-card-row-main .habit-time-button,.habits-page .habit-card-row-main .habit-card-counter{grid-column:2;grid-row:1;justify-self:end}.habits-page .habit-card-row-main .habit-toggle-button,.habits-page .habit-card-row-main .habit-status-indicator{width:40px;min-width:40px;height:40px}.habits-page .habit-card-row-main .habit-card-actions-button{grid-column:3;grid-row:1;justify-self:end;width:36px;min-width:36px;height:40px;min-height:40px;padding:0}.habits-page .habit-card-row-main .habit-card-actions-button{display:none}.habit-swipe-row{position:relative;overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-y}.habit-swipe-row>.habit-card{position:relative;z-index:1;transform:translate(calc(var(--habit-swipe-offset, 0px) * -1));transition:transform var(--motion-normal) var(--ease-soft),background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out);will-change:transform}.habits-page .habit-swipe-row>.habit-card{border-radius:var(--radius-lg);background:linear-gradient(180deg,#04110efa,#030b09fa);box-shadow:0 1px #ffffff05}.habit-swipe-row.pressing>.habit-card{background:#2dcf9f14;border-color:#2dcf9f33}.habit-swipe-actions{position:absolute;inset:0 0 0 auto;z-index:0;display:flex;align-items:center;justify-content:flex-end;gap:6px;width:156px;padding:6px 0 6px 8px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--motion-fast) var(--ease-out),visibility var(--motion-fast) var(--ease-out)}.habit-swipe-row.quit .habit-swipe-actions{width:226px}.habit-swipe-row.swiped .habit-swipe-actions,.habit-swipe-row.dragging .habit-swipe-actions{opacity:1;visibility:visible}.habit-swipe-row.swiped .habit-swipe-actions{pointer-events:auto}.habit-swipe-actions button{min-width:72px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:var(--radius-md);border:1px solid rgba(45,207,159,.2);background:#0c2a23eb;color:var(--color-text);font-size:.78rem;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff05}.habit-swipe-actions button:disabled{opacity:.52}@media(max-width:720px),(pointer:coarse){.habits-page .habit-card-row-main{grid-template-columns:minmax(0,1fr) max-content}.habits-page .habit-card-row-main .habit-card-actions-button{display:none}}@media(min-width:721px)and (pointer:fine){.habit-swipe-actions{display:none}.habit-swipe-row.swiped>.habit-card,.habit-swipe-row.swiped.quit>.habit-card{transform:none}}.context-detail-page{gap:14px}.context-detail-hero,.context-detail-card{border:1px solid rgba(45,212,191,.22);background:#051814b8;border-radius:22px;padding:16px;box-shadow:0 18px 44px #0000003d}.context-detail-hero{display:flex;align-items:center;gap:14px}.context-detail-hero h2{margin:0;font-size:1.45rem}.context-detail-hero p{margin:4px 0 0;color:var(--muted);font-weight:700}.context-detail-icon,.analytics-context-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(45,212,191,.24);background:#2dd4bf1f;color:var(--accent)}.context-detail-icon{width:54px;height:54px;border-radius:18px}.context-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.context-filter-card{padding:12px}.context-filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.context-filter-row::-webkit-scrollbar{display:none}.context-filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0b;color:#ffffffc7;padding:0 13px;font:inherit;font-weight:900;white-space:nowrap}.context-filter-chip.active{border-color:#2dd4bfb8;background:#2dd4bf29;color:var(--accent)}.context-filter-chip em{min-width:20px;border-radius:999px;background:#ffffff1a;color:var(--text);font-size:.72rem;font-style:normal;line-height:20px;text-align:center}.context-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.context-calendar-cell{min-height:34px;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:#ffffff09;color:#ffffff75;font:inherit;font-size:.8rem;font-weight:800}.context-calendar-cell.active{border-color:#2dd4bf6b;background:rgba(45,212,191,var(--context-cell-alpha, .42));color:var(--text)}.context-calendar-cell.today{box-shadow:inset 0 0 0 1px #ffffff47}.context-detail-history{margin-top:10px}.analytics-context-list{display:grid;gap:8px}.analytics-context-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#ffffff09;color:var(--text);padding:10px;font:inherit;text-align:left}.analytics-context-icon{width:34px;height:34px;border-radius:12px}.analytics-context-row strong,.analytics-context-row small{display:block}.analytics-context-row small{color:var(--muted);font-weight:700}.analytics-context-row em{color:var(--accent);font-style:normal;font-weight:900}button.day-context-chip{font:inherit;cursor:pointer}button.day-context-chip:active,.analytics-context-row:active,.context-calendar-cell.active:active{transform:translateY(1px)}:root[data-theme=light] body{background:radial-gradient(circle at top,rgba(10,169,130,.15),transparent 30%),linear-gradient(180deg,#f6fbf5,#eef7f1 56%,#e9f3ec)}:root[data-theme=light] .app-shell:before{background:linear-gradient(180deg,#f6fbf5fa,#f6fbf500)}:root[data-theme=light] .panel,:root[data-theme=light] .auth-panel,:root[data-theme=light] .sheet,:root[data-theme=light] .bottom-nav,:root[data-theme=light] .today-panel,:root[data-theme=light] .today-habits-panel,:root[data-theme=light] .analytics-card,:root[data-theme=light] .habit-card,:root[data-theme=light] .habit-overview-card,:root[data-theme=light] .day-context-card,:root[data-theme=light] .day-habits-card{background:color-mix(in srgb,var(--color-surface) 88%,transparent);border-color:var(--color-border-subtle);box-shadow:var(--shadow-soft)}:root[data-theme=light] .bottom-nav:before{background:linear-gradient(180deg,#f6fbf500,#f6fbf5eb)}:root[data-theme=light] .ui-button-secondary,:root[data-theme=light] .ui-icon-button,:root[data-theme=light] .ui-chip,:root[data-theme=light] .nav-item{background:#ffffffad}:root[data-theme=light] .ui-card-section,:root[data-theme=light] .ui-card-metric,:root[data-theme=light] .ui-metric-card,:root[data-theme=light] .ui-segmented{background:color-mix(in srgb,var(--color-surface) 82%,transparent)}:root[data-theme=light] .home-health-page{background:transparent;border-color:transparent;box-shadow:none}:root[data-theme=light] .home-health-page:before{content:none}:root[data-theme=light] .home-health-card{background:linear-gradient(145deg,color-mix(in srgb,var(--metric-accent) 11%,transparent),transparent 62%),#ffffffc7;border-color:color-mix(in srgb,var(--metric-accent) 22%,#d8e8df);color:var(--color-text);box-shadow:inset 0 1px #ffffffb3}:root[data-theme=light] .home-health-card.big{background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--metric-accent) 18%,transparent),transparent 36%),linear-gradient(150deg,color-mix(in srgb,var(--metric-accent) 10%,transparent),transparent 58%),#ffffffd1}:root[data-theme=light] .home-health-card-aura{opacity:.45;filter:blur(20px)}:root[data-theme=light] .home-health-card-copy strong,:root[data-theme=light] .home-health-page-head strong{color:#10231d}:root[data-theme=light] .home-health-card-copy span,:root[data-theme=light] .home-health-card-copy small{color:#5d7469}:root[data-theme=light] .home-health-card.empty{color:#72867c}:root[data-theme=light] input,:root[data-theme=light] textarea,:root[data-theme=light] select,:root[data-theme=light] .password-auth-input{background:#ffffffd1;color:var(--color-text)}:root[data-theme=light] .sheet-actions.sticky-actions,:root[data-theme=light] .tag-settings-savebar{background:linear-gradient(180deg,#f6fbf500,#f6fbf5 28%)}:root[data-theme=light] .ui-page-header:before{bottom:-6px;background:radial-gradient(circle at 50% 0%,rgba(10,169,130,.08),transparent 45%),linear-gradient(180deg,#f6fbf5f5,#f6fbf5e6 72%,#f6fbf500);box-shadow:0 8px 18px #264e3c14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root[data-theme=light] .calendar-page .ui-page-header:before{bottom:0;background:linear-gradient(180deg,#f6fbf5f5,#f6fbf5c7 78%,#f6fbf500);box-shadow:0 6px 14px #264e3c0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=light] .calendar-content,:root[data-theme=light] .calendar-mode-control.ui-segmented,:root[data-theme=light] .calendar-month-grid,:root[data-theme=light] .calendar-layer-legend{position:relative;z-index:1}:root[data-theme=light] .calendar-mode-control.ui-segmented{background:#ffffffe6;box-shadow:inset 0 0 0 1px #1456401a,0 8px 18px #264e3c0f}:root[data-theme=light] .calendar-mode-control.ui-segmented button{color:var(--color-text-secondary)}:root[data-theme=light] .calendar-mode-control.ui-segmented button.active{color:#079b78;background:#2dcf9f24;box-shadow:inset 0 0 0 1px #0aa98240,0 8px 18px #0aa98214}:root[data-theme=light] .ui-page-header h1,:root[data-theme=light] .ui-page-header p{color:var(--color-text);text-shadow:none}:root[data-theme=light] .analytics-card,:root[data-theme=light] .analytics-locked-card,:root[data-theme=light] .analytics-module-card,:root[data-theme=light] .habit-card,:root[data-theme=light] .habits-page .habit-card,:root[data-theme=light] .habits-page .habit-swipe-row>.habit-card,:root[data-theme=light] .day-context-card,:root[data-theme=light] .day-habits-card,:root[data-theme=light] .calendar-summary-card,:root[data-theme=light] .calendar-day-summary-card,:root[data-theme=light] .context-summary-card,:root[data-theme=light] .context-detail-hero,:root[data-theme=light] .context-detail-card,:root[data-theme=light] .ui-card-section,:root[data-theme=light] .ui-card-metric,:root[data-theme=light] .ui-metric-card,:root[data-theme=light] .profile-section,:root[data-theme=light] .profile-menu-card,:root[data-theme=light] .profile-stat-card{background:linear-gradient(180deg,#ffffffeb,#f6fbf5e0),var(--color-surface);border-color:#1456401f;color:var(--color-text);box-shadow:0 10px 24px #264e3c14}:root[data-theme=light] .analytics-card:nth-of-type(2),:root[data-theme=light] .analytics-card:nth-of-type(3),:root[data-theme=light] .habit-card.quit{background:linear-gradient(180deg,#ffffffeb,#f6fbf5e0),var(--color-surface)}:root[data-theme=light] .analytics-module-card.empty{opacity:.88}:root[data-theme=light] .analytics-streak-card{background:transparent;border-color:transparent;box-shadow:none}:root[data-theme=light] .analytics-streak-hero,:root[data-theme=light] .analytics-streak-empty{background:radial-gradient(circle at 86% 42%,rgba(10,169,130,.12),transparent 34%),linear-gradient(180deg,#fffffff0,#f6fbf5e6),var(--color-surface);border-color:#14564021;color:var(--color-text);box-shadow:0 10px 24px #264e3c14}:root[data-theme=light] .analytics-module-preview i{background:linear-gradient(180deg,#0aa982c2,#0aa98233)}:root[data-theme=light] .analytics-module-preview.empty i{background:#1456401a}:root[data-theme=light] .analytics-locked-progress{background:#1456401a}:root[data-theme=light] .analytics-card h2,:root[data-theme=light] .analytics-card h3,:root[data-theme=light] .analytics-card strong,:root[data-theme=light] .analytics-locked-card strong,:root[data-theme=light] .analytics-module-copy strong,:root[data-theme=light] .analytics-streak-hero strong,:root[data-theme=light] .analytics-streak-empty strong,:root[data-theme=light] .habit-card-main strong,:root[data-theme=light] .habit-title-text,:root[data-theme=light] .day-context-head h3,:root[data-theme=light] .context-summary-head strong,:root[data-theme=light] .history-card strong,:root[data-theme=light] .history-date-large,:root[data-theme=light] .daylog-entry strong,:root[data-theme=light] .calendar-day-summary-head h2,:root[data-theme=light] .calendar-selected-card h3,:root[data-theme=light] .profile-menu-copy strong{color:var(--color-text);text-shadow:none}:root[data-theme=light] .analytics-card p,:root[data-theme=light] .analytics-card small,:root[data-theme=light] .analytics-card span,:root[data-theme=light] .analytics-locked-card p,:root[data-theme=light] .analytics-locked-card small,:root[data-theme=light] .analytics-module-copy small,:root[data-theme=light] .analytics-module-copy em,:root[data-theme=light] .analytics-module-description,:root[data-theme=light] .analytics-streak-hero h3,:root[data-theme=light] .analytics-streak-empty h3,:root[data-theme=light] .analytics-streak-hero small,:root[data-theme=light] .analytics-streak-empty small,:root[data-theme=light] .habit-card-main small,:root[data-theme=light] .habit-compact-meta,:root[data-theme=light] .day-context-head p,:root[data-theme=light] .day-context-empty,:root[data-theme=light] .day-context-insight,:root[data-theme=light] .context-summary-head small,:root[data-theme=light] .history-caption,:root[data-theme=light] .history-period,:root[data-theme=light] .history-details,:root[data-theme=light] .history-emotions,:root[data-theme=light] .history-thoughts,:root[data-theme=light] .habit-event-title span,:root[data-theme=light] .calendar-day-summary-head small,:root[data-theme=light] .calendar-day-summary-lines p,:root[data-theme=light] .calendar-selected-card p,:root[data-theme=light] .profile-menu-copy span,:root[data-theme=light] .profile-menu-value{color:var(--color-text-secondary)}:root[data-theme=light] .state-mini,:root[data-theme=light] .calendar-summary .state-mini,:root[data-theme=light] .analytics-chart-metrics .state-mini,:root[data-theme=light] .sleep-stats-grid .state-mini{background:#ffffffc2;border-color:#1456401c;color:var(--color-text);box-shadow:0 8px 18px #264e3c0f}:root[data-theme=light] .state-mini-title,:root[data-theme=light] .period-summary,:root[data-theme=light] .muted-value,:root[data-theme=light] .muted-inline,:root[data-theme=light] .section-subtle,:root[data-theme=light] .day-log-head span{color:var(--color-text-secondary)}:root[data-theme=light] .state-mini-value,:root[data-theme=light] .state-mini-value>span:not(.muted-value,.state-mini-more){color:var(--color-text)}:root[data-theme=light] .daylog-entry,:root[data-theme=light] .history-entry,:root[data-theme=light] .history-card,:root[data-theme=light] .habit-event-card,:root[data-theme=light] .context-log-card{background:linear-gradient(180deg,#fffffff0,#f6fbf5e6),var(--color-surface);border-color:#14564021;color:var(--color-text);box-shadow:0 10px 22px #264e3c14}:root[data-theme=light] .history-card.tappable:hover{background:linear-gradient(180deg,#fffffffa,#f6fbf5f0),var(--color-surface);border-color:#0aa98240;box-shadow:0 12px 24px #264e3c1a}:root[data-theme=light] .history-bubble,:root[data-theme=light] .habit-event-icon,:root[data-theme=light] .calendar-day-summary-icon,:root[data-theme=light] .analytics-module-icon,:root[data-theme=light] .analytics-module-row-icon,:root[data-theme=light] .analytics-streak-icon{background:#0aa9821c;border-color:#0aa98224;color:var(--color-accent);box-shadow:none}:root[data-theme=light] .history-tag,:root[data-theme=light] .history-weather-chip,:root[data-theme=light] .history-tag.habit-event-tag{background:#0aa9821f;color:#0f5f4a}:root[data-theme=light] .sheet,:root[data-theme=light] .quick-context-full-sheet{background:radial-gradient(circle at 50% 0%,rgba(10,169,130,.1),transparent 45%),linear-gradient(180deg,#f9fcf8,#eef7f1);color:var(--color-text);box-shadow:0 -14px 32px #264e3c1f}:root[data-theme=light] .quick-context-chip,:root[data-theme=light] .day-context-chip,:root[data-theme=light] .context-filter-chip,:root[data-theme=light] .ui-chip,:root[data-theme=light] .secondary-button,:root[data-theme=light] .icon-action,:root[data-theme=light] .auth-provider-button{background:#ffffffc7;border-color:#14564021;color:var(--color-text-secondary);box-shadow:0 6px 14px #264e3c0f}:root[data-theme=light] .quick-context-chip.active,:root[data-theme=light] .day-context-chip.top,:root[data-theme=light] .context-filter-chip.active,:root[data-theme=light] .ui-chip.active,:root[data-theme=light] .nav-item.active{background:#0aa9821f;border-color:#0aa9825c;color:var(--color-accent)}:root[data-theme=light] .bottom-nav{background:#ffffffe6;border-color:#1456401c;box-shadow:0 -10px 24px #264e3c14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:root[data-theme=light] .bottom-nav:before{background:linear-gradient(180deg,#f6fbf500,#f6fbf5d1)}:root[data-theme=light] .fab-button,:root[data-theme=light] .mood-fab{box-shadow:0 14px 28px #0aa9823d}:root[data-theme=light] .calendar-window-header .calendar-title-button,:root[data-theme=light] .calendar-window-header .calendar-title-icon,:root[data-theme=light] .calendar-window-header .month-arrow:not(:disabled){color:var(--color-text)}:root[data-theme=light] .calendar-window-header .calendar-title-icon{opacity:.86}:root[data-theme=light] .nav-item.active{background:radial-gradient(circle at 50% 0%,rgba(10,169,130,.16),transparent 62%),#0aa9821f;border-color:#0aa98247;color:#075f4a;box-shadow:inset 0 0 0 1px #0aa9822e}:root[data-theme=light] .nav-item.active .nav-icon,:root[data-theme=light] .nav-item.active .nav-label{color:#075f4a}:root[data-theme=light] .habit-template-card,:root[data-theme=light] .habit-frequency-card,:root[data-theme=light] .habit-frequency-metric-card,:root[data-theme=light] .habit-frequency-main,:root[data-theme=light] .habit-confirm-card,:root[data-theme=light] .habit-reminder-settings,:root[data-theme=light] .habit-reminder-soon{background:linear-gradient(180deg,#fffffff0,#f6fbf5e6),var(--color-surface);border-color:#14564021;color:var(--color-text);box-shadow:0 10px 22px #264e3c14}:root[data-theme=light] .habit-template-card.active,:root[data-theme=light] .habit-frequency-card.active{background:radial-gradient(circle at 0% 0%,rgba(10,169,130,.14),transparent 54%),linear-gradient(180deg,#fffffff5,#ecfaf4e6);border-color:#0aa98257}:root[data-theme=light] .habit-template-card strong,:root[data-theme=light] .habit-frequency-card strong,:root[data-theme=light] .habit-frequency-main strong,:root[data-theme=light] .habit-confirm-card strong,:root[data-theme=light] .habit-reminder-settings-head strong,:root[data-theme=light] .habit-reminder-soon strong,:root[data-theme=light] .profile-section>h3{color:var(--color-text);text-shadow:none}:root[data-theme=light] .habit-template-card small,:root[data-theme=light] .habit-template-card em,:root[data-theme=light] .habit-frequency-card small,:root[data-theme=light] .habit-frequency-main small,:root[data-theme=light] .habit-reminder-settings-head small,:root[data-theme=light] .habit-reminder-soon small{color:var(--color-text-secondary)}:root[data-theme=light] .habit-stepper button,:root[data-theme=light] .habit-reminder-cue-grid button,:root[data-theme=light] .habit-count-unit-control select,:root[data-theme=light] .habit-time-button{background:#ffffffc7;border-color:#14564021;color:var(--color-text);box-shadow:0 6px 14px #264e3c0d}:root[data-theme=light] .habit-stepper strong,:root[data-theme=light] .habit-stepper input,:root[data-theme=light] .habit-number-strip-value{background:#0aa9821a;border-color:#0aa9822e;color:var(--color-text)}:root[data-theme=light] .habit-number-strip-track{background:linear-gradient(90deg,#0aa98257,#0ec29e2e),#14564014}:root[data-theme=light] .number-swipe-strip{background:linear-gradient(90deg,#0aa9821a,#0ec29e0a),#ffffffc7;border-color:#0aa9822e}:root[data-theme=light] .number-swipe-strip:before{background:linear-gradient(90deg,#fffffff5,#fff0)}:root[data-theme=light] .number-swipe-strip:after{background:linear-gradient(270deg,#fffffff5,#fff0)}:root[data-theme=light] .number-swipe-track button{color:#11201b94}:root[data-theme=light] .number-swipe-track button.active{color:var(--color-text);background:#0aa98229}:root[data-theme=light] .life-calendar-hero,:root[data-theme=light] .life-calendar-settings,:root[data-theme=light] .life-calendar-card,:root[data-theme=light] .life-calendar-selected,:root[data-theme=light] .life-calendar-rounds{background:radial-gradient(circle at 18% 0%,rgba(10,169,130,.11),transparent 36%),linear-gradient(180deg,#fffffff0,#f6fbf5e6),var(--color-surface);border-color:#14564021;color:var(--color-text);box-shadow:0 12px 28px #264e3c1a}:root[data-theme=light] .life-calendar-scale-tabs,:root[data-theme=light] .life-calendar-period-strip button,:root[data-theme=light] .life-calendar-stats span{background:#ffffffb8;color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px #14564014}:root[data-theme=light] .life-calendar-scale-tabs button.active,:root[data-theme=light] .life-calendar-period-strip button.active{background:#0aa9821f;color:#075f4a;box-shadow:inset 0 0 0 1px #0aa9823d}:root[data-theme=light] .life-calendar-settings input{background:#ffffffdb;color:var(--color-text);box-shadow:inset 0 0 0 1px #1456401f}:root[data-theme=light] .life-calendar-board-head strong,:root[data-theme=light] .life-calendar-stats strong,:root[data-theme=light] .life-calendar-hero h3,:root[data-theme=light] .life-calendar-rounds h3,:root[data-theme=light] .life-calendar-selected strong{color:var(--color-text)}:root[data-theme=light] .life-calendar-board-head span,:root[data-theme=light] .life-calendar-hero p,:root[data-theme=light] .life-calendar-selected p,:root[data-theme=light] .life-calendar-stats small,:root[data-theme=light] .life-calendar-top-axis,:root[data-theme=light] .life-calendar-left-axis,:root[data-theme=light] .life-calendar-legend,:root[data-theme=light] .life-calendar-data-legend{color:var(--color-text-secondary)}:root[data-theme=light] .life-calendar-cell{background:#14564017}:root[data-theme=light] .life-calendar-cell.lived{background:#0aa98233}:root[data-theme=light] .life-calendar-cell.future{background:#14564012}:root[data-theme=light] .life-calendar-cell.segmented{background:#ffffffd1;color:var(--color-text);box-shadow:inset 0 0 0 2px #14564014,0 4px 12px #264e3c14}:root[data-theme=light] .life-calendar-cell.segmented.has-markers{background:#ffffffeb}:root[data-theme=light] .life-calendar-legend .future{background:#14564033}.page-screen,.home-grid,.calendar-page,.analytics-page,.habits-page,.profile-panel,.daylog-page,.sleep-page,.sleep-program-page{gap:14px}.panel,.auth-panel,.today-panel,.history-panel,.placeholder-panel,.onboarding-card,.calendar-layer-legend,.calendar-day-summary-card,.analytics-card,.analytics-module-card,.analytics-locked-card,.analytics-period-switch,.analytics-view-switch,.analytics-breakdown-switch,.habit-card,.habit-overview-card,.habit-detail-card,.habit-edit-section,.habit-template-card,.habit-frequency-card,.habit-frequency-main,.habit-frequency-metric-card,.habit-confirm-card,.habit-activity-calendar,.habit-activity-summary,.habit-state-note,.habit-quit-guide,.habits-empty,.profile-hero,.profile-section,.profile-menu-card,.profile-stat-card,.profile-menu-row,.habit-event-card,.home-health-card,.sleep-card,.sleep-session-card,.sleep-insight-card,.life-calendar-hero,.life-calendar-settings,.life-calendar-card,.life-calendar-selected{border:1px solid var(--group-border);background:linear-gradient(180deg,color-mix(in srgb,var(--group-bg-strong) 72%,transparent),color-mix(in srgb,var(--group-bg) 94%,transparent)),var(--group-bg);box-shadow:var(--group-shadow-soft);-webkit-backdrop-filter:var(--group-blur);backdrop-filter:var(--group-blur)}.auth-panel,.today-panel,.history-panel,.placeholder-panel,.calendar-content,.analytics-overview-panel,.profile-section,.life-calendar-card{border-radius:var(--radius-2xl);padding:14px}.habit-overview-card.habit-detail-top{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}.habit-overview-card.habit-detail-top .habit-overview-main{padding:0;background:transparent;box-shadow:none}.analytics-card,.analytics-module-card,.analytics-locked-card,.habit-card,.habit-overview-card,.habit-detail-card,.habit-edit-section,.habit-template-card,.habit-frequency-card,.habit-frequency-main,.habit-frequency-metric-card,.habit-confirm-card,.profile-menu-card,.profile-stat-card,.habit-event-card,.calendar-day-summary-card,.home-health-card,.sleep-card,.sleep-session-card,.sleep-insight-card,.life-calendar-hero,.life-calendar-settings,.life-calendar-selected{border-radius:var(--radius-2xl)}.analytics-card,.analytics-module-card,.analytics-locked-card,.habit-card,.habit-overview-card,.calendar-day-summary-card,.profile-menu-card{overflow:hidden}.day-context-card,.day-habits-card,.calendar-month-summary,.calendar-month-grid,.analytics-overview-panel,.analytics-toolbar,.life-calendar-rounds{border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.analytics-card:before,.analytics-module-card:before,.analytics-locked-card:before,.habit-card:before,.home-health-card:before,.calendar-day-summary-card:before,.profile-menu-card:before{opacity:.72}.ui-page-header{min-height:52px;padding:4px;border:1px solid var(--chrome-border);border-radius:var(--radius-2xl);background:var(--chrome-bg);box-shadow:var(--group-shadow-soft);-webkit-backdrop-filter:var(--group-blur);backdrop-filter:var(--group-blur)}.ui-page-header:before{inset:-18px -14px -12px 50%;width:min(100vw,760px);border-radius:0 0 30px 30px;background:radial-gradient(circle at 50% 0%,rgba(45,207,159,.06),transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 60%,transparent),color-mix(in srgb,var(--color-bg) 32%,transparent),transparent);box-shadow:none}.ui-page-header-leading,.ui-page-header-action,.ui-page-header .month-arrow,.ui-page-header .detail-back-button,.ui-page-header .detail-edit-button,.month-arrow{border-radius:18px;border:1px solid var(--group-border);background:var(--group-bg-soft);color:var(--color-text);box-shadow:inset 0 1px #ffffff0a}.calendar-window-header .calendar-title-button,.home-detail-title-button,.calendar-title-button,.month-chip{min-height:44px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--group-bg-soft) 72%,transparent);color:var(--color-text)}.calendar-window-header .calendar-title-button{border-radius:var(--radius-pill)}.calendar-window-header .calendar-title-button:hover,.calendar-title-button:hover,.home-detail-title-button:hover{background:var(--group-highlight)}.ui-segmented,.calendar-mode-control.ui-segmented,.analytics-period-switch,.analytics-view-switch,.analytics-breakdown-switch,.habit-segment,.habit-weekday-grid,.habit-quick-action-segment,.life-calendar-scale-tabs{padding:4px;border:1px solid var(--group-border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--group-bg-strong) 70%,transparent);box-shadow:inset 0 1px #ffffff0a;-webkit-backdrop-filter:var(--group-blur);backdrop-filter:var(--group-blur)}.ui-segmented button,.calendar-mode-control.ui-segmented button,.analytics-period-button,.analytics-view-button,.habit-segment button,.habit-weekday-grid button,.habit-quick-action-segment button,.life-calendar-scale-tabs button{border-radius:var(--radius-pill)}.ui-segmented button.active,.calendar-mode-control.ui-segmented button.active,.analytics-period-button.active,.analytics-view-button.active,.habit-segment button.active,.habit-weekday-grid button.active,.habit-quick-action-segment button.active,.life-calendar-scale-tabs button.active{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 62%),color-mix(in srgb,var(--accent) 14%,var(--group-bg-strong));color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 8px 20px color-mix(in srgb,var(--accent) 12%,transparent)}.ui-button,.primary-cta,.secondary-button,.compact-button,.danger-button,.calendar-open-selection-button,.habits-empty-cta,.habit-activity-summary button,.profile-actions-row button{border-radius:var(--radius-pill)}.primary-cta,.ui-button.variant-primary{box-shadow:inset 0 1px #ffffff40,0 14px 30px color-mix(in srgb,var(--accent) 22%,transparent)}.secondary-button,.compact-button,.ui-button.variant-secondary,.ui-button.variant-ghost,.tag-chip,.analytics-filter-chip,.habit-filter-chip.ui-chip,.day-context-chip,.history-tag,.profile-pill{border:1px solid var(--group-border);background:color-mix(in srgb,var(--group-bg-strong) 74%,transparent);color:var(--color-text-secondary);box-shadow:var(--group-shadow-soft)}.tag-chip.active,.analytics-filter-chip.active,.habit-filter-chip.ui-chip.active,.day-context-chip.active,.profile-pill.active{border-color:var(--group-border-strong);background:var(--group-highlight);color:var(--accent)}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom,0px));width:min(calc(100% - 20px),700px);padding:8px;border:1px solid var(--chrome-border);border-radius:28px;background:var(--chrome-bg);box-shadow:var(--group-shadow);-webkit-backdrop-filter:var(--group-blur);backdrop-filter:var(--group-blur)}.bottom-nav:before{top:8px;bottom:8px;left:8px;width:calc((100% - 48px)/5);border-radius:22px;background:radial-gradient(circle at 50% 16%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 46%),color-mix(in srgb,var(--accent) 10%,var(--group-bg-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 10px 24px color-mix(in srgb,var(--accent) 12%,transparent)}.nav-item{min-height:58px;border-radius:22px;color:var(--color-text-muted)}.nav-item.active,.nav-item.active .nav-label{color:var(--accent)}.sheet-overlay{padding:10px;background:#0307067a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet{border:1px solid var(--group-border);border-radius:30px 30px 24px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--group-bg-strong) 86%,transparent),color-mix(in srgb,var(--group-bg) 96%,transparent)),var(--color-surface);box-shadow:var(--group-shadow);-webkit-backdrop-filter:var(--group-blur);backdrop-filter:var(--group-blur)}.sheet-header,.sheet-actions,.sticky-actions,.modal-header,.habit-sheet-actions,.habit-edit-actions{border-radius:var(--radius-2xl);background:color-mix(in srgb,var(--group-bg-soft) 86%,transparent)}.profile-section>h3{margin:10px 4px 2px}.profile-section+.profile-section{margin-top:6px}.profile-menu-row+.profile-menu-row{border-top:0}.profile-menu-row{border-radius:var(--radius-xl)}.profile-menu-card{display:grid;gap:6px;padding:8px}.profile-menu-card .profile-menu-row{background:color-mix(in srgb,var(--group-bg-soft) 82%,transparent)}.home-health-page{border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.home-health-card{min-height:0}.analytics-summary-grid,.analytics-module-grid,.profile-stat-grid,.habit-page-stats,.habit-analytics-grid{gap:10px}.calendar-month-grid,.calendar-layer-legend{border-radius:30px}.calendar-layer-legend{padding:10px 12px}.calendar-month-grid .calendar-day{border-radius:var(--radius-pill)}.habit-card,.habits-page .habit-swipe-row>.habit-card{box-shadow:var(--group-shadow-soft)}.habit-swipe-row{border-radius:var(--radius-2xl)}.life-calendar-scale-tabs,.life-calendar-period-strip{box-shadow:var(--group-shadow-soft)}:root[data-theme=light] .ui-page-header,:root[data-theme=light] .bottom-nav,:root[data-theme=light] .sheet,:root[data-theme=light] .panel,:root[data-theme=light] .auth-panel,:root[data-theme=light] .today-panel,:root[data-theme=light] .history-panel,:root[data-theme=light] .placeholder-panel,:root[data-theme=light] .calendar-content,:root[data-theme=light] .calendar-month-summary,:root[data-theme=light] .calendar-month-grid,:root[data-theme=light] .calendar-layer-legend,:root[data-theme=light] .calendar-day-summary-card,:root[data-theme=light] .analytics-card,:root[data-theme=light] .analytics-module-card,:root[data-theme=light] .analytics-locked-card,:root[data-theme=light] .analytics-overview-panel,:root[data-theme=light] .habit-card,:root[data-theme=light] .habit-overview-card,:root[data-theme=light] .habit-detail-card,:root[data-theme=light] .habit-edit-section,:root[data-theme=light] .habit-template-card,:root[data-theme=light] .habit-frequency-card,:root[data-theme=light] .habit-frequency-main,:root[data-theme=light] .profile-hero,:root[data-theme=light] .profile-section,:root[data-theme=light] .profile-menu-card,:root[data-theme=light] .profile-stat-card,:root[data-theme=light] .day-context-card,:root[data-theme=light] .day-habits-card,:root[data-theme=light] .habit-event-card,:root[data-theme=light] .home-health-card,:root[data-theme=light] .life-calendar-hero,:root[data-theme=light] .life-calendar-settings,:root[data-theme=light] .life-calendar-card,:root[data-theme=light] .life-calendar-selected,:root[data-theme=light] .life-calendar-rounds{background:linear-gradient(180deg,color-mix(in srgb,var(--group-bg-strong) 84%,transparent),color-mix(in srgb,var(--group-bg) 98%,transparent)),var(--group-bg);border-color:var(--group-border);color:var(--color-text);box-shadow:var(--group-shadow-soft)}:root[data-theme=light] .ui-page-header:before{background:radial-gradient(circle at 50% 0%,rgba(10,169,130,.12),transparent 46%),linear-gradient(180deg,rgba(243,248,242,.98),rgba(243,248,242,.66),transparent)}:root[data-theme=light] .nav-item.active,:root[data-theme=light] .nav-item.active .nav-icon,:root[data-theme=light] .nav-item.active .nav-label,:root[data-theme=light] .calendar-mode-control.ui-segmented button.active,:root[data-theme=light] .analytics-view-button.active,:root[data-theme=light] .analytics-period-button.active,:root[data-theme=light] .life-calendar-scale-tabs button.active{color:#05735b}.ui-page-header{width:fit-content;max-width:min(100%,calc(100vw - 28px));justify-self:center;grid-template-columns:auto minmax(0,max-content) auto;gap:6px;min-height:44px;padding:4px 6px}.ui-page-header.no-left.no-right{grid-template-columns:minmax(0,max-content)}.ui-page-header.no-left.has-right{grid-template-columns:minmax(0,max-content) auto}.ui-page-header.has-left.no-right{grid-template-columns:auto minmax(0,max-content)}.ui-page-header.no-left .ui-page-header-leading,.ui-page-header.no-right .ui-page-header-action{display:none}.ui-page-header-leading,.ui-page-header-action,.ui-page-header .month-arrow,.ui-page-header .detail-back-button,.ui-page-header .detail-edit-button{width:38px;min-width:38px;height:38px;min-height:38px;border-radius:16px}.ui-page-header-copy{width:max-content;max-width:min(260px,calc(100vw - 128px));padding:0 4px}.ui-page-header.no-left.no-right .ui-page-header-copy{max-width:min(260px,calc(100vw - 48px))}.ui-page-header.no-left.has-right .ui-page-header-copy,.ui-page-header.has-left.no-right .ui-page-header-copy{max-width:min(260px,calc(100vw - 86px))}.ui-page-header h1{width:auto;font-size:clamp(.98rem,4.05vw,1.12rem)}.ui-page-header p{font-size:.7rem;line-height:1.12}.home-habits-embedded>.home-habits-head{display:none}.bottom-nav{width:min(calc(100vw - 18px),560px);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px 8px calc(8px + env(safe-area-inset-bottom,0px));border:1px solid color-mix(in srgb,var(--group-border) 78%,transparent);border-radius:30px 30px 0 0;overflow:hidden}.bottom-nav:before{content:none}.nav-item{min-width:0;min-height:50px;gap:3px;padding:5px 2px;border-radius:18px}.nav-item.active{background:radial-gradient(circle at 50% 18%,rgba(45,207,159,.22),transparent 44%),color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 8px 18px color-mix(in srgb,var(--accent) 10%,transparent)}.nav-item.active .nav-icon{transform:translateY(-1px) scale(1.04)}.nav-item.active .nav-label{transform:none}.nav-label{width:100%;max-width:64px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.58rem,2.35vw,.68rem);letter-spacing:0}.ui-page-header .month-chip{flex:0 1 auto;min-width:max-content;max-width:min(220px,calc(100vw - 118px));padding-inline:14px}.month-chip-button>span:first-child,.calendar-title-button>span:first-child,.ui-page-header-copy .month-chip-button>span:first-child{max-width:none;overflow:visible;text-overflow:clip}.ui-page-header .month-chip-button{min-width:max-content}.analytics-view-toggle{overflow:hidden}.analytics-view-button.active,.calendar-mode-control.ui-segmented button.active,.life-calendar-scale-tabs button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent),0 8px 20px color-mix(in srgb,var(--accent) 10%,transparent)}.life-calendar-scale-tabs{gap:4px;padding:6px;border-color:transparent;border-radius:28px;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 42%),color-mix(in srgb,var(--group-bg-strong) 54%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--group-border) 46%,transparent)}.life-calendar-scale-tabs button{min-height:46px;border-radius:22px;box-shadow:none}.life-calendar-scale-tabs button.active{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 58%),color-mix(in srgb,var(--accent) 14%,var(--group-bg-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 8px 18px color-mix(in srgb,var(--accent) 9%,transparent)}.ritual-editor-sheet .sheet-body,.ritual-editor-sheet{overflow:hidden}.ritual-create-card-sheet{margin:0;border:0;box-shadow:none}.ritual-selected-order{display:grid;gap:8px;margin:8px 0 12px}.ritual-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border-radius:18px;background:color-mix(in srgb,var(--group-bg-strong) 70%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--group-border) 56%,transparent);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.ritual-order-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ritual-order-row>span:first-child,.ritual-order-actions{display:inline-flex;align-items:center;gap:4px}.ritual-order-row>span:first-child{min-width:0;gap:8px}.ritual-order-row button{width:30px;height:30px;border:0;border-radius:12px;color:var(--text);background:color-mix(in srgb,var(--group-bg) 72%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--group-border) 54%,transparent)}.ritual-order-row button:disabled{opacity:.35}.habit-swipe-row.reorder-mode{transition:transform .18s ease,opacity .16s ease}.habit-swipe-row.reorder-mode>.habit-card{cursor:grab;touch-action:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.habit-swipe-row.reorder-dragging{z-index:5;transform:translate3d(0,var(--habit-reorder-y),0) scale(1.015)}.habit-swipe-row.reorder-dragging>.habit-card{cursor:grabbing;box-shadow:0 18px 34px color-mix(in srgb,#000 28%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent)}.habit-reorder-handle{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;width:24px;color:color-mix(in srgb,var(--text-muted) 80%,transparent);font-size:.8rem;letter-spacing:-2px;transform:rotate(90deg)}.rotate-up{transform:rotate(180deg)}.calendar-content,.calendar-month-summary,.analytics-overview-panel,.profile-section,:root[data-theme=light] .calendar-content,:root[data-theme=light] .calendar-month-summary,:root[data-theme=light] .analytics-overview-panel,:root[data-theme=light] .profile-section{border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.calendar-content{padding:0}.calendar-month-summary{border-radius:0}.people-page,.people-detail-page{display:flex;flex-direction:column;overflow:hidden}.people-page>.ui-page-header,.people-detail-page>.ui-page-header{align-self:center}.people-page-content,.people-detail-content{flex:1;overflow-y:auto;padding:12px 16px 100px;display:flex;flex-direction:column;gap:16px}.people-search-wrap{position:relative;display:flex;align-items:center}.people-search-icon{position:absolute;left:12px;color:var(--color-text-muted);pointer-events:none}.people-search-input{width:100%;padding:10px 12px 10px 36px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:.9rem;outline:none}.people-search-input:focus{border-color:var(--color-accent)}.people-sections{display:flex;flex-direction:column;gap:20px}.people-section{display:flex;flex-direction:column;gap:8px}.people-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0;padding:0 4px}.people-list{display:flex;flex-direction:column;gap:2px}.person-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;text-align:left;width:100%;cursor:pointer;transition:background .15s ease}.person-card:active{background:var(--color-surface-soft)}.person-avatar{width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--avatar-color, var(--color-accent)) 20%,transparent);border:1.5px solid var(--avatar-color, var(--color-accent));display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--avatar-color, var(--color-accent));flex-shrink:0}.person-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.person-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.person-relation-badge{font-size:.7rem;font-weight:600}.person-card-tags{display:flex;gap:4px;flex-wrap:wrap}.person-tag-mini{font-size:.65rem;color:var(--color-text-muted);background:#ffffff0f;border-radius:6px;padding:2px 6px}.person-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.person-last-contact{font-size:.68rem;color:var(--color-text-muted);white-space:nowrap}.people-add-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-soft);border:none;border-radius:50%;color:var(--color-accent);cursor:pointer}.people-detail-hero{display:flex;align-items:center;gap:14px;padding:8px 0}.people-detail-hero .person-avatar{width:52px;height:52px;font-size:1.1rem}.people-detail-meta{flex:1;display:flex;flex-direction:column;gap:6px}.people-tag-list{display:flex;gap:5px;flex-wrap:wrap}.people-tag{font-size:.72rem;color:var(--color-text-muted);background:#ffffff12;border-radius:8px;padding:3px 8px}.people-detail-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}.people-detail-card h3{margin:0}.people-notes-text{font-size:.88rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.people-detail-actions{display:flex;gap:8px}.people-reminder-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.people-reminder-row>div{display:flex;flex-direction:column;gap:2px}.people-reminder-row span{font-size:.9rem}.people-reminder-row small{font-size:.72rem;color:var(--color-text-muted)}.people-reminder-done-btn{width:30px;height:30px;border-radius:50%;background:var(--color-accent-soft);border:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.people-reminder-form{display:flex;flex-direction:column;gap:8px}.people-interaction-list{display:flex;flex-direction:column;gap:10px}.people-interaction-row{display:flex;gap:10px;align-items:flex-start}.people-interaction-icon{width:28px;height:28px;border-radius:50%;background:#ffffff12;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0;margin-top:1px}.people-interaction-body{flex:1;display:flex;flex-direction:column;gap:2px}.people-interaction-title{font-size:.9rem;font-weight:500}.people-interaction-date{font-size:.72rem;color:var(--color-text-muted)}.people-interaction-note{font-size:.82rem;color:var(--color-text-secondary);margin:4px 0 0;line-height:1.4}.people-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center;color:var(--color-text-muted)}.people-empty-state h3{margin:0;font-size:1rem;color:var(--color-text)}.people-empty-state p{margin:0;font-size:.85rem}.people-empty-interactions{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:var(--color-text-muted);text-align:center}.people-empty-interactions p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.people-empty-interactions small{font-size:.78rem}.people-form{display:flex;flex-direction:column;gap:16px;padding:4px 0 16px}.people-form-field{display:flex;flex-direction:column;gap:8px}.people-form-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.people-form-input{width:100%;padding:10px 12px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:.9rem;outline:none;box-sizing:border-box}.people-form-input:focus{border-color:var(--color-accent)}.people-form-textarea{resize:none;line-height:1.5}.people-chip-row{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto}.people-chip-row.wrap{flex-wrap:wrap;overflow-x:visible}.people-chip{padding:6px 12px;border-radius:20px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);color:var(--color-text-secondary);font-size:.82rem;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.people-chip.small{padding:4px 10px;font-size:.75rem}.people-chip.active{background:color-mix(in srgb,var(--color-accent) 18%,transparent);border-color:var(--color-accent);color:var(--color-accent)}.people-form-save{margin-top:4px}.person-sheet-field{display:flex;flex-direction:column;gap:8px}.person-sheet-label{font-size:.82rem;font-weight:600;color:var(--color-text-secondary, rgba(255,255,255,.5))}.person-chip-row{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.person-chip-row.wrap{flex-wrap:wrap;overflow-x:visible}.person-selected-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.person-sheet-input{width:100%;box-sizing:border-box}.people-view-toggle{display:flex;gap:2px;background:var(--color-surface-raised);border-radius:8px;padding:2px;margin-left:auto}.people-view-btn{all:unset;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;cursor:pointer;color:var(--color-text-muted)}.people-view-btn.active{background:var(--color-surface-active, #3b3b4f);color:var(--color-text)}.people-circles-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0}.people-circles-stats{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-size:.78rem;color:var(--color-text-muted)}.circles-stat-warn{color:#fb923c}.people-circles-arena{position:relative;width:300px;height:300px;display:flex;align-items:center;justify-content:center}.circles-center-node{position:absolute;width:40px;height:40px;border-radius:50%;background:var(--color-accent, #6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;z-index:4}.circles-ring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.circles-ring-1{--ring-r: 70px}.circles-ring-2{--ring-r: 108px}.circles-ring-3,.circles-ring-4{--ring-r: 138px}.circles-ring>.circle-node:nth-child(1){transform:translate(calc(cos(0deg) * var(--ring-r)),calc(sin(0deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(2){transform:translate(calc(cos(51.4deg) * var(--ring-r)),calc(sin(51.4deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(3){transform:translate(calc(cos(102.8deg) * var(--ring-r)),calc(sin(102.8deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(4){transform:translate(calc(cos(154.3deg) * var(--ring-r)),calc(sin(154.3deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(5){transform:translate(calc(cos(205.7deg) * var(--ring-r)),calc(sin(205.7deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(6){transform:translate(calc(cos(257.1deg) * var(--ring-r)),calc(sin(257.1deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(7){transform:translate(calc(cos(308.6deg) * var(--ring-r)),calc(sin(308.6deg) * var(--ring-r)))}.circles-ring>.circle-node:nth-child(8){transform:translate(calc(cos(360deg) * var(--ring-r)),calc(sin(360deg) * var(--ring-r)))}.circle-node{all:unset;position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}.circle-node-avatar{position:relative;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--avatar-color, #6366f1) 20%,transparent);border:2px solid var(--avatar-color, #6366f1);color:var(--avatar-color, #6366f1);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.circle-node-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--color-bg)}.circle-node-dot.overdue{background:#fb923c}.circle-node-dot.reminder{background:#6366f1}.circle-node-label{font-size:.62rem;color:var(--color-text-muted);white-space:nowrap;max-width:40px;overflow:hidden;text-overflow:ellipsis}.circle-node-more{position:absolute;font-size:.65rem;color:var(--color-text-muted)}.people-insights-empty{padding:8px 0;color:var(--color-text-muted)}.people-insights-empty p{font-size:.85rem;margin:0 0 4px}.people-insights-empty small{font-size:.75rem}.people-insights-list{display:flex;flex-direction:column;gap:8px}.people-insight-row{font-size:.82rem;color:var(--color-text-secondary, #aaa);padding:6px 0;border-bottom:1px solid var(--color-divider, rgba(255,255,255,.06))}.people-insight-row:last-child{border-bottom:none}.people-insight-row strong{color:var(--color-text)}.people-insight-overdue{color:#fb923c}.people-rhythm-badge{font-size:.72rem;background:#6366f126;color:#a5b4fc;border-radius:6px;padding:2px 7px}.person-avatar-sm{width:28px;height:28px;font-size:.65rem}.person-avatar-md{width:36px;height:36px;font-size:.78rem}.person-avatar-lg{width:52px;height:52px;font-size:1.1rem}.person-last-contact.overdue{color:#fb923c}.day-context-people-section{display:flex;flex-direction:column;gap:8px}.day-context-people-label{font-size:.78rem;font-weight:650;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.day-context-people-chips{display:flex;gap:6px;flex-wrap:wrap}.pd-hero{display:flex;align-items:center;gap:16px;padding:16px;background:var(--group-bg);border:1px solid var(--group-border);border-radius:var(--radius-xl, 16px)}.pd-hero-meta{display:flex;flex-direction:column;gap:5px;min-width:0}.pd-last-contact{font-size:.82rem;color:var(--color-text-secondary)}.pd-last-contact.overdue{color:var(--color-warning, #facc15)}.pd-last-contact.muted{color:var(--color-text-muted)}.pd-reminder-badge{font-size:.75rem;padding:2px 8px;background:#fb923c26;color:#fb923c;border-radius:999px;align-self:flex-start}.pd-rhythm-badge{font-size:.75rem;color:var(--color-text-muted)}.pd-summary-row{display:flex;gap:8px;flex-wrap:wrap}.pd-summary-cell{display:flex;flex-direction:column;align-items:center;padding:10px 14px;background:var(--group-bg);border:1px solid var(--group-border);border-radius:var(--radius-lg, 12px);min-width:64px;flex:1}.pd-summary-val{font-size:1.25rem;font-weight:700;color:var(--color-accent);line-height:1}.pd-summary-label{font-size:.7rem;color:var(--color-text-muted);text-align:center;margin-top:2px}.pd-actions{display:flex;gap:8px;flex-wrap:wrap}.pd-actions>*{flex:1;min-width:0}.pd-section{background:var(--group-bg);border:1px solid var(--group-border);border-radius:var(--radius-xl, 16px);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.pd-section-header{display:flex;align-items:center;justify-content:space-between}.pd-section-title{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0}.pd-section-action{all:unset;font-size:.8rem;color:var(--color-accent);cursor:pointer;padding:2px 4px}.pd-notes{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.pd-empty-hint{font-size:.82rem;color:var(--color-text-muted);margin:0}.pd-facts-list{display:flex;flex-direction:column;gap:6px}.pd-fact-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff0a;border-radius:8px}.pd-fact-text{font-size:.88rem;color:var(--color-text);flex:1}.pd-fact-del{all:unset;color:var(--color-text-muted);cursor:pointer;font-size:1rem;width:20px;text-align:center;line-height:1;border-radius:4px}.pd-fact-del:hover{color:var(--color-danger)}.pd-add-fact-row{display:flex;gap:8px;align-items:center}.pd-fact-input{flex:1;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text);font-size:.88rem;outline:none}.pd-fact-input:focus{border-color:#2dcf9f66}.pd-fact-save-btn{all:unset;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--color-accent);padding:6px 10px;border:1px solid rgba(45,207,159,.3);border-radius:8px;white-space:nowrap}.pd-tags{display:flex;gap:6px;flex-wrap:wrap}.pd-show-more{all:unset;cursor:pointer;font-size:.8rem;color:var(--color-accent);padding:2px 0}.pd-rel-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.pd-rel-row{display:flex;align-items:center;gap:4px}.pd-rel-row-main{display:flex;align-items:center;gap:10px;padding:8px 4px;flex:1;min-width:0;background:none;border:none;text-align:left;cursor:pointer;color:inherit;border-radius:8px}.pd-rel-row-main:hover{background:#ffffff0a}.pd-rel-edit-btn{all:unset;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;border-radius:8px}.pd-rel-edit-btn:hover{background:#ffffff0f;color:var(--color-text)}.pd-rel-name{font-size:.88rem;color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-rel-type{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.pd-rel-arrow{color:var(--color-text-muted);flex-shrink:0}.pd-rel-picker{display:flex;flex-direction:column;gap:8px;margin-top:4px}.pd-rel-picker-results{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:8px;padding:2px 8px;background:#ffffff08}.pd-interaction-list{display:flex;flex-direction:column}.pd-interaction-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--group-border)}.pd-interaction-row:last-child{border-bottom:none}.pd-interaction-date{font-size:.76rem;color:var(--color-text-muted);white-space:nowrap;padding-top:1px;min-width:52px}.pd-interaction-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pd-interaction-type{font-size:.85rem;font-weight:600;color:var(--color-text)}.pd-interaction-title{font-size:.83rem;color:var(--color-text-secondary)}.pd-interaction-note{font-size:.82rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.pd-interaction-topics{display:flex;gap:4px;flex-wrap:wrap}.pd-topic-chip{font-size:.72rem;padding:1px 7px;background:#ffffff0f;border-radius:999px;color:var(--color-text-muted)}.pd-days-list{display:flex;flex-direction:column}.pd-day-row{all:unset;display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--group-border);cursor:pointer;width:100%;box-sizing:border-box}.pd-day-row:last-child{border-bottom:none}.pd-day-date{font-size:.82rem;color:var(--color-text-secondary);min-width:60px}.pd-day-meta{display:flex;gap:8px;align-items:center;flex:1}.pd-day-mood,.pd-day-energy{font-size:.8rem;color:var(--color-text-secondary)}.pd-day-label{font-size:.78rem;color:var(--color-text-muted)}.pd-day-arrow{color:var(--color-text-muted);flex-shrink:0}.pd-reminders-list{display:flex;flex-direction:column;gap:4px}.pd-reminder-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#ffffff0a;border-radius:8px}.pd-reminder-body{flex:1;display:flex;flex-direction:column;gap:2px}.pd-reminder-body>span{font-size:.87rem}.pd-reminder-date{font-size:.75rem;color:var(--color-text-muted)}.pd-reminder-actions{display:flex;gap:4px}.pd-reminder-btn{all:unset;cursor:pointer;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.9rem}.pd-reminder-btn.done{background:#2dcf9f1f;color:var(--color-accent)}.pd-reminder-btn.dismiss{background:#ffffff0f;color:var(--color-text-muted)}.pd-reminder-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pd-date-input{padding:7px 10px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text);font-size:.82rem;outline:none;max-width:140px}.pd-promises-list{display:flex;flex-direction:column;gap:4px}.pd-promise-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff0a;border-radius:8px}.pd-promise-row.done{opacity:.5}.pd-promise-title{flex:1;font-size:.87rem}.pd-promise-date{font-size:.75rem;color:var(--color-text-muted)}.pd-promise-done-btn{all:unset;cursor:pointer;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#2dcf9f1f;color:var(--color-accent);flex-shrink:0}.pd-done-promises{border-top:1px solid var(--group-border);padding-top:8px;display:flex;flex-direction:column;gap:4px}.pd-done-check{color:var(--color-accent);opacity:.6}.pd-empty-section{text-align:center;padding:6px 0;color:var(--color-text-muted)}.pd-empty-section p{margin:0 0 2px;font-size:.87rem}.pd-empty-section small{font-size:.78rem}.people-nudge{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fbbf2414;border:1px solid rgba(251,191,36,.18);border-radius:10px;font-size:.83rem;color:#fbbf24}.person-card-badges{display:flex;gap:4px;align-items:center}.person-badge{font-size:.7rem;padding:1px 5px;border-radius:999px;font-weight:700}.person-badge.reminder{color:#fb923c}.person-badge.promise{background:#2dcf9f26;color:var(--color-accent)}.people-detail-content{display:flex;flex-direction:column;gap:8px;padding:12px 16px calc(90px + env(safe-area-inset-bottom,0px));overflow-y:auto;flex:1}.people-header-actions{display:flex;align-items:center;gap:6px}.people-gc-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:background .12s,opacity .12s}.people-gc-btn:hover{background:var(--color-bg)}.people-gc-btn.loading{opacity:.6;cursor:default}.people-gc-spinner{font-size:1rem;color:var(--color-text-muted);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.people-gc-banner{margin:0 16px 8px;padding:8px 12px;border-radius:10px;font-size:.85rem;font-weight:500}.people-gc-banner.ok{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.people-gc-banner.error{background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444}.ps-section{display:flex;flex-direction:column;gap:8px}.ps-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.ps-input{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text);font-size:.9rem;outline:none}.ps-input:focus{border-color:#2dcf9f66;box-shadow:0 0 0 2px #2dcf9f14}.ps-input::placeholder{color:var(--color-text-muted)}textarea.ps-input{resize:vertical}.ps-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ps-name-middle{grid-column:1 / -1}.ps-chip-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.ps-chip-wrap{flex-wrap:wrap;overflow-x:visible}.ps-contact-row{display:flex;gap:6px;align-items:center}.ps-contact-type{flex-shrink:0;padding:8px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text-secondary);font-size:.8rem;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer}.ps-contact-value{flex:1;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text);font-size:.88rem;outline:none}.ps-contact-value:focus{border-color:#2dcf9f66}.ps-contact-remove{all:unset;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--color-text-muted);border-radius:6px;flex-shrink:0}.ps-contact-remove:hover{color:var(--color-danger)}.ps-add-contact-row{display:flex;gap:6px;flex-wrap:wrap}.ps-add-contact-btn{all:unset;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--color-accent);padding:5px 10px;border:1px solid rgba(45,207,159,.25);border-radius:999px;white-space:nowrap}.ps-inline-field{display:flex;align-items:center;gap:10px}.ps-inline-field>span{font-size:.83rem;color:var(--color-text-secondary);white-space:nowrap}.ps-inline-field input{flex:1}.pd-contact-block{display:flex;flex-direction:column;gap:2px;padding-bottom:4px}.pd-contact-job-title{font-size:.9rem;font-weight:600;color:var(--color-text)}.pd-contact-company{font-size:.85rem;color:var(--color-text-secondary)}.pd-contact-industry{font-size:.78rem;color:var(--color-text-muted)}.pd-contact-row{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--group-border)}.pd-contact-row:last-child{border-bottom:none}.pd-contact-type{font-size:.76rem;color:var(--color-text-muted);min-width:88px;flex-shrink:0}.pd-contact-value{font-size:.88rem;color:var(--color-text);text-decoration:none;flex:1;word-break:break-all}a.pd-contact-value:hover{color:var(--color-accent)}.checkin-people-section{display:flex;flex-direction:column;gap:8px;padding:12px 0 4px}.checkin-people-label{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.checkin-people-chips{display:flex;flex-wrap:wrap;gap:6px}:root{--sleep-bar-short: #f87171;--sleep-bar-normal: #60a5fa;--sleep-bar-good: #34d399}.sleep-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:14px 16px 10px;margin:0}.sleep-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sleep-chart-title{font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.sleep-chart-legend{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--color-text-muted)}.sleep-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:2px}.sleep-legend-dot.short{background:var(--sleep-bar-short)}.sleep-legend-dot.normal{background:var(--sleep-bar-normal)}.sleep-legend-dot.good{background:var(--sleep-bar-good)}.sleep-chart-area{position:relative;height:100px}.sleep-chart-target-line{position:absolute;left:0;right:0;border-top:1px dashed rgba(255,255,255,.18);pointer-events:none;z-index:1}.sleep-chart-target-label{position:absolute;right:0;top:-16px;font-size:.65rem;color:var(--color-text-muted)}.sleep-chart-bars{display:flex;align-items:flex-end;gap:3px;height:100%;width:100%}.sleep-chart-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;gap:3px}.sleep-chart-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.sleep-chart-bar{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease}.sleep-chart-bar-empty{width:100%;height:2px;background:#ffffff0f;border-radius:2px}.sleep-chart-day{font-size:.62rem;color:var(--color-text-muted);line-height:1;white-space:nowrap}.sleep-chart-bar-col.today .sleep-chart-day{color:var(--color-accent);font-weight:700}.sleep-quality-emoji{font-size:1rem;line-height:1}.sleep-factors-card h3{font-size:.85rem;font-weight:600;margin:0 0 10px;color:var(--color-text)}.sleep-factors-list{display:flex;flex-direction:column;gap:8px}.sleep-factor-row{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:8px}.sleep-factor-label{font-size:.78rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sleep-factor-bar-wrap{height:6px;background:#ffffff12;border-radius:3px;overflow:hidden}.sleep-factor-bar{height:100%;border-radius:3px;transition:width .4s ease}.sleep-factor-bar--good{background:var(--sleep-bar-good, #4ade80)}.sleep-factor-bar--neutral{background:var(--sleep-bar-normal, #60a5fa)}.sleep-factor-bar--bad{background:var(--sleep-bar-short, #f87171)}.sleep-factor-score{font-size:.72rem;font-weight:600;color:var(--color-text-muted);min-width:24px;text-align:right}.sleep-factors-hint{display:block;margin-top:10px;font-size:.7rem;color:var(--color-text-muted)}.day-people-card{background:var(--color-surface);border-radius:var(--radius-card, 14px);padding:14px 16px;margin:0 0 10px}.day-people-card h3{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.day-people-chips{display:flex;flex-wrap:wrap;gap:7px}.day-people-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;background:#ffffff12;font-size:.8rem;color:var(--color-text-secondary);text-decoration:none;cursor:pointer;border:none}.day-people-chip-avatar{width:20px;height:20px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pa-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.pa-stat{background:var(--color-surface);border-radius:var(--radius-card, 14px);padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:3px}.pa-stat strong{font-size:1.2rem;font-weight:700;color:var(--color-text);line-height:1}.pa-stat span{font-size:.65rem;color:var(--color-text-muted);line-height:1.2}.pa-section{background:var(--color-surface);border-radius:var(--radius-card, 14px);padding:14px 16px;margin-bottom:10px}.pa-section h3,.pa-section-title{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px}.pa-person-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);width:100%;background:none;border-left:none;border-right:none;border-top:none;text-align:left;cursor:pointer;color:inherit}.pa-person-row:last-child{border-bottom:none;padding-bottom:0}.pa-person-row:first-child{padding-top:0}.pa-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pa-person-info{flex:1;min-width:0}.pa-person-name{font-size:.85rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-person-meta{font-size:.72rem;color:var(--color-text-muted)}.pa-person-stat{font-size:.72rem;font-weight:600;color:var(--color-text-secondary);flex-shrink:0;margin-right:4px}.pa-person-stat.overdue{color:var(--color-warning, #f59e0b)}.pa-empty{font-size:.82rem;color:var(--color-text-muted);text-align:center;padding:20px 0}.people-analytics{display:flex;flex-direction:column;gap:0;padding:0}.data-sources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.data-source-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:12px;background:#ffffff0a;opacity:.45;text-align:center}.data-source-cell.active{opacity:1;background:#ffffff12}.data-source-label{font-size:.72rem;font-weight:500;color:var(--color-text);line-height:1.2}.data-source-hint{font-size:.62rem;color:var(--color-text-muted);line-height:1}:root[data-theme=light] .data-source-cell{background:#0000000a}:root[data-theme=light] .data-source-cell.active{background:#00000012}.sleep-target-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--color-surface);border-radius:var(--radius-card, 14px);margin-bottom:8px}.sleep-target-label{font-size:.82rem;color:var(--color-text-secondary)}.sleep-target-edit{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;color:var(--color-text);font-size:.85rem;font-weight:600;padding:0}.sleep-target-edit strong{color:var(--color-accent)}.sleep-target-picker{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:260px}.sleep-target-chip{padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer}.sleep-target-chip.active{background:var(--color-accent);color:#fff;border-color:transparent}.sleep-target-chip.clear{color:var(--color-text-muted)}.sleep-norm-delta{font-size:.78rem;padding:8px 14px;border-radius:10px;margin:-4px 0 8px}.sleep-norm-delta.ok{background:#4ade801a;color:#4ade80}.sleep-norm-delta.low{background:#f871711a;color:#f87171}.sleep-stat-with-trend{display:flex;flex-direction:column;align-items:center;gap:3px}.sleep-trend-badge{font-size:.6rem;color:var(--color-text-muted);font-weight:400;line-height:1.2;text-align:center}.sleep-trend-badge.up{color:#4ade80}.sleep-trend-badge.down{color:#f87171}.sleep-weekday-card h3{font-size:.82rem;font-weight:600;margin:0 0 12px;color:var(--color-text)}.sleep-weekday-bars{display:flex;align-items:flex-end;gap:4px;height:80px}.sleep-weekday-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;height:100%}.sleep-weekday-val{font-size:.58rem;color:var(--color-text-muted);line-height:1;white-space:nowrap}.sleep-weekday-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.sleep-weekday-bar{width:100%;border-radius:3px 3px 0 0;background:var(--sleep-bar-normal, #60a5fa);min-height:3px}.sleep-weekday-bar.short{background:var(--sleep-bar-short, #f87171)}.sleep-weekday-day{font-size:.62rem;color:var(--color-text-muted);line-height:1}.sleep-weekday-hint{font-size:.7rem;color:var(--color-text-muted);margin:8px 0 0}.people-graph-wrap{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.graph-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;flex-wrap:wrap}.graph-tool-btn{padding:5px 12px;border-radius:8px;border:1px solid var(--color-border-strong);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s}.graph-tool-btn:hover,.graph-tool-btn.active{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.graph-connect-hint{font-size:.75rem;color:var(--color-accent);flex:1}.graph-zoom-btns{display:flex;gap:4px;margin-left:auto}.graph-zoom-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--color-border-strong);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.graph-zoom-btn:hover{background:var(--color-surface-soft);color:var(--color-text)}.people-graph-svg{flex:1;width:100%;min-height:0}.graph-node{cursor:pointer}.graph-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 12px;border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.graph-legend-item{font-size:.75rem;opacity:.85}.graph-empty{text-align:center;padding:32px 16px;color:var(--color-text-muted)}.people-tree-wrap{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.tree-header-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.tree-count{font-size:.8rem;color:var(--color-text-muted)}.tree-scroll-area{flex:1;overflow:auto;padding:16px}.tree-root-row{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;justify-content:center}.tree-family-unit{display:flex;flex-direction:column;align-items:center;gap:0}.tree-couple-row,.tree-couple-pair{display:flex;align-items:center;gap:4px}.tree-spouse-line{font-size:.85rem;color:#f472b6;opacity:.8}.tree-children-connector{width:2px;height:20px;background:var(--color-border-strong);margin:0 auto}.tree-children-row{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:center;padding:16px 8px 0;border-top:2px solid var(--color-border-strong)}.tree-person-bubble{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 6px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-elevated);cursor:pointer;min-width:52px;transition:background .13s}.tree-person-bubble:hover{background:var(--color-surface-soft);border-color:var(--color-accent)}.tree-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.tree-name{font-size:.7rem;color:var(--color-text-secondary);text-align:center;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-surname{font-size:.63rem;color:var(--color-text-muted);text-align:center;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:260px;text-align:center;padding:32px 16px;color:var(--color-text-secondary)}.tree-empty-icon{font-size:2.5rem}.tree-empty-state h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.tree-empty-state p{font-size:.82rem;color:var(--color-text-muted);margin:0;max-width:260px}.tree-import-btn,.tree-import-btn-sm{padding:8px 18px;border-radius:10px;border:1px solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.tree-import-btn-sm{padding:4px 12px;font-size:.75rem}.tree-import-btn:hover,.tree-import-btn-sm:hover{background:#2dcf9f38}.tree-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-surface)}.people-tree-svg{flex:1;display:block;background:var(--color-surface-soft)}.family-tree-view{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--color-surface)}.tree-gen-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 12px 80px;display:flex;flex-direction:column}.tree-gen-row{padding:14px 0 10px;position:relative}.tree-focus-row>.tree-gen-label{color:var(--color-accent)}.tree-row-connector{height:18px;display:flex;justify-content:center;position:relative;margin-top:-14px;margin-bottom:0}.tree-row-connector:before{content:"";position:absolute;top:0;left:50%;width:1px;height:100%;background:var(--color-border);transform:translate(-50%)}.tree-gen-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);font-weight:700;margin-bottom:8px;padding:0 2px}.tree-gen-cards{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:4px;scroll-snap-type:x proximity}.tree-gen-cards::-webkit-scrollbar{display:none}.tree-couple-group{display:flex;align-items:center;flex-shrink:0;gap:0}.tree-card-slot{display:flex;align-items:center;flex-shrink:0}.tree-spouse-line{width:12px;height:1.5px;background:#f472b6;flex-shrink:0;opacity:.7}.tree-person-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;min-height:64px;padding:8px 5px;border-radius:12px;border:1.5px solid var(--color-border);background:var(--color-surface-elevated);cursor:pointer;gap:2px;flex-shrink:0;scroll-snap-align:start;transition:border-color .13s,background .13s,transform .1s;text-align:center}.tree-person-card:active{transform:scale(.96)}.tree-person-card.male{background:#3b82f61a;border-color:#3b82f647}.tree-person-card.female{background:#ec48991a;border-color:#ec489947}.tree-person-card.focused{border-color:var(--color-accent);background:#2dcf9f1f}.tree-person-card.self{border-color:var(--color-accent);background:#2dcf9f2e}.tree-person-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px #2dcf9f59}.tree-card-first{font-size:11.5px;font-weight:700;color:var(--color-text);line-height:1.2;word-break:break-word;max-width:100%}.tree-card-last{font-size:9.5px;color:var(--color-text-secondary);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-card-year{font-size:9px;color:var(--color-text-muted)}.tree-mini-panel{position:sticky;bottom:0;background:var(--color-surface-elevated);border-top:1px solid var(--color-border);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;z-index:10}.tree-mini-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tree-mini-info strong{font-size:.88rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.tree-mini-info span{font-size:.72rem;color:var(--color-text-muted)}.tree-mini-actions{display:flex;gap:5px;flex-shrink:0}.tree-mini-btn{padding:6px 11px;border-radius:9px;border:1px solid var(--color-border);background:none;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .13s,border-color .13s}.tree-mini-btn.primary{border-color:var(--color-accent);color:var(--color-accent)}.tree-mini-btn:active{background:var(--color-surface-soft)}.tree-mini-close{width:26px;height:26px;border-radius:50%;border:none;background:var(--color-border);color:var(--color-text-muted);font-size:11px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}.tree-reset-focus{padding:4px 10px;border-radius:8px;border:1px solid var(--color-border);background:none;color:var(--color-text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.tree-whoami-btn{padding:4px 10px;border-radius:8px;border:1px solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.tree-whoami-btn:hover{background:#2dcf9f38}.self-picker-overlay{position:fixed;inset:0;background:#0000008c;z-index:200;display:flex;align-items:flex-end;justify-content:center}.self-picker-modal{width:100%;max-width:480px;background:var(--color-surface-elevated);border-radius:18px 18px 0 0;padding:0 0 env(safe-area-inset-bottom,16px);max-height:72vh;display:flex;flex-direction:column}.self-picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}.self-picker-title{font-size:1rem;font-weight:700;color:var(--color-text)}.self-picker-close{background:none;border:none;font-size:1.4rem;color:var(--color-text-muted);cursor:pointer;padding:0 4px;line-height:1}.self-picker-search{margin:0 16px 8px;padding:8px 12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text);font-size:.9rem;width:calc(100% - 32px);box-sizing:border-box;outline:none}.self-picker-search:focus{border-color:var(--color-accent)}.self-picker-list{flex:1;overflow-y:auto;padding:0 8px 8px}.self-picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border-radius:10px;background:none;border:none;color:var(--color-text);font-size:.9rem;text-align:left;cursor:pointer;transition:background .12s}.self-picker-item:hover{background:var(--color-surface-soft)}.self-picker-item.selected{background:var(--color-accent-soft);color:var(--color-accent)}.self-picker-name{flex:1}.self-picker-check{color:var(--color-accent);font-weight:700;font-size:1rem}.rel-sheet-pair{display:flex;align-items:center;gap:10px;padding:10px 0;justify-content:center}.rel-sheet-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.rel-sheet-arrow{font-size:1.1rem;color:var(--color-accent)}.ged-import-banner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;background:var(--color-surface-elevated);border-top:1px solid var(--color-border);text-align:center}.ged-import-result{font-size:.82rem;color:var(--color-accent);font-weight:600}.ged-import-error{font-size:.82rem;color:var(--color-danger)}.habit-quick-create{display:flex;align-items:center;gap:8px;padding:8px 16px;margin:0 0 4px}.habit-quick-create-input{flex:1;min-width:0;padding:9px 14px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);font-size:.9rem;outline:none}.habit-quick-create-input::placeholder{color:var(--color-text-muted)}.habit-quick-create-input:focus{border-color:var(--color-accent)}.habit-quick-create-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:var(--color-accent);color:#000;cursor:pointer}.habit-week-dots{display:flex;gap:5px;padding:4px 16px 8px}.habit-week-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);flex-shrink:0}button.habit-week-dot{border:none;cursor:pointer;padding:0;position:relative;transition:transform .12s,opacity .12s}button.habit-week-dot:before{content:"";position:absolute;inset:-10px}button.habit-week-dot:active{transform:scale(1.5);opacity:.8}button.habit-week-dot:disabled{cursor:default;opacity:.5}.habit-week-dot.green{background:var(--color-success, #2dcf9f)}.habit-week-dot.orange{background:var(--color-warning, #ffb452)}.habit-week-dot.red{background:var(--color-danger, #ff7b7b)}.habit-week-dot.muted{background:#ffffff26}.habit-week-dot.partial{background:#2dcf9f59}.habit-week-dot.empty{background:var(--color-border)}.habit-week-dot.today{box-shadow:0 0 0 2px var(--color-accent)}.habit-schedule-pills{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.habit-schedule-pill{padding:6px 14px;border-radius:20px;border:1px solid var(--color-border);background:none;color:var(--color-text-muted);font-size:.82rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.habit-schedule-pill.active{border-color:var(--color-accent);background:#2dcf9f1f;color:var(--color-accent);font-weight:600}@keyframes ftv-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ftv-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-bg)}.ftv-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.ftv-toolbar-side{display:flex;gap:6px;min-width:80px}.ftv-toolbar-right{justify-content:flex-end}.ftv-toolbar-title{flex:1;text-align:center;font-size:.92rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ftv-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.78rem;cursor:pointer;white-space:nowrap}.ftv-btn.accent{border-color:var(--color-accent);color:var(--color-accent)}.ftv-btn.overview{font-size:1rem;padding:4px 8px}.ftv-content{flex:1;overflow-y:auto;padding:16px 12px 32px;display:flex;flex-direction:column;gap:4px;animation:ftv-fade-in .2s ease}.ftv-tier{display:flex;flex-direction:column;align-items:center;gap:6px}.ftv-tier-label{font-size:.72rem;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.ftv-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.ftv-vline{width:2px;height:28px;background:var(--color-border-strong, #333);margin:0 auto;opacity:.5}.ftv-siblings-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:4px 0 8px}.ftv-sib-chip{padding:4px 10px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.78rem;cursor:pointer}.ftv-sib-chip.male{border-color:#3b82f666;color:#60a5fa}.ftv-sib-chip.female{border-color:#ec489966;color:#f472b6}.ftv-sib-chip.more{color:var(--color-text-muted)}.ftv-focus-tier{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;padding:4px 0}.ftv-card{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface-elevated);cursor:pointer;min-width:80px;max-width:110px;position:relative;gap:2px}.ftv-card.male{border-color:#3b82f680;background:#3b82f61a}.ftv-card.female{border-color:#ec489980;background:#ec48991a}.ftv-card.self{border-color:var(--color-accent);outline:2px solid rgba(45,207,159,.3)}.ftv-card-first{font-size:.85rem;font-weight:600;color:var(--color-text)}.ftv-card-last{font-size:.72rem;color:var(--color-text-muted)}.ftv-card-year{font-size:.68rem;color:var(--color-text-muted);opacity:.7}.ftv-chevron-up,.ftv-chevron-down{font-size:.65rem;opacity:.6;color:var(--color-text-muted)}.ftv-focus-card{display:flex;flex-direction:column;align-items:center;padding:14px 20px;border-radius:16px;border:2px solid var(--color-accent);background:#2dcf9f14;cursor:pointer;gap:4px;min-width:110px}.ftv-focus-card.male{border-color:#3b82f6;background:#3b82f61a}.ftv-focus-card.female{border-color:#ec4899;background:#ec48991a}.ftv-focus-card.self{box-shadow:0 0 0 3px #2dcf9f33}.ftv-avatar{width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:#000;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;margin-bottom:4px}.ftv-focus-card.male .ftv-avatar{background:#3b82f6;color:#fff}.ftv-focus-card.female .ftv-avatar{background:#ec4899;color:#fff}.ftv-focus-name{font-size:1rem;font-weight:700;color:var(--color-text)}.ftv-focus-last{font-size:.82rem;color:var(--color-text-muted)}.ftv-focus-year{font-size:.75rem;color:var(--color-text-muted);opacity:.7}.ftv-spouse-group{display:flex;align-items:center;gap:0}.ftv-spouse-connector{display:flex;align-items:center;gap:4px;padding:0 4px}.ftv-spouse-line{width:18px;height:2px;background:#f472b6;opacity:.6}.ftv-heart{font-size:.85rem;color:#f472b6;line-height:1}.ftv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;text-align:center;padding:32px;color:var(--color-text-muted)}.ftv-empty-icon{font-size:3rem}.ftv-empty h3{color:var(--color-text);margin:0}.ftv-empty p{margin:0;font-size:.9rem}.ftv-primary-btn{padding:10px 24px;border-radius:12px;border:none;background:var(--color-accent);color:#000;font-size:.9rem;font-weight:600;cursor:pointer}.people-tree-wrap{position:relative;flex:1;min-height:0;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.tree-toolbar{position:absolute;top:8px;left:8px;right:8px;z-index:20;display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-wrap:wrap}.tree-focus-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--color-accent);background:#2dcf9f1a;color:var(--color-accent);font-size:.78rem;cursor:pointer;white-space:nowrap}.tree-import-btn-sm{padding:5px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.78rem;cursor:pointer;white-space:nowrap}.tree-count{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.tree-whoami-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.78rem;cursor:pointer;white-space:nowrap;margin-left:auto}.tree-zoom-btns{display:flex;gap:4px}.tree-menu-wrap{position:relative;margin-left:auto}.tree-menu-popover{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;min-width:160px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;z-index:50;box-shadow:0 4px 16px #0000004d}.tree-menu-item{padding:10px 12px;text-align:left;border:none;background:none;color:var(--color-text);font-size:.82rem;cursor:pointer;border-bottom:1px solid var(--color-border);white-space:nowrap}.tree-menu-item:last-child{border-bottom:none}.tree-menu-item:hover{background:#2dcf9f14}.tree-search-wrap{position:absolute;top:56px;left:8px;right:8px;z-index:20;padding:0}.tree-search-input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-elevated) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text);font-size:.82rem}.tree-search-results{position:absolute;top:calc(100% - 6px);left:10px;right:10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;z-index:50;box-shadow:0 4px 16px #0000004d}.tree-search-result{display:block;width:100%;padding:9px 12px;text-align:left;border:none;background:none;color:var(--color-text);font-size:.85rem;cursor:pointer;border-bottom:1px solid var(--color-border)}.tree-search-result:last-child{border-bottom:none}.tree-search-result:hover{background:#2dcf9f14}.people-tree-svg{position:absolute;inset:0;display:block;width:100%;height:100%}.tree-node-g{cursor:pointer}.tree-node-g:active rect{opacity:.7}.tree-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;text-align:center;padding:32px;color:var(--color-text-muted)}.tree-empty-icon{font-size:3rem}.tree-empty-state h3{color:var(--color-text)}.tree-import-btn{padding:10px 24px;border-radius:12px;border:none;background:var(--color-accent);color:#000;font-size:.9rem;font-weight:600;cursor:pointer}
