@layer life-os.tokens{:root{--space-0:0px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-24:96px;--page-gutter-mobile:var(--space-4);--page-gutter-tablet:var(--space-5);--page-gutter-desktop:var(--space-8);--page-gutter:var(--page-gutter-mobile);--page-top:8px;--page-block-gap:var(--space-7);--page-scroll-bottom:var(--space-24);--wrap-pad-x:var(--page-gutter);--stack-tight:var(--space-3);--stack-section:var(--space-4);--stack-block:var(--space-5);--title-stack:var(--space-0-5);--header-block:var(--space-5);--gap:var(--space-5);--back-to-content:8px;--content-max:820px;--maxw:var(--content-max);--content-inline-pad:max(var(--page-gutter), calc((100% - var(--content-max)) / 2));--font:"Geist", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-brand:"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:"Geist Mono", "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;--body:var(--font);--disp:var(--font-brand);--heading:var(--font);--button:var(--font);--text-3xs:9px;--text-2xs:10px;--text-mobile-tab:10.5px;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:15px;--text-xl:16px;--text-title:17px;--text-2xl:clamp(18px, 1.5vw + 12px, 20px);--text-3xl:clamp(20px, 2vw + 12px, 24px);--text-4xl:clamp(22px, 2.5vw + 12px, 28px);--text-5xl:clamp(24px, 3vw + 12px, 32px);--text-display-sm:clamp(28px, 3.5vw + 12px, 36px);--text-display:clamp(32px, 4vw + 12px, 44px);--text-display-md:clamp(34px, 4.5vw + 12px, 48px);--text-display-xl:clamp(36px, 5vw + 12px, 56px);--text-display-lg:clamp(44px, 6vw + 12px, 64px);--control-h:44px;--control-radius:10px;--control-pad-x:16px;--radius-control:8px;--radius-sm:14px;--radius-lg:12px;--radius-pill:999px;--btn-h-sm:32px;--btn-h-md:36px;--btn-h-lg:44px;--tap-min:44px;--tap-spacing:8px;--btn-pad-x-sm:12px;--btn-pad-x-md:14px;--btn-pad-x-lg:16px;--btn-radius:var(--control-radius);--btn-focus-ring:var(--shadow-focus,0 0 0 2px color-mix(in srgb, var(--accent) 32%, transparent));--card-padding:var(--space-4);--card-padding-compact:var(--space-3-5);--card-padding-mobile:var(--space-3-5);--card-radius:var(--radius-lg);--card-gap:var(--space-2);--card-stack-gap:var(--space-3);--fab-h:48px;--fab-w:132px;--fab-offset-above-tabbar:var(--space-3);--fab-bg:var(--accent);--fab-fg:var(--on-accent);--fab-radius:var(--radius-pill);--nav-h:var(--tabbar-h,62px);--mobile-tabbar-h:var(--tabbar-h,62px);--mobile-tabbar-total-h:var(--tabbar-total-h,calc(var(--nav-h) + max(var(--space-2), var(--safe-bottom-effective))));--mobile-content-inset:calc(var(--fab-h) + var(--fab-offset-above-tabbar) + var(--mobile-tabbar-total-h));--mobile-content-inset-tabbar:calc(var(--mobile-tabbar-total-h) + var(--space-3));--mobile-content-inset-minimal:calc(var(--space-6) + var(--safe-bottom-effective));--sidebar-w:228px;--page-header-h:68px;--nav-leading:max(16px, calc(env(safe-area-inset-left,0px) + 8px));--nav-trailing:max(16px, calc(env(safe-area-inset-right,0px) + 8px));--ios-edge-min:12px;--ios-landscape-top-buffer:20px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-top-effective:max(var(--ios-edge-min), var(--safe-top));--safe-bottom-effective:max(var(--ios-edge-min), var(--safe-bottom));--safe-left-effective:max(var(--ios-edge-min), var(--safe-left));--safe-right-effective:max(var(--ios-edge-min), var(--safe-right));--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.22, 1, .36, 1);--ease-press:cubic-bezier(.3, 0, .8, .15);--ease:cubic-bezier(.2, .8, .2, 1);--dur-fast:.14s;--motion-fast:.14s;--motion-standard:.19s;--dur-base:.26s;--motion-slow:.26s;--dur-slow:.52s;--motion-distance:14px;--hover-lift:-2px;--press-scale:.97;--sel-fg:var(--on-accent);--viewport-min-h:100dvh;--viewport-stable-h:100svh;--bottom-chrome-h:var(--mobile-tabbar-total-h);--safari-chrome-tint-top-bg:var(--bg);--safari-chrome-tint-bottom-bg:var(--bg-elevated,var(--card));--z-safe-area-tint:19;--z-mobile-chrome:35;--z-nav:30;--z-more-sheet:45;--z-fab:40;--z-sheet:100;--z-banner:110;--z-toast:120;--banner-fixed-h:48px;--toast-pad-y:12px;--toast-pad-x:16px;--toast-min-h:40px;--toast-gap:var(--space-2);--toast-font-size:var(--text-md);--toast-line-height:1.45;--toast-max-width:min(calc(100vw - var(--space-8)), 360px);--toast-max-width-desktop:min(calc(100vw - var(--space-8)), 420px);--positive:#087a5b;--positive-subtle:#e6f6ef;--warning:#9a5b08;--warning-subtle:#fff4df;--critical:#b9364f;--critical-subtle:#fcedef;--info:#2b65b1;--info-subtle:#eaf2fc}:root[data-theme=dark]{--positive:#6dd6ad;--positive-subtle:#17382e;--warning:#f2bd6c;--warning-subtle:#423116;--critical:#ff8fa2;--critical-subtle:#4a2028;--info:#8db8f4;--info-subtle:#1a2d42}@supports (padding:max(0px, 1px)){:root{--safe-top-effective:max(var(--ios-edge-min), env(safe-area-inset-top,0px));--safe-bottom-effective:max(var(--ios-edge-min), env(safe-area-inset-bottom,0px));--safe-left-effective:max(var(--ios-edge-min), env(safe-area-inset-left,0px));--safe-right-effective:max(var(--ios-edge-min), env(safe-area-inset-right,0px))}}}@layer life-os.base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background-color:var(--bg);min-height:100%;color:var(--t1,var(--text));font-family:var(--body,var(--font));font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=switch]:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--sel-fg,var(--on-accent))}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}button,.nav-item,.sidebar .nav-item,.fab,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.appbar-back,.appbar-search,.page-header-back{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-base{font-size:var(--text-base)}.brand-dot{color:var(--accent)}.page-title{font-size:var(--text-4xl);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.15}.page-sub,.page-header .subtitle{font-size:var(--text-md);color:var(--t3,var(--text-muted));margin:0}.wrap{width:100%;padding:var(--page-top) var(--content-inline-pad) var(--page-block-gap);margin:0}@media (width<=860px){.wrap-long{padding-bottom:calc(var(--page-block-gap) + var(--safe-bottom-effective))}}.sec-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:var(--space-5) 0 var(--space-2-5);display:flex}.sec-title{font-size:var(--text-sm);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3,var(--text-muted));margin:0}.sec-count{font-size:var(--text-xs);color:var(--t4,var(--text-disabled,var(--text-muted)));font-family:var(--mono)}@media (width<=640px){body{font-size:var(--text-lg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer life-os.platform{.life-os-portrait-gate{display:none}@media (width<=860px) and (orientation:landscape){html[data-portrait-lock=on] .life-os-portrait-gate{z-index:10000;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:var(--bg,#0d0d0e);color:var(--t1,#f2f2f2);text-align:center;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}html[data-portrait-lock=on] .life-os-portrait-gate-inner{max-width:320px}html[data-portrait-lock=on] .life-os-portrait-gate-icon{opacity:.85;margin-bottom:16px;font-size:48px;line-height:1;display:block}html[data-portrait-lock=on] .life-os-portrait-gate-title{margin:0 0 8px;font-size:18px;font-weight:600}html[data-portrait-lock=on] .life-os-portrait-gate-hint{color:var(--t2,#b8b8ba);margin:0;font-size:14px;line-height:1.5}}html{overflow-x:clip}html,body,#root{width:100%}@supports (height:100dvh){html,body,#root{min-height:var(--app-vh,100dvh)}}@media (width<=860px){html.standalone-pwa,html.standalone-pwa body,html.standalone-pwa #root{height:var(--app-vh,100dvh);overflow:hidden}html.standalone-pwa #root{flex-direction:column;min-height:0;display:flex}html.standalone-pwa #root>.app-shell,html.standalone-pwa #root>.app{flex:auto;min-height:0}html.standalone-pwa .app-shell,html.standalone-pwa .app{flex-direction:column;flex:auto;height:auto;min-height:0;display:flex;overflow:hidden}:is(html.standalone-pwa .main-wrap,html.standalone-pwa .main-col:has(.main-wrap)){flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}html.standalone-pwa .main-wrap>.page-header,html.standalone-pwa .main-wrap>.appbar{flex-shrink:0;position:relative;top:auto}html.standalone-pwa #main-content,html.standalone-pwa .main-wrap .wrap,html.standalone-pwa .main-wrap .content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1 1 0;height:0;min-height:0;overflow:hidden auto}html.standalone-pwa body:has(.mobile-more-backdrop) .main-wrap .content{overflow:hidden}html.standalone-pwa body:has(.mobile-more-backdrop) .main-wrap .wrap{overflow:hidden}html.standalone-pwa body:has(.mobile-more-backdrop) #main-content{overflow:hidden}html.standalone-pwa body:has(.mobile-more-backdrop) .main-col>.wrap{overflow:hidden}html.standalone-pwa body:has(.mobile-more-backdrop) .main-col>.auth-wrap{overflow:hidden}html.standalone-pwa .main-col:not(:has(.main-wrap)){flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex;overflow:hidden}:is(html.standalone-pwa .main-col:not(:has(.main-wrap))>.wrap,html.standalone-pwa .main-col:not(:has(.main-wrap))>.auth-wrap){-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1 1 0;height:0;min-height:0;overflow:hidden auto}}@supports (-webkit-touch-callout:none){html,body{min-height:-webkit-fill-available}}@media (width<=860px){html,body{overscroll-behavior-y:none}html:not(.standalone-pwa) .app-shell{flex-direction:column;min-height:auto;display:flex}html:not(.standalone-pwa),html:not(.standalone-pwa) body{touch-action:pan-y}html:not(.standalone-pwa) body{-webkit-overflow-scrolling:touch;overflow-y:auto}.main-wrap>.page-header,.main-wrap>.appbar{flex-shrink:0}.main-wrap>.content,.main-wrap>#main-content{min-height:0}:is(body:has(.sheet-bg),body:has(.mobile-more-backdrop),body:has(.modal-bg.show),body:has(.schedule-popover-bg)){overflow:hidden}.wrap,.content,#main-content{padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset))}.main-col[data-mobile-chrome=tabbar] .wrap,.main-col[data-mobile-chrome=tabbar] .content,.main-col[data-mobile-chrome=tabbar] #main-content,.main-wrap[data-mobile-chrome=tabbar] .wrap,.main-wrap[data-mobile-chrome=tabbar] .content,.main-wrap[data-mobile-chrome=tabbar] #main-content{padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset-tabbar))}.main-col[data-mobile-chrome=minimal] .wrap,.main-col[data-mobile-chrome=minimal] .content,.main-col[data-mobile-chrome=minimal] #main-content,.main-wrap[data-mobile-chrome=minimal] .wrap,.main-wrap[data-mobile-chrome=minimal] .content,.main-wrap[data-mobile-chrome=minimal] #main-content{padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset-minimal))}}.safari-chrome-tint-top,.safari-chrome-tint-bottom{pointer-events:none;display:none}@media (width<=860px){.safari-chrome-tint-top,.safari-chrome-tint-bottom{width:100%;display:block;position:fixed;left:0}.safari-chrome-tint-top{z-index:var(--z-safe-area-tint);height:max(6px, env(safe-area-inset-top,0px));background-color:var(--safari-chrome-tint-top-bg,var(--bg));min-height:6px;top:0}.safari-chrome-tint-bottom{z-index:var(--z-mobile-chrome);height:max(12px, env(safe-area-inset-bottom,0px));background-color:var(--safari-chrome-tint-bottom-bg,var(--bg-elevated,var(--card)));min-height:6px;bottom:0}input,select,textarea{font-size:max(var(--text-base), 16px)}}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}}@layer life-os.layout{:root{--bp-narrow:380px;--bp-compact:640px;--bp-phone:640px;--bp-tablet-min:641px;--bp-tablet-max:860px;--bp-mobile:860px;--bp-mobile-min:861px;--tabbar-h:62px;--tabbar-total-h:calc(var(--tabbar-h) + max(var(--space-2,8px), var(--safe-bottom-effective,0px)))}@media (width>=861px){:root{--page-gutter:var(--page-gutter-desktop);--content-inline-pad:max(var(--page-gutter-desktop), calc((100% - var(--content-max)) / 2))}}@media (width>=641px) and (width<=860px){:root{--page-gutter:var(--page-gutter-tablet)}}.life-os-container{container-type:inline-size}:root{--cq-xs:320px;--cq-sm:480px;--cq-md:640px;--cq-lg:860px}}@layer life-os.shell{.app-shell,.app{min-height:var(--app-vh,100dvh);grid-template-columns:1fr;display:grid}.app{width:100%;min-height:100%;overflow-x:clip}@media (width>=861px){.app{display:flex}}@media (width<=860px){.app{flex-direction:column}}.main-col,.main-wrap{flex-direction:column;flex:1;min-width:0;display:flex}@media (width>=861px){.app-shell{grid-template-columns:var(--sidebar-w) 1fr}.bottom-nav,.nav,.mobile-tabbar{display:none!important}.main-col{padding-bottom:32px}}@media (width<=860px){.sidebar{display:none!important}.main-col{padding-bottom:calc(var(--mobile-tabbar-total-h) + var(--fab-h) + var(--space-5))}}@media (width>=641px) and (width<=860px){.page-sub,.page-header .subtitle{display:block}.nav-inner,.mobile-tabbar-inner{max-width:min(100%,640px)}}.sidebar{height:100dvh;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);align-self:flex-start;gap:var(--space-1);padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-3) var(--space-4);background:linear-gradient(180deg, color-mix(in srgb, var(--sidebar) 96%, #fff 4%) 0%, var(--sidebar) 100%);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar .brand{align-items:center;gap:var(--space-2-5);padding:var(--space-1) var(--space-2) var(--space-3-5);flex-shrink:0;display:flex}.sidebar-body{gap:var(--space-1);min-height:0;margin-right:calc(var(--space-1) * -1);padding-right:var(--space-1);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.sidebar-foot-item{margin-top:var(--space-1);flex-shrink:0}.sidebar .brand-mark{border-radius:var(--radius-control);flex:none;width:28px;height:28px;display:block;box-shadow:0 4px 12px #00000038}.sidebar .brand-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.sidebar .brand-name{font-family:var(--font-brand);font-size:var(--text-lg);letter-spacing:.15px;color:var(--sidebar-foreground);align-items:baseline;column-gap:.5em;font-weight:700;line-height:1.2;display:inline-flex}.sidebar .brand-name-base{color:inherit}.sidebar .brand-name-accent{color:var(--sidebar-primary)}.sidebar .brand-tag{font-size:var(--text-2xs);letter-spacing:.3px;color:color-mix(in srgb, var(--sidebar-muted) 88%, transparent);font-weight:500}.nav-group{gap:var(--space-0-5);flex-direction:column;display:flex}.nav-group-divider{margin-top:var(--space-2-5);padding-top:var(--space-2-5);border-top:1px solid color-mix(in srgb, var(--sidebar-border) 72%, transparent)}.nav-group-label{padding:0 var(--space-2-5) var(--space-1);font-size:var(--text-xs);letter-spacing:.6px;text-transform:uppercase;color:color-mix(in srgb, var(--sidebar-muted) 78%, transparent);font-weight:600}.sidebar .nav-item{justify-content:flex-start;align-items:center;gap:var(--space-2-5);width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-control);color:var(--sidebar-muted);font-size:var(--text-base);text-align:left;transition:color var(--motion-fast,var(--dur-fast)) var(--ease), background-color var(--motion-fast,var(--dur-fast)) var(--ease);background:0 0;border:none;flex-direction:row;font-weight:500;display:flex;position:static}.sidebar .nav-item svg{width:18px;height:18px;color:inherit;stroke-width:1.75px;flex:none}.sidebar .nav-item span,.sidebar .nav-item .nav-lbl{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none}.sidebar .nav-item:hover{background:color-mix(in srgb, var(--sidebar-foreground) 5%, transparent);color:var(--sidebar-foreground)}.sidebar .nav-item.active{background:color-mix(in srgb, var(--sidebar-primary) 10%, transparent);color:var(--sidebar-foreground);font-weight:600}.sidebar .nav-spacer{flex:auto;min-height:0}.sidebar-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar-empty{font-size:var(--text-sm);color:var(--sidebar-muted);padding:0 var(--space-2-5);margin:0}.appbar,.page-header{z-index:var(--z-nav);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;position:sticky;top:0}.appbar-inner{width:100%;padding:max(var(--header-block), var(--safe-top-effective)) max(var(--content-inline-pad), var(--safe-left-effective)) var(--header-block) max(var(--content-inline-pad), var(--safe-right-effective));align-items:center;column-gap:var(--stack-section);row-gap:var(--stack-tight);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"leading trailing""titles titles";margin:0;display:grid}.appbar-leading{grid-area:leading;min-width:0}.appbar-titles,.page-header .titles{gap:var(--title-stack);flex-direction:column;grid-area:titles;min-width:0;display:flex}.appbar-trailing,.page-header .page-tools{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-shrink:0;grid-area:trailing;display:flex}.appbar-trailing:empty{display:none}.appbar-brand,.page-header-brand{align-items:center;gap:var(--space-2-5);min-width:0;display:inline-flex}.appbar-brand-mark,.page-header-brand-mark{border-radius:var(--radius-control);flex:none;box-shadow:0 4px 12px #0000001f}.appbar-brand-name,.page-header-brand-name{font-family:var(--font-brand);font-size:var(--text-lg);letter-spacing:.15px;white-space:nowrap;font-weight:700;line-height:1.2}.appbar-back,.page-header-back{align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-2);margin-left:calc(var(--space-2) * -1);border-radius:var(--radius-control);color:var(--t2,var(--text-secondary));font-size:var(--text-sm);white-space:nowrap;font-weight:500;display:inline-flex}.appbar-back-label{text-overflow:ellipsis;max-width:9rem;overflow:hidden}.appbar-back:hover{color:var(--t1,var(--text))}.appbar-back:active{transform:scale(.98)}.page-header{align-items:center;gap:var(--stack-section);padding-top:var(--header-block);padding-bottom:var(--header-block);padding-inline:var(--content-inline-pad);display:flex}.page-header h1,.page-header .page-title{font-size:var(--text-4xl);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.15}.page-header .spacer{flex:1}.page-tools{gap:var(--space-2);align-items:center;display:none}.updated{color:var(--t3,var(--text-muted));font-size:var(--text-sm)}.page-header-brand{display:none}.page-header-brand-name .brand-name-accent{color:var(--accent)}.appbar-brand{color:var(--t1,var(--text))}.appbar-search{width:var(--tap-min);height:var(--tap-min);border-radius:var(--control-radius);border:1px solid var(--border);background:var(--card);color:var(--t2,var(--text-secondary));flex-shrink:0;place-items:center;display:none}.appbar--back .appbar-inner{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"leading titles trailing";row-gap:0}.appbar--back .page-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width>=861px){.appbar-inner,.page-header{justify-content:space-between;align-items:center;gap:var(--stack-section);padding-top:var(--header-block);padding-bottom:var(--header-block);display:flex}.appbar-leading,.appbar-brand,.page-header-brand{display:none}.appbar-titles,.page-header .titles{flex:1;min-width:0}.appbar-trailing{margin-left:auto}.appbar--back .appbar-leading{flex-shrink:0;display:flex}.appbar--back .appbar-inner{justify-content:flex-start}}@media (width<=860px){:root{--page-header-h:calc(88px + var(--safe-top-effective))}html{scroll-padding-top:var(--page-header-h)}html:has(.appbar--back){scroll-padding-top:calc(52px + var(--safe-top-effective))}.appbar{background-color:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;background-image:none}.page-header{align-items:center;column-gap:var(--stack-section);row-gap:var(--stack-tight);padding-top:max(var(--stack-tight), var(--safe-top-effective));padding-bottom:var(--stack-tight);padding-inline:max(var(--content-inline-pad), var(--safe-left-effective)) max(var(--content-inline-pad), var(--safe-right-effective));background-color:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;background-image:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand trailing""titles titles";display:grid}.page-header-brand{grid-area:brand;min-width:0;display:inline-flex}.page-header .titles{grid-area:titles}.page-header .page-tools{grid-area:trailing;justify-content:flex-end;display:inline-flex}.page-header .spacer,.page-header .updated{display:none}.appbar-inner{padding-top:max(var(--stack-tight), var(--safe-top-effective));padding-bottom:var(--stack-tight)}.page-title,.page-header h1{font-size:var(--text-3xl)}.page-sub,.page-header .subtitle{display:none}.appbar-search{display:grid}.appbar--back.appbar--tools .appbar-back-label{display:none}.appbar--back.appbar--tools .appbar-back{width:var(--tap-min);justify-content:center;margin-left:0;padding:0}}@media (width<=860px) and (orientation:landscape){.appbar-inner{padding-top:max(var(--ios-landscape-top-buffer), var(--safe-top-effective))}.page-title{font-size:var(--text-2xl)}}@media (width<=860px){.bottom-shell{z-index:calc(var(--z-fab) + 2);pointer-events:none;contain:layout style;--bottom-chrome-h:var(--mobile-tabbar-total-h);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-shell[data-player-chrome=mini]{--bottom-chrome-h:calc(var(--mobile-tabbar-total-h) + var(--mini-player-h))}.bottom-shell:not(:has(.nav,.bottom-nav,.mobile-tabbar))[data-player-chrome=mini]{--bottom-chrome-h:var(--mini-player-h)}.bottom-shell:not(:has(.mini-player.show)):not(:has(.nav,.bottom-nav,.mobile-tabbar)){display:none}.bottom-shell>*{pointer-events:auto}.bottom-shell .mini-player{flex-shrink:0;position:relative;bottom:auto;left:auto;right:auto}.bottom-shell .mini-player:not(.show){opacity:0;border-top:none;height:0;min-height:0;overflow:hidden;transform:none}.bottom-shell .nav,.bottom-shell .bottom-nav,.bottom-shell .mobile-tabbar{flex-shrink:0;position:relative;bottom:auto;left:auto;right:auto}@media (display-mode:standalone){.bottom-shell .nav,.bottom-shell .bottom-nav,.bottom-shell .mobile-tabbar{padding-bottom:max(var(--space-2), min(env(safe-area-inset-bottom,0px), .75rem))}}}.nav,.mobile-tabbar{z-index:var(--z-nav,var(--z-mobile-tabbar,30));background:var(--nav-bg,var(--bg-elevated,var(--bg-2)));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:var(--space-2) max(var(--space-2-5), var(--safe-right-effective)) max(var(--space-2), var(--safe-bottom-effective)) max(var(--space-2-5), var(--safe-left-effective));transition:opacity var(--dur-fast) var(--ease-standard);position:fixed;bottom:0;left:0;right:0}.nav.is-backgrounded,.mobile-tabbar.is-backgrounded{opacity:.35;pointer-events:none}.nav-inner,.mobile-tabbar-inner{width:min(100%, var(--content-max));min-height:var(--nav-h,var(--mobile-tabbar-h));gap:var(--space-1);align-items:stretch;margin:0 auto;display:flex}.nav .nav-item,.nav .nav-item-more,.mobile-tabbar .mobile-tab,.mobile-tabbar .mobile-tab-more{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;min-height:var(--nav-h,var(--mobile-tabbar-h));border-radius:var(--radius-lg);color:var(--t3,var(--text-muted));transition:color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);background:0 0;border:none;flex-direction:column;flex:1 1 0;display:flex}.nav .nav-item:active,.nav .nav-item-more:active,.mobile-tabbar .mobile-tab:active{transform:scale(.96)}.nav .nav-item.on,.nav .nav-item.active,.mobile-tabbar .mobile-tab.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--card))}.nav .nav-lbl,.mobile-tabbar .mobile-tab-label{font-family:var(--mono);font-size:var(--text-mobile-tab);letter-spacing:.06em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=640px){.nav .nav-lbl{font-size:var(--text-xs)}}.mobile-more-backdrop,.mobile-more-sheet{display:none}@media (width<=860px){.mobile-more-backdrop{z-index:var(--z-more-sheet);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:life-os-fade-in var(--dur-fast) var(--ease-standard);background:#1f1c1847;display:block;position:fixed;inset:0}:root[data-theme=dark] .mobile-more-backdrop{background:#0000006b}.mobile-more-sheet{z-index:calc(var(--z-more-sheet) + 1);background:var(--card);border-top:1px solid var(--border);max-height:min(72dvh,560px);box-shadow:var(--shadow-elevated,0 12px 40px #1f1c181a);padding-bottom:max(var(--space-2), var(--safe-bottom-effective));animation:life-os-mobile-more-in var(--dur-base) var(--ease-standard);border-radius:20px 20px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes life-os-mobile-more-in{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes life-os-fade-in{0%{opacity:0}to{opacity:1}}.mobile-more-handle{width:36px;height:4px;margin:var(--space-2-5) auto var(--space-1);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--t3,var(--text-muted)) 42%, transparent);flex-shrink:0}.mobile-more-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) max(var(--page-gutter), var(--safe-right-effective)) var(--space-2-5) max(var(--page-gutter), var(--safe-left-effective));border-bottom:1px solid var(--border);display:flex}.mobile-more-title{font-size:var(--text-xl);letter-spacing:-.01em;margin:0;font-weight:650}.mobile-more-close{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-control);color:var(--t2,var(--text-secondary));place-items:center;display:grid}.mobile-more-body{overscroll-behavior:contain;min-height:0;padding:var(--space-1) 0 var(--space-2);flex:auto;overflow-y:auto}.mobile-more-section+.mobile-more-section{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border)}.mobile-more-section-label{padding:var(--space-2) max(var(--page-gutter), var(--safe-right-effective)) var(--space-1) max(var(--page-gutter), var(--safe-left-effective));font-size:var(--text-sm);letter-spacing:.02em;color:var(--t3,var(--text-muted));font-weight:600}.mobile-more-row{align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-min);padding:var(--space-2-5) max(var(--page-gutter), var(--safe-right-effective)) var(--space-2-5) max(var(--page-gutter), var(--safe-left-effective));color:var(--t1,var(--text));transition:background-color var(--dur-fast) var(--ease-standard);display:flex}.mobile-more-row:active{background:color-mix(in srgb, var(--t1,var(--text)) 6%, transparent)}.mobile-more-close{transition:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard)}.mobile-more-close:hover{background:color-mix(in srgb, var(--t1,var(--text)) 8%, transparent);color:var(--t1,var(--text))}.mobile-more-row-icon{border-radius:var(--radius-control);background:color-mix(in srgb, var(--t1,var(--text)) 6%, var(--card));width:36px;height:36px;color:var(--t2,var(--text-secondary));flex-shrink:0;place-items:center;display:grid}.mobile-more-row-label{min-width:0;font-size:var(--text-lg);flex:auto;font-weight:500;line-height:1.35}.mobile-more-row-check{font-size:var(--text-lg);color:var(--accent);flex-shrink:0;font-weight:700}.mobile-more-row.active{background:color-mix(in srgb, var(--accent) 10%, var(--card));box-shadow:inset 3px 0 0 var(--accent)}.mobile-more-row.active .mobile-more-row-icon{background:color-mix(in srgb, var(--accent) 16%, var(--card));color:var(--t1,var(--text))}.mobile-more-row.active .mobile-more-row-label{font-weight:600}}@media (width>=641px) and (width<=860px){.mobile-more-sheet{left:max(var(--page-gutter), var(--safe-left-effective));right:max(var(--page-gutter), var(--safe-right-effective));width:auto}}}@layer life-os.seg{:root{--seg-display:inline-flex;--seg-flex-wrap:nowrap;--seg-gap:var(--space-0-5);--seg-track-bg:color-mix(in srgb, var(--t1,var(--text)) 4%, var(--bg-elevated,var(--card)));--seg-track-border:none;--seg-track-radius:var(--radius-pill);--seg-track-padding:var(--space-1);--seg-btn-bg:transparent;--seg-btn-border:none;--seg-btn-radius:var(--radius-pill);--seg-btn-color:var(--t2,var(--text-secondary));--seg-active-bg:var(--seg-active-bg-token,var(--lime,var(--accent-bg,var(--accent-subtle))));--seg-active-fg:var(--seg-active-fg-token,var(--on-lime,var(--accent)));--seg-active-border:var(--seg-active-border-token,transparent)}.seg{display:var(--seg-display);flex-wrap:var(--seg-flex-wrap);align-items:center;gap:var(--seg-gap);background:var(--seg-track-bg);border:var(--seg-track-border);border-radius:var(--seg-track-radius);padding:var(--seg-track-padding)}.seg.wrap{flex-wrap:wrap}.seg.seg-chips{--seg-display:flex;--seg-flex-wrap:wrap;--seg-gap:8px;--seg-track-bg:transparent;--seg-track-border:none;--seg-track-padding:0;--seg-btn-bg:var(--card);--seg-btn-border:1px solid var(--border);--seg-btn-radius:var(--radius-pill);--seg-active-bg:var(--accent-bg,var(--accent-subtle));--seg-active-fg:var(--accent);--seg-active-border-token:var(--accent)}.seg.seg-track{--seg-display:flex;--seg-flex-wrap:nowrap;--seg-track-bg:var(--bg-2,var(--bg-elevated));--seg-track-border:1px solid var(--border-l,var(--border-strong,var(--border)));--seg-track-radius:9px;--seg-track-padding:0;--seg-btn-radius:0;--seg-active-bg:var(--accent);--seg-active-fg:var(--on-accent)}.seg.seg-icons{padding:var(--space-0-5)}.seg.seg-icons button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.seg button{background:var(--seg-btn-bg);border:var(--seg-btn-border);color:var(--seg-btn-color);padding:var(--space-1-5,8px) var(--space-3-5,12px);font-size:var(--text-md,var(--text-sm));border-radius:var(--seg-btn-radius);min-height:var(--btn-h-md);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);justify-content:center;align-items:center;font-weight:500;display:inline-flex}.seg button:hover{color:var(--t1,var(--text))}.seg button.on,.seg button.active{background:var(--seg-active-bg);border-color:var(--seg-active-border);color:var(--seg-active-fg);font-weight:600}@media (pointer:coarse){.seg:not(.seg-icons) button{min-height:var(--tap-min);padding-block:var(--space-2)}}.seg-scroll{white-space:nowrap;min-width:0;max-width:100%}@media (width<=860px){.seg:not(.wrap):not(.seg-icons):not(.seg--wrap),.seg-scroll{white-space:nowrap;min-width:0;max-width:100%}}.seg--wrap{flex-wrap:wrap;max-width:100%}}@layer life-os.settings{.settings-page{gap:var(--space-4);display:grid}.settings-intro{gap:var(--space-3);display:grid}.settings-tabs{justify-self:start;width:fit-content;max-width:100%;display:inline-flex}.settings-section{gap:var(--space-2-5);display:grid}.settings-section-head{gap:var(--space-1);display:grid}.settings-stack-block{padding:var(--space-2) 0;display:block}.settings-stack-block .sr-label,.settings-stack-block .pref-label{margin-bottom:4px}.settings-stack-block .sr-desc,.settings-stack-block .pref-desc{margin-bottom:12px}.set-row.settings-stack-block,.settings-row-stack{border-top:1px solid var(--border)}.set-group,.settings-block.set-group{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,12px);margin-top:var(--space-4);overflow:hidden}.set-group--edit{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 96px);overflow:visible}.set-group .sg-title,.set-group.settings-block .block-title.sg-title,.settings-block.set-group .block-title{font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--t3,var(--text-muted));margin:0;padding:14px 18px 4px;font-weight:600}.settings-block.set-group .block-desc,.set-group .block-desc{margin:0 0 var(--stack-tight);padding:0 18px}.set-group--edit .sg-title{top:calc(env(safe-area-inset-top,0px) + 88px);z-index:9;justify-content:space-between;align-items:baseline;gap:var(--space-2-5);padding:var(--space-3) 18px;background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);border-radius:var(--radius-lg,12px) var(--radius-lg,12px) 0 0;display:flex;position:sticky}.set-group--edit .sg-count{font-size:var(--text-xs);color:var(--t4,var(--text-muted));letter-spacing:.06em;text-transform:none;font-weight:500}.set-row{justify-content:space-between;align-items:center;gap:var(--space-3-5,14px);border-top:1px solid var(--border);padding:15px 18px;display:flex}.set-row:first-of-type{border-top:none}.settings-btn-group>.btn,.settings-btn-group>.btn.ghost,.settings-btn-group>.btn-primary,.settings-btn-group>.btn-secondary,.settings-btn-group>.btn-danger,.settings-btn-group>.file-input-btn{flex:1;min-width:140px}.settings-btn-group--flat{gap:var(--space-2-5);margin-bottom:0}.auth-link{width:fit-content;text-decoration:none;display:inline-flex}@media (width<=860px){.settings-tabs{width:100%}.set-row.settings-row,.settings-row.set-row{flex-direction:column;align-items:stretch}.set-row .pref-control,.set-row .seg,.auth-link{width:100%}.settings-row-stack{flex-direction:column;align-items:stretch}.settings-row-stack>.btn-primary,.settings-row-stack>.btn-secondary,.settings-row-stack>.btn-danger,.settings-row-stack>.file-input-btn,.settings-row-stack>.btn{justify-content:center;width:100%}}.toggle,.settings-toggle{background:var(--border-l,var(--border-strong,var(--border)));width:46px;height:27px;transition:background var(--dur-base) var(--ease-standard);cursor:pointer;border:none;border-radius:20px;flex-shrink:0;position:relative}.toggle:after,.settings-toggle:after{content:"";width:21px;height:21px;transition:transform var(--dur-base) var(--ease-emphasized);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle.on,.settings-toggle.on{background:var(--toggle-on-bg,var(--accent))}.toggle.on:after,.settings-toggle.on:after{transform:translate(19px)}.toggle.disabled,.settings-toggle.disabled{opacity:.45;cursor:not-allowed}}@layer life-os.modal{.modal-bg{-webkit-backdrop-filter:blur(4px);z-index:var(--z-sheet,100);padding:max(24px, env(safe-area-inset-top,0px)) 24px max(24px, env(safe-area-inset-bottom,0px));overscroll-behavior:contain;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-bg.show{opacity:1;pointer-events:auto}.modal{background:var(--card);border:1px solid var(--border-l,var(--border-strong,var(--border)));width:100%;max-width:340px;transition:transform var(--dur-base) var(--ease-emphasized);border-radius:16px;flex-shrink:0;margin:auto;padding:24px;transform:translateY(10px)scale(.96)}.modal-bg.show .modal{transform:scale(1)}.modal-title{font-family:var(--disp,var(--font-brand));font-size:var(--text-3xl);letter-spacing:.02em;margin:0;font-weight:600}.modal-sub{font-size:var(--text-sm);color:var(--t3,var(--text-muted));margin:3px 0 18px}.modal-actions{gap:var(--space-2-5);display:flex}.modal-actions button{flex:1}}@layer life-os.components{.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;font-family:var(--font);text-align:center;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), filter var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-standard);border:none;line-height:1.2;display:inline-flex}.btn-primary{min-height:var(--btn-h-lg);padding:0 var(--btn-pad-x-lg);border-radius:var(--btn-radius);background:var(--accent);color:var(--on-accent);font-size:var(--text-base);font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{min-height:var(--btn-h-md);padding:0 var(--btn-pad-x-md);border-radius:var(--btn-radius);background:var(--card-h,var(--card-hover,var(--surface-2)));border:1px solid var(--border-l,var(--border-strong,var(--border)));color:var(--t1,var(--text));font-size:var(--text-md);font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--card);color:var(--t1,var(--text))}.btn-ghost{min-height:var(--btn-h-md);padding:0 var(--btn-pad-x-md);border-radius:var(--btn-radius);color:var(--t2,var(--text-secondary));font-size:var(--text-md);background:0 0;font-weight:500}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--t1,var(--text)) 5%, transparent);color:var(--t1,var(--text))}.btn-danger{min-height:var(--btn-h-md);padding:0 var(--btn-pad-x-md);border-radius:var(--btn-radius);background:var(--accent-bg,var(--accent-subtle));border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);color:var(--accent);font-size:var(--text-md);font-weight:500}.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.42;cursor:not-allowed;filter:none;transform:none}a.btn-primary,a.btn-secondary,a.btn-danger{text-decoration:none}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible{box-shadow:var(--btn-focus-ring);outline:none}@media (pointer:coarse){.btn-secondary,.btn-ghost,.btn-danger{min-height:var(--tap-min)}}.tap-target-icon{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);touch-action:manipulation;flex-shrink:0;place-items:center;display:grid}@media (pointer:coarse){.range-hit-expand input[type=range]{box-sizing:border-box;height:var(--tap-min);padding-block:calc((var(--tap-min) - var(--range-track-h,var(--progress-h,4px))) / 2);background-clip:content-box}}.fab{z-index:var(--z-fab);justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--fab-w);height:var(--fab-h);padding:0 var(--space-4);background:var(--fab-bg,var(--accent));color:var(--fab-fg,var(--on-accent));border-radius:var(--fab-radius,var(--radius-pill));font-family:var(--font);font-size:var(--text-base);box-shadow:var(--shadow-soft,0 1px 2px #00000014);transition:background var(--dur-fast) var(--ease-standard), filter var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);border:none;font-weight:600;line-height:1.2;display:inline-flex;position:fixed;bottom:28px;right:28px}.fab:hover:not(:disabled){filter:brightness(1.05)}.fab:active:not(:disabled){transform:scale(.98)}.fab:focus-visible{box-shadow:var(--shadow-soft,0 1px 2px #00000014), var(--btn-focus-ring);outline:none}.fab-label{white-space:nowrap}@media (width<=860px){.fab{right:max(var(--page-gutter), var(--safe-right-effective));bottom:calc(var(--mobile-tabbar-total-h) + var(--fab-offset-above-tabbar));padding:0 var(--space-3-5);font-size:var(--text-md)}}.settings-block,.insight-card:not(.insight-ai){background:var(--card);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-card,0 1px 2px #1f1c180a);transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard)}.insight-card{margin-bottom:var(--card-gap)}.insight-card:last-child{margin-bottom:var(--stack-section)}.insight-card:not(.insight-ai){padding:var(--card-padding-compact) var(--card-padding);border-left:3px solid var(--accent)}.insight-ai{padding:var(--card-padding-compact) var(--card-padding);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-left:3px solid var(--accent);border-radius:var(--card-radius);background:color-mix(in srgb, var(--accent) 6%, var(--card));box-shadow:var(--shadow-card)}.insight-title{font-size:var(--text-base);margin:0;font-weight:600;line-height:1.35}.insight-body{font-size:var(--text-sm);color:var(--t2,var(--text-secondary));margin:var(--title-stack) 0 0;line-height:1.45}.empty{text-align:center;color:var(--t3,var(--text-muted));padding:48px 20px}.empty-icon{width:48px;height:48px;color:var(--accent);opacity:.7;margin:0 auto 12px}.chip{font-size:var(--text-xs);font-family:var(--mono);padding:3px var(--space-2);border-radius:var(--radius-pill);background:var(--bg-2,var(--bg-elevated));color:var(--t2,var(--text-secondary));border:1px solid var(--border)}.chip.tag{background:var(--accent-bg,var(--accent-subtle));color:var(--accent);border-color:#0000}@media (width<=640px){.settings-block,.insight-card:not(.insight-ai),.insight-ai{padding:var(--card-padding-mobile)}}.settings-block{padding:var(--card-padding);margin-bottom:var(--card-stack-gap)}.settings-block:last-child{margin-bottom:0}.settings-block .block-title{margin:0 0 var(--space-2);font-size:var(--text-md);color:var(--t1,var(--text));font-weight:600;line-height:1.35}.settings-block .block-desc{margin:0 0 var(--stack-tight);font-size:var(--text-sm);color:var(--t3,var(--text-muted));line-height:1.45}.settings-row,.pref-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;display:flex}.settings-row+.settings-row,.pref-row+.pref-row{border-top:1px solid var(--border)}.pref-label{font-size:var(--text-base);color:var(--t1,var(--text));font-weight:500}.pref-desc{margin:var(--space-1) 0 0}.pref-copy{flex:1;min-width:0}.pref-control{flex-shrink:0}.sr-label,.pref-label{font-size:var(--text-base)}.sr-desc,.pref-desc{font-size:var(--text-sm);color:var(--t3,var(--text-muted));margin-top:2px;line-height:1.45}.settings-btn-group,.settings-actions{gap:var(--space-2);margin-bottom:var(--stack-section);flex-wrap:wrap;display:flex}.settings-btn-group>.btn-primary,.settings-btn-group>.btn-secondary,.settings-btn-group>.btn-danger,.settings-btn-group>.file-input-btn{flex:1;min-width:140px}.file-input-btn{cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-input-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.field{margin-bottom:16px}.field label{font-family:var(--mono);font-size:var(--text-xs);color:var(--t3,var(--text-muted));letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;display:block}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--card);width:100%;padding:10px 12px}.field textarea{resize:vertical;min-height:88px}.field input[type=number],input[type=number].no-spin{-moz-appearance:textfield}.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (width<=860px){.settings-actions{flex-direction:column}.settings-actions>.btn-primary,.settings-actions>.btn-secondary,.settings-actions>.btn-danger{width:100%}}.sheet-bg{z-index:var(--z-sheet);overscroll-behavior:contain;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=861px){.sheet-bg{align-items:center}}.sheet{background:var(--card);border:1px solid var(--border-l,var(--border-strong,var(--border)));padding:12px 20px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}@media (width>=861px){.sheet{border-radius:16px;max-height:85dvh}}.sheet-handle{background:var(--border-l,var(--border-strong,var(--border)));border-radius:2px;width:36px;height:4px;margin:0 auto 16px}.sheet-title{font-size:var(--text-xl);letter-spacing:-.01em;margin:0 0 16px;font-weight:600}.sheet-actions{gap:10px;margin-top:8px;display:flex}.sheet-actions button{flex:1}.banner{background:var(--warning-subtle);border:1px solid color-mix(in srgb, var(--warning) 32%, transparent);color:var(--warning);border-radius:var(--radius-sm);padding:var(--stack-tight) var(--stack-section);font-size:var(--text-md);margin-bottom:var(--stack-section);line-height:1.5}.banner.critical{background:var(--critical-subtle);border-color:color-mix(in srgb, var(--critical) 32%, transparent);color:var(--critical)}.banner.positive{background:var(--positive-subtle);border-color:color-mix(in srgb, var(--positive) 32%, transparent);color:var(--positive)}.banner--row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.banner__text{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.5}.banner--fixed{z-index:var(--z-banner);padding-top:calc(var(--stack-tight) + var(--safe-top-effective));padding-bottom:var(--stack-tight);padding-inline:max(var(--page-gutter), var(--safe-left-effective)) max(var(--page-gutter), var(--safe-right-effective));min-height:calc(var(--banner-fixed-h) + var(--safe-top-effective));box-shadow:0 4px 16px color-mix(in srgb, var(--critical) 8%, transparent);border-top:none;border-left:none;border-right:none;border-radius:0;margin-bottom:0;position:fixed;top:0;left:0;right:0}body:has(.banner--fixed) .main-col{padding-top:calc(var(--banner-fixed-h) + var(--safe-top-effective))}.banner-close{min-width:var(--tap-min,44px);min-height:var(--tap-min,44px);margin:calc((var(--tap-min,44px) - var(--btn-h-md)) / -2);padding-inline:var(--btn-pad-x-sm);font-size:var(--text-sm);color:inherit;opacity:.85;touch-action:manipulation;flex-shrink:0}.banner-close:hover:not(:disabled){opacity:1}.banner-close:focus-visible{box-shadow:var(--btn-focus-ring);outline:none}.toast{left:50%;bottom:calc(var(--nav-h,var(--mobile-tabbar-h)) + var(--space-5) + var(--safe-bottom-effective));box-sizing:border-box;width:max-content;max-width:var(--toast-max-width);min-height:var(--toast-min-h);justify-content:flex-start;align-items:center;gap:var(--toast-gap);padding:var(--toast-pad-y) var(--toast-pad-x);border-radius:var(--toast-radius,var(--radius-pill));background:var(--toast-bg,var(--positive-subtle));border:1px solid var(--toast-border,color-mix(in srgb, var(--positive) 32%, var(--border)));color:var(--t1,var(--text));font-family:var(--toast-font,var(--font));font-size:var(--toast-font-size);font-weight:500;line-height:var(--toast-line-height);text-align:left;box-shadow:var(--shadow-elevated,0 10px 32px #0000001f);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-toast);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);display:inline-flex;position:fixed;transform:translate(-50%)translateY(12px)}.toast-msg{overflow-wrap:anywhere;flex:auto;min-width:0}.toast--action{gap:var(--space-2);max-width:min(calc(100vw - var(--space-6)), 400px);z-index:calc(var(--z-toast,120) + 20)}.toast-action{margin:calc((var(--toast-pad-y) - 10px) * -1) -6px calc((var(--toast-pad-y) - 10px) * -1) 0;min-height:var(--tap-min);font:inherit;font-size:var(--text-sm);color:var(--accent);text-underline-offset:3px;cursor:pointer;touch-action:manipulation;white-space:nowrap;background:0 0;border:none;flex:none;justify-content:center;align-self:center;align-items:center;padding:10px 8px;font-weight:700;line-height:1;text-decoration:underline;display:inline-flex}.toast-action:focus-visible{box-shadow:var(--btn-focus-ring);border-radius:var(--radius-control);outline:none}.toast-dismiss{width:var(--tap-min);height:var(--tap-min);margin:calc((var(--toast-pad-y) + 1px) * -1) calc((var(--toast-pad-x) - 6px) * -1) 0 0;border-radius:var(--radius-pill);color:inherit;cursor:pointer;opacity:.72;touch-action:manipulation;background:0 0;border:none;flex:none;align-self:flex-start;padding:0;font-size:1.25rem;line-height:1}@media (hover:hover) and (pointer:fine){.toast-dismiss:hover{opacity:1;background:color-mix(in srgb, currentColor 10%, transparent)}}.toast--error{background:var(--critical-subtle);border-color:color-mix(in srgb, var(--critical) 32%, var(--border))}.toast--warn{background:var(--warning-subtle);border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--t1,var(--text))}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}:root[data-theme=dark] .toast:not(.toast--error):not(.toast--warn){background:var(--toast-bg,var(--positive-subtle));border-color:color-mix(in srgb, var(--positive) 44%, var(--border));color:var(--t1,var(--text))}:root[data-theme=dark] .toast--error{background:var(--critical-subtle);border-color:color-mix(in srgb, var(--critical) 44%, var(--border));color:var(--t1,var(--text))}:root[data-theme=dark] .toast--warn{background:var(--warning-subtle);border-color:color-mix(in srgb, var(--warning) 44%, var(--border));color:var(--t1,var(--text))}@media (width<=860px){body:has([data-fab-visible=true]) .toast{bottom:calc(var(--mobile-content-inset) + var(--space-3) + var(--safe-bottom-effective));max-width:min(var(--toast-max-width), calc(100vw - var(--fab-w,132px) - var(--space-8) - var(--space-3)))}}@media (width>=861px){.toast{bottom:calc(var(--space-5) + var(--safe-bottom-effective));max-width:var(--toast-max-width-desktop);box-shadow:0 12px 40px #00000024, 0 0 0 1px color-mix(in srgb, var(--border) 70%, transparent)}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}}@layer life-os.utilities{.life-os-scroll-x{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-tap-highlight-color:transparent;min-width:0;max-width:100%;overflow:auto hidden}.life-os-scroll-x::-webkit-scrollbar{display:none}.life-os-scroll-x--snap{scroll-snap-type:x proximity;scroll-padding-inline:max(var(--space-2,8px), env(safe-area-inset-left,0px)) max(var(--space-2,8px), env(safe-area-inset-right,0px))}.life-os-scroll-x--snap-mandatory{scroll-snap-type:x mandatory;scroll-padding-inline:max(var(--space-2,8px), env(safe-area-inset-left,0px)) max(var(--space-2,8px), env(safe-area-inset-right,0px))}.life-os-scroll-x--snap>*,.life-os-scroll-x--snap-mandatory>*{scroll-snap-align:start;flex-shrink:0}@media (prefers-reduced-motion:no-preference){.life-os-scroll-x--snap,.life-os-scroll-x--snap-mandatory{scroll-behavior:smooth}}.life-os-scroll-x--fade-edge{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.life-os-scroll-fade{min-width:0;max-width:100%;position:relative}.life-os-scroll-fade:after{content:"";background:linear-gradient(to right, transparent, var(--life-os-scroll-fade-bg,var(--bg)));pointer-events:none;width:28px;position:absolute;top:0;bottom:0;right:0}}:root{--bg:#f5f3f0;--bg-2:#fff;--card:#fff;--card-h:#f0ece6;--border:#e4e0da;--border-l:#d4cfc8;--t1:#1f1c18;--t2:#5c5650;--t3:#78736d;--t4:#9a9590;--accent:#c47a08;--accent-2:#e19312;--accent-bg:#c47a081a;--on-accent:#fff;--done:var(--positive);--deadline:var(--critical);--link:var(--info);--sidebar:#161412;--sidebar-foreground:#f5f0ea;--sidebar-muted:#f5f0ea8c;--sidebar-accent:#221f1c;--sidebar-primary:#e9a832;--sidebar-primary-foreground:#1a1408;--sidebar-border:#ffffff14;--appbar-bg:#f5f3f0e0;--nav-bg:#ffffffeb;--shadow:#1f1c1814;--shadow-elevated:0 8px 28px #1f1c181a, 0 2px 8px #1f1c180d;--shadow-card:0 1px 2px #1f1c180a, 0 4px 14px #1f1c180f;--shadow-soft:0 1px 2px #1f1c1808;--shadow-focus:0 0 0 2px #c47a0852;--btn-focus-ring:var(--shadow-focus);--theme-color:#f5f3f0;--seg-display:flex;--seg-flex-wrap:wrap;--seg-gap:8px;--seg-track-bg:transparent;--seg-track-border:none;--seg-track-padding:0;--seg-btn-bg:var(--card);--seg-btn-border:1px solid var(--border);--seg-active-bg:var(--accent-bg);--seg-active-fg:var(--accent);--seg-active-border-token:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--safari-chrome-tint-bottom-bg:var(--nav-bg)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f0f0e;--bg-2:#171612;--card:#171612;--card-h:#201d17;--surface-elevated:#181612;--border:#ffffff12;--border-l:#ffffff1a;--accent:#f5b83d;--accent-2:#ffc966;--accent-bg:#f5b83d24;--on-accent:#1a1408;--link:#8db8f4;--done:var(--positive);--deadline:var(--critical);--positive:#6dd6ad;--positive-subtle:#17382e;--warning:#f2bd6c;--warning-subtle:#423116;--critical:#ff8fa2;--critical-subtle:#4a2028;--info:#8db8f4;--info-subtle:#1a2d42;--t1:#f1eee8;--t2:#a7a29a;--t3:#6f6a62;--t4:#f1eee861;--appbar-bg:#0f0f0eeb;--nav-bg:#0f0f0ef0;--sidebar:#0f0f0e;--sidebar-foreground:#f1eee8;--sidebar-muted:#a7a29a;--sidebar-accent:#171612;--sidebar-primary:var(--accent);--sidebar-primary-foreground:var(--on-accent);--sidebar-border:#ffffff12;--shadow:#00000059;--shadow-soft:0 4px 20px #00000052;--shadow-elevated:0 12px 40px #00000061, 0 2px 8px #0003;--shadow-card:0 1px 2px #00000038, 0 4px 14px #00000029;--shadow-focus:0 0 0 2px #f5b83d47;--theme-color:#0f0f0e;--task-check-stroke:#46443f;--safari-chrome-tint-bottom-bg:var(--nav-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] html,:root[data-theme=dark] body{background-image:none}html,body{background-image:radial-gradient(80% 50% at 50% -20%,#c47a0809,#0000 62%)}.appbar-back:focus-visible,.appbar-search:focus-visible,.appbar-settings:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px}.appbar-search,.appbar-settings{width:var(--tap-min);height:var(--tap-min);color:var(--t2);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.appbar-search:hover,.appbar-settings:hover{background:color-mix(in srgb, var(--t1) 6%, transparent);color:var(--t1)}.appbar--back .appbar-titles{text-align:left}.task-row{gap:var(--space-3);padding:var(--card-padding-compact);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.swipe-item{border-radius:var(--radius-control);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.swipe-content{background:var(--bg);will-change:transform;position:relative}.swipe-content.settling{transition:transform .22s var(--ease,ease)}.swipe-content.dragging .task-row:hover{box-shadow:none;border-color:#0000}.swipe-bg{border-radius:var(--radius-control);align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.swipe-bg--complete{padding-left:var(--space-4);background:color-mix(in srgb, var(--done) 30%, var(--card));color:var(--done);opacity:.75;transition:background .15s var(--ease,ease), opacity .15s var(--ease,ease);justify-content:flex-start}.swipe-bg--complete.armed{background:var(--done);color:var(--on-accent);opacity:1}.swipe-bg--actions{background:var(--card-h);justify-content:flex-end}.swipe-action{width:66px;height:100%;font-size:var(--text-xs);-webkit-tap-highlight-color:transparent;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;font-weight:600;display:flex}.swipe-action--tomorrow{background:color-mix(in srgb, var(--accent) 18%, var(--card));color:var(--accent)}.swipe-action--delete{background:color-mix(in srgb, var(--critical) 16%, var(--card));color:var(--critical);transition:background .15s var(--ease,ease), color .15s var(--ease,ease)}.swipe-bg--actions.full .swipe-action--tomorrow{display:none}.swipe-bg--actions.full .swipe-action--delete{background:var(--critical);width:100%;color:var(--on-accent,#fff)}.task-list{gap:var(--card-gap);flex-direction:column;display:flex}.task-row:hover{border-color:var(--border-l);box-shadow:var(--shadow-elevated)}.task-row.done{opacity:.55}.task-row.overdue{border-color:color-mix(in srgb, var(--deadline) 35%, var(--border))}.task-check{border:2px solid var(--task-check-stroke,var(--border-l));width:32px;height:32px;transition:border-color var(--dur-fast), background var(--dur-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:50%;flex-shrink:0;place-items:center;margin-top:0;display:grid;position:relative}.task-check:active:not(.on){background:var(--accent-bg);border-color:color-mix(in srgb, var(--accent) 40%, var(--task-check-stroke,var(--border-l)))}.task-check:after{content:"";position:absolute;inset:-11px}.task-check.on{background:var(--accent);border-color:var(--accent);width:36px;height:36px;color:var(--on-accent)}.task-check.completing{animation:check-pop .2s var(--ease,ease) forwards}.task-check.completing:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 50%, transparent), transparent 68%);pointer-events:none;z-index:-1;border-radius:50%;animation:.3s ease-out forwards check-glow;position:absolute;inset:-5px}@keyframes check-pop{0%{transform:scale(.9)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes check-glow{0%{opacity:.75;transform:scale(.85)}to{opacity:0;transform:scale(1.45)}}.task-row.completing{transition:opacity .28s var(--ease,ease), transform .28s var(--ease,ease)}.swipe-item.is-completing{transition:max-height .32s var(--ease,ease), opacity .3s var(--ease,ease), margin .32s var(--ease,ease);overflow:hidden}.swipe-item.is-completing .swipe-content{opacity:0;transition:opacity .28s var(--ease,ease), transform .28s var(--ease,ease);transform:translateY(-4px)}.task-row.completing .task-title{animation:title-complete .36s var(--ease,ease) 80ms forwards}@keyframes title-complete{to{color:var(--t3);opacity:.78;text-decoration:line-through}}@media (prefers-reduced-motion:reduce){.task-check.completing{animation:none}.task-check.completing:before{display:none}.task-row.completing .task-title{color:var(--t3);opacity:.78;text-decoration:line-through;animation:none}}.today-progress{gap:var(--space-1-5);margin-bottom:var(--stack-section);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border);background:#ffffff09;flex-direction:column;min-height:48px;display:flex}:root[data-theme=light] .today-progress{background:var(--card);border:1px solid #e8ded0}.today-progress-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.today-progress-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--t2);font-weight:600}.today-progress-count{font-size:var(--text-sm);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.today-progress-dots{gap:6px;display:flex}.today-progress-dot{background:color-mix(in srgb, var(--t1) 10%, transparent);border:1px solid var(--border);width:7px;height:7px;transition:background-color .26s var(--ease,ease), border-color .26s var(--ease,ease), transform .26s var(--ease,ease);border-radius:50%}.today-progress-dot.filled{background:var(--accent);border-color:var(--accent);transform:scale(1.05)}.today-progress-bar{background:color-mix(in srgb, var(--t1) 8%, transparent);border-radius:999px;height:4px;overflow:hidden}.today-progress-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 88%, #f5a623), var(--accent));height:100%;transition:width .28s var(--ease,ease)}.today-progress-copy{font-size:var(--text-xs);color:var(--t2);margin:0;line-height:1.45}.today-progress-actions{gap:var(--space-1-5);flex-wrap:wrap;justify-content:flex-end;display:flex}.today-progress-foot{gap:var(--space-2);flex-direction:column;display:flex}.today-progress-foot-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.today-progress-stats--link{cursor:pointer;text-align:left}.today-progress-stats--link:hover{color:var(--accent)}.today-progress-stats{color:var(--t2);font-size:var(--text-sm);text-align:left;background:0 0;border:none;margin:0;padding:0;font-weight:600;line-height:1.4}.today-progress-stats:disabled{opacity:.72}.today-progress-stats:not(:disabled):hover{color:var(--t1)}.today-progress-chip--action{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent)}.today-progress-chip{padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-2,var(--bg-2)) 88%, transparent);color:var(--t2);font-size:var(--text-xs);border:1px solid #0000;font-weight:600;line-height:1.2}.today-progress-chip:not(.today-progress-chip--ghost):hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent)}.today-progress-chip--ghost{color:var(--t2);border-color:var(--border);background:0 0}.today-progress-chip--ghost:hover{color:var(--t1);border-color:var(--border-l)}.today-progress-chip:hover{border-color:var(--border-l)}#done-today .task-row.done{opacity:.88}#done-today .task-meta-line--done{color:var(--t3)}#done-today .task-title.done-text{color:color-mix(in srgb, var(--t2) 88%, var(--t3))}#done-today .sec-title{color:var(--t2)}.today-progress-rhythm{gap:var(--space-1-5);flex-wrap:wrap;min-height:22px;display:flex}.today-progress-rhythm-pill{border-radius:var(--radius-pill);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2,var(--bg-2)) 88%, transparent);color:var(--t2);padding:2px 8px;font-size:11px;font-weight:600}.today-progress--compact .today-progress-foot{align-items:stretch;gap:var(--space-1-5);flex-direction:column}.today-progress--compact .today-progress-foot-row{align-items:center}.today-progress--compact .today-progress-stats{font-size:var(--text-xs);margin:0;font-weight:500}.today-progress--compact .today-progress-actions{gap:var(--space-1-5);flex-wrap:wrap;justify-content:flex-end;display:flex}.today-progress-chip--solo{align-self:flex-end}.today-progress--compact .today-progress-copy{margin-bottom:0}.page-hint{margin:var(--space-2) 0 var(--stack-section);color:var(--t3);font-size:var(--text-sm);line-height:1.45}.rhythm-streak-hint{margin:var(--space-1-5) 0 0;color:var(--t2);font-size:var(--text-xs);line-height:1.45}.calendar-week-nav{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.calendar-week-nav-btn{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--card) 96%, transparent);width:48px;min-width:48px;height:48px;color:var(--t2);padding:0;font-size:18px;line-height:1}:root[data-theme=light] .calendar-week-nav-btn{background:#fefdfc;border-color:#e8e2d8}.calendar-week-nav-today{min-width:72px;padding:var(--space-1-5) var(--space-3);color:var(--t1);font-size:var(--text-sm);background:0 0;border:none;font-weight:600}.today-layout,.desktop-split-layout{display:block}.desktop-split-main,.today-main{min-width:0}.today-recap{display:none}.today-closed{margin-bottom:var(--stack-section);padding:var(--space-4) var(--space-3-5);border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--card));text-align:center;animation:today-closed-in .9s var(--ease,ease);position:relative;overflow:hidden}.today-closed-orb{width:72px;height:72px;margin:0 auto var(--space-3);position:relative}.today-closed-orb-ring{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:50%;position:absolute;inset:0}.today-closed-orb-ring--outer{animation:2.8s ease-in-out infinite today-closed-breathe}.today-closed-orb-ring--inner{border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 72%);inset:8px}.today-closed-orb-core{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%;place-items:center;display:grid;position:absolute;inset:18px}.today-view-toggle{margin-bottom:var(--stack-section);border-radius:var(--radius-control);border:1px solid var(--border);background:color-mix(in srgb, var(--card) 80%, transparent);grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.today-view-toggle-btn{min-height:var(--tap-min,40px);padding:var(--space-2);border-radius:calc(var(--radius-control) - 3px);color:var(--t2);font-size:var(--text-sm);text-align:center;font-weight:600}.today-view-toggle-btn.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, var(--border))}.day-schedule-panel{margin-bottom:var(--stack-section)}.schedule-toolbar-date{min-width:88px;color:var(--t1);font-size:var(--text-sm);text-align:center;font-weight:600}@keyframes today-closed-breathe{0%,to{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes today-closed-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.today-closed-title{font-size:var(--text-lg);color:var(--t1);margin:0;font-weight:600}.today-closed-stats{margin:var(--space-2) 0 var(--space-3);color:var(--t1);font-size:var(--text-sm);opacity:.88}.today-closed-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.today-closed-dismiss{width:100%;margin-top:var(--space-1);color:var(--t3);font-size:var(--text-xs)}.rhythm-summary{gap:var(--space-2-5);padding:var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--card);flex-direction:column;display:flex}.rhythm-summary-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rhythm-stat-label{color:var(--t3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}.rhythm-stat-value{font-size:var(--text-lg);font-variant-numeric:tabular-nums;color:var(--t1)}.rhythm-stat-unit{color:var(--t2);font-size:var(--text-xs);margin-left:2px;font-weight:500}.rhythm-heatmap{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.rhythm-heat-cell{border:1px solid var(--border);height:28px;color:var(--t3);text-transform:uppercase;border-radius:8px;place-items:center;font-size:11px;font-weight:600;display:grid}.rhythm-heat-cell.good{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent)}.rhythm-heat-cell.rest{opacity:.55}.rhythm-milestones{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.rhythm-milestone{border-radius:var(--radius-pill);border:1px dashed color-mix(in srgb, var(--accent) 30%, var(--border));color:var(--t2);padding:2px 8px;font-size:11px}.rhythm-muted{color:var(--t2);font-size:var(--text-sm);margin:0}.rhythm-weekly-hint{margin:var(--space-2) 0 0;color:var(--t3);font-size:var(--text-xs);line-height:1.45}.task-title-row{align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.task-kind-dot{background:color-mix(in srgb, var(--t2) 45%, var(--t3));border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px}.task-check--accent{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent)}.task-check:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent);outline:none}.chip--focus,.chip--priority{color:var(--t2);background:color-mix(in srgb, var(--surface-2,var(--bg-2)) 88%, transparent);border-color:#0000}.task-meta .chip.tag{background:color-mix(in srgb, var(--surface-2,var(--bg-2)) 88%, transparent);color:var(--t2);border-color:#0000}.completed-page{gap:var(--stack-section);flex-direction:column;display:flex}@media (width>=861px){.completed-rhythm--inline{display:none}}.completed-section-title{margin:0 0 var(--space-2);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--t2);font-weight:600}.done-log-empty{color:var(--t3);font-size:var(--text-sm);margin:0}@media (prefers-reduced-motion:reduce){.today-closed,.today-closed-orb{animation:none}}.task-body{min-width:0}.task-title{font-size:var(--text-base);word-break:break-word;font-weight:500;line-height:1.35}.task-title.done-text{color:#8a837a;font-weight:600;text-decoration:line-through}.task-meta{gap:var(--space-1-5,6px);margin-top:var(--space-1-5,6px);flex-wrap:wrap;display:flex}.task-meta-line{color:var(--t2);font-size:var(--text-xs);margin:4px 0 0;line-height:1.45}.task-meta-line.overdue{color:var(--deadline)}.task-meta-line--done{color:#b1aaa2}.chip.overdue{color:var(--deadline);border-color:color-mix(in srgb, var(--deadline) 30%, var(--border))}.priority-dot{border-radius:50%;width:10px;height:10px;margin-top:8px}.quick-add{gap:var(--space-2-5);margin-bottom:var(--stack-section);align-items:stretch;display:flex}.quick-add .btn-primary{flex-shrink:0;align-self:stretch}.quick-add input{height:var(--control-h);border-radius:var(--control-radius);border:1px solid var(--border);background:var(--card);flex:1;padding:0 14px}.quick-add input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.quick-add .btn-primary:disabled{color:#9a9188;cursor:not-allowed;opacity:1;background:#e8e2d8;border-color:#e8e2d8}.back-btn{color:var(--t2);font-size:var(--text-sm);align-items:center;gap:4px;margin-bottom:8px;display:inline-flex}.insight-action{margin-top:var(--space-2-5);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);font-size:var(--text-sm);font-weight:600;line-height:1.2}.insight-stack{gap:var(--space-2);margin-bottom:var(--stack-tight);flex-direction:column;display:flex}.insight-banner{align-items:flex-start;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-card);display:flex}.insight-banner-copy{flex:1;min-width:0}.insight-banner-title{font-size:var(--text-sm);margin:0;font-weight:600;line-height:1.35}.insight-banner-body{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--t2);line-height:1.45}.insight-banner-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.insight-banner-cta{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);font-size:var(--text-xs);white-space:nowrap;font-weight:600;line-height:1.2}.insight-banner-dismiss{width:var(--tap-min-compact,32px);height:var(--tap-min-compact,32px);border-radius:var(--radius-control);color:var(--t3);flex-shrink:0;place-items:center;display:grid}.insight-banner-dismiss:hover{background:color-mix(in srgb, var(--t1) 6%, transparent);color:var(--t2)}.insight-more-btn{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-pill);border:1px dashed var(--border-l);color:var(--t2);font-size:var(--text-xs);background:0 0;align-self:flex-start;font-weight:500}.insight-more-btn:hover{border-color:var(--accent);color:var(--accent)}.insight-banner--ai{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card))}.insight-banner--overdue{border-left:3px solid var(--deadline)}.insight-banner--schedule,.insight-banner--focus,.insight-banner--welcome{border-left:3px solid var(--accent)}.field input[type=date],.field input[type=time],.until-input{min-height:var(--control-h);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark] .field input[type=date],:root[data-theme=dark] .field input[type=time],:root[data-theme=dark] .until-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-day{aspect-ratio:1;border:1px solid var(--border);background:var(--card);color:var(--t2);border-radius:10px;place-items:center;padding:6px 4px;font-size:10px;line-height:1.25;display:grid;position:relative}.cal-day.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:700}.cal-day.has-tasks:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px}.subtask-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.settings-block .block-title,.set-group .sg-title{margin:0 0 var(--space-2)}.settings-block .block-desc,.set-group .block-desc{margin-top:0}@media (width<=640px){.task-row,.insight-card:not(.insight-ai),.insight-ai{padding:var(--card-padding-mobile)}}@media (width<=860px){.auth-link{width:100%}.app-shell{flex-direction:column;min-height:auto;display:flex}html,body{min-height:auto}.main-col{width:100%;min-height:calc(100svh - env(safe-area-inset-top,0px));align-self:stretch;padding-bottom:0}html.standalone-pwa .main-col{min-height:0}:root{--mobile-content-inset:calc(176px + env(safe-area-inset-bottom,0px))}body:has(.mobile-more-backdrop) .fab{display:none}body:has(.today-closed) .fab{display:none}.main-col:has(.today-closed) .wrap{padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset-tabbar) + var(--space-2))}.today-layout--timeline .today-progress-actions{display:none}body:has([data-fab-visible=true]) .toast{left:max(var(--page-gutter), var(--safe-left-effective));max-width:min(calc(100vw - var(--space-8)), 320px);right:auto;transform:translateY(12px)}body:has([data-fab-visible=true]) .toast.show{transform:translateY(0)}.safari-chrome-tint-bottom{z-index:calc(var(--z-nav,30) - 1)}.settings-row.set-row,.set-row.settings-row,.settings-row-stack{flex-direction:column;align-items:stretch}.settings-row-stack>.btn-primary,.settings-row-stack>.btn-secondary,.settings-row-stack>.btn-danger,.settings-row-stack>.file-input-btn{justify-content:center;width:100%}.quick-add--mobile{display:flex}.quick-add--mobile input,.quick-add--mobile .btn-primary{height:56px;min-height:56px}.quick-add:not(.quick-add--mobile){display:none}}@media (width>=861px){:root{--planner-desktop-span:calc(100vw - var(--sidebar-w,208px) - var(--page-gutter-desktop,24px) * 2)}.quick-add--mobile{display:flex}.insight-banner--welcome,.appbar-trailing,.appbar-brand{display:none}.today-layout,.desktop-split-layout{gap:var(--space-6);width:100%;max-width:var(--planner-desktop-span);grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;margin:0 auto;padding:0;display:grid}.desktop-split-layout--log{grid-template-columns:minmax(0,1.45fr) minmax(280px,340px)}.today-layout .wrap,.desktop-split-layout .wrap{max-width:none;margin:0;padding-left:0;padding-right:0}.today-layout--timeline{max-width:var(--planner-desktop-span);grid-template-columns:minmax(0,1fr)}.today-layout--timeline .day-schedule-panel,.today-layout--timeline .schedule-layout{width:100%}.today-layout--timeline .schedule-layout{gap:var(--space-5);grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.today-layout--timeline .day-timeline-shell{min-width:0}.today-layout--timeline .day-timeline-scroll{max-height:min(78vh,1040px)}.today-layout--with-recap .today-progress-actions{display:none}.today-recap .today-recap-block:has(.today-recap-done-list){display:none}.today-closed{gap:var(--space-4);text-align:left;padding:var(--space-3-5) var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.today-closed-orb{width:56px;height:56px;margin:0}.today-closed-orb-core{inset:14px}.today-closed-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.today-closed-dismiss{text-align:right;width:100%}.calendar-page .task-row--compact{padding-block:var(--space-2)}.calendar-page .task-row-trailing{margin-left:auto}.task-schedule-btn{display:none}.time-block-handle{opacity:.42}.time-block-grip{opacity:.72}.settings-page--planner{width:100%;max-width:var(--planner-desktop-span);gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin:0 auto}.settings-page--planner>.settings-block:nth-child(3),.settings-page--planner>.settings-block:nth-child(6){grid-column:1/-1}.settings-page--planner>.settings-block{overflow:visible}.appbar{z-index:calc(var(--z-nav,30) - 1);position:sticky;top:0}.toast{top:calc(var(--appbar-h,56px) + var(--space-3));right:max(var(--page-gutter-desktop,24px), var(--safe-right-effective));bottom:auto;left:auto;transform:translateY(-8px)}.toast.show{transform:translateY(0)}.fab{display:none!important}.today-recap{gap:var(--space-3);top:calc(var(--appbar-h,56px) + var(--space-3));padding:var(--space-3);border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:#ffffff05;flex-direction:column;display:flex;position:sticky}:root[data-theme=light] .today-recap{background:color-mix(in srgb, var(--accent) 3%, var(--card))}.today-recap-head{gap:var(--space-1);flex-direction:column;display:flex}.today-recap-title{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--t2);margin:0;font-weight:600}.today-recap-sub{color:var(--accent);font-size:var(--text-sm);margin:0;font-weight:600}.calendar-context-meta{color:var(--t2);font-size:var(--text-xs);margin:0}.calendar-context .schedule-summary{margin-top:var(--space-2)}.today-recap-foot .today-progress-chip{align-items:center;gap:var(--space-1);display:inline-flex}.today-recap-block-title{margin:0 0 var(--space-2);letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-size:11px;font-weight:600}.today-recap-done-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-recap-done-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-control);color:var(--t2);font-size:var(--text-sm);text-align:left;display:flex}.today-recap-done-item:hover{background:color-mix(in srgb, var(--t1) 5%, transparent);color:var(--t1)}.today-recap-done-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-recap-next{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--card);color:var(--t1);font-size:var(--text-sm);text-align:left;font-weight:500;display:flex}.today-recap-link,.today-recap-foot{margin-top:var(--space-1)}.today-recap-link{color:var(--accent);font-size:var(--text-xs);font-weight:600}}.auth-wrap{flex-direction:column;justify-content:center;min-height:calc(100dvh - 120px);display:flex}@media (width<=860px){.auth-wrap{min-height:calc(100dvh - 100px - var(--mobile-content-inset-minimal,48px))}}.search-field input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.mobile-more-row:active{background:color-mix(in srgb, var(--t1) 6%, transparent)}.mobile-more-close:hover{background:color-mix(in srgb, var(--t1) 8%, transparent);color:var(--t1)}.mobile-more-row.active .mobile-more-row-icon{background:color-mix(in srgb, var(--accent) 16%, var(--card));color:var(--t1)}.banner--fixed{box-shadow:0 4px 16px color-mix(in srgb, var(--critical) 8%, transparent)}.banner-close:hover:not(:disabled){opacity:1}.toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.insight-summary{align-items:center;gap:var(--space-2);width:100%;min-height:44px;margin:0 0 var(--space-2);color:var(--t2);font-family:inherit;font-size:var(--text-sm);text-align:left;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:none;padding:0;font-weight:500;line-height:1.3;display:flex}.insight-summary svg:first-child{color:var(--accent);opacity:.82;flex-shrink:0}.insight-summary:active{color:var(--t1)}.insight-summary span{flex:1;min-width:0}.task-group--compact .sec-header{min-height:36px;margin:var(--space-2) 0 var(--space-1);align-items:center}.task-group--compact .sec-title{font-family:var(--font);font-size:var(--text-base);letter-spacing:0;text-transform:none;color:var(--t2);font-weight:600}.task-group--compact .sec-count{font-family:var(--font);font-size:var(--text-sm);color:var(--t2);opacity:.72;font-weight:600}.task-group--compact .task-list{gap:var(--space-1);padding-bottom:var(--space-1)}.task-group--compact .swipe-item+.swipe-item{border-top:none}.task-row--compact{min-height:var(--control-h);padding-block:var(--space-2);align-items:center;gap:var(--space-3);padding-inline:0}.task-row--compact .task-title{font-size:var(--text-base);font-weight:500;line-height:1.35}.task-row--compact .priority-dot{margin-top:0}@media (width<=860px){.appbar-inner{padding:max(var(--space-4), var(--safe-top-effective)) max(var(--content-inline-pad,var(--page-gutter)), var(--safe-right-effective)) var(--stack-tight) max(var(--content-inline-pad,var(--page-gutter)), var(--safe-left-effective))}.appbar-brand-name{font-size:var(--text-base);opacity:.88}.appbar-search,.appbar-settings{width:var(--tap-min);height:var(--tap-min);color:var(--t2);background:0 0;border:none}.wrap{padding:var(--stack-tight) max(var(--content-inline-pad,var(--page-gutter)), var(--safe-right-effective)) calc(var(--page-block-gap) + var(--mobile-content-inset)) max(var(--content-inline-pad,var(--page-gutter)), var(--safe-left-effective))}.main-col[data-mobile-chrome=tabbar] .wrap{padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset-tabbar))}.main-col[data-mobile-chrome=minimal] .wrap,.main-col[data-mobile-chrome=minimal] .auth-wrap{padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset-minimal))}.insight-summary{min-height:var(--control-h);padding:var(--space-2-5) var(--space-3-5);margin-bottom:var(--stack-tight);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--card);color:var(--t2);font-size:var(--text-sm);font-weight:500}.insight-summary:active{background:var(--card-h);color:var(--t1)}.insight-stack{gap:var(--space-2);margin-bottom:var(--stack-tight)}.insight-banner{border-radius:var(--radius-control);padding:var(--space-2-5) var(--space-3-5);border:1px solid var(--border);background:var(--card);box-shadow:none}.insight-banner-title{font-size:var(--text-sm);font-weight:600}.insight-banner--ai{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card))}.task-row--compact:hover{box-shadow:none;border-color:#0000}.nav .nav-item,.nav .nav-item-more{gap:var(--space-1);color:var(--t3)}.nav .nav-item.on,.nav .nav-item-more.on{color:var(--accent);background:0 0}.nav .nav-item.on svg,.nav .nav-item-more.on svg{border-radius:var(--radius-control);background:var(--accent-bg);box-sizing:content-box;padding:7px}.nav .nav-lbl{font-size:var(--text-xs);letter-spacing:.02em;text-transform:none;font-weight:500}.fab{right:28px;bottom:calc(112px + env(safe-area-inset-bottom,0px));min-width:auto;max-width:260px;height:64px;font-size:var(--text-md);box-shadow:var(--shadow-soft);padding:0 28px;font-weight:600}.fab--compact{border-radius:50%;justify-content:center;width:64px;max-width:none;height:64px;padding:0;box-shadow:0 2px 10px #1f1c181a}.fab--compact .fab-label{display:none}.fab-label{font-size:var(--text-md)}}.schedule-toolbar{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--stack-section);display:flex}.schedule-toolbar-today{min-width:72px}.schedule-layout{gap:var(--space-4);grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;display:grid}.unscheduled-panel{padding:var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border);background:color-mix(in srgb, var(--card) 88%, transparent)}.unscheduled-panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.unscheduled-panel-title{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--t2);margin:0;font-weight:600}.unscheduled-panel-count{color:var(--t3);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.unscheduled-list{gap:var(--space-1-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.unscheduled-item{align-items:center;gap:var(--space-2);display:flex}.unscheduled-item-title{min-width:0;padding:var(--space-1-5) 0;color:var(--t1);font-size:var(--text-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.unscheduled-item-action{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--accent);background:0 0;flex-shrink:0;font-size:11px;font-weight:600}.unscheduled-empty{color:var(--t3);font-size:var(--text-sm);margin:0;line-height:1.45}.day-timeline{gap:var(--space-2);grid-template-columns:64px minmax(0,1fr);display:grid}.day-timeline-ruler{position:relative}.day-timeline-hour{color:var(--t3);font-variant-numeric:tabular-nums;font-size:11px;position:relative}.day-timeline-hour-label{position:absolute;top:-7px;right:0}.day-timeline-canvas{position:relative}.day-timeline-slot-hitbox{z-index:0;cursor:copy;background:0 0;border:none;width:100%;min-height:100%;padding:0;position:absolute;inset:0}.day-timeline-grid{pointer-events:none}.day-timeline-canvas--drop-target{outline:2px dashed color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 4%, transparent)}.unscheduled-item--draggable{cursor:grab}.unscheduled-item--draggable:active{cursor:grabbing}.day-timeline-grid-line{border-top:1px solid #ffffff0b}:root[data-theme=light] .day-timeline-grid-line{border-top-color:#1f1c180f}.day-timeline-now{z-index:2;border-top:1px solid color-mix(in srgb, var(--accent) 55%, transparent);height:0;position:absolute;left:0;right:0}.day-timeline-now-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.day-timeline-blocks{z-index:1;pointer-events:none;position:absolute;inset:0}.day-timeline-empty{padding:var(--space-4);color:var(--t3);font-size:var(--text-sm);text-align:center;pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;inset:0}.time-block{left:calc(var(--block-column,0) * (100% / var(--block-columns,1)));width:calc((100% - 8px) / var(--block-columns,1) - 2px);padding:var(--space-1-5) calc(var(--space-2) + 18px) var(--space-1-5) var(--space-2);border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:color-mix(in srgb, var(--card) 92%, transparent);cursor:default;pointer-events:auto;border-radius:12px;display:block;position:absolute;right:auto;overflow:hidden}.time-block--interactive{padding-top:calc(var(--space-2) + 4px);padding-bottom:calc(var(--space-2) + 4px)}.time-block--dragging{z-index:4;box-shadow:var(--shadow-elevated);opacity:.94}.time-block-handle{cursor:ns-resize;opacity:0;height:8px;transition:opacity var(--dur-fast) var(--ease-standard);background:0 0;border:none;padding:0;position:absolute;left:8px;right:8px}.time-block--interactive:hover .time-block-handle,.time-block--dragging .time-block-handle{opacity:1}.time-block-handle--top{top:0}.time-block-handle--bottom{bottom:0}.time-block-handle:after{content:"";border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent) 55%, transparent);width:36px;height:3px;margin:2px auto 0;display:block}.time-block-handle--bottom:after{margin-top:3px}.time-block-grip{width:16px;margin:calc(var(--space-1) * -1) 0;color:var(--t3);cursor:grab;touch-action:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-self:stretch;place-items:center;padding:0;display:grid}.time-block-grip:active{cursor:grabbing}.schedule-desktop-hint{display:none}@media (width>=861px){.schedule-desktop-hint{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-control);border:1px dashed color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--t2);font-size:var(--text-xs);line-height:1.45;display:block}}.time-block--focus{border-color:color-mix(in srgb, var(--accent) 24%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--card))}.time-block--done{opacity:.72}.time-block-body{text-align:left;background:0 0;border:none;width:100%;min-width:0;padding:0;display:block}.time-block--columned{padding:var(--space-1) calc(var(--space-1-5) + 16px) var(--space-1) var(--space-1-5)}.time-block--columned .time-block-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.25;display:-webkit-box}.time-block--columned .time-block-meta{font-size:10px}.time-block--columned .time-block-actions{display:none}.time-block-title{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.3;overflow:hidden}.time-block-meta{color:var(--t3);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px;line-height:1.3}.time-block-check{width:16px;height:16px;color:var(--accent);z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.time-block-check--toggle{background:0 0;border:none;padding:0}.time-block-check-ring{border:1.5px solid color-mix(in srgb, var(--accent) 40%, var(--border));border-radius:50%;width:14px;height:14px;display:block}.time-block-check--done{background:var(--accent);color:var(--on-accent)}.time-block-reschedule{color:var(--t3);background:0 0;border:none;padding:0;font-size:10px;font-weight:600;position:absolute;bottom:4px;right:4px}.schedule-popover-bg{z-index:calc(var(--z-sheet,100) + 2);-webkit-backdrop-filter:blur(6px);background:#00000073;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=861px){.schedule-popover-bg{padding:var(--space-4);place-items:center;display:grid}}.schedule-popover-handle{display:none}.schedule-popover{z-index:calc(var(--z-sheet,100) + 3);width:min(100%,420px);padding:var(--space-3-5);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-elevated);position:relative}@media (width<=860px){.schedule-popover{width:100%;max-width:100%;max-height:min(85dvh,760px);padding:12px 24px calc(16px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;overflow-y:auto}.schedule-popover-handle{width:36px;height:5px;margin:0 auto var(--space-3);background:color-mix(in srgb, var(--t1) 18%, transparent);border-radius:999px;display:block}.schedule-popover-chips--scroll{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.schedule-popover-chips--scroll::-webkit-scrollbar{display:none}.schedule-popover-custom input[type=time]{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--card);width:100%;min-height:48px;color:var(--t1);font-size:var(--text-md);padding:0 14px}}html.planner-schedule-modal-open .sidebar{opacity:.55;pointer-events:none;filter:saturate(.85)}@media (width>=861px){html.planner-schedule-modal-open .main-col{pointer-events:none}}html.planner-schedule-modal-open .schedule-popover-bg,html.planner-schedule-modal-open .schedule-popover{pointer-events:auto}.schedule-popover-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.schedule-popover-title{font-size:var(--text-base);margin:0;font-weight:600}.schedule-popover-close{width:var(--tap-min-compact,32px);height:var(--tap-min-compact,32px);color:var(--t3);place-items:center;display:grid}.schedule-popover-task{margin:var(--space-2) 0 var(--space-3);color:var(--t2);font-size:var(--text-sm)}.schedule-popover-section{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.schedule-popover-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--t2);font-weight:600}.schedule-popover-chips{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.schedule-chip{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--t2);font-size:var(--text-xs);background:0 0;font-weight:600}.schedule-chip.on{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-bg);color:var(--accent)}.schedule-popover-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.schedule-slot-create{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h);margin:0 0 var(--space-3);border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));background:var(--accent-bg);color:var(--accent);font-size:var(--text-sm);font-weight:600;display:flex}.schedule-slot-list{gap:var(--space-1-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.schedule-slot-task{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-control);border:1px solid var(--border);background:color-mix(in srgb, var(--card) 92%, transparent);color:var(--t1);font-size:var(--text-sm);text-align:left;display:flex}.schedule-slot-task span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-popover-clear{color:var(--t3);font-size:var(--text-xs);margin-right:auto}.schedule-popover-conflict{margin:0 0 var(--space-3);padding:var(--space-2-5);border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--warning) 32%, var(--border));background:color-mix(in srgb, var(--warning) 10%, var(--card))}.schedule-popover-conflict-head{align-items:flex-start;gap:var(--space-2);color:var(--t1);font-size:var(--text-xs);margin:0;line-height:1.45;display:flex}.schedule-popover-conflict-list{margin:var(--space-2) 0 0;color:var(--t2);font-size:var(--text-xs);padding-left:1.25rem;line-height:1.45}.schedule-popover-conflict-foot{margin:var(--space-2) 0 0;color:var(--t2);font-size:var(--text-xs);line-height:1.45}.schedule-popover-conflict-head .icon{color:color-mix(in srgb, var(--warning) 85%, var(--t1));flex-shrink:0;margin-top:1px}.schedule-chip--preset{border-style:dashed}.schedule-chip--preset.on{border-style:solid}.schedule-summary{gap:var(--space-2);margin-bottom:var(--stack-section);padding:var(--space-3);border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:color-mix(in srgb, var(--accent) 4%, var(--card));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.schedule-summary-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.schedule-summary-value{font-size:var(--text-base);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.schedule-summary-label{color:var(--t3);letter-spacing:.03em;text-transform:uppercase;font-size:11px}.schedule-summary-done{margin:var(--space-1) 0 0;color:var(--t2);font-size:var(--text-xs);grid-column:1/-1}.day-timeline-shell{flex-direction:column;gap:0;min-width:0;display:flex}.day-timeline-scroll{overscroll-behavior:contain;border-radius:var(--radius-control);border:1px solid var(--border);background:color-mix(in srgb, var(--card) 70%, transparent);max-height:min(72vh,960px);position:relative;overflow:auto}.day-timeline-foot{border:1px solid var(--border);border-radius:0 0 var(--radius-control) var(--radius-control);background:color-mix(in srgb, var(--card) 88%, transparent);border-top:none}.day-timeline-jump-now{width:100%;padding:var(--space-2);color:var(--accent);font-size:var(--text-xs);text-align:center;margin:0;font-weight:600;display:block}html.planner-schedule-modal-open .day-timeline-foot,html.planner-schedule-modal-open .day-timeline-jump-now{visibility:hidden}.time-block--conflict{border-color:color-mix(in srgb, var(--warning) 45%, var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 20%, transparent)}.time-block--compact .time-block-actions{flex-direction:row;align-items:center}.time-block--compact .time-block-title{font-size:var(--text-xs)}.unscheduled-panel-head--toggle{justify-content:space-between;align-items:baseline;gap:var(--space-2);text-align:left;background:0 0;border:none;width:100%;padding:0;display:flex}.unscheduled-panel-trailing{align-items:center;gap:var(--space-1-5);color:var(--t3);display:inline-flex}@media (width<=860px){.schedule-summary{grid-template-columns:1fr 1fr}.schedule-summary-stat:last-child{grid-column:1/-1}.day-timeline-scroll{max-height:58vh}}.task-row-trailing{align-items:flex-end;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.task-schedule-btn{border-radius:var(--radius-pill);white-space:nowrap;background:0 0;padding:2px 8px;font-size:10px;font-weight:600}.task-schedule-btn--plan{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--accent);background:0 0}.task-schedule-btn--adjust{color:var(--t2);font-size:var(--text-xs);background:0 0;border:none;padding:0;font-weight:600}.chip--schedule{color:var(--t2);background:color-mix(in srgb, var(--surface-2,var(--bg-2)) 88%, transparent);border-color:#0000}.chip--unscheduled{color:var(--t2);background:color-mix(in srgb, var(--surface-2) 88%, transparent);border-color:#0000}@media (width<=860px){.schedule-layout{grid-template-columns:1fr}.today-layout--timeline .schedule-summary{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-2-5)}.today-layout--timeline .schedule-summary-value{font-size:var(--text-sm)}.today-layout--timeline .day-timeline-scroll{max-height:min(64vh,680px);padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.unscheduled-panel{left:max(var(--page-gutter), var(--safe-left-effective));right:max(var(--page-gutter), var(--safe-right-effective));bottom:calc(var(--mobile-tabbar-total-h) + var(--space-2));z-index:calc(var(--z-nav,30) + 1);max-height:min(48dvh,420px);padding:var(--space-2) var(--space-2-5);border-radius:24px 24px var(--radius-control) var(--radius-control);box-shadow:var(--shadow-elevated);position:fixed;overflow:hidden}.unscheduled-panel-head{align-items:center;min-height:56px;margin-bottom:0}.unscheduled-panel .unscheduled-list{overscroll-behavior:contain;max-height:calc(min(48dvh,420px) - 72px);padding-bottom:var(--space-1);overflow-y:auto}.day-timeline-shell{order:1}.main-col[data-mobile-chrome=tabbar] .wrap:has(.day-timeline-shell){padding-bottom:calc(var(--page-block-gap) + var(--mobile-content-inset-tabbar))}}.date-field.svelte-1477qb8{position:relative}.date-display.svelte-1477qb8{width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--card);color:var(--t1);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.date-display.svelte-1477qb8 .placeholder:where(.svelte-1477qb8){color:var(--t3)}.date-field--compact.svelte-1477qb8 .date-display:where(.svelte-1477qb8){white-space:nowrap;font-size:var(--text-sm)}.date-native.svelte-1477qb8{opacity:0;pointer-events:none;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.time-field.svelte-qwvb9f{position:relative}.time-display.svelte-qwvb9f{width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--card);color:var(--t1);text-align:left;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.time-display.svelte-qwvb9f .placeholder:where(.svelte-qwvb9f){color:var(--t3)}.time-native.svelte-qwvb9f{opacity:0;pointer-events:none;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.field-label.svelte-18umq2b{font-family:var(--mono);font-size:var(--text-xs);color:var(--t3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;display:block}.field-hint.svelte-18umq2b{font-size:var(--text-sm);color:var(--t3);margin:0}.field-row.svelte-18umq2b{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ai-split-btn.svelte-18umq2b{width:100%;margin-bottom:12px}.sheet-header.svelte-18umq2b{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:16px;display:flex}.sheet-header.svelte-18umq2b .sheet-title:where(.svelte-18umq2b){margin:0}.sheet-close.svelte-18umq2b{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-control);color:var(--t2);flex-shrink:0;place-items:center;display:grid}.sheet-close.svelte-18umq2b:hover{background:color-mix(in srgb, var(--t1) 6%, transparent);color:var(--t1)}.sheet-advanced-toggle.svelte-18umq2b{width:100%;min-height:var(--tap-min);padding:0 var(--space-2);border-radius:var(--radius-control);color:var(--t2);font-size:var(--text-md);justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:500;display:flex}.sheet-advanced-toggle.svelte-18umq2b:hover{background:color-mix(in srgb, var(--t1) 5%, transparent);color:var(--t1)}.sheet-advanced.svelte-18umq2b{flex-direction:column;display:flex}@media (--life-os-mobile){.task-editor-sheet{padding:12px 24px calc(16px + env(safe-area-inset-bottom));max-height:80dvh;scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.task-editor-sheet .sheet-handle.svelte-18umq2b{width:36px;height:5px;margin-bottom:12px}.task-editor-sheet .field--title.svelte-18umq2b{margin-bottom:12px}.task-editor-sheet .task-editor-title-input.svelte-18umq2b{height:60px;min-height:60px;padding:0 14px;line-height:1.35}.task-editor-sheet .date-display,.task-editor-sheet .time-display{height:60px;min-height:60px}.task-editor-sheet .field.svelte-18umq2b{margin-bottom:14px}.task-editor-sheet input.svelte-18umq2b:focus,.task-editor-sheet textarea.svelte-18umq2b:focus,.task-editor-sheet select.svelte-18umq2b:focus{outline:2px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:1px}.task-editor-sheet .field-row.svelte-18umq2b{gap:12px;margin-bottom:12px}.task-editor-sheet .sheet-advanced-toggle.svelte-18umq2b{border-radius:var(--radius-control);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2,var(--bg-2)) 70%, var(--card));height:56px;min-height:56px;margin-bottom:8px;padding:0 12px}.task-editor-sheet .sheet-actions.svelte-18umq2b{z-index:1;padding-top:12px;padding-bottom:max(4px, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--card) 80%, transparent);gap:12px;margin-top:12px;position:sticky;bottom:0}.task-editor-sheet .sheet-actions.svelte-18umq2b .btn-primary:where(.svelte-18umq2b),.task-editor-sheet .sheet-actions.svelte-18umq2b .btn-secondary:where(.svelte-18umq2b){height:56px;min-height:56px}}
