:root{color-scheme:light dark;--space-micro: 4px;--space-compact: 8px;--space-related: 12px;--space-standard: 16px;--space-comfortable: 20px;--space-section: 24px;--space-major: 32px;--space-large: 40px;--space-page: 48px;--font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--type-title: 1.5rem;--type-body: 1.0625rem;--type-small: .8125rem;--line-title: 1.22;--line-body: 1.295;--line-small: 1.385;--type-large-title: var(--type-title);--type-page-title: var(--type-title);--type-section-title: var(--type-body);--type-headline: var(--type-body);--type-callout: var(--type-body);--type-secondary: var(--type-small);--type-footnote: var(--type-small);--type-caption: var(--type-small);--line-large-title: var(--line-title);--line-page-title: var(--line-title);--line-section-title: var(--line-body);--line-headline: var(--line-body);--line-secondary: var(--line-small);--line-footnote: var(--line-small);--line-caption: var(--line-small);--color-canvas: #f7f7f3;--color-surface-primary: #ffffff;--color-surface-secondary: #fafaf8;--color-ink-primary: #1f211f;--color-ink-secondary: #6e736b;--color-ink-tertiary: #9a9e97;--color-separator: rgba(31, 33, 31, .1);--color-border: rgba(31, 33, 31, .14);--color-accent: #3b614a;--color-accent-soft: #dbe6d6;--color-on-accent: #ffffff;--color-warning: #c28538;--color-warning-soft: #f7ead8;--color-destructive: #ad3833;--color-destructive-soft: #f7e6e4;--color-cell-done: #3b614a;--color-cell-protected: #9ab3a2;--color-cell-missed: #d9d9d4;--color-cell-empty: #ededE8;--color-cell-paused: #f7f7f3;--color-chart: #3b614a;--color-gridline: rgba(31, 33, 31, .1);--radius-control: 8px;--radius-standard: 12px;--radius-transient: 17px;--radius-pill: 999px;--shadow-floating: 0 16px 48px rgba(31, 33, 31, .14), 0 2px 8px rgba(31, 33, 31, .08);--material-floating: rgba(255, 255, 255, .9);--material-blur: saturate(1.3) blur(20px);--color-scrim: rgba(20, 22, 20, .26);--motion-immediate: .12s;--motion-standard: .2s;--motion-spatial: .36s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-spring: linear(0, .03 2%, .15 5%, .45 11%, .73 18%, .9 26%, 1.02 38%, 1 55%, 1);--content-reading: 680px;--content-wide: 1120px;--target-min: 44px;--sp-1: var(--space-micro);--sp-2: var(--space-compact);--sp-3: var(--space-related);--sp-4: var(--space-standard);--sp-5: var(--space-section);--sp-6: var(--space-major);--sp-7: var(--space-page);--text-xs: var(--type-small);--text-sm: var(--type-small);--text-base: var(--type-body);--text-lg: var(--type-body);--text-title: var(--type-title);--text-focus: clamp(3rem, 14vw, 4.75rem);--leading-body: var(--line-body);--leading-tight: var(--line-headline);--bg: var(--color-canvas);--surface: var(--color-surface-primary);--surface-2: var(--color-surface-secondary);--ink: var(--color-ink-primary);--ink-2: var(--color-ink-secondary);--ink-3: var(--color-ink-tertiary);--hairline: var(--color-separator);--border: var(--color-border);--accent: var(--color-accent);--accent-soft: var(--color-accent-soft);--on-accent: var(--color-on-accent);--danger: var(--color-destructive);--danger-soft: var(--color-destructive-soft);--ok: var(--color-accent);--ok-text: var(--color-ink-primary);--freeze: var(--color-accent);--cell-done: var(--color-cell-done);--cell-frozen: var(--color-cell-protected);--cell-missed: var(--color-cell-missed);--cell-empty: var(--color-cell-empty);--cell-paused: var(--color-cell-paused);--chart-bar: var(--color-chart);--gridline: var(--color-gridline);--radius-sm: var(--radius-control);--radius: var(--radius-standard);--radius-lg: var(--radius-transient);--shadow-float: var(--shadow-floating);--material: var(--material-floating);--scrim: var(--color-scrim);--dur-fast: var(--motion-immediate);--dur: var(--motion-standard);--dur-slow: var(--motion-spatial);--ease-out: var(--ease-standard);--font: var(--font-system)}@media(prefers-color-scheme:dark){:root{--color-canvas: #000000;--color-surface-primary: #121312;--color-surface-secondary: #1b1c1a;--color-ink-primary: #f3f4f0;--color-ink-secondary: #a5aaa1;--color-ink-tertiary: #777c74;--color-separator: rgba(255, 255, 255, .12);--color-border: rgba(255, 255, 255, .14);--color-accent: #7fa78d;--color-accent-soft: #1e3024;--color-on-accent: #07130b;--color-warning: #d9a15b;--color-warning-soft: #372719;--color-destructive: #ff6963;--color-destructive-soft: #391b19;--color-cell-done: #7fa78d;--color-cell-protected: #395a45;--color-cell-missed: #2a2c29;--color-cell-empty: #181917;--color-cell-paused: #0e0f0e;--color-chart: #7fa78d;--color-gridline: rgba(255, 255, 255, .12);--material-floating: rgba(18, 19, 18, .9);--shadow-floating: 0 16px 48px rgba(0, 0, 0, .72), 0 2px 8px rgba(0, 0, 0, .5);--color-scrim: rgba(0, 0, 0, .55)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--text-base);line-height:var(--leading-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--color-ink-primary)}h1{font-size:var(--type-page-title);line-height:var(--line-page-title);font-weight:650;letter-spacing:-.02em}h2{font-size:var(--type-section-title);line-height:var(--line-section-title);font-weight:650}h3,h4{font-size:var(--type-headline);line-height:var(--line-headline);font-weight:600}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}input,textarea,select{font:inherit;color:var(--ink)}a{color:inherit;text-decoration:none}::placeholder{color:var(--ink-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}::view-transition-group(focus-surface),::view-transition-group(focus-title){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-spring)}::view-transition-old(focus-surface),::view-transition-new(focus-surface),::view-transition-old(focus-title),::view-transition-new(focus-title){mix-blend-mode:normal}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-standard)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);min-height:var(--target-min);border-radius:var(--radius-control);font-weight:500;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){opacity:.85}.btn-ghost{color:var(--ink-2);border-color:var(--border);background:var(--surface)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-quiet{color:var(--accent);padding:var(--sp-2) var(--sp-3)}.btn-quiet:hover:not(:disabled){background:var(--accent-soft);border-radius:var(--radius)}.btn-danger{color:var(--danger);border-color:var(--border);background:var(--surface)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{padding:var(--space-compact) var(--space-related);min-height:var(--target-min);font-size:var(--text-sm)}.field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.field>label{font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.input,textarea.input,select.input{width:100%;padding:var(--sp-2) var(--sp-3);min-height:var(--target-min);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);outline:none;transition:border-color var(--dur-fast) var(--ease-out);font-size:var(--text-base)}.input:focus{border-color:var(--accent)}textarea.input{resize:vertical;min-height:72px}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--text-sm);color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-pill);padding:2px var(--sp-2);white-space:nowrap}.hint{font-size:var(--text-sm);color:var(--ink-3)}.error-text{font-size:var(--text-sm);color:var(--danger)}.divider{border:none;border-top:1px solid var(--hairline);margin:0}.segmented{display:inline-flex;background:var(--surface-2);border-radius:var(--radius);padding:2px;gap:2px}.segmented button{padding:var(--sp-1) var(--sp-3);min-height:var(--target-min);border-radius:calc(var(--radius) - 2px);font-size:var(--text-sm);color:var(--ink-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014;font-weight:500}.check{position:relative;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink-3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);color:transparent}.check:after{content:"";position:absolute;inset:-9px;border-radius:50%}.check:hover{border-color:var(--accent)}.check[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.check.check-skipped{background:var(--surface-2);border-color:var(--hairline);color:var(--ink-3)}.check.check-pop{animation:check-pop var(--dur-slow) var(--ease-spring)}.check-pop .check-stroke{stroke-dasharray:24;stroke-dashoffset:24;animation:check-draw var(--dur) var(--ease-out) 60ms forwards}@keyframes check-pop{0%{transform:scale(.82)}to{transform:scale(1)}}@keyframes check-draw{to{stroke-dashoffset:0}}.sheet-backdrop{position:fixed;inset:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fade-in var(--dur-fast) var(--ease-out)}.sheet{background:var(--material);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-float);width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-5) var(--sp-5) calc(var(--sp-5) + env(safe-area-inset-bottom));animation:sheet-up var(--dur-slow) var(--ease-spring)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.sheet{background:var(--surface)}}@media(min-width:700px){.sheet-backdrop{align-items:center;padding:var(--sp-5)}.sheet{border-radius:var(--radius-lg);border-bottom:1px solid var(--border);max-height:80vh}}.sheet-title{font-size:var(--type-section-title);line-height:var(--line-section-title);font-weight:650;margin-bottom:var(--sp-4)}.sheet-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-2)}.sheet-actions .spacer{margin-right:auto}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(32px);opacity:.4}}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + var(--sp-1));background:var(--material);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-float);min-width:170px;padding:var(--sp-1);z-index:30;animation:menu-in var(--dur-fast) var(--ease-out);transform-origin:top right}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.menu{background:var(--surface)}}@keyframes menu-in{0%{opacity:0;transform:scale(.96) translateY(-2px)}}.menu button{display:block;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);min-height:var(--target-min);border-radius:var(--radius-sm);font-size:var(--text-base)}.menu button:hover{background:var(--surface-2)}.menu button.danger{color:var(--danger)}.icon-btn{position:relative;width:var(--target-min);height:var(--target-min);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--ink-3);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.progress{height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}.progress>div{height:100%;border-radius:2px;background:var(--accent);transition:width var(--dur-slow) var(--ease-spring)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{min-height:100dvh;display:flex;flex-direction:column}.shell-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:calc(var(--sp-4) + env(safe-area-inset-top)) var(--sp-4) calc(84px + env(safe-area-inset-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--material);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-top:1px solid var(--hairline);display:flex;justify-content:space-around;padding:var(--sp-1) var(--sp-2) calc(var(--sp-1) + env(safe-area-inset-bottom));z-index:40}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--text-xs);color:var(--ink-3);padding:var(--sp-1) var(--sp-3);min-height:44px;justify-content:center;border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out)}.tabbar a.active{color:var(--accent)}.tabbar svg{width:22px;height:22px}@media(min-width:900px){.shell{flex-direction:row}.tabbar{position:sticky;top:0;bottom:auto;height:100dvh;width:200px;flex-direction:column;justify-content:flex-start;gap:var(--sp-1);border-top:none;border-right:1px solid var(--hairline);padding:var(--sp-5) var(--sp-3);background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.tabbar a{flex-direction:row;gap:var(--sp-3);font-size:var(--text-base);padding:var(--sp-2) var(--sp-3);min-height:40px;justify-content:flex-start;width:100%}.tabbar a.active{background:var(--surface-2);color:var(--ink)}.tabbar a.active svg{color:var(--accent)}.brand{display:flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--text-base);padding:0 var(--sp-3) var(--sp-4)}.shell-main{padding:var(--sp-6) var(--sp-6) var(--sp-7)}}@media(max-width:899px){.brand{display:none}}.app-header{display:flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--text-base);margin-bottom:var(--sp-4)}@media(min-width:900px){.app-header{display:none}}.banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--sp-4)}.banner .btn{margin-left:auto}.banner-warn{background:var(--surface-2)}.screen-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-1)}.screen-head h1{font-size:var(--text-title);font-weight:700}.screen-head .right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.screen-sub{color:var(--ink-3);font-size:var(--text-base);margin-bottom:var(--sp-5)}.section-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:var(--sp-5) 0 var(--sp-2)}.today-goal-label{font-size:var(--text-sm);font-weight:700;color:var(--ink-3);margin:var(--sp-4) 2px var(--sp-2)}.today-list>div:first-child .today-goal-label{margin-top:0}.today-list-group{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.today-list-group>*+*{border-top:1px solid var(--hairline)}.swipe-wrap{position:relative;overflow:hidden;background:var(--surface-2)}.swipe-action{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--sp-5);font-size:var(--text-sm);font-weight:700;color:var(--ink-2);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.swipe-action.armed{color:var(--accent)}.swipe-action.schedule{justify-content:flex-start;padding-left:var(--sp-5);padding-right:0;color:var(--accent)}.planned-item-button{width:100%;text-align:left;color:inherit;border-radius:0}.planned-item-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swipe-wrap.swiping .swipe-action{opacity:1}.habit-row{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:60px;background:var(--surface);touch-action:pan-y}.habit-row.habit-startable{cursor:pointer}.habit-row.habit-startable:hover{background:color-mix(in srgb,var(--surface) 88%,var(--surface-2))}.focus-start{width:30px;height:30px;flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--accent);background:var(--surface);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.focus-start:hover{background:var(--accent-soft)}.focus-start:active{transform:scale(.94)}.manual-check-control{display:inline-flex;flex:0 0 auto}.habit-row.linger{animation:row-flash .7s var(--ease-out)}@keyframes row-flash{0%{background:var(--surface)}25%{background:var(--accent-soft)}to{background:var(--surface)}}.habit-main{flex:1;min-width:0}.habit-title{font-weight:500;display:flex;align-items:center;gap:var(--sp-2)}.habit-meta{font-size:var(--text-sm);color:var(--ink-3);display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.habit-done .habit-title{color:var(--ink-3);font-weight:400}.streak-chip{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap}.streak-chip.alive{color:var(--ok-text);font-weight:700}.freeze-ico{color:var(--freeze);display:inline-flex}.quota-dots{display:inline-flex;gap:3px;align-items:center}.quota-dots i{width:6px;height:6px;border-radius:50%;background:var(--surface-2);border:1px solid var(--hairline);transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.quota-dots i.filled{background:var(--accent);border-color:var(--accent)}.habit-expand{padding:0 var(--sp-4) var(--sp-4) 54px;background:var(--surface);display:flex;flex-direction:column;gap:var(--sp-2);animation:expand-in var(--dur) var(--ease-out)}@keyframes expand-in{0%{opacity:0;transform:translateY(-4px)}}.habit-expand .row{display:flex;gap:var(--sp-2)}.row-enter{animation:row-enter var(--dur-slow) var(--ease-spring)}@keyframes row-enter{0%{opacity:0;transform:translateY(-6px)}}.empty{text-align:center;padding:var(--sp-7) var(--sp-5);animation:fade-in var(--dur-slow) var(--ease-out)}.empty .glyph{color:var(--ink-3);margin-bottom:var(--sp-4)}.empty h2{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--sp-2)}.empty p{color:var(--ink-3);max-width:380px;margin:0 auto var(--sp-5)}.empty p:last-child{margin-bottom:0}.all-clear{text-align:center;padding:var(--sp-6) var(--sp-4) var(--sp-4);animation:fade-in var(--dur-slow) var(--ease-out)}.all-clear .glyph{color:var(--accent);margin-bottom:var(--sp-3)}.all-clear h2{font-size:var(--text-lg);font-weight:700}.all-clear p{color:var(--ink-3);margin-top:var(--sp-1);font-size:var(--text-sm)}.goal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-3)}.goal-card{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.goal-card:hover{border-color:var(--ink-3)}.goal-card:active{transform:scale(.99)}.goal-card .cat{font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.goal-card h3{font-size:var(--text-lg);font-weight:700;margin-top:calc(-1 * var(--sp-1))}.goal-card .milestone-line{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);color:var(--ink-3)}.goal-card .progress{flex:1}.goal-card .habit-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}details.archived-block summary{cursor:pointer;color:var(--ink-3);font-size:var(--text-sm);margin:var(--sp-5) 0 var(--sp-2);-webkit-user-select:none;user-select:none;min-height:44px;display:flex;align-items:center}.goal-card.archived{opacity:.72}.back-link{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--ink-3);font-size:var(--text-sm);margin-bottom:var(--sp-2);min-height:32px}.back-link:hover{color:var(--ink)}.detail-head{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-1)}.detail-head h1{font-size:var(--text-title);font-weight:700}.detail-head .cat{font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.detail-desc{color:var(--ink-2);margin:var(--sp-1) 0}.list-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.list-card>*+*{border-top:1px solid var(--hairline)}.milestone-row{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);min-height:48px;background:var(--surface)}.milestone-row.lifted{z-index:5;box-shadow:var(--shadow-float);border-radius:var(--radius);transform-origin:center}.milestone-row .check{width:22px;height:22px}.milestone-row .title{flex:1;min-width:0;transition:color var(--dur) var(--ease-out)}.milestone-row.done .title{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--hairline)}.milestone-row .target{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.milestone-row .target.overdue{color:var(--danger)}.drag-handle{position:relative;cursor:grab;color:var(--ink-3);padding:var(--sp-1);touch-action:none;display:inline-flex}.drag-handle:after{content:"";position:absolute;inset:-8px}.drag-handle:active{cursor:grabbing}.add-inline{display:flex;gap:var(--sp-2);align-items:center;padding:var(--sp-2) var(--sp-4);min-height:48px;background:var(--surface)}.add-inline input{flex:1;border:none;background:none;outline:none;padding:var(--sp-1) 0}.detail-habit{padding:var(--sp-3) var(--sp-4);min-height:60px;display:flex;align-items:center;gap:var(--sp-3)}.detail-habit .info{flex:1;min-width:0}.detail-habit .sub{font-size:var(--text-sm);color:var(--ink-3);display:flex;gap:var(--sp-2);flex-wrap:wrap}.journal-entry{padding:var(--sp-3) var(--sp-4)}.journal-entry .when{font-size:var(--text-xs);color:var(--ink-3);display:flex;align-items:center;gap:var(--sp-2)}.journal-entry .when .icon-btn{margin-left:auto;width:28px;height:28px}.journal-entry .body{margin-top:var(--sp-1);white-space:pre-wrap}.journal-composer{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.journal-composer .row{display:flex;justify-content:flex-end;gap:var(--sp-2)}.stats-habit{padding:var(--sp-4);margin-bottom:var(--sp-3)}.stats-habit .head{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}.stats-habit .head h3{font-size:var(--text-lg);font-weight:700}.stats-habit .head .goal{font-size:var(--text-sm);color:var(--ink-3)}.stats-habit .head .streaks{margin-left:auto;font-size:var(--text-sm);color:var(--ink-3)}.heatmap{overflow-x:auto;padding-bottom:var(--sp-1)}.heatmap-legend{display:flex;gap:var(--sp-4);font-size:var(--text-xs);color:var(--ink-3);margin-top:var(--sp-2);flex-wrap:wrap}.heatmap-legend span{display:inline-flex;align-items:center;gap:var(--sp-1)}.heatmap-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.trend{margin-top:var(--sp-4)}.trend-label{font-size:var(--text-xs);color:var(--ink-3);margin-bottom:var(--sp-1)}.stats-view-toggle{margin:calc(-1 * var(--sp-3)) 0 var(--sp-5)}.time-goal{margin-bottom:var(--sp-5)}.time-goal-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin:0 var(--sp-1) var(--sp-2)}.time-goal-head h2{font-size:var(--text-sm);font-weight:700;color:var(--ink-2)}.time-goal-head span{font-size:var(--text-sm);color:var(--ink-3)}.time-habit .trend{overflow-x:auto}.focus-screen{position:fixed;inset:0;z-index:100;min-height:100dvh;overflow:auto;display:grid;grid-template-rows:auto minmax(260px,1fr) auto auto;justify-items:center;background:var(--surface);color:var(--ink);padding:calc(var(--sp-6) + env(safe-area-inset-top)) var(--sp-5) calc(var(--sp-6) + env(safe-area-inset-bottom))}.focus-close{position:absolute;top:calc(var(--sp-4) + env(safe-area-inset-top));left:var(--sp-4)}.focus-head{text-align:center;max-width:560px}.focus-head h1,.focus-recovery h1{font-size:var(--text-title);line-height:var(--leading-tight);font-weight:700}.focus-kicker,.focus-goal{font-size:var(--text-sm);color:var(--ink-3);margin-bottom:var(--sp-1)}.focus-clock{--focus-progress: 0;width:min(68vw,270px);height:min(68vw,270px);align-self:center;position:relative;display:grid;place-items:center;border-radius:50%}.focus-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.focus-ring-track,.focus-ring-progress{fill:none;stroke-width:2}.focus-ring-track{stroke:var(--hairline)}.focus-ring-progress{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--focus-progress));transition:stroke-dashoffset var(--dur) var(--ease-out)}.focus-time{position:relative;z-index:1;font-size:var(--text-focus);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-.035em;line-height:1}.focus-screen.is-paused .focus-time{color:var(--ink-2)}.focus-clock.target-moment{animation:target-settle .7s var(--ease-spring)}.focus-clock.target-moment:after{content:"";position:absolute;inset:-8px;border-radius:50%;background:var(--accent-soft);opacity:0;z-index:0;animation:target-bloom .7s var(--ease-out)}@keyframes target-settle{45%{transform:scale(1.015)}}@keyframes target-bloom{30%{opacity:.6}to{opacity:0;transform:scale(1.025)}}.focus-target-copy{min-height:22px;text-align:center;color:var(--ink-3);font-size:var(--text-sm)}.focus-controls{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5)}.focus-pause{min-width:132px;min-height:48px;border-radius:var(--radius-pill);font-size:var(--text-lg)}.focus-recovery{position:fixed;inset:0;z-index:120;min-height:100dvh;overflow:auto;display:grid;place-items:center;padding:calc(var(--sp-5) + env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));background:var(--bg)}.focus-recovery-card{width:min(100%,480px);padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:center;box-shadow:var(--shadow-float)}.focus-recovery-card textarea{margin-top:var(--sp-5);text-align:left}.recovery-time,.session-summary{margin:var(--sp-5) 0 var(--sp-3);font-size:calc(var(--text-title) * 1.5);line-height:var(--leading-tight);font-weight:600;font-variant-numeric:tabular-nums}.session-summary{margin-top:0}.recovery-actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-5)}@media(min-width:700px){.focus-screen{padding-top:var(--sp-7);padding-bottom:var(--sp-7)}}.settings-card{padding:var(--sp-4);margin-bottom:var(--sp-3)}.settings-card h2{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--sp-1)}.settings-card .sub{font-size:var(--text-sm);color:var(--ink-3);margin-bottom:var(--sp-3)}.setting-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;min-height:52px}.setting-row+.setting-row{border-top:1px solid var(--hairline)}.setting-row .grow{flex:1;min-width:0}.setting-row .title{font-size:var(--text-base)}.setting-row .sub{margin:0;font-size:var(--text-sm)}.setting-row input[type=time]{padding:var(--sp-1) var(--sp-2);min-height:36px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.calendar-safe-copy{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--sp-4)}.calendar-fields{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:var(--sp-3)}.availability-strip{display:flex;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-4) 0;padding:var(--sp-3);border-radius:var(--radius);background:var(--surface-2);font-size:var(--text-sm)}.availability-strip.has-conflict strong{color:var(--danger)}.availability-strip.is-open strong{color:var(--ink-2)}.day-preview{margin:var(--sp-4) 0;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);overflow:hidden}.day-preview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--hairline)}.day-preview-head>div{display:grid;gap:2px}.day-preview-loading,.day-preview-empty{color:var(--ink-3);font-size:var(--text-xs)}.day-preview-empty{margin:0;padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--hairline)}.day-all-day{display:grid;grid-template-columns:48px 1fr;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--hairline);color:var(--ink-3);font-size:var(--text-xs)}.day-all-day>div{display:grid;gap:4px}.day-all-day-event{display:flex;justify-content:space-between;gap:var(--sp-2);padding:5px 8px;border-left:3px solid var(--ink-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2)}.day-all-day-event small{color:var(--ink-3)}.day-timeline-scroll{max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.day-timeline{position:relative;min-height:300px}.day-hour{position:absolute;inset-inline:0;height:1px;display:grid;grid-template-columns:48px 1fr;gap:var(--sp-2);align-items:center;color:var(--ink-3);font-size:var(--text-xs);pointer-events:none}.day-hour span{padding-left:var(--sp-2);transform:translateY(-50%)}.day-hour i{display:block;border-top:1px solid var(--hairline)}.day-timeline-lane{position:absolute;inset:0 7px 0 56px}.day-calendar-event,.day-proposed-event{position:absolute;min-height:24px;padding:5px 7px;border-radius:var(--radius-sm);overflow:hidden;display:grid;align-content:start;gap:1px;font-size:var(--text-xs);line-height:1.15;transition:top var(--dur-fast) var(--ease-out),height var(--dur-fast) var(--ease-out)}.day-calendar-event{z-index:1;border-left:3px solid var(--ink-3);background:var(--surface-2);color:var(--ink-2)}.day-calendar-event strong,.day-calendar-event small,.day-proposed-event strong,.day-proposed-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-calendar-event small{color:var(--ink-3)}.day-proposed-event{z-index:2;inset-inline:0 4px;border:1px solid var(--accent);border-left-width:4px;background:color-mix(in srgb,var(--accent-soft) 90%,transparent);color:var(--ink);pointer-events:none}.day-proposed-event small{color:var(--ink-2)}.suggestion-row{width:100%;min-height:58px;display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3);margin-bottom:var(--sp-2);border:1px solid var(--hairline);border-radius:var(--radius);text-align:left;color:var(--ink-2);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.suggestion-row.selected{border-color:var(--accent);background:var(--accent-soft)}.suggestion-row span:first-child{display:grid;gap:2px}.suggestion-row small{color:var(--ink-3)}.connection-status{padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.connection-status.revoked{color:var(--danger);background:var(--danger-soft)}.calendar-reconnect{display:flex;gap:var(--sp-2);margin:var(--sp-3) 0}.calendar-connect-actions{margin-top:var(--sp-4)}.calendar-test-ok{margin:var(--sp-3) 0}.disconnect-options,.conflict-actions{display:grid;gap:var(--sp-2);margin-top:var(--sp-4)}.conflict-versions{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.conflict-versions button{display:grid;gap:var(--sp-2);min-height:116px;padding:var(--sp-3);border:1px solid var(--hairline);border-radius:var(--radius);text-align:left}.conflict-versions button:hover{border-color:var(--accent)}.conflict-versions span,.conflict-versions small{color:var(--ink-3);font-size:var(--text-sm)}.calendar-undo{display:flex;align-items:center;justify-content:space-between}.calendar-conflict-banner{width:100%;text-align:left;margin-bottom:var(--sp-3);color:var(--ink)}.scheduled-now{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4);margin-bottom:var(--sp-4)}.scheduled-now h2{font-size:var(--text-lg);margin:2px 0}.planned-strip{margin:0 0 var(--sp-4);border-top:1px solid var(--hairline)}.planned-item{display:grid;grid-template-columns:48px 1fr auto;gap:var(--sp-2);align-items:center;padding:var(--sp-2) 0;font-size:var(--text-sm);border-bottom:1px solid var(--hairline)}.planned-item span,.planned-item small{color:var(--ink-3)}.planned-item.missed strong{color:var(--ink-3);text-decoration:line-through}.planned-item.external strong{color:var(--ink-2);font-weight:500}.planned-item .cal-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;vertical-align:1px}.habit-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-1)}.planning-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);padding:var(--sp-4);margin-bottom:var(--sp-4)}.planning-summary div{display:grid;gap:2px}.planning-summary strong{font-size:var(--text-title)}.planning-summary span{color:var(--ink-3);font-size:var(--text-sm)}.planning-workspace{position:fixed;inset:0 0 0 auto;z-index:70;width:min(760px,calc(100vw - 520px));min-width:620px;height:100dvh;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--hairline);box-shadow:-18px 0 44px #21261f1a;animation:planner-reveal var(--dur-slow) var(--ease-spring);overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@keyframes planner-reveal{0%{transform:translate(36%);opacity:.6}}.planning-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--bg) 94%,transparent)}.planning-head .section-label{margin:0 0 2px}.planning-head h2{font-size:var(--text-lg)}.planning-head-actions{display:flex;align-items:center;gap:var(--sp-1)}.planner-connection-note,.planner-choice{margin:var(--sp-2) var(--sp-4) 0;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-3);font-size:var(--text-sm)}.planner-connection-note.warning{color:var(--danger);background:var(--danger-soft)}.planner-choice{display:grid;gap:var(--sp-2);color:var(--ink-2)}.planner-choice span{color:var(--ink-3)}.planner-all-day{display:grid;grid-template-columns:60px 1fr;gap:var(--sp-2);max-height:112px;overflow-y:auto;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--hairline);color:var(--ink-3);font-size:var(--text-xs)}.planner-all-day>div{display:flex;flex-wrap:wrap;gap:4px}.planner-all-day>div>div{display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2)}.planner-all-day i{width:3px;align-self:stretch;border-radius:3px;background:var(--ink-3)}.planner-all-day small{color:var(--ink-3)}.planner-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface)}.planner-tray{display:flex;gap:var(--sp-2);overflow-x:auto;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--hairline);scrollbar-width:none}.planner-tray::-webkit-scrollbar{display:none}.planner-chip{flex:0 0 auto;display:grid;gap:1px;justify-items:start;min-height:var(--target-min);padding:var(--sp-2) var(--sp-3);border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.planner-chip:hover,.planner-chip:focus-visible{background:var(--accent-soft);border-style:solid}.planner-chip small{color:var(--ink-3)}.planner-day{position:relative;min-height:1728px}.planner-hour{position:absolute;inset-inline:0;display:grid;grid-template-columns:58px 1fr;gap:var(--sp-2);align-items:center;height:1px;color:var(--ink-3);font-size:var(--text-xs);pointer-events:none}.planner-hour span{padding-left:var(--sp-2);transform:translateY(-50%);font-variant-numeric:tabular-nums}.planner-hour i{border-top:1px solid var(--hairline)}.planner-lane{position:absolute;inset:0 var(--sp-3) 0 66px}.planner-now{position:absolute;inset-inline:-7px 0;z-index:8;border-top:1px solid var(--accent);pointer-events:none}.planner-now i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);left:0;top:-4px}.planner-event{position:absolute;z-index:2;display:grid;align-content:start;gap:1px;overflow:hidden;padding:5px 7px;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);line-height:1.15;text-align:left;touch-action:none}.planner-event strong,.planner-event small,.planner-event em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-event small,.planner-event em{color:var(--ink-3);font-style:normal}.planner-event.external{border-left:3px solid var(--ink-3);background:var(--surface-2);color:var(--ink-2);pointer-events:none}.planner-event.tracks{inset-inline:0 5px;width:auto;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink);cursor:grab}.planner-event.tracks.pending{border-style:dashed}.planner-event.proposed{inset-inline:0 3px;z-index:10;border:1px solid var(--accent);border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 92%,var(--surface));color:var(--ink);box-shadow:var(--shadow-float);cursor:grab;overflow:visible;transition:box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.planner-event.proposed.editing{cursor:grabbing;box-shadow:0 12px 30px #21261f2e}.planner-event.proposed.conflict{border-color:var(--amber, #b57822);background:color-mix(in srgb,#f3dfb8 58%,var(--surface))}.planner-resize{position:absolute;inset-inline:8px;height:22px;cursor:ns-resize}.planner-resize.top{top:-11px}.planner-resize.bottom{bottom:-11px}.planner-resize:after{content:"";position:absolute;left:50%;top:9px;width:28px;border-top:2px solid currentColor;opacity:.35;transform:translate(-50%)}.planner-inspector{display:flex;align-items:end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--hairline);background:var(--bg)}.planner-inspector>div{display:grid;gap:2px;min-width:190px;margin-right:auto}.planner-inspector label{display:grid;gap:2px;color:var(--ink-3);font-size:var(--text-xs)}.planner-inspector .input{min-height:36px;padding:5px 8px;width:104px}.planner-inspector .conflict-copy{color:#9a6318;font-size:var(--text-xs)}.planner-inspector .open-copy{color:var(--ink-3);font-size:var(--text-xs)}.planner-live{min-height:24px;padding:2px var(--sp-4);color:var(--ink-3);font-size:var(--text-xs);display:flex;align-items:center;justify-content:space-between}@media(max-width:1140px){.planning-workspace{width:100vw;min-width:0;border-left:0}.planning-head{padding-inline:var(--sp-3)}.planning-head-actions .btn-quiet{display:none}.planner-inspector{align-items:center;flex-wrap:wrap;padding-bottom:calc(var(--sp-2) + env(safe-area-inset-bottom))}.planner-inspector>div{flex:1 0 100%}.planner-inspector label{flex:1}.planner-inspector .input{width:100%}}@media(prefers-reduced-motion:reduce){.planning-workspace{animation:planner-fade var(--dur-fast) linear}@keyframes planner-fade{0%{opacity:0}}}@media(max-width:560px){.calendar-fields{grid-template-columns:1fr 1fr}.calendar-fields .field:first-child{grid-column:1 / -1}.conflict-versions{grid-template-columns:1fr}.scheduled-now{align-items:flex-start;flex-direction:column}.scheduled-now .btn{width:100%}.planning-summary{gap:var(--sp-2)}.planning-summary strong{font-size:var(--text-lg)}}.switch{position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--hairline);transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);flex-shrink:0}.switch:before{content:"";position:absolute;inset:-9px}.switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0003;transition:transform var(--dur) var(--ease-spring)}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]:after{transform:translate(18px)}.auth-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.auth-card{width:100%;max-width:380px;padding:var(--sp-6) var(--sp-5)}.auth-card .brand-mark{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-lg);font-weight:700;margin-bottom:2px}.auth-card .tagline{color:var(--ink-3);font-size:var(--text-sm);margin-bottom:var(--sp-5)}.auth-switch{margin-top:var(--sp-4);font-size:var(--text-sm);color:var(--ink-3);text-align:center}.auth-switch button{color:var(--accent);font-weight:500;min-height:44px}.toast{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-pill);z-index:60;box-shadow:var(--shadow-float);animation:toast-in var(--dur-slow) var(--ease-spring);max-width:calc(100vw - var(--sp-6))}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}}@media(min-width:900px){.toast{bottom:var(--sp-6)}}.shell-main{max-width:var(--content-reading);padding-inline:var(--space-standard)}.screen-head{margin:0 0 var(--space-micro);align-items:center}.screen-head h1,.detail-head h1{font-size:var(--type-page-title);line-height:var(--line-page-title);font-weight:600;letter-spacing:-.02em}.screen-sub{margin-bottom:var(--space-section);color:var(--color-ink-secondary);font-size:var(--type-secondary)}.section-label,.today-goal-label{margin:var(--space-section) 0 var(--space-compact);color:var(--color-ink-secondary);font-size:var(--type-secondary);font-weight:600;letter-spacing:0;text-transform:none}.tabbar a,.btn,.icon-btn,.focus-start,.check,.settings-nav-row,.detail-habit-primary,.goal-card-main,.planned-item-button,.back-link,.drag-handle,summary{min-width:var(--target-min);min-height:var(--target-min)}.tabbar{background:var(--material)}.banner{min-height:var(--target-min);border:1px solid var(--color-separator);border-radius:var(--radius-standard);padding:var(--space-compact) var(--space-related)}.today-list-group,.list-card{border:0;border-radius:0;background:transparent;overflow:visible}.today-list-group>*+*,.list-card>*+*{border-top:1px solid var(--color-separator)}.swipe-wrap{background:var(--color-surface-secondary)}.habit-row{min-height:68px;padding:var(--space-related) 0;background:transparent}.habit-row.habit-startable:hover{background:var(--color-surface-secondary)}.habit-title{font-size:var(--type-headline);line-height:var(--line-headline);font-weight:600}.habit-meta{min-height:20px;color:var(--color-ink-secondary);font-size:var(--type-secondary)}.focus-start{width:var(--target-min);height:var(--target-min);flex-basis:var(--target-min);border:0;background:transparent}.focus-start:hover{background:var(--color-accent-soft)}.habit-expand{padding:0 0 var(--space-standard) 56px;background:transparent}.habit-detail-summary{color:var(--color-ink-secondary);font-size:var(--type-footnote)}.scheduled-now{gap:var(--space-standard);margin:0 0 var(--space-section);padding:var(--space-standard);border:1px solid var(--color-separator);border-radius:var(--radius-standard);box-shadow:none}.scheduled-now h2{font-size:var(--type-headline);font-weight:600}.planned-strip{margin-bottom:var(--space-section);border-top:0}.planned-item{border-top:1px solid var(--color-separator)}.quiet-state,.empty-row{padding:var(--space-section) 0;color:var(--color-ink-secondary);font-size:var(--type-secondary)}.completed-disclosure{margin-top:var(--space-section)}.completed-disclosure>summary{display:flex;align-items:center;gap:var(--space-compact);color:var(--color-ink-secondary);cursor:pointer;font-size:var(--type-secondary);-webkit-user-select:none;user-select:none}.completed-content{opacity:.82}.goal-grid{display:block;border-top:1px solid var(--color-separator)}.goal-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,30%) var(--target-min);align-items:center;gap:var(--space-standard);min-height:76px;padding:var(--space-related) 0;border:0;border-bottom:1px solid var(--color-separator);border-radius:0;background:transparent;box-shadow:none}.goal-card:hover{border-color:var(--color-separator);background:var(--color-surface-secondary)}.goal-card-main{display:grid;align-content:center;text-align:left}.goal-card-main h3{margin:0;font-size:var(--type-headline);line-height:var(--line-headline);font-weight:600}.goal-card-main span{color:var(--color-ink-secondary);font-size:var(--type-secondary)}.goal-card-progress{display:grid;gap:var(--space-micro);color:var(--color-ink-secondary);font-size:var(--type-footnote)}.goal-card-chevron{display:grid;place-items:center;color:var(--color-ink-tertiary)}.back-link{margin-bottom:var(--space-compact);color:var(--color-ink-secondary)}.detail-head{align-items:center}.detail-desc{margin:var(--space-compact) 0 var(--space-major);color:var(--color-ink-secondary)}.detail-section-head{display:flex;align-items:center;min-height:var(--target-min);margin-top:var(--space-section)}.detail-section-head h2{font-size:var(--type-section-title);font-weight:600}.detail-section-head .btn{margin-left:auto}.detail-section-head>span{margin-left:auto;color:var(--color-ink-secondary);font-size:var(--type-footnote)}.detail-habit,.milestone-row,.journal-entry,.journal-composer,.add-inline{padding-inline:0;background:transparent}.detail-habit{min-height:68px}.detail-habit-primary{display:grid;flex:1;min-width:0;align-content:center;text-align:left;color:inherit}.detail-habit-primary .title{font-size:var(--type-headline);font-weight:600}.detail-habit .sub{color:var(--color-ink-secondary);font-size:var(--type-secondary)}.habit-actions{display:flex;align-items:center;gap:var(--space-micro)}.stats-head{margin-bottom:var(--space-standard)}.period-control{display:flex;align-items:center;gap:var(--space-compact);color:var(--color-ink-secondary);font-size:var(--type-secondary)}.period-control select{min-height:var(--target-min);border:1px solid var(--color-separator);border-radius:var(--radius-control);background:var(--color-surface-primary);color:var(--color-ink-primary);padding-inline:var(--space-compact)}.stats-mode-control{display:block;margin-bottom:var(--space-section);padding:0;background:transparent}.stats-mode-control>label{display:none}.stats-mode-control .segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-micro);padding:var(--space-micro);border-radius:var(--radius-standard);background:var(--color-surface-secondary)}.stats-mode-control .segmented button{min-height:var(--target-min);border-radius:var(--radius-control);color:var(--color-ink-secondary);font-size:var(--type-footnote)}.stats-mode-control .segmented button[aria-pressed=true]{background:var(--color-surface-primary);color:var(--color-ink-primary);box-shadow:0 1px 3px var(--color-separator)}.stats-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-major);align-items:center;padding:var(--space-section) 0 var(--space-major)}.stats-primary-copy{display:grid;gap:var(--space-micro)}.stats-primary-copy strong{font-size:clamp(2.5rem,8vw,4rem);line-height:1;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stats-primary-copy span,.stats-primary-copy small{color:var(--color-ink-secondary)}.overview-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:var(--space-micro);height:124px;border-bottom:1px solid var(--color-separator)}.overview-bars i{min-height:2px;border-radius:var(--radius-control) var(--radius-control) 0 0;background:var(--color-accent)}.plan-comparison{display:grid;gap:var(--space-standard)}.plan-comparison{grid-template-columns:repeat(3,1fr)}.plan-comparison>span{display:grid;gap:var(--space-micro);color:var(--color-ink-secondary);font-size:var(--type-secondary)}.plan-comparison strong{color:var(--color-ink-primary);font-size:var(--type-section-title)}.plan-comparison i{display:block;height:6px;border-radius:var(--radius-pill);background:var(--color-accent)}.stats-ranking{margin-top:var(--space-major)}.stats-ranking h2,.stats-detail h2{margin-bottom:var(--space-compact);font-size:var(--type-section-title);font-weight:600}.stats-ranking-list{border-top:1px solid var(--color-separator)}.stats-ranking-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-related);align-items:center;width:100%;min-height:60px;border-bottom:1px solid var(--color-separator);text-align:left}.stats-ranking-list button>span:first-child{display:grid;min-width:0}.stats-ranking-list button strong,.stats-ranking-list button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-ranking-list button small{color:var(--color-ink-secondary);font-size:var(--type-footnote)}.stats-rank-value{display:inline-flex;align-items:center;gap:var(--space-compact)}.stats-rank-value{color:var(--color-ink-secondary);font-variant-numeric:tabular-nums}.stats-detail{margin-top:var(--space-major);padding-top:var(--space-section);border-top:1px solid var(--color-separator)}.accessible-heatmap{overflow-x:auto}.shared-legend{display:flex;flex-wrap:wrap;gap:var(--space-standard);margin-top:var(--space-standard);color:var(--color-ink-secondary);font-size:var(--type-footnote)}.shared-legend span{display:inline-flex;align-items:center;gap:var(--space-micro)}.shared-legend i{width:10px;height:10px;border-radius:3px}.status-done{background:var(--color-cell-done)}.status-frozen{background:var(--color-cell-protected)}.status-missed{background:var(--color-cell-missed)}.status-empty{background:var(--color-cell-empty)}.settings-nav-list,.settings-detail-group{border-top:1px solid var(--color-separator)}.settings-nav-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:var(--space-related);align-items:center;width:100%;padding:var(--space-related) 0;border-bottom:1px solid var(--color-separator);text-align:left}.settings-nav-row>span:first-child{font-size:var(--type-body)}.settings-nav-row>span:nth-child(2),.settings-current-value{color:var(--color-ink-secondary);font-size:var(--type-secondary)}.settings-nav-break{height:var(--space-section)}.settings-detail-head{display:grid;grid-template-columns:var(--target-min) 1fr var(--target-min);align-items:center;margin-bottom:var(--space-section)}.settings-detail-head h1{text-align:center;font-size:var(--type-section-title);font-weight:600}.settings-detail-group{padding:var(--space-standard) 0 var(--space-section)}.settings-detail-group h2,.settings-subgroup h3{margin-bottom:var(--space-compact);font-size:var(--type-headline);font-weight:600}.settings-subgroup{margin-top:var(--space-major)}.timezone-results{max-height:min(50vh,440px);overflow:auto;border-bottom:1px solid var(--color-separator)}.timezone-results button{display:flex;align-items:center;width:100%;min-height:var(--target-min);border-top:1px solid var(--color-separator);text-align:left}.about-copy{display:grid;gap:var(--space-standard);color:var(--color-ink-secondary)}.planning-workspace{background:var(--color-surface-primary)}.planning-head{min-height:68px;padding:calc(var(--space-compact) + env(safe-area-inset-top)) var(--space-standard) var(--space-compact);background:var(--color-surface-primary)}.planning-head h2{font-size:var(--type-section-title);font-weight:600}.planning-head-actions{gap:var(--space-micro)}.planner-connection-note,.planner-choice{margin:var(--space-compact) var(--space-standard);border-radius:var(--radius-standard)}.planner-all-day{background:var(--color-surface-secondary)}.planner-scroll{background:var(--color-surface-primary)}.planner-inspector{background:var(--color-surface-secondary)}.auth-card{max-width:360px;padding:var(--space-section) 0}.auth-card .brand-mark{font-size:var(--type-section-title);font-weight:600}.auth-card .tagline{margin-bottom:var(--space-section);color:var(--color-ink-secondary);font-size:var(--type-secondary)}@media(min-width:900px){.tabbar{width:216px;padding:var(--space-section) var(--space-related);background:var(--color-canvas)}.tabbar a{min-height:var(--target-min);padding:var(--space-compact) var(--space-related);font-size:var(--type-secondary)}.brand{font-weight:600;padding-bottom:var(--space-section)}.shell-main{padding:var(--space-page) var(--space-section)}}@media(max-width:720px){.stats-overview{grid-template-columns:1fr;gap:var(--space-section)}.goal-card{grid-template-columns:minmax(0,1fr) var(--target-min)}.goal-card-progress{grid-column:1 / -1;grid-row:2}.goal-card-chevron{grid-column:2;grid-row:1}}@media(max-width:560px){.stats-mode-control>label{display:block}.stats-mode-control>label select{width:100%;min-height:var(--target-min);padding-inline:var(--space-related);border:1px solid var(--color-separator);border-radius:var(--radius-control);background:var(--color-surface-primary);color:var(--color-ink-primary)}.stats-mode-wide{display:none}}@media(max-width:480px){.shell-main{padding-top:calc(var(--space-section) + env(safe-area-inset-top))}.screen-head h1,.detail-head h1{font-size:var(--type-page-title)}.planning-head{align-items:center}.planning-head h2{max-width:130px;font-size:var(--type-headline)}.planning-head-actions .btn-primary{padding-inline:var(--space-related)}}
