:root{--bg: #fafaf7;--bg-elevated: #ffffff;--fg: #0a0a0a;--fg-muted: #525252;--fg-subtle: #737373;--border: #e5e5e0;--border-strong: #d4d4d0;--accent: #00d26a;--accent-hover: #00b85c;--accent-soft: rgba(0, 210, 106, .1);--danger: #dc2626;--shadow-sm: 0 1px 2px rgba(10, 10, 10, .04);--shadow-md: 0 4px 16px -4px rgba(10, 10, 10, .08);--shadow-lg: 0 24px 48px -12px rgba(10, 10, 10, .18);--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 9999px;--container: 1280px;--gutter: 24px;--section-py: clamp(64px, 10vw, 128px);--ease-out: cubic-bezier(.22, 1, .36, 1);color-scheme:light dark;font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--fg);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: dark){:root{--bg: #0a0a0a;--bg-elevated: #171717;--fg: #fafaf7;--fg-muted: #a3a3a3;--fg-subtle: #737373;--border: #262626;--border-strong: #404040;--accent: #00d26a;--accent-hover: #1ee07a;--accent-soft: rgba(0, 210, 106, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px -4px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .7)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100svh;overflow-x:hidden;background:radial-gradient(1200px 600px at 80% -10%,var(--accent-soft),transparent 60%),var(--bg);background-attachment:fixed}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3{font-weight:600;letter-spacing:-.022em;color:var(--fg);margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}.skip-link{position:absolute;top:-40px;left:16px;padding:8px 16px;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;z-index:1000;transition:top .2s var(--ease-out)}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(20px,4vw,40px);max-width:var(--container);margin:0 auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;border-radius:8px;display:block;object-fit:contain;box-shadow:var(--shadow-sm)}.brand-mark--lg{width:40px;height:40px;border-radius:12px}.brand--lg .brand-name{font-size:20px}.brand-name{font-size:17px}.lang-switcher{display:inline-flex;padding:4px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);gap:2px}.lang-switcher button{padding:6px 14px;font-size:13px;font-weight:500;color:var(--fg-muted);border-radius:var(--radius-pill);letter-spacing:.04em;transition:color .2s,background-color .2s}.lang-switcher button:hover{color:var(--fg)}.lang-switcher button[aria-pressed=true]{color:var(--fg);background:var(--accent-soft)}.hero{max-width:var(--container);margin:0 auto;padding:clamp(16px,4vw,48px) clamp(20px,4vw,40px) var(--section-py);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,80px)}@media (max-width: 900px){.hero{grid-template-columns:1fr;text-align:left}}.hero-copy{max-width:620px}.hero-h1{font-size:clamp(40px,7vw,88px);line-height:1.02;letter-spacing:-.028em;margin:0 0 24px}.hero-h1 .word{display:inline-block;white-space:nowrap}.hero-h1 .accent{color:var(--accent)}.hero-sub{font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--fg-muted);margin-bottom:36px;max-width:540px}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:16px;font-weight:500;border-radius:var(--radius-pill);text-decoration:none;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),background-color .2s var(--ease-out);white-space:nowrap}.btn-primary{background:var(--accent);color:#0a0a0a;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px) scale(1.015);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-strong);transform:translateY(-1px)}.btn .arrow{transition:transform .25s var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.hero-mockup{justify-self:center;position:relative;width:min(340px,100%)}.phone{--phone-w: 320px;width:var(--phone-w);max-width:100%;background:#0a0a0a;border-radius:44px;padding:12px;box-shadow:0 0 0 1px #ffffff0a,var(--shadow-lg),0 60px 80px -40px #00000059;position:relative}.phone:before{content:"";position:absolute;top:18px;left:50%;transform:translate(-50%);width:96px;height:24px;background:#000;border-radius:16px;z-index:3}.phone-screen{border-radius:32px;background:#0a0a0a;overflow:hidden;position:relative}.hero-shot{display:block;width:100%;height:auto}.hero-float{position:absolute;z-index:4;pointer-events:none}.float-surface{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 8px 24px -8px #0a0a0a40}.hero-float--card{top:35%;left:-52px;width:280px}.hero-float--forecast{right:-34px;bottom:13%;width:168px}.cardrow{display:flex;align-items:center;gap:11px;padding:12px 14px}.cardrow-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent)}.cardrow-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.cardrow-name{font-size:13px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cardrow-sync{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--fg-subtle)}.cardrow-amt{align-self:start;flex-shrink:0;margin-top:1px;margin-left:auto;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}.hero-forecast{display:flex;flex-direction:column;gap:8px;padding:11px 12px 12px}.hero-forecast .forecast-chart{height:42px}.hero-forecast .forecast-amount{font-size:15px;gap:6px}.hero-forecast .forecast-amount-unit{font-size:11px;margin-left:-4px}.hero-forecast .forecast-amount-label{font-size:10px}@media (prefers-reduced-motion: no-preference){.hero-float--card .float-surface{animation:float-drift 7s ease-in-out infinite}.hero-float--forecast .float-surface{animation:float-drift 9s ease-in-out -3s infinite}}@keyframes float-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (max-width: 620px){.hero-float--card{top:32%;left:-6px;width:min(272px,86%)}.hero-float--forecast{right:-6px;bottom:11%;width:min(162px,52%)}}.tg-header{display:flex;align-items:center;gap:10px;padding:44px 14px 10px;background:#f9f9f7;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}@media (prefers-color-scheme: dark){.tg-header{background:#2c2c2e;border-bottom-color:#ffffff0f}}.tg-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#00b85c);display:grid;place-items:center;font-size:13px;font-weight:600;color:#0a0a0a}.tg-meta{display:flex;flex-direction:column;line-height:1.2}.tg-name{font-size:13px;font-weight:600;color:var(--fg)}.tg-status{font-size:11px;color:var(--accent)}.tg-stream{flex:1;padding:16px 12px;overflow:hidden;display:flex;flex-direction:column;gap:8px;position:relative;background-image:radial-gradient(circle at 20% 30%,rgba(0,210,106,.06),transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,210,106,.04),transparent 50%)}.bubble{max-width:78%;padding:8px 12px;border-radius:16px;font-size:13px;line-height:1.4;color:var(--fg);background:#fff;box-shadow:0 1px 1px #0000000d;opacity:0;transform:translateY(8px);word-break:break-word}.bubble.from-bot{align-self:flex-start;border-bottom-left-radius:4px}.bubble.from-user{align-self:flex-end;background:#d8f3e6;border-bottom-right-radius:4px}@media (prefers-color-scheme: dark){.bubble{background:#2c2c2e;color:#f5f5f5}.bubble.from-user{background:#15573a;color:#e8fdf2}}.bubble strong{font-weight:600}.bubble-photo{align-self:flex-end;width:168px;padding:4px;border-radius:14px;background:#d8f3e6;opacity:0;transform:translateY(8px)}@media (prefers-color-scheme: dark){.bubble-photo{background:#15573a}}.receipt{width:100%;border-radius:10px;background:#fff;padding:10px 12px;font-family:var(--mono);font-size:9px;color:#404040;line-height:1.5;display:flex;flex-direction:column;gap:2px}.receipt-head{text-align:center;font-weight:600;font-size:11px;letter-spacing:.04em;color:#0a0a0a}.receipt-row{display:flex;justify-content:space-between}.receipt-divider{border-top:1px dashed #c0c0c0;margin:3px 0}.receipt-total{display:flex;justify-content:space-between;font-weight:600;color:#0a0a0a;font-size:10px}.typing{align-self:flex-start;background:#fff;padding:10px 14px;border-radius:16px 16px 16px 4px;display:inline-flex;gap:4px;opacity:0}@media (prefers-color-scheme: dark){.typing{background:#2c2c2e}}.typing span{width:6px;height:6px;border-radius:50%;background:#a3a3a3;animation:typing-bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.chips{display:flex;gap:6px;align-self:flex-start;flex-wrap:wrap;max-width:90%}.chip{padding:6px 12px;font-size:12px;font-weight:500;background:#fff;color:var(--fg);border-radius:var(--radius-pill);border:1px solid rgba(0,0,0,.08);opacity:0;transform:translateY(6px)}.chip.is-tapped{background:var(--accent);color:#0a0a0a;border-color:transparent}@media (prefers-color-scheme: dark){.chip{background:#2c2c2e;border-color:#ffffff14;color:#f5f5f5}}.tg-input{display:flex;align-items:center;gap:8px;padding:8px 10px 16px;background:#f9f9f7;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0}.tg-input-field{flex:1;height:30px;border-radius:var(--radius-pill);background:#fff;border:1px solid rgba(0,0,0,.06)}.tg-input-send{width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#0a0a0a;font-size:14px}@media (prefers-color-scheme: dark){.tg-input{background:#2c2c2e;border-top-color:#ffffff0f}.tg-input-field{background:#1c1c1e;border-color:#ffffff14}}.op-system{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:500;color:var(--fg-muted);background:#0000000d;border-radius:var(--radius-pill);opacity:0}@media (prefers-color-scheme: dark){.op-system{background:#ffffff0f}}.op-system-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);flex-shrink:0}.cardop{align-self:stretch;max-width:100%;display:flex;flex-direction:column;gap:7px;padding:12px 14px}.cardop-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cardop-merchant{font-size:13px;font-weight:600;color:var(--fg)}.cardop-amt{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}.cardop-sub{display:flex;align-items:center;justify-content:space-between;gap:10px}.cardop-bal{font-size:11px;color:var(--fg-subtle);font-variant-numeric:tabular-nums}.cardop-cat{font-size:11px;font-weight:500;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.trust{background:var(--bg-elevated);border-block:1px solid var(--border)}.trust-inner{max-width:var(--container);margin:0 auto;padding:clamp(28px,4vw,40px) clamp(20px,4vw,40px);display:flex;flex-direction:column;gap:14px;align-items:center}.trust-items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px clamp(20px,3vw,36px)}.trust-item{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--fg-muted);font-weight:500}.trust-icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}.miniapp{background:radial-gradient(900px 500px at 50% -12%,rgba(0,210,106,.1),transparent 60%),#0a0a0a;color:#fafaf7;border-block:1px solid #1f1f1f;overflow:hidden}.miniapp-inner{max-width:var(--container);margin:0 auto;padding:var(--section-py) clamp(20px,4vw,40px)}.miniapp-header{max-width:720px;margin:0 auto clamp(36px,5vw,56px);text-align:center}.miniapp-h2{font-size:clamp(32px,4.5vw,56px);line-height:1.05;margin-bottom:16px;color:#fafaf7}.miniapp-subtitle{font-size:clamp(16px,1.4vw,19px);color:#a3a3a3;line-height:1.55}.app-strip{display:flex;gap:clamp(20px,3vw,40px);overflow-x:auto;scroll-snap-type:x proximity;padding:8px 2px 24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.app-strip::-webkit-scrollbar{display:none}.app-card{scroll-snap-align:center;flex:0 0 auto;width:clamp(216px,23vw,258px);margin:0;display:flex;flex-direction:column;gap:18px}.app-phone{border-radius:30px;padding:7px;background:#050505;box-shadow:0 0 0 1px #ffffff0f,0 40px 60px -24px #000000b3}.app-shot{width:100%;height:auto;border-radius:24px;display:block}.app-cap{margin:0;padding:0 4px}.app-cap-title{font-size:17px;font-weight:600;color:#fafaf7;margin-bottom:6px;letter-spacing:-.01em}.app-cap-body{font-size:14px;line-height:1.5;color:#a3a3a3}.miniapp-note{text-align:center;margin-top:clamp(24px,4vw,40px);font-size:14px;color:#737373}.features{max-width:var(--container);margin:0 auto;padding:var(--section-py) clamp(20px,4vw,40px)}.features-header{max-width:720px;margin:0 auto clamp(40px,7vw,72px);text-align:center}.features-h2{font-size:clamp(32px,4.5vw,56px);line-height:1.05;margin-bottom:16px}.features-subtitle{font-size:clamp(16px,1.4vw,19px);color:var(--fg-muted);line-height:1.55}.features-grid{display:flex;flex-direction:column;gap:16px}.features-row{display:grid;gap:16px;align-items:stretch}.features-row-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.features-row-tri{grid-template-columns:repeat(3,minmax(0,1fr))}.features-stack{display:flex;flex-direction:column;gap:16px}.features-stack>.feature{flex:1;min-height:0}.feature{position:relative;display:flex;flex-direction:column;gap:20px;justify-content:space-between;padding:28px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s var(--ease-out),border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}.feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%),var(--accent-soft),transparent 40%);opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none}.feature:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.feature:hover:before{opacity:.6}.feature-head{display:flex;flex-direction:column;gap:8px}.feature-title{font-size:clamp(18px,1.7vw,22px);letter-spacing:-.018em}.feature-xl .feature-title{font-size:clamp(24px,2.4vw,32px)}.feature-body{font-size:15px;line-height:1.55;color:var(--fg-muted)}.feature-xl .feature-body{font-size:17px;max-width:520px}.feature-viz{position:relative;z-index:1}.viz-budget{margin-top:auto;padding:22px 24px 20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.viz-budget-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:stretch}.budget-block-eyebrow{display:block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:14px}.budget-setup{display:flex;flex-direction:column}.setup-line{display:flex;align-items:baseline;gap:10px;font-family:var(--mono);font-size:13px;line-height:1.5;padding:4px 0}.setup-line-cmd{margin-bottom:6px}.setup-prompt{color:var(--accent);font-weight:600;flex-shrink:0}.setup-cmd{color:var(--fg);font-weight:600;background:var(--accent-soft);padding:2px 8px;border-radius:6px;font-family:var(--mono)}.setup-key{color:var(--fg-subtle);min-width:80px}.setup-value{color:var(--fg);font-weight:500}.setup-done{color:var(--accent);margin-top:auto;padding-top:8px;border-top:1px dashed var(--border)}.setup-check{font-family:var(--sans)}.budget-progress{display:flex;flex-direction:column}.viz-budget-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.viz-budget-label{font-size:13px;font-weight:500;color:var(--fg-subtle)}.viz-budget-pct{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.viz-budget-summary{margin:14px 0 0;font-size:13px;color:var(--fg-muted);line-height:1.5}.budget-track{position:relative;margin:30px 18% 4px 0;height:10px;background:var(--border);border-radius:6px;overflow:visible}.budget-fill{position:absolute;inset:0 auto 0 0;width:var(--p);background:var(--accent);border-radius:6px;transform-origin:left center}.budget-overflow{position:absolute;top:0;bottom:0;left:100%;width:18%;background-image:repeating-linear-gradient(-45deg,var(--danger) 0 4px,transparent 4px 8px);opacity:.7;border-radius:0 6px 6px 0;transform-origin:left center}.budget-overflow-tag{position:absolute;top:-26px;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;font-family:var(--mono);color:var(--danger);background:var(--bg-elevated);padding:3px 8px;border-radius:var(--radius-pill);border:1px solid var(--border);white-space:nowrap}.budget-overflow-tag:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:8px;background:var(--danger);opacity:.5}.viz-shared{margin-top:auto;display:flex;flex-direction:column;gap:12px}.viz-shared-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.viz-shared-people{display:inline-flex}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;color:#0a0a0a;border:2px solid var(--bg-elevated)}.avatar-you{background:var(--accent)}.avatar-partner{background:#f5b945;margin-left:-10px}.viz-shared-label{font-size:13px;color:var(--fg-subtle)}.shared-track{position:relative;height:10px;background:var(--border);border-radius:6px;overflow:hidden;display:flex}.shared-seg-you{width:var(--w);background:var(--accent);height:100%}.shared-seg-partner{width:var(--w);background:#f5b945;height:100%}.viz-debts{margin-top:auto}.viz-debts-card{padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px}.viz-debts-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.viz-debts-label{color:var(--fg-subtle)}.viz-debts-amount{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}.viz-forecast{margin-top:auto;display:flex;flex-direction:column;gap:14px}.forecast-chart{width:100%;height:92px;display:block}.forecast-today{stroke:var(--border-strong);stroke-dasharray:3 3;opacity:.55}.forecast-area{fill:var(--accent-soft)}.forecast-band{fill:var(--danger);opacity:.16}.forecast-spent{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.forecast-p50{stroke:var(--fg);stroke-width:1.6;stroke-dasharray:4 3;stroke-linecap:round}.forecast-p90{stroke:var(--danger);stroke-width:1.4;stroke-dasharray:4 3;stroke-linecap:round}.forecast-apex{fill:var(--danger)}.forecast-dot{fill:var(--fg)}.forecast-caption{display:flex;flex-direction:column;gap:8px}.forecast-amount{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:22px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1}.forecast-amount-unit{font-size:15px;color:var(--fg-muted);margin-left:-5px}.forecast-amount-label{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--fg-subtle)}.forecast-sub{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.forecast-upto{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--danger);background:var(--bg);border:1px solid var(--border);padding:2px 8px;border-radius:var(--radius-pill);line-height:1.3}.forecast-runway{font-size:12px;color:var(--fg-subtle)}.viz-wallets{margin-top:auto;display:flex;flex-direction:column;gap:10px}.wallet-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.wallet-ic{width:20px;height:20px;border-radius:6px;background:var(--c);flex-shrink:0}.wallet-name{font-size:13px;font-weight:500;color:var(--fg)}.wallet-amt{margin-left:auto;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.viz-planned{margin-top:auto}.planned-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.planned-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.planned-ic svg{width:16px;height:16px}.planned-info{display:flex;flex-direction:column;gap:2px;min-width:0}.planned-name{font-size:14px;font-weight:600;color:var(--fg)}.planned-meta{font-size:12px;color:var(--fg-subtle)}.planned-due{margin-left:auto;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0}.viz-recap{margin-top:auto}.recap-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.recap-top{display:flex;align-items:center;gap:8px}.recap-time{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:var(--radius-pill)}.recap-day{font-size:12px;color:var(--fg-subtle)}.recap-spent{font-family:var(--mono);font-size:18px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.recap-sub{font-size:12px;color:var(--fg-muted)}@media (max-width: 900px){.features-header{text-align:left}.features-row-2-1,.features-row-tri{grid-template-columns:1fr}.viz-budget-grid{grid-template-columns:1fr;gap:20px}.setup-done{margin-top:8px}}.faq{padding:var(--section-py) 0}.faq-inner{max-width:820px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}.faq-header{text-align:center;margin-bottom:clamp(40px,6vw,64px)}.faq-h2{font-size:clamp(30px,4.2vw,52px);line-height:1.05;letter-spacing:-.024em;margin-bottom:0}.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 4px;text-align:left;font-size:clamp(16px,1.5vw,19px);font-weight:500;color:var(--fg);letter-spacing:-.012em;cursor:pointer;transition:color .2s var(--ease-out);border-radius:6px}.faq-question:hover{color:var(--accent)}.faq-question:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.faq-q-text{flex:1;min-width:0}.faq-q-icon{position:relative;flex-shrink:0;width:22px;height:22px;display:grid;place-items:center}.faq-icon-line{position:absolute;width:14px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease-out),opacity .3s var(--ease-out)}.faq-icon-line-v{transform:rotate(90deg)}.faq-item.is-open .faq-icon-line-v{transform:rotate(0);opacity:0}.faq-answer{overflow:hidden}.faq-answer-inner{padding:0 4px 24px;font-size:16px;line-height:1.65;color:var(--fg-muted);max-width:720px}.faq-answer-inner p{margin:0}.faq-answer-inner code{font-family:var(--mono);font-size:.9em;padding:2px 6px;background:var(--accent-soft);border-radius:4px;color:var(--fg)}@media (max-width: 800px){.faq-header{text-align:left}.faq-question{font-size:16px;padding:20px 4px}}.cta{padding:var(--section-py) 0}.cta-inner{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,40px)}.cta-card{position:relative;max-width:720px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(28px,4vw,56px);background:radial-gradient(800px 360px at 50% 0%,var(--accent-soft),transparent 70%),var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;overflow:hidden;will-change:transform}.cta-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 22%,transparent) 0%,transparent 30%);opacity:.35;pointer-events:none;mix-blend-mode:multiply}.cta-card>*{position:relative;z-index:1}.cta-h2{font-size:clamp(32px,4.5vw,56px);line-height:1.05;letter-spacing:-.024em;margin-bottom:16px}.cta-sub{font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:var(--fg-muted);margin:0 auto 32px;max-width:540px}.cta-actions{display:flex;justify-content:center;margin:0 auto}.cta-submit{padding:14px 28px}@media (max-width: 600px){.cta-submit{width:100%}}.legal{max-width:720px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(20px,4vw,40px) clamp(40px,6vw,96px)}.legal-inner{display:flex;flex-direction:column}.legal-back{display:inline-block;font-size:14px;color:var(--fg-muted);text-decoration:none;margin-bottom:24px;transition:color .2s var(--ease-out)}.legal-back:hover{color:var(--accent)}.legal h1{font-size:clamp(32px,4.5vw,48px);letter-spacing:-.024em;line-height:1.1;margin:0 0 8px}.legal-meta{font-size:13px;color:var(--fg-subtle);margin:0 0 32px}.legal h2{font-size:clamp(20px,2vw,24px);letter-spacing:-.02em;margin:32px 0 12px}.legal p,.legal li{font-size:16px;line-height:1.65;color:var(--fg-muted)}.legal p{margin:0 0 14px}.legal ul{list-style:none;padding:0;margin:0 0 14px}.legal li{position:relative;padding-left:20px;margin-bottom:8px}.legal li:before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.legal a{color:var(--accent);text-decoration:none}.legal a:hover{text-decoration:underline}.legal code{font-family:var(--mono);font-size:.92em;padding:2px 6px;border-radius:4px;background:var(--accent-soft);color:var(--fg)}.legal h3{font-size:clamp(17px,1.6vw,19px);letter-spacing:-.01em;margin:24px 0 10px}.legal table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px;color:var(--fg-muted)}.legal th,.legal td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--border);line-height:1.5}.legal th{color:var(--fg);font-weight:600;background:var(--bg-elevated)}.legal-meta-block{font-size:13px;color:var(--fg-subtle);margin:0 0 16px;display:flex;flex-wrap:wrap;gap:4px 18px}.legal-meta-block strong{color:var(--fg-muted);font-weight:500}.legal strong{color:var(--fg);font-weight:600}.legal-pdf{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:10px 16px;margin:0 0 32px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s var(--ease-out),color .2s var(--ease-out)}.legal-pdf:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.legal-pdf svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.site-footer{border-top:1px solid var(--border);background:var(--bg-elevated);margin-top:clamp(40px,8vw,96px)}.footer-inner{max-width:var(--container);margin:0 auto;padding:clamp(36px,5vw,56px) clamp(20px,4vw,40px);display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand nav" "copy copy";gap:24px 40px;align-items:center}.footer-brand{grid-area:brand;display:flex;flex-direction:column;gap:6px}.footer-tagline{font-size:14px;color:var(--fg-subtle);margin:0;line-height:1.4}.footer-nav{grid-area:nav;display:flex;align-items:center;gap:clamp(20px,3vw,32px)}.footer-nav a{font-size:14px;color:var(--fg-muted);text-decoration:none;transition:color .2s var(--ease-out)}.footer-nav a:hover{color:var(--accent)}.footer-copy{grid-area:copy;font-size:12px;color:var(--fg-subtle);margin:0;padding-top:20px;border-top:1px dashed var(--border)}@media (max-width: 600px){.footer-inner{grid-template-columns:1fr;grid-template-areas:"brand" "nav" "copy";gap:24px}.footer-nav{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
