:root{color-scheme:dark;--paper:#080a0f;--surface:#11151d;--ink:#f4f7fc;--muted:#b6c1d1;--line:#293447;--blue:#347eff;--blue-deep:#a8c8ff;--blue-light:#111d31;--focus:#78aaff;--shadow:0 10px 26px rgba(0,0,0,.32),0 2px 5px rgba(0,0,0,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;text-rendering:optimizeLegibility}::selection{color:#fff;background:var(--blue)}button,input,select,textarea{font:inherit}button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,textarea{caret-color:var(--blue)}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#52627a;border:3px solid var(--paper);border-radius:8px}.app-shell{width:calc(100% - 32px);max-width:720px;min-height:0;margin:18px auto;padding:14px 18px 24px;border:1px solid #1d2634;border-radius:24px;background:#0b0e14;box-shadow:0 18px 54px rgba(0,0,0,.42)}.brand-row{max-width:1120px;margin:0 auto;min-height:58px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.brand-row{align-items:center}.brand{display:inline-flex;gap:11px;color:var(--ink);text-decoration:none;font-weight:780;letter-spacing:-.03em}.brand img{width:42px;height:42px;object-fit:cover;border-radius:11px}.session-control{min-height:35px;padding:0 13px;font-size:.82rem}.session-actions{display:flex;align-items:center;gap:7px}.switch-account-form{display:flex;margin:0}.page-content{max-width:1040px;margin:0 auto}.intro-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:38px 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink)}h1{margin-bottom:4px;font-size:clamp(2.25rem,5.2vw,3.2rem);font-weight:790;letter-spacing:-.06em;line-height:1.05}.intro-row p{margin:0;color:var(--muted)}.balance{display:grid;min-width:180px;padding:8px 0 2px 20px;border-left:1px solid var(--line)}.balance span,.summary-label{color:var(--muted);font-size:.82rem;font-weight:650}.balance strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.25;letter-spacing:-.04em}.balance-over strong{color:#ff9898}.budget-setup,.budget-summary,.check-in,.history,.message-panel,.purchase-start{background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.signin-panel{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:4px}.signin-panel p{max-width:38ch;margin:0;color:var(--muted)}.signin-panel .welcome-back{min-height:38px}.signin-panel form{display:flex;width:100%}.signin-panel .button{min-width:205px}.signed-out-intro{padding-bottom:16px}.budget-setup{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);align-items:center;grid-gap:32px;gap:32px;padding:28px}h2{margin-bottom:7px;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:760;letter-spacing:-.04em;line-height:1.16}.budget-setup p,.history-heading p,.purchase-start p{margin-bottom:0;color:var(--muted)}.budget-form{display:grid;grid-gap:8px;gap:8px}label,legend{color:var(--ink);font-size:.91rem;font-weight:680}.budget-span-picker{min-width:0;margin:7px 0 0;padding:0;border:0}.budget-span-picker legend{margin-bottom:8px}.budget-span-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.budget-span-option{--span-accent:#90b6ff;position:relative;display:flex;min-width:0;min-height:58px;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border:1px solid #3c4b62;border-radius:13px;background:#121822;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.budget-span-option[data-period=day]{--span-accent:#ffbb73}.budget-span-option[data-period=week]{--span-accent:#71dec5}.budget-span-option[data-period=month]{--span-accent:#90b6ff}.budget-span-option[data-period=year]{--span-accent:#d0a0ff}.budget-span-option[data-period=custom]{--span-accent:#ff8da7;grid-column:1/-1}.budget-span-option:hover{transform:translateY(-1px);border-color:var(--span-accent)}.budget-span-option:has(input:checked){border-color:var(--span-accent);background:#202b3c;box-shadow:inset 0 0 0 1px var(--span-accent)}.budget-span-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.budget-span-option input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.budget-span-copy{display:grid;grid-gap:1px;gap:1px;min-width:0}.budget-span-copy strong{color:var(--ink);font-size:.9rem;line-height:1.2}.budget-span-copy small{color:#b9c8dc;font-size:.72rem;font-weight:560;line-height:1.2}.budget-span-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--span-accent);box-shadow:0 0 0 3px rgba(255,255,255,.06)}.custom-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:11px}.custom-date-range>div{display:grid;grid-gap:5px;gap:5px;min-width:0}.custom-date-range label{font-size:.82rem}.custom-date-range input{width:100%;min-width:0;min-height:43px;padding:0 9px;border:1px solid #55657b;border-radius:9px;background:#0c1018;color:var(--ink);color-scheme:dark}.custom-date-range p{grid-column:1/-1;margin:0;color:#b9c8dc;font-size:.78rem}.input-action{display:flex;align-items:center;position:relative;gap:9px}.currency-mark{position:absolute;left:14px;z-index:1;color:var(--muted);font-weight:700}input[type=number]{min-width:0;height:50px;padding:0 13px 0 30px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[type=number],select{width:100%;border:1px solid #55657b;border-radius:10px;background:#0c1018;color:var(--ink)}select{min-height:48px;padding:0 13px}input::placeholder,textarea::placeholder{color:#aab6c8;opacity:1}.button{min-height:46px;padding:0 20px;border:1px solid #f3f6fc;border-radius:999px;background:#f3f6fc;color:#101521;font-weight:720;letter-spacing:-.01em;white-space:nowrap;box-shadow:0 2px 5px rgba(0,0,0,.24);transition:background .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease}.button:hover:not(:disabled){background:#dce8ff;border-color:#dce8ff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.3)}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{cursor:wait;opacity:.68}.button-secondary{border-color:#63738a;border-radius:999px;background:#171d28;color:var(--ink);box-shadow:none}.button-secondary:hover:not(:disabled){border-color:#a8c8ff;background:#202b3c;color:#fff;transform:translateY(-1px)}.button-danger{border-color:#7c373d;background:#4a2024;color:#fff0f0;box-shadow:none}.button-danger:hover:not(:disabled){border-color:#a84b54;background:#642a30;color:#fff}.wallet-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:16px;gap:16px;align-items:stretch}.budget-summary{flex-direction:column;padding:23px 24px 18px;background:var(--blue-light);border-color:#233957;box-shadow:none}.budget-summary,.summary-top{display:flex;justify-content:space-between}.summary-top{gap:16px}.summary-top>div{display:grid;grid-gap:5px;gap:5px}.summary-top strong{font-size:clamp(1.5rem,4vw,2.05rem);line-height:1.1;letter-spacing:-.055em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spent-total{text-align:right}.spent-total strong{font-size:1.38rem}.budget-track{height:9px;margin:20px 0 14px;overflow:hidden;border-radius:9px;background:#29364a}.budget-track span{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .35s ease-out}.budget-reset-controls{margin:0 0 14px}.reset-spending{min-height:39px;padding:0 14px;font-size:.88rem}.edit-budget{border-top:1px solid #29364a;padding-top:12px}.edit-budget summary{width:-moz-fit-content;width:fit-content;color:var(--blue-deep);font-size:.88rem;font-weight:700;cursor:pointer}.compact-form{padding-top:12px}.compact-form input[type=number]{height:44px}.compact-form .button,.compact-form select{min-height:42px}.purchase-start{padding:23px 24px}.purchase-start.purchase-confirming{padding:13px}.purchase-start h2{max-width:18ch}.purchase-start p{margin-bottom:16px}.intent-actions,.purchase-start form{display:grid;grid-gap:8px;gap:8px}.intent-actions{margin-top:15px}.intent-actions .button{width:100%}.balance-check p strong{color:var(--blue-deep);font-size:1.16em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.back-choice{width:-moz-fit-content;width:fit-content;margin-top:6px;padding-left:0}.amount-action .button,.amount-action input{min-height:52px}.check-in{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);grid-gap:18px;gap:18px;margin-top:14px;padding:17px 19px;background:#11151d;border-color:#34445b;box-shadow:0 6px 18px rgba(0,0,0,.28)}.purchase-confirming .inline-check-in{grid-template-columns:minmax(135px,.65fr) minmax(0,1.35fr);gap:10px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.purchase-confirming .check-copy{display:grid;grid-template-columns:max-content 1fr;align-items:baseline;grid-gap:0 9px;gap:0 9px;margin:0}.purchase-confirming .check-copy h2{margin:0;font-size:1.22rem}.purchase-confirming .check-copy p{grid-column:1/-1;margin-top:3px}.purchase-confirming .check-amount{margin:0}.check-copy{align-self:start}.check-amount{display:inline-block;margin:0 0 8px;color:var(--blue-deep);font-size:.98rem;font-weight:760;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.check-copy h2{font-size:1.35rem}.check-copy p{margin:0;color:var(--muted);font-size:.91rem}.check-form{display:grid;grid-gap:9px;gap:9px}.spending-advice{display:grid;grid-gap:7px;gap:7px;padding:10px 0 2px;border-top:1px solid var(--line)}.spending-advice h3{margin:0;font-size:1rem;letter-spacing:-.02em}.spending-advice .advice-note,.spending-advice .ai-disclosure{margin:0;color:var(--muted);font-size:.82rem}.spending-advice label{margin-top:2px}.spending-advice textarea{width:100%;min-height:74px;padding:9px 11px;resize:vertical;border:1px solid #55657b;border-radius:8px;background:#0c1018;color:var(--ink)}.spending-advice .button{width:100%;white-space:normal}.question-step{min-height:125px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#171d28}.question-step-exit{animation:question-slide-out .12s cubic-bezier(.4,0,1,1) both;will-change:transform,opacity}.question-step-enter{animation:question-slide-in .18s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}@keyframes question-slide-out{to{opacity:0;transform:translateX(-20px)}}@keyframes question-slide-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.step-count{display:block;margin-bottom:8px;color:var(--blue-deep);font-size:.76rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.question-step h3{margin:0 0 4px;font-size:1.08rem;line-height:1.25;letter-spacing:-.02em}.answer-actions{display:flex;flex-wrap:wrap;gap:8px}.answer-actions .button{min-height:39px;padding-top:0;padding-bottom:0}.reason-field{display:grid;grid-gap:6px;gap:6px}.reason-field label{margin-top:3px}.reason-field textarea{width:100%;min-height:58px;padding:9px 11px;resize:vertical;border:1px solid #55657b;border-radius:8px;background:#0c1018;color:var(--ink)}.reason-field>span:not(.step-count){color:var(--muted);font-size:.8rem}.reason-field .button{justify-self:start;min-height:39px}.reason-field>.button{width:100%;justify-self:stretch}.confirm-step p{margin:-3px 0 10px;color:var(--muted);font-size:.88rem}.check-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.question-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:1px}.button-text{padding-right:18px;background:transparent}.button-text,.button-text:hover:not(:disabled){border-color:transparent;color:var(--blue-deep);box-shadow:none}.button-text:hover:not(:disabled){background:rgba(23,105,232,.08);transform:none}.question-back,.question-cancel{min-height:34px;padding-top:0;padding-bottom:0;font-size:.85rem}.question-cancel{margin-left:auto}.history{margin-top:16px;padding:23px 25px 18px;box-shadow:none}.history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.history-heading h2{margin-bottom:3px}.history-heading p{font-size:.9rem}.history-heading .transaction-trigger{min-height:36px;padding:0 13px;font-size:.82rem}.transaction-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(0,0,0,.68);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.transaction-backdrop[hidden]{display:none}.transaction-popover{display:flex;flex-direction:column;width:min(560px,100%);height:45vh;min-height:280px;max-height:480px;overflow:hidden;padding:18px 20px 15px;border:1px solid #34445b;border-radius:18px;background:#11151d;box-shadow:0 14px 44px rgba(0,0,0,.5)}.transaction-popup-heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.transaction-popup-heading>div{display:flex;align-items:baseline;gap:9px}.transaction-popup-heading h3{margin:0;font-size:1.05rem}.transaction-popup-heading span{color:var(--muted);font-size:.8rem}.transaction-close{min-height:31px;padding:0 11px;font-size:.8rem}.transaction-list{overflow-y:auto;overscroll-behavior:contain}.transaction-list li{padding:12px 0 10px}.transaction-list li>div span{font-size:.82rem}.transaction-list li>div strong{font-size:1.02rem}.transaction-list li>p{margin-top:3px;font-size:.86rem}.transaction-popover .empty-state{padding:12px 0}.empty-state{margin:0;padding:23px 0 16px;color:var(--muted)}.purchase-list{margin:0;padding:0;list-style:none}.purchase-list li{padding:14px 0 12px;border-bottom:1px solid var(--line)}.purchase-list li:last-child{border-bottom:0}.purchase-list li>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.purchase-list strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.06rem}.purchase-list li>div span{color:var(--muted);font-size:.83rem}.purchase-list p{margin:4px 0 0;color:var(--muted);font-size:.89rem;overflow-wrap:anywhere}.purchase-list .purchase-reason{color:var(--ink)}.delete-transaction{display:grid;width:42px;min-width:42px;min-height:42px;height:42px;place-items:center;padding:0;border:1px solid #7c373d;border-radius:50%;color:#f3a4aa;font-size:1.45rem;line-height:1}.delete-confirmation{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;padding:11px 12px;border:1px solid #7c373d;border-radius:10px;background:#20171b}.delete-confirmation p{flex:1 1 120px;margin:0;color:var(--ink);font-size:.9rem}.privacy-note{margin:16px 0 0;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}.message-inline{margin:12px 2px 0;font-size:.92rem;font-weight:650}.error-text{color:#ff9898}.success-text{color:var(--blue-deep)}.message-panel{margin-top:22px;padding:25px}.message-panel p{margin-bottom:16px;color:var(--muted);overflow-wrap:anywhere}.error-panel{border-color:#713d48;background:#211116}.landing-shell{max-width:960px;padding:14px 24px 26px}.landing-header{min-height:62px}.landing-content{max-width:none}.landing-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);align-items:center;grid-gap:clamp(24px,5vw,54px);gap:clamp(24px,5vw,54px);padding:clamp(30px,5vw,58px) 4px 38px}.landing-copy h1{margin-bottom:13px;font-size:clamp(3rem,7vw,4.6rem);letter-spacing:-.065em}.landing-intro{max-width:23ch;margin-bottom:13px;color:var(--ink);font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:650;line-height:1.32;letter-spacing:-.025em}.landing-support{max-width:42ch;margin-bottom:18px;color:var(--muted)}.landing-features{display:grid;grid-gap:8px;gap:8px;margin:0 0 22px;padding-left:20px;color:var(--ink)}.landing-features li::marker{color:var(--blue)}.landing-cta{display:inline-flex;min-width:150px;align-items:center;justify-content:center;text-decoration:none}.landing-private{margin:11px 0 0;color:var(--muted);font-size:.82rem}.product-spotlight{padding:clamp(14px,2.4vw,23px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.spotlight-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-weight:760;letter-spacing:-.03em}.spotlight-brand img{border-radius:9px;object-fit:cover}.spotlight-screen{padding:clamp(17px,3vw,27px);border:1px solid #34445b;border-radius:16px;background:#0b0e14}.spotlight-screen h2{margin-bottom:5px;font-size:1.45rem}.spotlight-screen>p{margin:0 0 17px;color:var(--muted)}.spotlight-question{padding:17px;border:1px solid var(--line);border-radius:13px;background:#171d28}.spotlight-question h3{margin:0 0 13px;font-size:1.1rem;letter-spacing:-.02em}.spotlight-question .answer-actions{display:grid;grid-template-columns:1fr 1fr}.spotlight-question .answer-actions .button{display:inline-flex;align-items:center;justify-content:center}.spotlight-note{margin:14px 2px 0;color:var(--muted);font-size:.84rem}@media (max-width:700px){.landing-shell{width:calc(100% - 24px);padding:8px 14px 18px}.landing-hero{grid-template-columns:1fr;gap:24px;padding:26px 0 12px}.landing-copy h1{font-size:clamp(2.7rem,13vw,3.5rem)}.landing-intro{max-width:28ch;font-size:1.22rem}.landing-features{gap:7px;margin-bottom:19px}.product-spotlight{padding:13px}.spotlight-screen{padding:17px 14px}}@media (max-width:390px){.landing-shell{width:calc(100% - 20px);padding-right:11px;padding-left:11px}.spotlight-question{padding:13px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.button-secondary:hover:not(:disabled),.button:active:not(:disabled),.button:hover:not(:disabled){transform:none}}@media (max-width:700px){.app-shell{width:calc(100% - 24px);margin:10px auto;padding:8px 14px 16px}.brand-row{min-height:52px}.brand img{width:36px;height:36px}.session-control{min-height:36px}.session-actions{gap:5px}.session-control{padding-right:9px;padding-left:9px;font-size:.74rem}.intro-row{align-items:start;flex-direction:column;gap:8px;padding:17px 0 13px}h1{font-size:2rem}.balance{min-width:0;padding:0 0 0 11px}.balance strong{font-size:1.35rem}.budget-setup{grid-template-columns:1fr;gap:15px;padding:16px 15px}.input-action{gap:7px}.input-action .button{padding-right:13px;padding-left:13px}.wallet-grid{grid-template-columns:1fr;gap:11px}.budget-summary,.purchase-start{padding:15px}.budget-track{margin:13px 0 10px}.purchase-start.purchase-confirming{padding:12px}.purchase-confirming .inline-check-in{grid-template-columns:1fr;gap:7px}.purchase-confirming .check-copy{display:grid;grid-template-columns:max-content 1fr;align-items:baseline;grid-gap:0 8px;gap:0 8px}.check-in{grid-template-columns:1fr;gap:8px;padding:14px}.check-amount,.check-copy h2{margin-bottom:4px}.question-step{min-height:112px;padding:10px 11px}.history{margin-top:10px;padding:13px 14px 11px}.history-heading{align-items:start}.history-heading p{max-width:28ch}.signin-panel .button{width:100%}}@media (max-width:390px){.app-shell{width:calc(100% - 20px);padding-right:11px;padding-left:11px}.input-action{flex-wrap:wrap}.input-action input[type=number]{flex:1 1 120px}.input-action .button{flex:0 0 auto}.amount-action{flex-wrap:nowrap}.amount-action .button{padding-right:10px;padding-left:10px}.summary-top{gap:10px}.summary-top strong{font-size:1.44rem}}