@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations")}@font-face{font-family:Pinyon Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/pinyon-script-latin-400-normal-HCoaxbyT.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f6fb;--surface:#fff;--surface2:#eef3fa;--line:#dbe3ef;--line-strong:#bfcbdd;--text:#0d1b2e;--text2:#33455f;--muted:#64748b;--accent:#1d61d8;--accent2:#3d82f2;--accent-ink:#fff;--income:#0a7546;--expense:#b42318;--warn:#8a5106;--track:#0d1b2e14;--nav-bg:#ffffffeb;--shadow:0 1px 2px #0d1b2e0d, 0 10px 26px #0d1b2e12;--hero-a:#1d61d81a;--hero-b:#3d82f214;--scrim:#0d1b2e73;--brand-ink:#0b1b3a;--brand-blue:#0a6cf0;--r:18px;--safe-b:env(safe-area-inset-bottom,0px)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070c14;--surface:#0f1723;--surface2:#131d2b;--line:#23324a;--line-strong:#35496a;--text:#e9eff8;--text2:#c2cee0;--muted:#8798ae;--accent:#4c8dff;--accent2:#79aaff;--accent-ink:#061020;--income:#4ec08d;--expense:#f0897f;--warn:#e2a862;--track:#ffffff12;--nav-bg:#0a101af0;--shadow:0 1px 2px #00000080, 0 10px 26px #0000006b;--hero-a:#4c8dff33;--hero-b:#7c5cff29;--scrim:#0000009e;--brand-ink:#e9eff8;--brand-blue:#4c8dff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{min-height:100dvh;transition:background-color .2s,color .2s}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:var(--text);background:var(--surface2);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;padding:12px 14px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}select{appearance:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{flex-direction:column;min-height:100dvh;display:flex}#app.gated #nav{display:none}#view{width:100%;max-width:760px;padding:18px 16px calc(96px + var(--safe-b));flex:1;margin:0 auto}#app.gated #view{max-width:none;padding:0}#nav{padding:8px 8px calc(8px + var(--safe-b));background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:20;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}#nav button{max-width:120px;color:var(--muted);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:11px;display:flex}#nav button span:first-child{font-size:20px}#nav button[aria-current=page]{color:var(--text);background:var(--surface2)}.nav-brand{display:none}h1{letter-spacing:-.02em;font-size:22px}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:22px 0 10px;font-size:12.5px;font-weight:600}.top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.muted{color:var(--muted)}.small{font-size:12.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.stack>*+*{margin-top:12px}.row{align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}.right{text-align:right;margin-left:auto}.ell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lockup{align-items:center;gap:12px;display:flex}.lockup-text{flex-direction:column;line-height:1;display:flex}.wordmark{letter-spacing:.16em;color:var(--brand-ink);font-size:20px;font-weight:800}.product{letter-spacing:.34em;text-transform:uppercase;color:var(--brand-blue);margin-top:5px;font-size:11px;font-weight:600}.icon-btn{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--text2);border-radius:12px;place-items:center;display:grid}.icon-btn svg{width:20px;height:20px}.hero{background:radial-gradient(120% 140% at 0% 0%, var(--hero-a), transparent 60%), radial-gradient(100% 120% at 100% 0%, var(--hero-b), transparent 60%), var(--surface);padding:20px}.hero .big{letter-spacing:-.03em;margin:4px 0;font-size:44px;font-weight:700;line-height:1.1}.bar{background:var(--track);border-radius:99px;height:8px;margin-top:14px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--accent), var(--accent2));border-radius:99px;height:100%;display:block}.bar.warn>i{background:linear-gradient(90deg, var(--warn), var(--expense))}.chip{background:var(--surface2);color:var(--muted);border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.chip.good{color:var(--income)}.chip.warn{color:var(--warn)}.chip.alert{color:var(--expense)}.quick{gap:8px;display:flex}.quick input{flex:1}.btn{color:#fff;white-space:nowrap;background:linear-gradient(#1a8dff,#0a66e8);border-radius:12px;padding:12px 18px;font-weight:600;box-shadow:0 6px 16px -8px #0a66e8b3}.btn.ghost{background:var(--surface2);color:var(--text);box-shadow:none;border:1px solid var(--line);font-weight:500}.btn.danger{background:color-mix(in srgb, var(--expense) 12%, transparent);color:var(--expense);box-shadow:none}.btn:disabled{opacity:.45;cursor:default}.preview{background:var(--surface2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:none}.preview.on{display:flex}.preview select{width:auto;padding:6px 10px;font-size:13px}.insight{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-left-width:3px;border-radius:14px;gap:12px;padding:14px;display:flex}.insight.alert{border-left-color:var(--expense)}.insight.warn{border-left-color:var(--warn)}.insight.good{border-left-color:var(--income)}.insight.info{border-left-color:var(--accent)}.insight b{margin-bottom:2px;display:block}.tx{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 4px;display:flex}.dot{border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.amt{font-variant-numeric:tabular-nums;font-weight:600}.amt.income{color:var(--income)}.day{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:14px 4px 2px;font-size:12px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kpi .v{letter-spacing:-.02em;font-size:22px;font-weight:700}.legend{gap:8px;margin-top:12px;display:grid}.legend .row{font-size:13px}.sw{border-radius:3px;flex:none;width:10px;height:10px}.chat{flex-direction:column;gap:10px;display:flex}.msg{background:var(--surface2);border:1px solid var(--line);white-space:pre-wrap;border-radius:16px;max-width:88%;padding:10px 14px}.msg.me{color:#fff;background:linear-gradient(#1a8dff,#0a66e8);border-color:#0000;align-self:flex-end}.sugg{flex-wrap:wrap;gap:8px;display:flex}.sugg button{background:var(--surface2);border:1px solid var(--line);border-radius:99px;padding:8px 12px;font-size:13px}.modal{z-index:50;background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;padding:20px 16px calc(20px + var(--safe-b));border:1px solid var(--line);border-radius:22px 22px 0 0;overflow:auto}.sheet label{color:var(--muted);margin:12px 0 5px;font-size:12.5px;display:block}.seg{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:3px;display:flex}.seg button{color:var(--muted);border-radius:10px;flex:1;padding:9px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.themes{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-tile{background:var(--surface2);border:1px solid var(--line);color:var(--muted);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;font-size:13px;display:flex}.theme-tile[aria-pressed=true]{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.swatch{border:1px solid var(--line-strong);border-radius:8px;width:46px;height:30px;display:block}.swatch.light{background:linear-gradient(135deg,#fff 55%,#dbe3ef 55%)}.swatch.dark{background:linear-gradient(135deg,#0f1723 55%,#23324a 55%)}.swatch.system{background:linear-gradient(135deg,#fff 50%,#0f1723 50%)}.filters{gap:8px;margin-bottom:8px;display:flex}.filters select{flex:1;width:auto}#toast{left:50%;bottom:calc(86px + var(--safe-b));z-index:60;background:var(--text);color:var(--bg);opacity:0;pointer-events:none;max-width:92vw;box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:12px;padding:10px 16px;transition:opacity .2s;display:flex;position:fixed;transform:translate(-50%)}#toast.on{opacity:1;pointer-events:auto}#toast button{color:var(--accent2);font-weight:600}.fab{right:18px;bottom:calc(84px + var(--safe-b));color:#fff;z-index:15;background:linear-gradient(#1a8dff,#0a66e8);border-radius:18px;width:54px;height:54px;font-size:28px;line-height:1;position:fixed;box-shadow:0 10px 30px -8px #0a66e8b3}.gate{background:linear-gradient(115deg, var(--surface) 0%, var(--bg) 48%, var(--surface2) 100%);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.gate:before,.gate:after{content:"";pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.gate:before{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 14%, transparent), transparent 72%);width:78vmax;height:78vmax;top:-30vmax;right:-34vmax}.gate:after{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent2) 12%, transparent), transparent 70%);width:60vmax;height:60vmax;bottom:-32vmax;left:-28vmax}.gate>*{z-index:1;position:relative}.gate-head{padding:26px 22px 0}.gate-head .wordmark{font-size:30px}.gate-head .product{font-size:12px}.descriptor{letter-spacing:.14em;text-transform:uppercase;color:var(--text2);margin-top:14px;font-size:10.5px;font-weight:500}.sig{color:var(--brand-ink);clip-path:inset(0 100% 0 0);margin-top:6px;padding-right:.4em;font-family:Pinyon Script,Snell Roundhand,cursive;font-size:24px;line-height:1.15;animation:2.2s cubic-bezier(.55,.1,.25,1) .4s forwards write;display:block}.sig.done{clip-path:none;animation:none}@keyframes write{to{clip-path:inset(0)}}.gate-main{flex-direction:column;flex:1;justify-content:center;gap:26px;padding:26px 22px;display:flex}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--text2);align-items:center;gap:14px;font-size:11px;font-weight:500;display:flex}.eyebrow i{background:var(--brand-blue);border-radius:2px;width:34px;height:2px;display:block}.gate h1{letter-spacing:-.035em;color:var(--brand-ink);margin-top:14px;font-size:clamp(30px,8vw,46px);font-weight:700;line-height:1.08}.gate h1 em{color:var(--brand-blue);font-style:normal}.gate .lead{max-width:30em;color:var(--text2);margin-top:12px;font-size:15.5px}.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:440px;padding:22px;box-shadow:0 1px 2px #1432640a,0 18px 50px #1e468c24}:root[data-theme=dark] .gate-card{box-shadow:0 18px 50px #00000080}.gate-card h2{letter-spacing:-.03em;text-transform:none;color:var(--brand-ink);margin:0;font-size:22px;font-weight:700}.gate-card .sub{color:var(--text2);margin:4px 0 16px;font-size:14px}.field{height:48px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin-bottom:12px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.field svg{flex:none;width:18px;height:18px}.field:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 16%, transparent);background:var(--surface)}.field input{min-width:0;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;padding:0}.field input:focus{box-shadow:none}.eye{color:var(--muted);border-radius:6px;padding:4px;display:flex}.gate-card .btn{width:100%;height:48px;font-size:15px}.gate-links{justify-content:space-between;align-items:center;margin:4px 0 14px;font-size:13.5px;display:flex}.link{color:var(--brand-blue);cursor:pointer;background:0 0;padding:4px 0;font-weight:500}.link:hover{text-decoration:underline}.alt{gap:10px;margin-top:12px;display:grid}.form-error{color:var(--expense);background:color-mix(in srgb, var(--expense) 10%, transparent);border:1px solid color-mix(in srgb, var(--expense) 35%, transparent);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.4}.form-ok{color:var(--income);background:color-mix(in srgb, var(--income) 10%, transparent);border:1px solid color-mix(in srgb, var(--income) 35%, transparent);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.4}.principles{letter-spacing:.24em;text-transform:uppercase;color:var(--text2);flex-wrap:wrap;align-items:center;gap:14px;font-size:10.5px;font-weight:500;display:flex}.principles i{background:var(--line-strong);width:1px;height:14px}.gate-foot{padding:0 22px calc(22px + var(--safe-b));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.tagline{letter-spacing:.3em;text-transform:uppercase;color:var(--text2);align-items:center;gap:14px;font-size:10.5px;font-weight:600;display:flex}.tagline i{background:var(--brand-blue);border-radius:2px;width:26px;height:2px;display:block}.gate-theme{z-index:2;position:absolute;top:20px;right:18px}@media (width>=900px){#app{flex-direction:row}#app.gated{flex-direction:column}#nav{border-top:0;border-right:1px solid var(--line);flex-direction:column;justify-content:flex-start;gap:6px;width:200px;height:100dvh;padding:24px 12px;position:sticky;top:0}.nav-brand{padding:4px 8px 20px;display:block}#nav button{flex-direction:row;flex:none;gap:12px;max-width:none;padding:12px 14px;font-size:14px}#view{max-width:820px;padding-bottom:40px}.fab,#toast{bottom:28px}.modal{align-items:center}.sheet{border-radius:22px}.gate-head{padding:34px 5vw 0}.gate-main{flex-direction:row;justify-content:space-between;align-items:center;gap:5vw;padding:3vh 8vw}.gate-hero{max-width:46%}.gate h1{font-size:clamp(38px,3.6vw,60px)}.gate-foot{padding:0 5vw 28px}.sig{font-size:28px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.sig{clip-path:none}}
