:root{--bg: oklch(97% .012 85);--bg-deep: oklch(94% .014 85);--surface: oklch(98.5% .008 85);--surface-hover: oklch(96% .012 85);--border: oklch(86% .014 85);--border-strong: oklch(75% .015 85);--text: oklch(24% .018 80);--text-muted: oklch(48% .018 80);--text-faint: oklch(64% .014 80);--olive: oklch(56% .07 115);--olive-deep: oklch(42% .075 115);--olive-soft: oklch(90% .03 115);--terracotta: oklch(60% .13 35);--terracotta-deep: oklch(48% .14 35);--terracotta-soft: oklch(92% .03 35);--warn: oklch(66% .13 65);--info: oklch(58% .06 230);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px oklch(20% .02 80 / .04);--shadow: 0 2px 8px oklch(20% .02 80 / .06);--shadow-lg: 0 8px 32px oklch(20% .02 80 / .08);--content-narrow: 640px;--content: 880px;--content-wide: 1120px;--space-1: 6px;--space-2: 12px;--space-3: 20px;--space-4: 32px;--space-5: 48px;--space-6: 72px;--space-7: 112px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-head: "Space Grotesk", "Inter", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--surface-tint: oklch(98% .014 85);--input-focus-bg: oklch(99% .005 85);--olive-soft-border: oklch(82% .04 115);--terracotta-soft-border: oklch(85% .05 35);--terracotta-banner-border: oklch(82% .06 35);--on-accent: oklch(98% .01 85)}[data-theme=dark]{--bg: oklch(20% .012 85);--bg-deep: oklch(15% .012 85);--surface: oklch(24% .014 85);--surface-hover: oklch(29% .014 85);--border: oklch(33% .014 85);--border-strong: oklch(46% .015 85);--text: oklch(94% .012 80);--text-muted: oklch(72% .014 80);--text-faint: oklch(58% .014 80);--olive: oklch(60% .085 115);--olive-deep: oklch(82% .07 115);--olive-soft: oklch(32% .05 115);--terracotta: oklch(62% .14 35);--terracotta-deep: oklch(82% .09 35);--terracotta-soft: oklch(30% .06 35);--warn: oklch(74% .13 65);--info: oklch(70% .08 230);--shadow-sm: 0 1px 2px oklch(0% 0 0 / .4);--shadow: 0 2px 8px oklch(0% 0 0 / .5);--shadow-lg: 0 8px 32px oklch(0% 0 0 / .6);--surface-tint: oklch(28% .018 85);--input-focus-bg: oklch(27% .012 85);--olive-soft-border: oklch(40% .05 115);--terracotta-soft-border: oklch(40% .07 35);--terracotta-banner-border: oklch(42% .08 35)}*{box-sizing:border-box}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text)}body{transition:background-color .2s ease,color .2s ease}body{font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;letter-spacing:-.01em;color:var(--text);margin:0 0 var(--space-3);line-height:1.2}h1{font-size:38px;line-height:1.15}h2{font-size:28px}h3{font-size:22px}h4{font-size:18px;font-weight:600}@media (max-width: 640px){h1{font-size:30px}h2{font-size:24px}}p{margin:0 0 var(--space-3);color:var(--text)}p.lead{font-size:19px;color:var(--text-muted);line-height:1.55}p.muted{color:var(--text-muted)}a{color:var(--olive-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--terracotta-deep)}code,.mono{font-family:var(--font-mono);font-size:.94em}hr{border:0;border-top:1px solid var(--border);margin:var(--space-4) 0}.container{width:100%;max-width:var(--content);margin:0 auto;padding:0 var(--space-3)}.container-narrow{max-width:var(--content-narrow)}.container-wide{max-width:var(--content-wide)}.stack>*+*{margin-top:var(--space-3)}.stack-lg>*+*{margin-top:var(--space-4)}.stack-xl>*+*{margin-top:var(--space-5)}.row{display:flex;gap:var(--space-3);flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.spacer-sm{height:var(--space-3)}.spacer{height:var(--space-5)}.spacer-lg{height:var(--space-7)}.text-center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;font-family:var(--font-body);font-size:17px;font-weight:500;line-height:1;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform 80ms ease;text-decoration:none;background:transparent;color:var(--text);min-height:48px}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--olive);color:var(--on-accent);border-color:var(--olive)}.btn-primary:hover:not(:disabled){background:var(--olive-deep);border-color:var(--olive-deep);color:var(--on-accent)}.btn-secondary{background:var(--terracotta);color:var(--on-accent);border-color:var(--terracotta)}.btn-secondary:hover:not(:disabled){background:var(--terracotta-deep);border-color:var(--terracotta-deep);color:var(--on-accent)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}.btn-quiet{background:transparent;border-color:transparent;color:var(--text-muted);padding:10px 14px}.btn-quiet:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-sm{padding:9px 14px;font-size:15px;min-height:38px}.btn-lg{padding:18px 28px;font-size:18px;min-height:56px}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:16px;font-weight:500;color:var(--text)}.field .hint{font-size:14px;color:var(--text-faint)}.input,.textarea,.select{width:100%;padding:14px 16px;font-family:var(--font-body);font-size:17px;line-height:1.4;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);transition:border-color .12s ease,background-color .12s ease}.input:focus,.textarea:focus,.select:focus{border-color:var(--olive);background:var(--input-focus-bg)}.input:focus-visible,.textarea:focus-visible,.select:focus-visible{outline:2px solid var(--primary, var(--olive));outline-offset:2px}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.textarea{min-height:120px;resize:vertical;line-height:1.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card-pad-sm{padding:var(--space-3)}.card-clickable{cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.card-clickable:hover{border-color:var(--olive);background:var(--surface-tint)}.card-clickable:active{transform:translateY(1px)}.dashboard-widgets-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 900px){.dashboard-widgets-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-3)}}.dashboard-widget{border-radius:12px;box-shadow:0 1px 2px #1b150b0a,0 4px 12px #1b150b0a;display:flex;flex-direction:column}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:14px;font-weight:500;border-radius:999px;background:var(--olive-soft);color:var(--olive-deep);border:1px solid var(--olive-soft-border)}.pill-terracotta{background:var(--terracotta-soft);color:var(--terracotta-deep);border-color:var(--terracotta-soft-border)}.pill-quiet{background:var(--bg-deep);color:var(--text-muted);border-color:var(--border)}.app-header{border-bottom:1px solid var(--border);background:var(--bg);padding:var(--space-2) 0;position:sticky;top:0;z-index:10}.app-header .row-between{align-items:center}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:500;font-size:19px;color:var(--text);text-decoration:none;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--olive) 0%,var(--terracotta) 120%);flex-shrink:0}.skip-link{position:absolute;top:-100%;left:var(--space-3);background:var(--olive);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);z-index:10000;text-decoration:none;font-weight:500;font-size:14px}.skip-link:focus{top:var(--space-2)}.app-nav{display:flex;gap:4px;align-items:center}.app-nav a,.app-nav button.nav-link-button{padding:8px 12px;font-size:16px;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.app-nav button.nav-link-button{background:transparent;border:none;cursor:pointer;font-family:inherit;line-height:inherit}.hamburger-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;cursor:pointer;padding:0;z-index:1100}.hamburger-icon{display:block;width:22px;height:2px;background:var(--text);position:relative;transition:background .2s ease}.hamburger-icon:before,.hamburger-icon:after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--text);transition:transform .2s ease}.hamburger-icon:before{top:-7px}.hamburger-icon:after{top:7px}.hamburger-icon.open{background:transparent}.hamburger-icon.open:before{transform:translateY(7px) rotate(45deg)}.hamburger-icon.open:after{transform:translateY(-7px) rotate(-45deg)}.drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000}.drawer{display:none;position:fixed;top:0;right:0;width:min(280px,80vw);height:100dvh;background:var(--surface);border-left:1px solid var(--border);z-index:1050;flex-direction:column;padding:72px var(--space-3) var(--space-4);transform:translate(100%);transition:transform .25s ease;overflow-y:auto}.drawer-open{transform:translate(0)}.drawer-links{display:flex;flex-direction:column;gap:2px;flex:1}.drawer-links a,.drawer-links .pill,.drawer-links button.nav-link-button{display:block;padding:12px 16px;font-size:16px;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm)}.drawer-links button.nav-link-button{width:100%;text-align:left;background:transparent;border:none;cursor:pointer;font-family:inherit;line-height:inherit}.drawer-links a:hover,.drawer-links a.active,.drawer-links button.nav-link-button:hover{color:var(--text);background:var(--surface-hover)}.drawer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:var(--space-3)}.drawer-footer .theme-toggle{width:auto;padding:6px 12px}@media (max-width: 640px){.app-nav-desktop{display:none}.hamburger-btn{display:flex}.drawer-backdrop{display:block}.drawer{display:flex}}.app-nav a:hover,.app-nav button.nav-link-button:hover{color:var(--text);background:var(--surface-hover)}.app-nav a.active{color:var(--text);background:var(--surface)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.theme-toggle:hover{color:var(--text);background:var(--surface-hover)}.theme-toggle:focus-visible{outline:2px solid var(--primary, var(--olive));outline-offset:2px}.app-main{flex:1;padding:var(--space-5) 0 var(--space-7)}.app-footer{border-top:1px solid var(--border);padding:var(--space-4) 0;font-size:14px;color:var(--text-faint)}.app-footer a{color:var(--text-muted)}.progress-dots{display:inline-flex;gap:8px;align-items:center}.progress-dot{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.progress-dot.done{background:var(--olive)}.progress-dot.current{background:var(--terracotta);box-shadow:0 0 0 4px var(--terracotta-soft)}.progress-bar{height:6px;background:var(--bg-deep);border-radius:999px;overflow:hidden}.progress-bar>div{height:100%;background:var(--olive);transition:width .2s ease}.entry-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.entry-list li{border-bottom:1px solid var(--border)}.entry-list li:last-child{border-bottom:none}.entry-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;cursor:pointer;text-decoration:none;color:inherit}.entry-row:hover .entry-title{color:var(--olive-deep)}.entry-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:var(--olive-soft);color:var(--olive-deep)}.entry-body{flex:1;min-width:0}.entry-title{font-size:17px;font-weight:500;margin-bottom:4px;color:var(--text)}.entry-meta{font-size:14px;color:var(--text-faint)}.banner{background:var(--olive-soft);border:1px solid var(--olive-soft-border);border-radius:var(--radius);padding:var(--space-3);color:var(--olive-deep)}.banner-terracotta{background:var(--terracotta-soft);border-color:var(--terracotta-banner-border);color:var(--terracotta-deep)}.banner-quiet{background:var(--bg-deep);border-color:var(--border);color:var(--text-muted)}.billing-toggle{display:inline-flex;align-items:center;background:var(--bg-deep);border:1px solid var(--border);border-radius:999px;padding:4px;margin-top:var(--space-3)}.billing-toggle-btn{border:0;background:transparent;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--text-muted);padding:8px 18px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;transition:background-color .12s ease,color .12s ease}.billing-toggle-btn.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.pricing-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4)}@media (min-width: 900px){.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch}}.pricing-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column}.pricing-card.is-highlight{border-color:var(--olive);box-shadow:0 4px 24px #737a491f}.pricing-card-badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:var(--olive);color:var(--on-accent);font-size:13px;font-weight:500;padding:4px 14px;border-radius:999px;letter-spacing:.02em}.pricing-price{display:flex;flex-direction:column;align-items:baseline;gap:4px;margin-top:var(--space-2)}.pricing-amount{font-family:var(--font-head);font-size:42px;font-weight:500;letter-spacing:-.02em;color:var(--text);line-height:1}.pricing-period{font-size:15px;color:var(--text-muted)}.pricing-yearly-hint{font-size:13px;color:var(--olive-deep);font-weight:500;margin-top:4px}.pricing-features{list-style:none;padding:0;margin:0;border-top:1px solid var(--border);padding-top:var(--space-3);display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--text)}.pricing-features li{display:flex;align-items:flex-start;gap:10px;line-height:1.4}.pricing-features li svg{color:var(--olive);flex-shrink:0;margin-top:2px}.pricing-features-missing{color:var(--text-faint);text-decoration:line-through}.pricing-features-missing svg{color:var(--text-faint)!important}.pricing-faq{display:grid;grid-template-columns:1fr;gap:var(--space-2);margin:0}.pricing-faq dt{font-weight:500;color:var(--text);margin-top:var(--space-2)}.pricing-faq dt:first-of-type{margin-top:0}.pricing-faq dd{margin:0;color:var(--text-muted);line-height:1.55}.paywall-banner{display:flex;align-items:center;gap:var(--space-3);background:linear-gradient(180deg,var(--terracotta-soft) 0%,var(--surface) 100%);border:1px solid var(--terracotta-soft-border);border-radius:var(--radius-lg);padding:var(--space-3);margin-top:var(--space-3)}.paywall-banner-icon{width:44px;height:44px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--terracotta-deep);flex-shrink:0}.paywall-banner-body{flex:1;min-width:0}.paywall-banner-body h4{margin:0 0 4px}.paywall-banner-body p{margin:0;color:var(--text-muted);font-size:15px}.nav-upgrade-link{background:var(--olive);color:var(--on-accent)!important;padding:8px 14px!important;border-radius:999px;font-weight:500;text-decoration:none!important}.nav-upgrade-link:hover{background:var(--olive-deep)}.kv{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:var(--space-2) var(--space-3);font-size:16px}.kv dt{color:var(--text-faint);font-weight:400}.kv dd{margin:0;color:var(--text)}.step{max-width:560px;margin:0 auto;text-align:left}.step-question{font-family:var(--font-head);font-size:28px;font-weight:500;letter-spacing:-.01em;margin:var(--space-3) 0 var(--space-4);line-height:1.3}.choice-list{display:flex;flex-direction:column;gap:10px}.choice{display:flex;align-items:center;gap:var(--space-3);padding:18px 20px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-size:17px;text-align:left;font-family:var(--font-body);color:var(--text);width:100%;transition:border-color .12s,background .12s}.choice:hover{border-color:var(--olive);background:var(--surface-tint)}.choice.selected{border-color:var(--olive);background:var(--olive-soft)}.choice-mark{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);flex-shrink:0;display:flex;align-items:center;justify-content:center}.choice.selected .choice-mark{background:var(--olive);border-color:var(--olive);color:var(--on-accent)}.onboarding-progress{max-width:560px;margin:0 auto var(--space-4);padding-top:var(--space-3)}.onboarding-progress-label{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--text-faint);text-transform:uppercase}.onboarding-field{margin-top:var(--space-3);display:flex;flex-direction:column;gap:8px}.onboarding-field>label{font-family:var(--font-head);font-size:17px;font-weight:500;color:var(--text)}.onboarding-hint{font-size:13px;color:var(--text-faint);margin-top:4px}.onboarding-optional{color:var(--text-faint);font-weight:400;font-size:14px}.onboarding-choices{margin-top:4px}.onboarding-yesno{display:grid;grid-template-columns:1fr 1fr;gap:10px}.onboarding-categories{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 var(--space-3)}.onboarding-categories li{border-bottom:1px solid var(--border)}.onboarding-categories li:last-child{border-bottom:none}.onboarding-category-button{width:100%;background:transparent;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:var(--space-3) 0}.onboarding-category-button:hover .entry-title{color:var(--olive-deep)}.onboarding-entry-card{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-4);box-shadow:var(--shadow-sm)}.onboarding-success-banner{background:var(--olive-soft);border:1px solid var(--olive-soft-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);color:var(--olive-deep);margin-bottom:var(--space-4);animation:onboarding-banner-in .28s ease-out}.onboarding-success-banner h3{margin:0 0 4px;font-family:var(--font-head);font-size:20px;color:var(--olive-deep)}.onboarding-success-banner p{margin:0;color:var(--olive-deep);font-size:15px}.onboarding-success-banner-icon{width:40px;height:40px;border-radius:50%;background:var(--olive);color:var(--on-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.onboarding-success-banner-close{background:transparent;border:none;color:var(--olive-deep);cursor:pointer;padding:4px;align-self:flex-start;opacity:.7}.onboarding-success-banner-close:hover{opacity:1}@keyframes onboarding-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 520px){.onboarding-yesno{grid-template-columns:1fr}}.hero{padding:var(--space-7) 0 var(--space-6)}.hero-eyebrow{font-size:14px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:var(--space-3)}.hero h1{font-size:48px;line-height:1.08;max-width:720px}@media (max-width: 720px){.hero h1{font-size:34px}.hero{padding:var(--space-5) 0 var(--space-5)}}.hero-cta{margin-top:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.hero-cta-note{font-size:14px}@media (max-width: 560px){.hero-cta{gap:var(--space-2)}.hero-cta .btn{width:100%;text-align:center}}.steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.step{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:14px}.step-number{font-family:var(--font-head);font-weight:500;font-size:18px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--olive-soft);color:var(--olive-deep);border:1px solid var(--olive-soft-border);flex-shrink:0}.step-title{font-family:var(--font-head);font-size:18px;font-weight:500;margin-bottom:4px}.step-body{color:var(--text-muted);font-size:16px;line-height:1.55}@media (max-width: 560px){.step{padding:var(--space-2) var(--space-3)}.step-number{width:32px;height:32px;font-size:16px}.step-title{font-size:17px}}.scenario{padding:var(--space-3) 0;border-top:1px solid var(--border)}.scenario:first-of-type{border-top:none}.scenario-title{font-family:var(--font-head);font-size:18px;font-weight:500;margin-bottom:6px}.scenario-body{color:var(--text-muted);font-size:16px}.simple-table{width:100%;border-collapse:collapse;font-size:16px}.simple-table th,.simple-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}.simple-table th{font-weight:500;color:var(--text-muted);font-size:14px;text-transform:uppercase;letter-spacing:.04em}@media print{.no-print,.app-header,.app-footer,.app-nav,.btn,.banner,[role=dialog],[role=alert]{display:none!important}html,body{background:#fff;color:#000}.app-main{padding:0}.container{max-width:100%;padding:0}.card{border:1px solid #ccc;box-shadow:none;background:#fff}a{color:#000;text-decoration:none}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}section,.card,.entry-row,h1,h2,h3{break-inside:avoid;page-break-inside:avoid}h1,h2,h3{break-after:avoid;page-break-after:avoid}@page{margin:18mm 16mm}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}.app-header{padding-top:max(var(--space-2),env(safe-area-inset-top))}.app-main{padding-bottom:max(var(--space-7),calc(var(--space-5) + env(safe-area-inset-bottom)))}.app-footer{padding-bottom:max(var(--space-4),calc(var(--space-2) + env(safe-area-inset-bottom)))}@media (pointer: coarse){.btn{min-height:48px}.btn-sm{min-height:44px}.choice{min-height:56px}.app-nav a{min-height:44px;display:inline-flex;align-items:center}.entry-row{min-height:56px}.input,.textarea,.select{min-height:48px}}@media (max-width: 480px){.container{padding:0 var(--space-2)}.card{padding:var(--space-3)}.row-between{gap:var(--space-2)}.btn{padding:12px 18px;font-size:16px}.btn-lg{padding:14px 22px;font-size:17px}.app-header .row-between{gap:var(--space-1)}}@media (display-mode: standalone){.app-header{padding-top:max(var(--space-3),env(safe-area-inset-top))}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes nk-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.app-main{animation:nk-fade-in .24s ease-out both}.card,.banner{animation:nk-fade-in .22s ease-out both}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.card-clickable:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.entry-row{transition:background-color .12s ease,transform 80ms ease}.entry-row:hover{background:var(--surface-tint)}@media (prefers-reduced-motion: reduce){.app-main,.card,.banner,.toast{animation:none!important}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.card-clickable:hover{transform:none!important}html{scroll-behavior:auto}}.toast-viewport{position:fixed;top:max(var(--space-3),env(safe-area-inset-top));right:max(var(--space-3),env(safe-area-inset-right));display:flex;flex-direction:column;gap:10px;z-index:1000;pointer-events:none;max-width:calc(100% - var(--space-4))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;min-width:280px;max-width:420px;padding:14px 14px 14px 16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--olive);border-radius:var(--radius);box-shadow:var(--shadow-lg);color:var(--text);font-size:16px;line-height:1.4;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .22s ease}.toast-init{opacity:0;transform:translate(20px)}.toast-enter{opacity:1;transform:translate(0)}.toast-leave{opacity:0;transform:translate(20px)}.toast-success{border-left-color:var(--olive)}.toast-success .toast-icon{color:var(--olive)}.toast-error{border-left-color:var(--terracotta)}.toast-error .toast-icon{color:var(--terracotta-deep)}.toast-warn{border-left-color:var(--warn)}.toast-warn .toast-icon{color:var(--warn)}.toast-info{border-left-color:var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px}.toast-message{flex:1;min-width:0}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:-4px -4px -4px 0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;transition:background-color .12s ease,color .12s ease}.toast-close:hover{background:var(--surface-hover);color:var(--text)}@media (max-width: 540px){.toast-viewport{left:max(var(--space-2),env(safe-area-inset-left));right:max(var(--space-2),env(safe-area-inset-right))}.toast{min-width:0;max-width:100%}}.danger-text{color:var(--terracotta-deep)}.center-screen{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:var(--space-4) var(--space-3)}.empty{text-align:center;padding:var(--space-5) var(--space-3);color:var(--text-muted)}.empty-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-3);color:var(--text-faint)}.attachments{display:flex;flex-direction:column;gap:var(--space-3)}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-4) var(--space-3);background:var(--surface);text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.dropzone:hover,.dropzone:focus-visible{border-color:var(--olive);background:var(--surface-tint);outline:2px solid var(--primary, var(--olive));outline-offset:2px}.dropzone-active{border-color:var(--olive);background:var(--olive-soft)}.dropzone-icon{width:48px;height:48px;border-radius:50%;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-2);color:var(--text-muted)}.dropzone-text{font-size:16px;color:var(--text);margin-bottom:4px}.dropzone-hint{font-size:14px;color:var(--text-faint)}.attachment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.attachment-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.attachment-item:last-child{border-bottom:none}.attachment-preview{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-deep);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.attachment-preview img{width:100%;height:100%;object-fit:cover;display:block}.attachment-icon-fallback{color:var(--text-muted)}.attachment-meta{flex:1;min-width:0}.attachment-name{font-size:16px;color:var(--text);word-break:break-word;margin-bottom:2px}.attachment-size{font-size:13px}.attachment-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 540px){.attachment-item{flex-wrap:wrap}.attachment-actions{width:100%;justify-content:flex-end}}.trust-badges{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.trust-badge{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-muted);font-weight:500}.trust-badge-icon{font-size:20px;line-height:1}.stats-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 640px){.stats-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-3)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3);text-align:center}.stat-value{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:1.1;color:var(--olive-deep);margin-bottom:6px;font-variant-numeric:tabular-nums}.stat-label{color:var(--text-muted);font-size:15px;line-height:1.4}@media (max-width: 560px){.stat-value{font-size:34px}}.testimonial-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 820px){.testimonial-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.star-rating{display:inline-flex;gap:2px;font-size:16px;letter-spacing:1px;color:var(--border-strong);line-height:1}.star-rating .is-on{color:var(--terracotta)}.testimonial-quote{margin:0;font-size:16px;line-height:1.55;color:var(--text);font-style:normal}.testimonial-attribution{display:flex;flex-direction:column;gap:2px;font-size:14px;margin-top:auto}.testimonial-name{font-weight:500;color:var(--text)}.testimonial-location{font-size:13px}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 600px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.features-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1180px){.features-grid{grid-template-columns:repeat(4,1fr)}}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:10px;transition:border-color .12s ease,background-color .12s ease}.feature-card:hover{border-color:var(--olive);background:var(--surface-tint)}.feature-icon{width:40px;height:40px;border-radius:12px;background:var(--olive-soft);color:var(--olive-deep);border:1px solid var(--olive-soft-border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.feature-title{font-family:var(--font-head);font-size:17px;font-weight:500;margin:0;line-height:1.3}.feature-body{color:var(--text-muted);font-size:15px;line-height:1.55;margin:0}@keyframes skel-pulse{0%,to{opacity:.55}50%{opacity:.95}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton-block{width:100%;max-width:480px;display:flex;flex-direction:column;gap:10px;padding:var(--space-3)}.skeleton-block-flush{padding:0;max-width:none}.skel{background:linear-gradient(90deg,var(--bg-deep) 0%,var(--surface-hover) 50%,var(--bg-deep) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skel-pulse 1.6s ease-in-out infinite}.skel-line{height:12px}.skel-heading{height:22px;border-radius:var(--radius)}.skel-eyebrow{height:10px;width:40%}.skel-bar{height:10px;width:100%;margin-top:var(--space-3)}.skel-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skel-w-50{width:50%}.skel-w-60{width:60%}.skel-w-75{width:75%}.skel-w-90{width:90%}.skel-caption{margin-top:var(--space-2);font-size:14px}.skeleton-widget{display:flex;flex-direction:column;gap:10px;min-height:180px}@media (prefers-reduced-motion: reduce){.skel{animation:none;opacity:.7}}.onboarding-checklist{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-checklist-eyebrow{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:4px}.onboarding-checklist-head{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-checklist-bar{height:8px;width:100%}.onboarding-checklist-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:4px}@media (min-width: 720px){.onboarding-checklist-list{grid-template-columns:1fr 1fr;gap:4px var(--space-3)}}.onboarding-checklist-item a{display:flex;align-items:flex-start;gap:12px;padding:10px 8px;border-radius:var(--radius);text-decoration:none;color:var(--text);transition:background-color .12s ease}.onboarding-checklist-item a:hover,.onboarding-checklist-item a:focus-visible{background:var(--surface-tint);outline:none}.onboarding-checklist-check{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-deep);color:var(--text-faint);border:1px solid var(--border);margin-top:2px;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.onboarding-checklist-item.is-done .onboarding-checklist-check{background:var(--olive);color:var(--on-accent);border-color:var(--olive)}.onboarding-checklist-item.is-done .onboarding-checklist-title{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--border-strong)}.onboarding-checklist-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.onboarding-checklist-title{font-size:15px;font-weight:500;line-height:1.35}.onboarding-checklist-hint{font-size:13px;line-height:1.4}.onboarding-checklist-done{display:flex;align-items:flex-start;gap:var(--space-3);background:linear-gradient(180deg,var(--olive-soft) 0%,var(--surface) 100%);border:1px solid var(--olive-soft-border);border-radius:var(--radius-lg);padding:var(--space-3)}.onboarding-checklist-done-icon{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--olive);color:var(--on-accent);display:flex;align-items:center;justify-content:center}.progress-overview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);position:relative;overflow:hidden}.progress-overview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:.35}.progress-overview-red:before{background:linear-gradient(135deg,var(--terracotta-soft) 0%,transparent 60%)}.progress-overview-yellow:before{background:linear-gradient(135deg,oklch(94% .05 80) 0%,transparent 60%)}.progress-overview-green:before{background:linear-gradient(135deg,var(--olive-soft) 0%,transparent 60%)}[data-theme=dark] .progress-overview-yellow:before{background:linear-gradient(135deg,oklch(38% .06 80) 0%,transparent 60%)}.progress-overview-head,.progress-overview-bar,.progress-overview-meta,.progress-overview-tip{position:relative;z-index:1}.progress-overview-eyebrow{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:2px}.progress-overview-title{margin:0;font-family:var(--font-head);font-size:20px;font-weight:500;line-height:1.3;color:var(--text)}.progress-overview-bar{height:10px;width:100%;background:var(--bg-deep);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-overview-bar-fill{height:100%;border-radius:inherit;transition:width .32s ease,background-color .32s ease}.progress-overview-red .progress-overview-bar-fill{background:linear-gradient(90deg,var(--terracotta) 0%,var(--terracotta-deep) 100%)}.progress-overview-yellow .progress-overview-bar-fill{background:linear-gradient(90deg,var(--terracotta) 0%,var(--warn) 100%)}.progress-overview-green .progress-overview-bar-fill{background:linear-gradient(90deg,var(--warn) 0%,var(--olive) 60%,var(--olive-deep) 100%)}.progress-overview-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.progress-overview-percent{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--text);letter-spacing:-.01em}.progress-overview-red .progress-overview-percent,.progress-overview-yellow .progress-overview-percent{color:var(--terracotta-deep)}.progress-overview-green .progress-overview-percent{color:var(--olive-deep)}.progress-overview-segments{font-size:13px;color:var(--text-muted);line-height:1.4}.progress-overview-tip{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);padding:10px var(--space-2);margin-top:4px}.progress-overview-tip-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--olive-soft);color:var(--olive-deep);display:inline-flex;align-items:center;justify-content:center}.progress-overview-tip-text{flex:1;min-width:0;font-size:14px;line-height:1.45;color:var(--text)}.progress-overview-tip-text strong{font-weight:600;color:var(--text)}.progress-overview-tip-link{font-size:14px;font-weight:500;color:var(--olive-deep);text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.progress-overview-tip-link:hover{color:var(--terracotta-deep);text-decoration:underline}.ghost-entry{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-2);margin-top:6px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-deep);text-decoration:none;color:inherit;opacity:.78;transition:opacity .14s ease,background-color .14s ease,border-color .14s ease,transform .14s ease}.ghost-entry:hover,.ghost-entry:focus-visible{opacity:1;background:var(--surface-tint);border-color:var(--olive);outline:none}.ghost-entry:active{transform:translateY(1px)}.ghost-entry-add{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--olive-deep);border:1px dashed var(--border-strong);transition:background-color .14s ease,color .14s ease,border-color .14s ease}.ghost-entry:hover .ghost-entry-add,.ghost-entry:focus-visible .ghost-entry-add{background:var(--olive);color:var(--on-accent);border-color:var(--olive);border-style:solid}.ghost-entry-title{flex:1;min-width:0;font-size:14px;color:var(--text-faint);font-style:italic;font-weight:400;line-height:1.4}.ghost-entries-list{display:flex;flex-direction:column;gap:0;margin-top:var(--space-2)}.retry-banner{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.retry-banner-info{background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.retry-banner-warn{background:var(--terracotta-soft);border:1px solid var(--terracotta-banner-border);color:var(--terracotta-deep)}.retry-banner-text{flex:1;min-width:0;font-size:14px;line-height:1.4}.retry-banner-warn .retry-banner-text strong{color:var(--terracotta-deep);font-weight:600}.retry-banner-warn .retry-banner-text .muted{color:var(--terracotta-deep);opacity:.8}@keyframes retry-spin{to{transform:rotate(360deg)}}.retry-spin{animation:retry-spin 1s linear infinite;flex-shrink:0}@media (prefers-reduced-motion: reduce){.retry-spin{animation:none}}.pricing-compare{display:none}.pricing-grid-mobile{display:grid}@media (min-width: 768px){.pricing-grid-mobile{display:none}.pricing-compare{display:block;margin-top:var(--space-4)}}.pricing-compare-title{margin-bottom:var(--space-3);font-size:24px}.pricing-compare-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.pricing-compare-table{width:100%;border-collapse:collapse;font-size:15px;color:var(--text)}.pricing-compare-table th,.pricing-compare-table td{padding:14px 18px;text-align:center;border-bottom:1px solid var(--border);vertical-align:middle}.pricing-compare-table thead th{background:var(--bg-deep);border-bottom:1px solid var(--border-strong);position:sticky;top:0;z-index:1}.pricing-compare-feature{text-align:left!important;font-weight:500;color:var(--text);width:38%;min-width:220px}.pricing-compare-plan-head{font-family:var(--font-head);font-weight:500;letter-spacing:-.01em;width:21%;min-width:140px}.pricing-compare-plan-name{font-size:18px;color:var(--text)}.pricing-compare-plan-price{margin-top:4px;font-size:13px;font-weight:400;color:var(--text-muted);font-family:var(--font-body)}.pricing-compare-current-pill{margin-top:8px;display:inline-block;background:var(--olive);color:var(--on-accent);font-size:12px;letter-spacing:.02em}.pricing-compare-group-row th{background:var(--surface-tint);text-align:left!important;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;padding:10px 18px;border-bottom:1px solid var(--border)}.pricing-compare-cell{color:var(--text-muted)}.pricing-compare-cell svg{color:var(--olive)}.pricing-compare-cell .pricing-compare-x{color:var(--text-faint);opacity:.7}.pricing-compare-value{font-variant-numeric:tabular-nums}.pricing-compare-table thead th.is-current,.pricing-compare-table td.is-current{background:var(--olive-soft);color:var(--text)}.pricing-compare-table thead th.is-current .pricing-compare-plan-price{color:var(--olive-deep)}.pricing-compare-table td.is-current svg{color:var(--olive-deep)}.pricing-compare-table tr:last-child td,.pricing-compare-table tr:last-child th{border-bottom:none}.family-tabs{display:flex;gap:var(--space-1);margin-top:var(--space-3);border-bottom:1px solid var(--border);flex-wrap:wrap}.family-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:15px;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.family-tab:hover{color:var(--text)}.family-tab.is-active{color:var(--olive-deep);border-bottom-color:var(--olive);font-weight:500;cursor:default}.family-overview-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-2)}@media (min-width: 720px){.family-overview-grid{grid-template-columns:repeat(2,1fr)}}.family-member-card{position:relative;display:flex;flex-direction:column}.family-member-card.is-me{border-color:var(--olive);background:var(--surface-tint);box-shadow:0 0 0 1px var(--olive-soft) inset}.family-avatar{width:44px;height:44px;border-radius:50%;background:var(--olive-soft);color:var(--olive-deep);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:500;font-size:16px;flex-shrink:0}.family-member-card.is-me .family-avatar{background:var(--olive);color:var(--on-accent)}.family-stats{list-style:none;padding:0;margin:var(--space-3) 0 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:14px;color:var(--text-muted)}.family-stats li{display:inline-flex;align-items:center;gap:6px}.family-stats li svg{color:var(--olive);flex-shrink:0}@media (max-width: 480px){.family-stats{grid-template-columns:1fr}}.family-nudge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b150b80;display:flex;align-items:center;justify-content:center;padding:var(--space-3);z-index:100;animation:nk-fade-in .18s ease-out both}.family-nudge-card{width:100%;max-width:520px;max-height:calc(100vh - var(--space-5));overflow-y:auto}.search-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:14px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease;min-width:180px;justify-content:space-between}.search-trigger:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.search-trigger:focus-visible{outline:2px solid var(--olive);outline-offset:2px}.search-trigger-label{display:inline-flex;align-items:center;gap:8px}.search-trigger-icon-only{min-width:0;width:38px;height:38px;padding:0;justify-content:center}.search-kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);line-height:1}.search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#1b150b73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:10vh var(--space-3) var(--space-3);animation:search-fade-in .14s ease-out}[data-theme=dark] .search-backdrop{background:#0000008c}@keyframes search-fade-in{0%{opacity:0}to{opacity:1}}.search-dialog{width:100%;max-width:600px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 14px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:min(70vh,640px);overflow:hidden;animation:search-slide-in .18s cubic-bezier(.2,.8,.2,1)}@keyframes search-slide-in{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-input-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-muted)}.search-input{flex:1;border:none;outline:none;background:transparent;color:var(--text);font-size:17px;padding:4px 0;font-family:inherit}.search-input::placeholder{color:var(--text-faint)}.search-close{border:none;background:transparent;padding:0;cursor:pointer;color:var(--text-muted)}.search-close:hover .search-kbd{color:var(--text);border-color:var(--border-strong)}.search-body{flex:1;overflow-y:auto;padding:8px 0}.search-state{padding:22px 20px;color:var(--text-muted);text-align:center}.search-state p{margin:0 0 6px}.search-state-error{color:var(--terracotta-deep);background:var(--terracotta-soft);margin:8px 12px;border-radius:var(--radius-sm);padding:12px 16px;text-align:left}.search-hint{font-size:15px;color:var(--text-muted)}.search-meta{font-size:13px;color:var(--text-faint)}.search-section+.search-section{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.search-section-title{padding:8px 16px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:500}.search-list{list-style:none;margin:0;padding:0}.search-result{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 16px;border:none;background:transparent;text-align:left;cursor:pointer;color:var(--text);font-family:inherit}.search-result:focus{outline:none}.search-result-active{background:var(--surface-hover)}.search-result-icon{flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--text-muted)}.search-result-active .search-result-icon{color:var(--olive-deep);background:var(--olive-soft)}.search-result-body{flex:1;min-width:0}.search-result-title{font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-meta{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.search-result-tag{flex-shrink:0;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg-deep);color:var(--text-muted);align-self:center}.search-result-enter{flex-shrink:0;display:inline-flex;align-items:center;color:var(--text-faint);align-self:center}.search-mark{background:#ecca6c59;color:var(--text);border-radius:2px;padding:0 1px;font-weight:500}[data-theme=dark] .search-mark{background:#9d7c0059;background:oklch(60% .13 90 / .35);color:var(--text)}.search-footer{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-faint);background:var(--bg)}@media (max-width: 640px){.search-backdrop{padding:4vh var(--space-2) var(--space-2)}.search-dialog{max-height:90vh}.search-trigger{min-width:0;width:38px;height:38px;padding:0;justify-content:center}.search-trigger-label,.search-trigger .search-kbd,.search-footer{display:none}}.wallet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#1b150b73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:8vh var(--space-3) var(--space-3);animation:search-fade-in .14s ease-out}[data-theme=dark] .wallet-backdrop{background:#0000008c}.wallet-dialog{width:100%;max-width:720px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:min(86vh,820px);overflow:hidden;animation:search-slide-in .18s cubic-bezier(.2,.8,.2,1)}.wallet-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--border)}.wallet-dialog-body{flex:1;overflow-y:auto;padding:var(--space-3);display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 720px){.wallet-dialog-body{grid-template-columns:1fr 1fr}}.wallet-dialog-foot{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border);background:var(--bg-deep)}.wallet-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3)}.wallet-card-content{display:flex;flex-direction:column;gap:var(--space-2)}.wallet-card-head{display:flex;align-items:center;gap:12px}.wallet-platform-badge{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--on-accent)}.wallet-platform-badge-apple{background:#1b150b;color:#fcf8f1}[data-theme=dark] .wallet-platform-badge-apple{background:#f2eee7;color:#1b150b}.wallet-platform-badge-google{background:#0d7dd4;color:#fcf8f1}.wallet-card-note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius);font-size:14px;line-height:1.45}.wallet-card-note-pending{background:var(--olive-soft);border:1px solid var(--olive-soft-border);color:var(--olive-deep)}.wallet-card-pass{background:linear-gradient(140deg,#737a49,#4c521d);color:#fcf8f1;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;box-shadow:0 8px 24px #1b150b2e}.wallet-card-google .wallet-card-pass{background:linear-gradient(140deg,#737a49,#c16048 130%)}.wallet-pass-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.wallet-pass-brand{font-family:var(--font-head);font-weight:600;letter-spacing:0;text-transform:none;font-size:14px;opacity:1}.wallet-pass-name{font-size:22px;font-weight:600;font-family:var(--font-head);letter-spacing:-.01em;line-height:1.15}.wallet-pass-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:4px}.wallet-pass-field{display:flex;flex-direction:column;gap:2px;min-width:0}.wallet-pass-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.78}.wallet-pass-value{font-size:14px;font-weight:500;line-height:1.3;word-break:break-word}.wallet-pass-foot{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;opacity:.78;margin-top:2px}.btn-wallet-apple{background:#1b150b;color:#fcf8f1;border-color:#1b150b}.btn-wallet-apple:hover:not(:disabled){background:#332d23;border-color:#332d23;color:#fcf8f1}[data-theme=dark] .btn-wallet-apple{background:#f2eee7;color:#1b150b;border-color:#f2eee7}[data-theme=dark] .btn-wallet-apple:hover:not(:disabled){background:#d1cdc7;border-color:#d1cdc7;color:#1b150b}.btn-wallet-google{background:#0d7dd4;color:#fcf8f1;border-color:#0d7dd4}.btn-wallet-google:hover:not(:disabled){background:#0060a6;background:oklch(48% .18 250);border-color:#0060a6;border-color:oklch(48% .18 250);color:#fcf8f1}@media (max-width: 640px){.wallet-backdrop{padding:4vh var(--space-2) var(--space-2)}.wallet-pass-fields{grid-template-columns:1fr}}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:1100;width:56px;height:56px;border-radius:50%;border:none;background:var(--olive-deep);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform .12s ease,background .12s ease}.chat-fab:hover{background:var(--olive);transform:translateY(-2px)}.chat-fab:focus-visible{outline:2px solid var(--olive);outline-offset:3px}.chat-fab-badge{position:absolute;top:-2px;right:-2px;background:var(--terracotta);color:var(--on-accent);border-radius:999px;font-size:10px;font-weight:600;padding:2px 6px;min-width:18px;text-align:center;box-shadow:0 0 0 2px var(--bg)}.chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#1b150b59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:chat-fade-in .14s ease-out}[data-theme=dark] .chat-backdrop{background:#00000080}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}.chat-panel{position:fixed;right:20px;bottom:20px;z-index:1201;width:min(420px,calc(100vw - 40px));height:min(620px,calc(100vh - 40px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:chat-slide-up .2s cubic-bezier(.2,.8,.2,1)}@keyframes chat-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.chat-header-avatar{width:36px;height:36px;border-radius:50%;background:var(--olive-soft);color:var(--olive-deep);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chat-header-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.2}.chat-header-sub{font-size:12px;color:var(--text-muted);line-height:1.3;margin-top:2px}.chat-header-close{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm)}.chat-header-close:hover{background:var(--surface-hover);color:var(--text)}.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}.chat-empty{margin:auto 0;text-align:center;padding:var(--space-3)}.chat-empty-icon{width:48px;height:48px;border-radius:50%;background:var(--olive-soft);color:var(--olive-deep);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.chat-empty-title{font-size:16px;font-weight:600;color:var(--text);margin:0 0 4px}.chat-empty-sub{font-size:13px;color:var(--text-muted);margin:0}.chat-bubble-row{display:flex}.chat-bubble-row.user{justify-content:flex-end}.chat-bubble-row.assistant{justify-content:flex-start}.chat-bubble{max-width:85%;padding:9px 13px;border-radius:14px;line-height:1.45;font-size:14.5px;white-space:pre-wrap;word-wrap:break-word}.chat-bubble.user{background:var(--olive-deep);color:var(--on-accent);border-bottom-right-radius:4px}.chat-bubble.assistant{background:var(--surface);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-typing{display:inline-flex;align-items:center;gap:4px;padding:4px 2px}.chat-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chat-typing 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.18s}.chat-typing span:nth-child(3){animation-delay:.36s}@keyframes chat-typing{0%,80%,to{transform:scale(.7);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-suggestions{padding:8px 16px 0;display:flex;flex-wrap:wrap;gap:6px;background:var(--bg)}.chat-suggestion{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 11px;font-size:12.5px;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}.chat-suggestion:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.chat-suggestion:disabled{opacity:.5;cursor:not-allowed}.chat-input-row{display:flex;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--border);background:var(--surface)}.chat-input{flex:1;resize:none;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:var(--radius);padding:9px 12px;font-family:inherit;font-size:14.5px;line-height:1.4;max-height:110px}.chat-input:focus{outline:none;border-color:var(--olive);background:var(--input-focus-bg)}.chat-send{flex-shrink:0;border:none;background:var(--olive-deep);color:var(--on-accent);width:40px;height:40px;border-radius:var(--radius);align-self:flex-end;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease}.chat-send:hover:not(:disabled){background:var(--olive)}.chat-send:disabled{opacity:.5;cursor:not-allowed}.chat-error{margin:8px 16px 0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--terracotta-soft);color:var(--terracotta-deep);font-size:13px;border:1px solid var(--terracotta-soft-border)}.chat-disclaimer{font-size:11px;color:var(--text-faint);padding:0 16px 10px;background:var(--surface);text-align:center}@media (max-width: 640px){.chat-panel{right:0;bottom:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:none}.chat-fab{right:16px;bottom:16px}}
