/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#18352a;--forest:#1f503b;--leaf:#397b55;--mint:#d9efdd;--lime:#cdea78;--cream:#f6f4ec;--paper:#fffefa;--line:#dce3dc;--muted:#738178;--danger:#a84d3d}*{box-sizing:border-box}html{background:var(--cream)}body{color:var(--ink);background:radial-gradient(circle at 10% 5%,#e3f0d8 0,transparent 27%),var(--cream);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:2px;outline:3px solid #397b5547}.loading-screen{place-items:center;min-height:100vh;font-weight:700;display:grid}.app-shell{grid-template-columns:minmax(260px,360px) minmax(0,860px);justify-content:center;gap:clamp(24px,5vw,80px);min-height:100vh;padding:48px;display:grid}.desktop-rail{color:#fff;background:linear-gradient(155deg,var(--forest),#153a2b);border-radius:34px;flex-direction:column;height:calc(100vh - 96px);min-height:620px;padding:36px;display:flex;position:sticky;top:48px;overflow:hidden}.desktop-rail:after{content:"";border:70px solid #cdea781f;border-radius:50%;width:280px;height:280px;position:absolute;bottom:40px;right:-160px}.desktop-rail .brand{color:#fff}.desktop-rail>p{letter-spacing:-.04em;max-width:280px;margin:90px 0 24px;font:700 clamp(28px,3vw,44px)/1.1 Manrope}.rail-stat{border-block:1px solid #ffffff29;flex-direction:column;margin-top:auto;padding:22px 0;display:flex}.rail-stat strong{font:700 25px Manrope}.rail-stat span,.rail-note{color:#cce0d2;font-size:13px}.rail-note{max-width:220px;margin-top:20px}.phone-shell{background:var(--paper);border:1px solid #1d46341a;border-radius:34px;min-height:calc(100vh - 96px);padding-bottom:94px;position:relative;overflow:hidden;box-shadow:0 24px 80px #2041321f}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fffefaeb;justify-content:space-between;align-items:center;height:88px;padding:0 34px;display:flex;position:sticky;top:0}.brand-button{cursor:pointer;background:0 0;border:0;padding:0}.brand{align-items:center;gap:11px;display:flex}.brand-symbol{background:var(--forest);color:#fff;letter-spacing:-.2em;border-radius:15px;place-items:center;width:48px;height:48px;padding-right:4px;font:800 22px Manrope;display:grid}.brand-symbol span{color:var(--lime)}.brand strong{letter-spacing:-.04em;font:800 20px Manrope;display:block}.brand small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.brand.compact .brand-symbol{border-radius:12px;width:40px;height:40px;font-size:18px}.brand.compact strong{font-size:18px}.student-chip{align-items:center;gap:9px;display:flex}.student-chip>span{background:var(--mint);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.student-chip strong,.student-chip small{display:block}.student-chip strong{font-size:13px}.student-chip small{color:var(--muted);font-size:11px}.screen-content{padding:36px 34px 46px}.bottom-nav{border-top:1px solid var(--line);z-index:20;background:#fffefaf5;grid-template-columns:repeat(5,1fr);height:78px;padding:8px 22px 10px;display:grid;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{color:#9aa49d;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.bottom-nav button span{font:700 25px/1 Manrope}.bottom-nav button.active{color:var(--leaf)}.bottom-nav button:nth-child(3) span{background:var(--forest);color:#fff;border:5px solid var(--paper);border-radius:50%;place-items:center;width:38px;height:38px;margin-top:-18px;display:grid}.greeting{justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px;display:flex}.greeting span,.section-heading span,.page-header span,.spending-card>span,.step-label,.challenge-summary span,.readonly-row span,.goal-card span,.standard-page .page-title span,.wallet-balance>span,.edit-goal>span,.research-note>span,.result-card>span{color:var(--leaf);letter-spacing:.13em;font-size:11px;font-weight:800}.greeting h1,.section-heading h2,.page-header h1,.page-title h1{letter-spacing:-.04em;margin:5px 0 0;font:800 30px/1.1 Manrope}.greeting p{max-width:250px;color:var(--muted);margin:0;font-size:13px}.goal-card{background:var(--forest);color:#fff;border-radius:24px;padding:25px 26px;box-shadow:0 12px 30px #1f503b33}.goal-heading,.goal-footer{justify-content:space-between;align-items:center;display:flex}.goal-heading span{color:#bad5c2}.goal-heading strong{margin-top:5px;font:700 28px Manrope;display:block}.goal-percent{border:6px solid #7bb487;border-radius:50%;place-items:center;width:58px;height:58px;font-weight:800;display:grid}.progress-track,.challenge-progress{background:#0003;border-radius:10px;height:8px;margin:18px 0 10px;overflow:hidden}.progress-track span,.challenge-progress span{background:var(--lime);border-radius:inherit;height:100%;display:block}.goal-footer{font-size:12px}.goal-footer span{color:#bdd3c3;letter-spacing:0;font-weight:500}.section-heading{justify-content:space-between;align-items:end;margin:34px 0 15px;display:flex}.section-heading h2{font-size:22px}.section-heading small{color:var(--muted)}.module-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.module-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;min-height:230px;padding:17px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.module-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px #1d46341a}.module-number{color:#9da8a0;letter-spacing:.12em;font-size:10px;font-weight:800}.module-icon{background:var(--mint);width:46px;height:46px;color:var(--forest);border-radius:15px;place-items:center;margin:14px 0 20px;font-size:24px;display:grid}.module-card h3{letter-spacing:-.025em;margin:0;font:800 16px/1.2 Manrope}.module-card p{min-height:49px;color:var(--muted);margin:7px 0 13px;font-size:12px;line-height:1.4}.module-card b{color:var(--leaf);font-size:11px}.module-card.fomo .module-icon{background:#fae9c9}.module-card.challenge .module-icon{background:#e7ddf2}.today-grid{grid-template-columns:1fr 1.25fr;gap:12px;margin-top:12px;display:grid}.spending-card,.tip-card{border:1px solid var(--line);background:#faf8f2;border-radius:20px;padding:20px}.spending-card strong{margin:9px 0 15px;font:800 22px Manrope;display:block}.spending-card>div{justify-content:space-between;align-items:end;display:flex}.spending-card small{color:var(--muted);font-size:10px}.spending-card b{color:var(--danger);font-size:12px}.tip-card{background:var(--mint);border-color:#0000;gap:15px;display:flex}.bulb{width:36px;height:36px;color:var(--leaf);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.tip-card small{color:var(--leaf);letter-spacing:.12em;font-size:9px;font-weight:800}.tip-card p{margin:7px 0 0;font:700 13px/1.45 Manrope}.page-header{align-items:center;gap:18px;display:flex}.page-header button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:42px;height:42px;font-size:20px}.page-header h1{font-size:28px}.page-intro{color:var(--muted);max-width:520px;margin:16px 0 28px}.form-stack{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px;display:grid}.form-stack>:last-child:nth-child(odd){grid-column:1/-1}.amount-field,.text-field{border:1px solid var(--line);background:#fafbf8;border-radius:17px;padding:16px 17px;display:block}.amount-field>span,.text-field>span{color:var(--muted);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.amount-field>div{align-items:center;gap:7px;display:flex}.amount-field b{color:var(--leaf)}.amount-field input,.text-field input,.text-field select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font:700 19px Manrope}.amount-field small{color:var(--muted);font-size:10px}.primary-button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;font-weight:800;display:flex;box-shadow:0 8px 20px #1f503b24}.primary-button:hover{background:#173f2e}.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button span{font-size:20px}.readonly-row{background:var(--mint);border-radius:17px;flex-direction:column;justify-content:center;padding:16px 17px;display:flex}.readonly-row strong{margin-top:5px;font:800 19px Manrope}.result-card,.fomo-result{background:var(--mint);border-radius:20px;margin-top:18px;padding:22px;animation:.35s ease-out rise}.result-main{border-bottom:1px solid #1f503b26;justify-content:space-between;align-items:end;margin:16px 0;padding-bottom:16px;display:flex}.result-main small{color:var(--muted)}.result-main strong{font:800 27px Manrope}.result-card p,.fomo-result p{margin:0;font-size:13px;line-height:1.55}.result-card.warning,.fomo-result.pause{background:#fae9c9}.result-meter{background:#1f503b26;border-radius:10px;height:7px;margin-top:18px;overflow:hidden}.result-meter span{background:var(--leaf);height:100%;display:block}.verdict{align-items:center;gap:12px;margin-bottom:17px;display:flex}.verdict>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font:800 20px Manrope;display:grid}.verdict small{color:var(--leaf);letter-spacing:.12em;font-size:9px;font-weight:800}.verdict h2{margin:3px 0 0;font:800 20px Manrope}.question-list{gap:7px;margin-top:18px;display:grid}.question-list span{background:#ffffff8c;border-radius:10px;padding:9px 12px;font-size:12px}.question-list span:before{content:"□";margin-right:8px}.saving-plan-card{border:1px solid var(--line);background:var(--line);border-radius:20px;grid-template-columns:1fr 1fr;gap:1px;margin:22px 0 10px;display:grid;overflow:hidden}.saving-plan-card>div{background:#fafbf8;padding:19px}.saving-plan-card span{color:var(--leaf);letter-spacing:.11em;font-size:9px;font-weight:800;display:block}.saving-plan-card strong{margin-top:7px;font:800 20px Manrope;display:block}.challenge-summary{background:var(--forest);color:#fff;border-radius:20px;margin:10px 0 16px;padding:22px}.challenge-summary>div:first-child{justify-content:space-between;align-items:end;display:flex}.challenge-summary span{color:#c4d9ca}.challenge-summary strong{font:800 25px Manrope}.challenge-summary p{color:#d3e2d6;margin:8px 0 0;font-size:12px}.challenge-list{gap:10px;display:grid}.challenge-list button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:17px;display:grid}.challenge-list button.done{background:#eef7ed}.challenge-icon{background:var(--mint);border-radius:13px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.challenge-list h3{margin:0;font:800 15px Manrope}.challenge-list p{color:var(--muted);margin:4px 0 0;font-size:11px}.check-ring{border:2px solid #bdc6bf;border-radius:50%;width:20px;height:20px}.done .check-ring{background:var(--leaf);border-color:var(--leaf);box-shadow:inset 0 0 0 4px #fff}.page-title{margin-top:0}.page-title h1{font-size:30px}.page-title button{background:var(--mint);color:var(--forest);cursor:pointer;border:0;border-radius:12px;padding:10px 14px;font-weight:800}.filter-row{gap:7px;margin:20px 0;display:flex;overflow:auto}.filter-row button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;padding:8px 13px;font-size:11px;font-weight:700}.filter-row button.active{background:var(--forest);color:#fff;border-color:var(--forest)}.transaction-list{gap:3px;display:grid}.transaction-list article{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px 0;display:grid}.transaction-icon{width:40px;height:40px;color:var(--danger);background:#fae9c9;border-radius:13px;place-items:center;font-weight:800;display:grid}.transaction-icon.income{background:var(--mint);color:var(--leaf)}.transaction-list h3{margin:0;font:700 14px Manrope}.transaction-list p{color:var(--muted);margin:3px 0 0;font-size:10px}.transaction-list strong{color:var(--danger);font-size:12px}.transaction-list strong.income{color:var(--leaf)}.add-page form{gap:13px;display:grid}.type-toggle{background:#edf0eb;border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.type-toggle button{color:var(--muted);background:0 0;border:0;border-radius:11px;padding:11px;font-weight:700}.type-toggle button.active{color:var(--forest);background:#fff;box-shadow:0 3px 9px #1f503b14}.wallet-balance{background:var(--forest);color:#fff;border-radius:22px;padding:24px}.wallet-balance>span{color:#bfd4c5}.wallet-balance>strong{margin:8px 0 23px;font:800 31px Manrope;display:block}.wallet-balance>div{border-top:1px solid #ffffff26;grid-template-columns:1fr 1fr;gap:15px;padding-top:17px;display:grid}.wallet-balance div span{flex-direction:column;display:flex}.wallet-balance small{color:#bdd2c3}.wallet-balance b{margin-top:3px;font-size:13px}.edit-goal{border:1px solid var(--line);border-radius:20px;gap:12px;margin-top:18px;padding:20px;display:grid}.goal-mini{background:#faf8f2;border-radius:17px;margin-top:13px;padding:18px}.goal-mini>div:first-child{justify-content:space-between;font-size:12px;display:flex}.profile-card{background:var(--mint);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:20px;display:grid}.avatar{background:var(--forest);color:#fff;border-radius:16px;place-items:center;width:54px;height:54px;font:800 23px Manrope;display:grid}.profile-card h2{margin:0;font:800 18px Manrope}.profile-card p{color:var(--muted);margin:4px 0 0;font-size:11px}.profile-card button{background:#fff;border:0;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:800}.edit-profile{border:1px solid var(--line);border-radius:17px;gap:10px;margin-top:10px;padding:15px;display:grid}.profile-stats{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.profile-stats div{border:1px solid var(--line);border-radius:17px;flex-direction:column;padding:20px;display:flex}.profile-stats strong{font:800 27px Manrope}.profile-stats span{color:var(--muted);font-size:11px}.research-note{background:#faf8f2;border-radius:19px;padding:20px}.research-note h3{margin:8px 0;font:800 17px Manrope}.research-note p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.secondary-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;width:100%;margin-top:13px;padding:13px;font-weight:700}.toast{color:#fff;z-index:100;background:#102d21;border-radius:13px;padding:12px 18px;font-size:13px;font-weight:700;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0003}.onboarding{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.onboarding-copy{color:#fff;background:linear-gradient(150deg,#173e2e,#286447);flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(35px,7vw,90px);display:flex;position:relative;overflow:hidden}.onboarding-copy:after{content:"";border:100px solid #cdea781a;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-130px;right:-230px}.onboarding-copy .brand{color:#fff;position:absolute;top:70px}.onboarding-copy .brand-symbol{background:var(--lime);color:var(--forest)}.onboarding-copy .brand-symbol span{color:var(--leaf)}.school-label{color:#bfd6c5;letter-spacing:.15em;margin-bottom:22px;font-size:11px;font-weight:800}.onboarding h1{letter-spacing:-.065em;margin:0;font:800 clamp(48px,6vw,78px)/.98 Manrope}.onboarding h1 em{color:var(--lime);font-style:normal}.onboarding-copy>p{color:#d8e6dc;max-width:590px;margin:25px 0;font-size:16px;line-height:1.6}.learning-points{gap:28px;margin-top:30px;display:flex}.learning-points span{color:#8fb69d;letter-spacing:.1em;font-size:10px;font-weight:800}.learning-points b{color:#fff;letter-spacing:0;margin-top:5px;font-size:12px;display:block}.identifier-card{align-self:center;gap:15px;max-width:480px;margin:clamp(30px,8vw,110px);display:grid}.identifier-card h2{letter-spacing:-.045em;margin:0;font:800 36px Manrope}.identifier-card>p{color:var(--muted);margin:-5px 0 12px}.identifier-card label{color:var(--ink);font-size:12px;font-weight:700}.identifier-card input{border:1px solid var(--line);background:#fff;border-radius:14px;outline:0;width:100%;margin-top:7px;padding:14px 15px}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.privacy-note{text-align:center;color:var(--muted);line-height:1.45}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.app-shell{padding:0;display:block}.desktop-rail{display:none}.phone-shell{min-height:100vh;box-shadow:none;border:0;border-radius:0}.onboarding{grid-template-columns:1fr}.onboarding-copy{min-height:52vh;padding:90px 28px 45px}.onboarding-copy .brand{top:28px}.identifier-card{width:100%;margin:40px auto;padding:0 28px 40px}.onboarding h1{font-size:50px}}@media (max-width:600px){.topbar{height:75px;padding:0 20px}.screen-content{padding:27px 20px 35px}.greeting{align-items:start}.greeting p{display:none}.module-grid{grid-template-columns:1fr 1fr}.module-card{min-height:205px}.module-card:last-child{grid-column:1/-1;grid-template-columns:auto 1fr;column-gap:15px;min-height:auto;display:grid}.module-card:last-child .module-number{display:none}.module-card:last-child .module-icon{grid-row:1/4;margin:0}.module-card:last-child p{min-height:0;margin-bottom:9px}.today-grid,.form-stack{grid-template-columns:1fr}.form-stack>:last-child:nth-child(odd){grid-column:auto}.goal-heading strong{font-size:23px}.goal-percent{width:52px;height:52px}.transaction-list article{grid-template-columns:auto 1fr}.transaction-list article>strong{grid-column:2}.onboarding h1{font-size:42px}.learning-points{gap:15px}.field-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
