.director-fab{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-drawer);box-shadow:var(--shadow-2),var(--glow)}dialog.director{margin:0 0 0 auto;width:min(420px,100%);height:100dvh;max-height:none;padding:var(--space-5);border:0;border-left:1px solid var(--line-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-3);overflow-y:auto}dialog.director:not([open]){display:none}dialog.director::backdrop{background:var(--overlay)}.director-body{display:flex;flex-direction:column;gap:var(--space-3)}.director-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.director-hint,.director-clock,.director-scene,.director-caption,.director-closing,.director-banner{margin:0}.director-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.director-list{margin:var(--space-2) 0 0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.director-error{margin:0;padding:var(--space-3);border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger)}.director-closing{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text)}.director-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.director-banner{font-size:var(--fs-xs);color:var(--text-3);border-top:1px solid var(--line);padding-top:var(--space-3)}@media(max-width:820px){.director-fab{bottom:calc(var(--bottombar-h) + var(--space-3))}}@media(max-width:640px){dialog.director{width:100%;height:auto;max-height:85dvh;margin:auto 0 0;border-left:0;border-top:1px solid var(--line-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}}.wa-demo{display:flex;flex-direction:column;gap:var(--space-2)}.wa-demo-label{margin:0;padding:var(--space-2) var(--space-3);border:1px dashed var(--text-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:600;color:var(--text-2);text-align:center}.wa-demo-bubble{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text)}.wa-demo-bubble p{margin:0}.wa-demo-footer{font-size:var(--fs-xs);margin-top:var(--space-1)!important}.fin-note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--text-2);font-size:var(--fs-sm)}section.stack{margin-bottom:var(--space-8)}.fin-photo{position:relative;display:flex;align-items:center;justify-content:center;height:96px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--line-strong);color:var(--text-3);overflow:hidden}.fin-photo-lines{position:absolute;right:var(--space-3);bottom:var(--space-2);display:flex;flex-direction:column;gap:3px;align-items:flex-end}.fin-photo-lines i{display:block;height:3px;border-radius:2px;background:var(--line-strong)}.fin-photo-lines i:nth-child(1){width:36px}.fin-photo-lines i:nth-child(2){width:26px}.fin-photo-lines i:nth-child(3){width:16px}.fin-receipt{display:flex;flex-direction:column;gap:var(--space-2)}.fin-receipt .h-card{overflow-wrap:anywhere}.fin-total .title,.fin-total .num{font-weight:var(--fw-semibold, 600)}.fin-details{margin-top:var(--space-2)}.fin-details summary{cursor:pointer;min-height:var(--target);display:flex;align-items:center;color:var(--text-2)}.fin-card .title{margin:0;font-weight:var(--fw-medium)}@media(max-width:640px){.fin-details .row{flex-wrap:wrap}.stat .value{font-size:var(--fs-xl)}}:root{--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.25rem;--fs-xl: 1.625rem;--fs-2xl: 2.125rem;--fs-3xl: 2.75rem;--lh-tight: 1.2;--lh-base: 1.5;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--ls-caps: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--target: 44px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--dur-fast: .12s;--dur-base: .2s;--dur-slow: .36s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--z-base: 0;--z-sticky: 10;--z-sidebar: 20;--z-topbar: 30;--z-drawer: 40;--z-modal: 60;--z-toast: 80;--sidebar-w: 272px;--topbar-h: 64px;--bottombar-h: 64px;--content-max: 1180px}:root,[data-theme=onyx]{color-scheme:dark;--bg: #0B0B0C;--surface: #141416;--surface-2: #1C1C1F;--surface-3: #26262A;--line: #2C2B28;--line-strong: #706C5F;--text: #F4EFE4;--text-2: #C2BBAA;--text-3: #9A9381;--accent: #C9A85C;--accent-hover: #DABB70;--on-accent: #14110A;--accent-text: #D9B96C;--accent-soft: rgba(201,168,92,.12);--accent-line: rgba(201,168,92,.38);--accent-2: #9C8FD4;--focus: #F2D98F;--ok: #7BCB9A;--ok-soft: rgba(123,203,154,.13);--warn: #E8B15C;--warn-soft: rgba(232,177,92,.14);--danger: #F08A80;--danger-soft: rgba(240,138,128,.14);--shared: #86C9B4;--shared-soft: rgba(134,201,180,.12);--private: #B9B0E8;--private-soft: rgba(185,176,232,.13);--sealed: #C9CDD3;--sealed-soft: rgba(201,205,211,.1);--overlay: rgba(0,0,0,.62);--shadow-1: 0 1px 0 rgba(255,255,255,.03) inset, 0 1px 2px rgba(0,0,0,.5);--shadow-2: 0 1px 0 rgba(255,255,255,.04) inset, 0 8px 24px rgba(0,0,0,.45);--shadow-3: 0 1px 0 rgba(255,255,255,.05) inset, 0 24px 60px rgba(0,0,0,.65);--glow: 0 0 0 1px var(--accent-line), 0 0 24px rgba(201,168,92,.1);--hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(201,168,92,.16), transparent 55%), var(--surface)}[data-theme=onyx][data-mode=light]{color-scheme:light;--bg: #F7F3EA;--surface: #FFFFFF;--surface-2: #F1EBDD;--surface-3: #E7DFCC;--line: #E2D9C4;--line-strong: #8A7E64;--text: #1A1712;--text-2: #4D4637;--text-3: #666050;--accent: #B8913A;--accent-hover: #A8832F;--on-accent: #15110A;--accent-text: #6F5410;--accent-soft: rgba(184,145,58,.14);--accent-line: rgba(138,106,31,.45);--accent-2: #5B4FA8;--focus: #1D4ED8;--ok: #1F6B3F;--ok-soft: #E3F1E8;--warn: #8A4B00;--warn-soft: #FBEBD3;--danger: #A8281E;--danger-soft: #FBE4E1;--shared: #17624F;--shared-soft: #E0F0EA;--private: #4B3FA0;--private-soft: #ECE9F8;--sealed: #3A3F47;--sealed-soft: #E7E8EA;--overlay: rgba(26,23,18,.45);--shadow-1: 0 1px 2px rgba(60,45,10,.1);--shadow-2: 0 8px 24px rgba(60,45,10,.12);--shadow-3: 0 24px 60px rgba(60,45,10,.22);--glow: 0 0 0 1px var(--accent-line);--hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(184,145,58,.2), transparent 55%), var(--surface)}[data-theme=plum]{color-scheme:dark;--bg: #0D0911;--surface: #171021;--surface-2: #20182D;--surface-3: #2B2139;--line: #342845;--line-strong: #7E6C98;--text: #F4EEF8;--text-2: #C6BAD3;--text-3: #9D8FB0;--accent: #B79CF0;--accent-hover: #C8B3F5;--on-accent: #150C26;--accent-text: #C4AEF5;--accent-soft: rgba(183,156,240,.14);--accent-line: rgba(183,156,240,.4);--accent-2: #D8B866;--focus: #E6CD8A;--ok: #7BCB9A;--ok-soft: rgba(123,203,154,.13);--warn: #E8B15C;--warn-soft: rgba(232,177,92,.14);--danger: #F28F9A;--danger-soft: rgba(242,143,154,.14);--shared: #8ED0BC;--shared-soft: rgba(142,208,188,.12);--private: #D8B866;--private-soft: rgba(216,184,102,.13);--sealed: #CFC8DA;--sealed-soft: rgba(207,200,218,.1);--overlay: rgba(5,2,10,.68);--shadow-1: 0 1px 0 rgba(255,255,255,.04) inset, 0 1px 2px rgba(0,0,0,.5);--shadow-2: 0 1px 0 rgba(255,255,255,.05) inset, 0 8px 24px rgba(0,0,0,.5);--shadow-3: 0 1px 0 rgba(255,255,255,.06) inset, 0 24px 60px rgba(0,0,0,.7);--glow: 0 0 0 1px var(--accent-line), 0 0 24px rgba(183,156,240,.12);--hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(125,80,200,.3), transparent 55%), var(--surface)}[data-theme=plum][data-mode=light]{color-scheme:light;--bg: #F6F2FA;--surface: #FFFFFF;--surface-2: #EEE7F5;--surface-3: #E1D6EE;--line: #DDD1EA;--line-strong: #8570A3;--text: #1C1326;--text-2: #4A3D5C;--text-3: #65587A;--accent: #6B3FC4;--accent-hover: #5A31AB;--on-accent: #FFFFFF;--accent-text: #5B2FB5;--accent-soft: rgba(107,63,196,.1);--accent-line: rgba(107,63,196,.4);--accent-2: #8A6A1F;--focus: #1D4ED8;--ok: #1F6B3F;--ok-soft: #E3F1E8;--warn: #8A4B00;--warn-soft: #FBEBD3;--danger: #A8281E;--danger-soft: #FBE4E1;--shared: #17624F;--shared-soft: #E0F0EA;--private: #6F5410;--private-soft: #F6EDD3;--sealed: #3A3F47;--sealed-soft: #E7E8EA;--overlay: rgba(28,19,38,.45);--shadow-1: 0 1px 2px rgba(40,20,70,.1);--shadow-2: 0 8px 24px rgba(40,20,70,.12);--shadow-3: 0 24px 60px rgba(40,20,70,.22);--glow: 0 0 0 1px var(--accent-line);--hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(107,63,196,.16), transparent 55%), var(--surface)}[data-theme=emerald]{color-scheme:dark;--bg: #070D0B;--surface: #0F1815;--surface-2: #16221E;--surface-3: #1F2E29;--line: #243630;--line-strong: #5E8576;--text: #EEF4EF;--text-2: #B5C6BC;--text-3: #86998F;--accent: #4CC9A0;--accent-hover: #67D8B2;--on-accent: #04130E;--accent-text: #5DD4AC;--accent-soft: rgba(76,201,160,.12);--accent-line: rgba(76,201,160,.38);--accent-2: #D2B061;--focus: #E6CD8A;--ok: #7BCB9A;--ok-soft: rgba(123,203,154,.13);--warn: #E8B15C;--warn-soft: rgba(232,177,92,.14);--danger: #F08A80;--danger-soft: rgba(240,138,128,.14);--shared: #7FD0E0;--shared-soft: rgba(127,208,224,.12);--private: #D2B061;--private-soft: rgba(210,176,97,.13);--sealed: #C6D0CB;--sealed-soft: rgba(198,208,203,.1);--overlay: rgba(0,6,4,.66);--shadow-1: 0 1px 0 rgba(255,255,255,.03) inset, 0 1px 2px rgba(0,0,0,.55);--shadow-2: 0 1px 0 rgba(255,255,255,.04) inset, 0 8px 24px rgba(0,0,0,.5);--shadow-3: 0 1px 0 rgba(255,255,255,.05) inset, 0 24px 60px rgba(0,0,0,.7);--glow: 0 0 0 1px var(--accent-line), 0 0 24px rgba(76,201,160,.1);--hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(40,150,115,.26), transparent 55%), var(--surface)}[data-theme=emerald][data-mode=light]{color-scheme:light;--bg: #F2F7F4;--surface: #FFFFFF;--surface-2: #E8F0EB;--surface-3: #D8E5DD;--line: #D3E1D9;--line-strong: #6A897A;--text: #0F1C17;--text-2: #3C4F46;--text-3: #55695F;--accent: #14805E;--accent-hover: #0F6B4E;--on-accent: #FFFFFF;--accent-text: #0F6B4E;--accent-soft: rgba(20,128,94,.1);--accent-line: rgba(20,128,94,.4);--accent-2: #7A5C14;--focus: #1D4ED8;--ok: #1F6B3F;--ok-soft: #E3F1E8;--warn: #8A4B00;--warn-soft: #FBEBD3;--danger: #A8281E;--danger-soft: #FBE4E1;--shared: #1B5F78;--shared-soft: #E0F0F5;--private: #6F5410;--private-soft: #F6EDD3;--sealed: #3A3F47;--sealed-soft: #E7E8EA;--overlay: rgba(15,28,23,.45);--shadow-1: 0 1px 2px rgba(10,50,35,.1);--shadow-2: 0 8px 24px rgba(10,50,35,.12);--shadow-3: 0 24px 60px rgba(10,50,35,.22);--glow: 0 0 0 1px var(--accent-line);--hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(20,128,94,.16), transparent 55%), var(--surface)}@media(prefers-color-scheme:light){[data-theme=onyx][data-mode=auto]{color-scheme:light;--bg:#F7F3EA;--surface:#FFFFFF;--surface-2:#F1EBDD;--surface-3:#E7DFCC;--line:#E2D9C4;--line-strong:#8A7E64;--text:#1A1712;--text-2:#4D4637;--text-3:#666050;--accent:#B8913A;--accent-hover:#A8832F;--on-accent:#15110A;--accent-text:#6F5410;--accent-soft:rgba(184,145,58,.14);--accent-line:rgba(138,106,31,.45);--accent-2:#5B4FA8;--focus:#1D4ED8;--ok:#1F6B3F;--ok-soft:#E3F1E8;--warn:#8A4B00;--warn-soft:#FBEBD3;--danger:#A8281E;--danger-soft:#FBE4E1;--shared:#17624F;--shared-soft:#E0F0EA;--private:#4B3FA0;--private-soft:#ECE9F8;--sealed:#3A3F47;--sealed-soft:#E7E8EA;--overlay:rgba(26,23,18,.45);--shadow-1:0 1px 2px rgba(60,45,10,.1);--shadow-2:0 8px 24px rgba(60,45,10,.12);--shadow-3:0 24px 60px rgba(60,45,10,.22);--glow:0 0 0 1px var(--accent-line);--hero-bg:radial-gradient(120% 140% at 0% 0%, rgba(184,145,58,.2), transparent 55%), var(--surface)}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: .01ms;--dur-base: .01ms;--dur-slow: .01ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:var(--fw-regular) var(--fs-base)/var(--lh-base) var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:var(--accent-text);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}svg.i{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}svg.i.sm{width:16px;height:16px}svg.i.lg{width:24px;height:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:var(--z-toast);background:var(--accent);color:var(--on-accent);padding:8px 14px;border-radius:var(--radius-sm)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.display{font-family:var(--font-display);font-weight:var(--fw-regular);letter-spacing:.005em;line-height:var(--lh-tight)}.h-page{font-size:var(--fs-xl)}.h-hero{font-size:var(--fs-3xl)}.h-card{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1.3}.eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-3);font-weight:var(--fw-semibold)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.gold{color:var(--accent-text)}.num{font-variant-numeric:tabular-nums}.rule{height:1px;border:0;background:linear-gradient(90deg,var(--accent-line),var(--line) 40%,transparent);margin:var(--space-4) 0}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3);gap:var(--space-4);z-index:var(--z-sidebar)}.brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2)}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent-hover),var(--accent));color:var(--on-accent);font-family:var(--font-display);font-size:18px;font-weight:600;box-shadow:var(--glow)}.brand-name{font-family:var(--font-display);font-size:var(--fs-md);line-height:1.1}.brand-sub{font-size:var(--fs-xs);color:var(--text-3)}.nav{display:flex;flex-direction:column;gap:2px}.nav-label{padding:var(--space-3) var(--space-3) var(--space-1)}.nav-item,.nav-cat{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--target);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast);position:relative}.nav-item:hover,.nav-cat:hover{background:var(--surface-2);color:var(--text)}.nav-cat .chev{margin-left:auto;transition:transform var(--dur-base) var(--ease-out);color:var(--text-3)}.nav-cat[aria-expanded=true] .chev{transform:rotate(90deg)}.nav-cat[aria-expanded=true],.nav-group.has-active>.nav-cat{color:var(--text)}.nav-sub{display:none;flex-direction:column;gap:1px;margin:2px 0 var(--space-2) 22px;padding-left:var(--space-3);border-left:1px solid var(--line)}.nav-group.open>.nav-sub{display:flex}.nav-sub .nav-item{min-height:38px;font-size:var(--fs-sm);padding:0 var(--space-3)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-line)}.nav-item[aria-current=page]:before{content:"";position:absolute;left:-13px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent)}.nav-top[aria-current=page]:before{left:-12px}.nav-item[aria-current=page] svg,.nav-group.has-active>.nav-cat svg:first-child{color:var(--accent-text)}.nav-count{margin-left:auto;font-size:var(--fs-xs);color:var(--text-3)}.nav-soon{margin-left:auto}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--line)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:var(--z-topbar);height:var(--topbar-h);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-8);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar .menu-btn{display:none}.crumbs{display:flex;align-items:center;gap:var(--space-2);color:var(--text-3);font-size:var(--fs-sm)}.crumbs b{color:var(--text);font-weight:var(--fw-medium)}.search{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);min-width:280px;height:40px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);color:var(--text-3)}.search kbd{margin-left:auto;font:inherit;font-size:var(--fs-xs);padding:1px 6px;border:1px solid var(--line-strong);border-radius:5px}.page{width:100%;max-width:var(--content-max);padding:var(--space-8);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-head .meta{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2);flex-wrap:wrap}.actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.grid{display:grid;gap:var(--space-4)}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row-flex{display:flex;align-items:center;gap:var(--space-3)}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.scrim,.bottombar{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-weight:var(--fw-medium);cursor:pointer;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:var(--fw-semibold);box-shadow:var(--shadow-1)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.outline{background:transparent;border-color:var(--accent-line);color:var(--accent-text)}.btn.outline:hover{background:var(--accent-soft)}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.sm{min-height:34px;padding:0 var(--space-3);font-size:var(--fs-sm)}.btn.icon{width:var(--target);padding:0}.btn.icon.sm{width:34px}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:var(--fs-sm);color:var(--text-2);font-weight:var(--fw-medium)}.field .hint{font-size:var(--fs-xs);color:var(--text-3)}.field .err{font-size:var(--fs-xs);color:var(--danger)}.input,.select{width:100%;min-height:var(--target);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input::placeholder{color:var(--text-3)}.input:hover,.select:hover{border-color:var(--text-3)}.input:focus,.select:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--danger)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input-group{display:flex;gap:var(--space-2)}.check{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line-strong);background:transparent;color:transparent;flex:none}.check.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.check svg{width:14px;height:14px;stroke-width:2.4}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill)}.seg button{min-height:34px;padding:0 var(--space-4);border:0;background:transparent;color:var(--text-2);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--fs-sm)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:var(--fw-semibold)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.card.flush{padding:0;gap:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card.flush>.card-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line)}.card.hero{background:var(--hero-bg);border-color:var(--accent-line);box-shadow:var(--shadow-2),var(--glow)}.card.interactive{cursor:pointer;transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);text-decoration:none;color:inherit}.card.interactive:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow-2)}.card-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;border:1px solid transparent;background:var(--surface-3);color:var(--text-2)}.badge svg.i{width:13px;height:13px}.badge.private{background:var(--private-soft);color:var(--private);border-color:color-mix(in srgb,var(--private) 30%,transparent)}.badge.shared{background:var(--shared-soft);color:var(--shared);border-color:color-mix(in srgb,var(--shared) 30%,transparent)}.badge.sealed{background:var(--sealed-soft);color:var(--sealed);border-color:color-mix(in srgb,var(--sealed) 30%,transparent)}.badge.soon{background:transparent;color:var(--text-3);border:1px dashed var(--line-strong)}.badge.gold{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-line)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:transparent;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer}.chip:hover{background:var(--surface-2);color:var(--text)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.chip .x{color:var(--text-3)}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tab{position:relative;min-height:var(--target);padding:0 2px;border:0;background:transparent;color:var(--text-2);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-2)}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);font-weight:var(--fw-medium)}.tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px}.tab .badge{height:20px;padding:0 7px}.table-wrap{overflow:auto;max-height:var(--table-max, none);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.card.flush .table-wrap{border:0;border-radius:0}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.table th{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface-2);text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:var(--fw-semibold);color:var(--text-2);padding:0 var(--space-4);height:44px;border-bottom:1px solid var(--line-strong);white-space:nowrap}.table th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px}.table th button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.table th[aria-sort=ascending] button,.table th[aria-sort=descending] button{color:var(--accent-text)}.table th .sort{width:12px;height:12px;opacity:.55}.table th[aria-sort] .sort{opacity:1}.table th[aria-sort=descending] .sort{transform:rotate(180deg)}.table td{padding:0 var(--space-4);height:52px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text)}.table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.table tbody tr:hover td{background:var(--accent-soft)}.table tbody tr:last-child td{border-bottom:0}.table .r{text-align:right}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table .cell-main{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--fw-medium)}.table .cell-sub{display:block;font-size:var(--fs-xs);color:var(--text-3);font-weight:var(--fw-regular)}.table.dense td{height:44px}.table.dense th{height:38px}.table-foot{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--text-2);border-top:1px solid var(--line)}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row:hover{background:var(--surface-2)}.row .grow{flex:1;min-width:0}.row .title{font-weight:var(--fw-medium)}.row .sub{font-size:var(--fs-xs);color:var(--text-3)}.row.done .title{text-decoration:line-through;color:var(--text-3)}.ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--line)}.ico.sm{width:32px;height:32px;border-radius:10px}.ico.lg{width:52px;height:52px;border-radius:16px}.ico.c1{background:#7bcb9a1f;color:var(--ok)}.ico.c2{background:var(--private-soft);color:var(--private)}.ico.c3{background:var(--warn-soft);color:var(--warn)}.ico.c4{background:var(--shared-soft);color:var(--shared)}.ico.c5{background:var(--danger-soft);color:var(--danger)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--surface-3);color:var(--text);border:1px solid var(--line-strong);flex:none}.avatar.lg{width:56px;height:56px;font-size:var(--fs-md);font-family:var(--font-display)}.avatar.gold{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-line)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);box-shadow:var(--shadow-1);min-width:0}.stat .value{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:1.1;font-variant-numeric:tabular-nums}.stat .unit{font-size:var(--fs-sm);color:var(--text-3);font-family:var(--font-sans);margin-left:4px}.stat .delta{font-size:var(--fs-xs);color:var(--ok)}.stat .delta.down{color:var(--warn)}.spark{width:100%;height:36px;margin-top:var(--space-2)}.spark path{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.spark .area{fill:var(--accent-soft);stroke:none}.bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-3);align-items:end;height:160px;padding-top:var(--space-2)}.bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;font-size:var(--fs-xs);color:var(--text-3)}.bar i{display:block;width:100%;max-width:40px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent-hover),var(--accent));min-height:3px}.bar.off i{background:var(--surface-3)}.bar.today i{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--accent)}.bar b{color:var(--text-2);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.progress{height:8px;border-radius:8px;background:var(--surface-3);overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:8px}.legend{display:flex;gap:var(--space-4);font-size:var(--fs-xs);color:var(--text-2)}.legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--accent);margin-right:6px}.legend span.b:before{background:var(--surface-3);border:1px solid var(--line-strong)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-3);border:1px solid var(--line-strong);box-shadow:var(--shadow-3);max-width:420px}.toast .undo{margin-left:auto;color:var(--accent-text);background:none;border:0;cursor:pointer;font-weight:var(--fw-semibold);min-height:36px;padding:0 8px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);border:1px dashed var(--line-strong);border-radius:var(--radius-lg)}.empty .ico{width:56px;height:56px;border-radius:18px}.say{display:inline-block;padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent-text)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;z-index:var(--z-modal);padding:var(--space-4)}.modal{width:min(480px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.approval{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--accent-soft),transparent 60%),var(--surface);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--glow)}.approval .draft{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);border-left:3px solid var(--accent);color:var(--text);font-size:var(--fs-sm)}.approval .by{font-size:var(--fs-xs);color:var(--text-3)}.bottombar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--bottombar-h);color:var(--text-3);text-decoration:none;font-size:11px}.bottombar a[aria-current=page]{color:var(--accent-text)}.bottombar .add{width:48px;height:48px;flex:none;border-radius:50%;margin:0 var(--space-2);background:var(--accent);color:var(--on-accent);display:grid;place-items:center;box-shadow:var(--shadow-2),var(--glow)}@media(max-width:1100px){.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1fr)}}@media(max-width:820px){.app{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-102%);transition:transform var(--dur-slow) var(--ease-out);z-index:var(--z-drawer);box-shadow:var(--shadow-3)}.app.drawer-open .sidebar{transform:none}.app.drawer-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:calc(var(--z-drawer) - 1)}.topbar{padding:0 var(--space-4);height:56px}.topbar .menu-btn{display:inline-flex}.search{display:none}.topbar .crumbs{flex:1}.page{padding:var(--space-4) var(--space-4) calc(var(--bottombar-h) + var(--space-8));gap:var(--space-5)}.bottombar{display:flex;align-items:center;position:fixed;left:0;right:0;bottom:0;height:var(--bottombar-h);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:var(--z-topbar);padding-bottom:env(safe-area-inset-bottom)}.g-2,.g-3,.g-4{grid-template-columns:minmax(0,1fr)}.g-2.keep,.g-4.keep{grid-template-columns:repeat(2,minmax(0,1fr))}.h-hero{font-size:var(--fs-2xl)}.h-page{font-size:1.5rem}.col-sm-hide{display:none}.table td{height:48px;padding:0 var(--space-3)}.table th{padding:0 var(--space-3)}.stat .value{font-size:var(--fs-xl)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{background:var(--bg)}fieldset{border:0;padding:0;margin:0;min-width:0}.small{font-size:var(--fs-sm)}.grow{flex:1;min-width:0}.error{color:var(--danger)}.center{display:grid;place-items:center;min-height:100vh;padding:var(--space-6);text-align:center;color:var(--text-2)}.pad{padding:var(--space-4) var(--space-5)}.rows a.row{color:var(--text);text-decoration:none}.add-form{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap}.add-form .field{flex:1;min-width:160px}.card.flush>.add-form{padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--surface-2)}.check-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;flex:none;border-radius:7px;border:1.5px solid var(--line-strong);background:transparent;display:inline-grid;place-items:center;cursor:pointer}.check-input:checked{background:var(--accent);border-color:var(--accent)}.check-input:checked:after{content:"";width:5px;height:10px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.hit{display:grid;place-items:center;width:var(--target);height:var(--target);margin-left:calc(var(--space-2) * -1);flex:none}.file-input:focus-visible+label{outline:2px solid var(--focus);outline-offset:2px}.chip-x{position:relative;background:none;border:0;padding:0;color:inherit;cursor:pointer;display:inline-grid;place-items:center;min-width:28px;min-height:28px;border-radius:50%}.chip-x:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,var(--target));height:max(100%,var(--target));transform:translate(-50%,-50%)}.say-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.checklist li{display:flex;gap:var(--space-2);align-items:flex-start}.checklist svg{color:var(--accent-text);margin-top:2px}.stat .value.text{font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.35}.table tbody tr.detail td,.table tbody tr.detail:hover td{height:auto;padding:var(--space-4);background:var(--surface-2)}dialog.modal:not([open]){display:none}dialog.modal{margin:auto;color:var(--text)}dialog.modal::backdrop{background:var(--overlay)}.toasts{position:fixed;left:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:820px){.toasts{right:var(--space-4);bottom:calc(var(--bottombar-h) + var(--space-4))}.toast{max-width:none}}.sidebar .nav{flex:1}.nav-item .lock{margin-left:auto;color:var(--text-3)}.nav-item.is-soon{color:var(--text-3)}.nav-item.is-soon:hover{color:var(--text-2)}.nav-item[aria-current=page].is-soon{color:var(--text)}.foot-me{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--target);color:var(--text);text-decoration:none;border-radius:var(--radius-sm)}.foot-me small{display:block;color:var(--text-3);font-size:var(--fs-xs)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.crumbs a{color:var(--text-3);text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.bottombar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--bottombar-h);background:none;border:0;color:var(--text-3);font-size:11px;cursor:pointer}.bottombar button[aria-expanded=true],.bottombar button[aria-current=page]{color:var(--accent-text)}@media(max-width:820px){.app:not(.drawer-open) .sidebar{visibility:hidden;transition:transform var(--dur-slow) var(--ease-out),visibility 0s linear var(--dur-slow)}.app.drawer-open .sidebar{visibility:visible}}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.theme-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;position:relative}.theme-card b{display:block;font-weight:var(--fw-semibold)}.theme-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.theme-card:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.theme-card .tick{margin-left:auto;color:var(--accent-text);visibility:hidden}.theme-card:has(input:checked) .tick{visibility:visible}.swatch{display:flex;align-items:flex-end;gap:3px;width:56px;height:44px;padding:6px;flex:none;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line-strong)}.swatch i{flex:1;border-radius:3px;background:var(--accent);height:100%}.swatch i:nth-child(2){background:var(--accent-2);height:65%}.swatch i:nth-child(3){background:var(--surface-3);height:40%}@media(max-width:820px){.theme-grid{grid-template-columns:minmax(0,1fr)}}.welcome-lead{font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-tight)}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:1100px){.help-grid{grid-template-columns:minmax(0,1fr)}}.sidebar>.nav{flex:1}.nav>.sidebar-foot{margin-top:auto}main:focus{outline:none}.btn.sm,button.chip,.seg button,.toast .undo{position:relative}.btn.sm:after,button.chip:after,.seg button:after,.toast .undo:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,var(--target));height:max(100%,var(--target));transform:translate(-50%,-50%)}@media(max-width:820px){.nav-sub .nav-item{min-height:var(--target)}}.toast .undo,.seg button{min-height:var(--target)}.status-line:empty{display:none}.status-line:focus{outline:none}.idea .grow{flex:1;min-width:0}.idea .row-flex{align-items:flex-start}.idea .badge{flex:none}.idea-panel{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);border-left:3px solid var(--accent);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere}.ideas{max-width:720px}.meet-panel{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.meet-form,.meet-card,.rem-form,.rem-card{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.brief{margin:0;padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:var(--fs-sm)}.meet-notes,.meet-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.meet-note,.meet-fact{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.meet-fact{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.meet-note .grow,.meet-fact .grow{flex:1;min-width:0;overflow-wrap:anywhere}.struck{text-decoration:line-through;color:var(--text-3)}.meet-person{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.meet-note input[type=checkbox]{width:22px;height:22px}.hit-row{display:grid;place-items:center;min-height:var(--target);min-width:var(--target);cursor:pointer}@media(max-width:820px){.meet-form .add-form .field{min-width:0;flex-basis:100%}}.h-sub{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);align-self:flex-start;min-height:var(--target);color:var(--text-2);text-decoration:none}.back-link:hover{color:var(--text)}.store-note{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line)}.filters{display:flex;flex-direction:column;gap:var(--space-3)}.filter-group{display:flex;align-items:baseline;gap:var(--space-3)}.filter-label{flex:none;width:76px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-3);font-weight:var(--fw-semibold)}.filter-group .chips{flex:1;min-width:0}.photo{display:block;position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-2)}.photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-tile{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-3);background:var(--surface-2)}.photo-tile svg.i{width:36px;height:36px;stroke-width:1.4}.photo-tile.empty-tile{background:transparent}.photo-thumb{width:56px;flex:none;aspect-ratio:1;border-radius:var(--radius-sm)}.photo-thumb .photo-tile svg.i{width:22px;height:22px}.photo-hero{aspect-ratio:16 / 10;border-radius:var(--radius-lg);border:1px solid var(--line)}.photo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--space-4)}.photo-card{display:flex;flex-direction:column;width:100%;padding:0;text-align:left;text-decoration:none;color:inherit;cursor:pointer;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.photo-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow-2)}.photo-card .photo{border-radius:0}.pc-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-3) var(--space-4)}.pc-title{font-weight:var(--fw-semibold);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.pc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-2);min-height:24px}.pc-star{display:inline-flex;color:var(--accent-text)}.week-plan{gap:var(--space-4)}.week-range{margin-top:2px}.plan-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-3)}.plan-day{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:transparent}.plan-day.planned{border-style:solid;border-color:var(--line);background:var(--surface-2)}.plan-day.today{border:1px solid var(--accent);background:var(--accent-soft);box-shadow:var(--glow)}.plan-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.plan-wd{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:var(--fw-semibold);color:var(--text-2)}.plan-date{font-size:var(--fs-sm);color:var(--text-2)}.plan-today{margin-left:auto;padding:1px 8px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.plan-media .photo{border-radius:var(--radius-sm)}.plan-media a{display:block}.plan-body{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.plan-title,.plan-none{font-size:var(--fs-sm);line-height:1.3;min-height:2.6em}.plan-title{font-weight:var(--fw-semibold);color:var(--text);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-title:hover{color:var(--accent-text);text-decoration:underline}.plan-none{color:var(--text-3)}.plan-btn{width:100%;margin-top:auto}.plan-day.skeleton{min-height:220px;border-style:solid;border-color:var(--line)}@media(max-width:1100px){.plan-days{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(max-width:820px){.plan-days{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.plan-day{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-areas:"media head" "media body";column-gap:var(--space-3);row-gap:var(--space-1);align-items:start}.plan-head{grid-area:head}.plan-media{grid-area:media}.plan-body{grid-area:body;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-2)}.plan-title,.plan-none{min-height:0;flex:1;min-width:0}.plan-btn{width:auto;margin-top:0;flex:none}.plan-day.skeleton{min-height:96px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.filter-group{flex-direction:column;align-items:stretch;gap:var(--space-1)}.filter-label{width:auto}}dialog.sheet{width:min(440px,calc(100% - 2 * var(--space-4)));padding:var(--space-5);max-height:calc(100dvh - 2 * var(--space-4));overflow-y:auto}.sheet-head{display:flex;align-items:flex-start;gap:var(--space-3)}.sheet-photo{width:72px;flex:none}.sheet-meal{color:var(--text-2);margin-top:var(--space-1)}.sheet-days{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sheet-day{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2) var(--space-3);text-align:left;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.sheet-day:hover{background:var(--surface-2)}.sheet-day.today{border-color:var(--accent);background:var(--accent-soft)}.sheet-day[disabled]{opacity:.5;cursor:not-allowed}.sheet-day-name{font-weight:var(--fw-medium)}.sheet-day-note{font-size:var(--fs-sm);color:var(--text-3);text-align:right}@media(max-width:820px){dialog.sheet{width:100%;max-width:none;margin:auto 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:0;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}@media(max-width:1100px){.detail-grid{grid-template-columns:minmax(0,1fr)}}.detail-photo{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.credit{margin:0}.ingredients,.missing-list,.steps,.credits-list{margin:0;padding:0}.ingredients{list-style:none;display:flex;flex-direction:column}.ingredient{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-3);min-height:48px;padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.ingredient:last-child{border-bottom:0}.ing-name{min-width:0;font-weight:var(--fw-medium)}.ing-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.find-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;font-size:var(--fs-sm)}.missing{display:flex;flex-direction:column;gap:var(--space-2)}.missing-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2)}.missing-list a{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-pill);text-decoration:none}.missing-list a:hover{background:var(--surface-2)}.steps{padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-2) var(--space-4);margin:0}.facts dt{color:var(--text-3);font-size:var(--fs-sm)}.facts dd{margin:0}.video-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.plan-card .select{max-width:100%}.credits{border-top:1px solid var(--line);padding-top:var(--space-4)}.credits summary{cursor:pointer;min-height:var(--target);display:flex;align-items:center;color:var(--text-2);font-weight:var(--fw-medium)}.credits-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-sm);max-height:50vh;overflow-y:auto}.credits-title{font-weight:var(--fw-medium)}.routine-link{color:var(--text);text-decoration:none}.routine-link:hover{color:var(--accent-text);text-decoration:underline}.target-hint{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--accent-line);border-radius:var(--radius-md);background:var(--accent-soft)}.sheet-day.target{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--glow)}.plan-day.past{opacity:.72}.plan-day.past.today{opacity:1}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn-row>.btn{flex:1 1 auto}.order-sheet .order-lines{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:40dvh;overflow-y:auto}.order-sheet .order-lines .row{padding:var(--space-1) var(--space-3);min-height:44px}.order-sheet .order-lines .row:last-child{border-bottom:0}.store-line{font-weight:var(--fw-medium);margin:0 0 var(--space-2)}.order-actions{display:flex;flex-direction:column;gap:var(--space-2)}.cart-card{display:flex;flex-direction:column;gap:var(--space-3)}.sheet-note{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft)}.chat{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.chat-list{display:flex;flex-direction:column;gap:var(--space-3);min-height:40vh;min-height:40dvh}.chat-earlier{display:flex;justify-content:center}.chat-day{display:flex;flex-direction:column;gap:var(--space-2)}.chat-daylabel{align-self:center;margin:var(--space-2) 0;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-xs)}.chat-bubble{display:flex;flex-direction:column;gap:var(--space-2);max-width:min(560px,86%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-2);color:var(--text);align-self:flex-start;border-bottom-left-radius:var(--radius-xs);overflow-wrap:anywhere}.chat-bubble.user{align-self:flex-end;background:var(--accent-soft);border-color:var(--accent-line);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-xs)}.chat-bubble.notice{align-self:center;max-width:min(560px,100%);background:transparent;border-style:dashed;border-color:var(--line-strong);color:var(--text-2)}.chat-bubble.pending{opacity:.7}.chat-text{margin:0;white-space:pre-wrap;line-height:var(--lh-base)}.chat-label{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-2)}.chat-meta{margin:0;font-size:var(--fs-xs);color:var(--text-3)}.chat-media{max-width:100%;border-radius:var(--radius-md)}.chat-album{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.chat-album .chat-media{width:100%;height:140px;object-fit:cover}.chat-figure{margin:0}.chat-figure figcaption{white-space:pre-line;overflow-wrap:anywhere;margin-top:var(--space-1)}.chat-album.single{grid-template-columns:1fr}.chat-album.single .chat-media{height:auto;max-height:360px;object-fit:contain}.chat-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.chat-btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-bubble.done .chat-buttons{opacity:.5}.chat-bubble.typing{flex-direction:row;gap:6px;padding:var(--space-3) var(--space-4)}.chat-bubble.typing .dot{width:8px;height:8px;border-radius:50%;background:var(--text-3);animation:chat-dot 1s var(--ease-in-out) infinite}.chat-bubble.typing .dot:nth-child(2){animation-delay:.15s}.chat-bubble.typing .dot:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.3}40%{opacity:1}}.chat-composer{position:sticky;bottom:0;z-index:var(--z-sticky);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;background:var(--bg);border-top:1px solid var(--line)}.chat-inputrow{display:flex;gap:var(--space-2);align-items:flex-end}.chat-input{flex:1;min-height:var(--target);max-height:160px;padding:var(--space-3);resize:none;field-sizing:content;line-height:var(--lh-base)}.chat-error{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.voice-btn{flex:none;min-width:var(--target);padding-inline:var(--space-3)}.voice-panel{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.voice-panel p{margin:0}.voice-heard{align-self:flex-end}.voice-draft{background:transparent;border-style:dashed;border-color:var(--accent-line);font-style:italic;color:var(--text-2)}.voice-big{min-width:56px;min-height:56px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center}@media(max-width:820px){.chat-composer{bottom:calc(var(--bottombar-h) + env(safe-area-inset-bottom,0px))}.chat-bubble{max-width:92%}}.wa-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.wa-last{margin:0;color:var(--text-2);overflow-wrap:anywhere}.wa-box{width:100%;resize:vertical;min-height:96px}.wa-preview{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.wa-preview li{overflow-wrap:anywhere}.wa-muted{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.rem-card .grow,.rem-card h3{overflow-wrap:anywhere}.rem-snooze{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rem-quiet{display:flex;flex-wrap:wrap;gap:var(--space-3)}.rem-quiet .field{flex:1;min-width:120px}.rem-allow{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target)}.rem-allow input{width:22px;height:22px}.notify-form{display:flex;flex-direction:column;gap:var(--space-3)}.notify-kinds{border:0;margin:0;padding:0;display:flex;flex-direction:column}.store-chips{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line)}.h-group{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2);padding:var(--space-3) var(--space-5) var(--space-1)}.store-pick{width:auto;max-width:9.5rem;min-width:0;flex:0 1 auto;font-size:var(--fs-sm)}.store-other{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2);flex-wrap:wrap}.store-other .input{flex:1;min-width:120px}@media(max-width:520px){.store-pick{max-width:6.5rem;padding-left:var(--space-2)}.grocery-row{flex-wrap:wrap}.grocery-row .grow{flex:1 1 9rem}.grocery-row .store-pick{margin-left:auto}}.rec-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-block:var(--space-4)}.rec-live,.rec-step{display:flex;flex-direction:column;gap:var(--space-2)}.rec-live p,.rec-step p,.rec-actions>p{margin:0}.rec-timer{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.rec-kinds{display:flex;flex-wrap:wrap;gap:var(--space-3);border:0;padding:0;margin:0}.rec-kinds legend{padding:0;margin-bottom:var(--space-2)}.rec-kind{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target)}.rec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.rec-card p{margin:0}.rec-summary{display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.rec-todo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.rec-todo li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.rec-todo li>span:first-child{flex:1 1 12rem}.rec-todo-h{font-weight:600}.chat-reclink{align-self:flex-start}.sample-badge{margin-left:var(--space-2);height:20px}.integrations-summary{display:flex;flex-direction:column;gap:var(--space-3)}.steps-chart{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.steps-chart svg{width:100%;height:96px;display:block}.steps-chart .bar{fill:var(--accent)}.steps-days{display:flex;justify-content:space-around;font-size:var(--fs-xs);color:var(--text-3)}.app.no-bottombar .chat-composer{bottom:env(safe-area-inset-bottom,0px)}.app.no-bottombar .page{padding-bottom:var(--space-8)}.app.no-bottombar{display:block}.app.no-bottombar .sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-102%);transition:transform var(--dur-slow) var(--ease-out);z-index:var(--z-drawer);box-shadow:var(--shadow-3)}.app.no-bottombar.drawer-open .sidebar{transform:none}.app.no-bottombar.drawer-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:calc(var(--z-drawer) - 1)}.app.no-bottombar .topbar .menu-btn{display:inline-flex}.app.no-bottombar .topbar .crumbs{flex:1}.app.no-bottombar .search{display:none}.page-head.compact{align-items:center}.page-head.compact .h-page{font-size:var(--fs-lg);margin:0}.page-head.compact .meta{margin-top:0}
