@font-face{font-family:Myllia Handwriting;src:url(/assets/MylliasHandwriting-Regular-eL-VXUjh.otf)format("opentype");font-display:swap}@font-face{font-family:Jerry Handwriting;src:url(/assets/Jerry-Regular-BYKBY6xn.otf)format("opentype");font-display:swap}:root{color:#2f3428;font-synthesis:none;text-rendering:optimizelegibility;background:#162a1f;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.loading-screen,.login-screen{place-items:center;min-height:100%;display:grid}.loading-screen{color:#fff6d9;background:#162a1f}.login-screen{background:radial-gradient(circle at 20% 20%,#ffeea533 0 3px,#0000 4px) 0 0/56px 56px,radial-gradient(circle at 80% 70%,#ffffff2e 0 2px,#0000 3px) 0 0/72px 72px,linear-gradient(145deg,#88b861,#4f8453);padding:24px}.login-card{background:#fff6d9;border:3px solid #60482f;border-radius:24px 24px 20px 20px;width:min(100%,410px);padding:38px;box-shadow:0 16px #2a422b73,0 28px 60px #1327194d}.login-card__heart{color:#fff6d9;background:#c65a61;border:3px solid #60482f;border-radius:50%;place-items:center;width:54px;height:54px;margin:-66px auto 22px;font-size:26px;display:grid;box-shadow:0 5px #873f45}.eyebrow{color:#6a7655;letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;font-size:.7rem;font-weight:800}h1,h2{color:#3d3a2e;margin:0;font-family:Georgia,serif}h1{font-size:clamp(2rem,8vw,3rem);line-height:1}.login-card__intro{color:#6c6b5e;margin:14px 0 24px;line-height:1.55}label{color:#514c3e;gap:7px;margin:14px 0;font-size:.83rem;font-weight:750;display:grid}input,textarea{color:#403d31;background:#fffcf1;border:2px solid #c4b889;border-radius:10px;outline:none;width:100%}input{height:46px;padding:0 13px}input:focus,textarea:focus{border-color:#6f9663;box-shadow:0 0 0 3px #6f966333}.primary-button,.login-link,.quiet-button,.icon-button,.mail-tabs button{border:0}.primary-button{color:#fff9e8;background:#587a4e;border-radius:10px;min-height:44px;padding:0 18px;font-weight:800;box-shadow:0 4px #3d5837}.primary-button:hover:not(:disabled){background:#638a57;transform:translateY(-1px)}.primary-button:disabled{opacity:.55}.login-card .primary-button{width:100%;margin-top:10px}.login-link{color:#587a4e;text-underline-offset:3px;background:0 0;width:100%;margin-top:16px;font-size:.83rem;font-weight:750;text-decoration:underline}.setup-message,.form-error,.form-success{border-radius:9px;padding:12px;font-size:.84rem;line-height:1.45}.setup-message{color:#5c532d;background:#f2e5ad;margin-top:20px}.form-error{color:#7f3038;background:#f8d5d2}.form-success{color:#315c39;background:#d9edcf}.asset-credit{color:#93896e;text-align:center;margin:26px 0 -22px;font-size:.66rem}.world-screen,.game-shell,.game-canvas{width:100%;height:100%;position:relative}.world-screen{background:#162a1f}.game-canvas canvas{display:block}.interaction-prompt{z-index:25;color:#fff8dc;white-space:nowrap;background:#1d3826eb;border:2px solid #fff8dc8c;border-radius:12px;padding:9px 13px;font-size:.78rem;font-weight:750;position:fixed;bottom:46px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #1224174d}.interaction-prompt kbd{color:#3f4a31;text-align:center;background:#fff8dc;border:1px solid #d9cfa8;border-bottom-width:3px;border-radius:5px;min-width:24px;padding:2px 6px;font:800 .7rem Inter,sans-serif;display:inline-block}.world-toolbar{z-index:20;top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed}.world-home-link{pointer-events:auto;align-items:center;gap:6px;font-size:.8rem;font-weight:750;text-decoration:none;display:inline-flex}.ui-button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-weight:780;line-height:1;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.ui-button:disabled{cursor:not-allowed;opacity:.52}.ui-button--default{color:#fff9f4;background:#b84f72;box-shadow:0 4px #8e3858}.ui-button--default:hover:not(:disabled){background:#c75a7d;transform:translateY(-1px)}.ui-button--secondary{color:#8e3e5c;background:#fff5f6;border-color:#edc7d1}.ui-button--secondary:hover:not(:disabled){background:#fde9ee}.ui-button--ghost{color:#7b5361;background:0 0}.ui-button--ghost:hover:not(:disabled){background:#ffffff8c}.ui-button--danger{color:#fff;background:#a23f55}.ui-button--sm{min-height:36px;padding:0 12px;font-size:.78rem}.ui-button--icon{width:42px;padding:0}.ui-card{background:#fffcf9eb;border:1px solid #b1697e30;border-radius:20px;box-shadow:0 10px 30px #78425214}.ui-card__header{justify-content:space-between;align-items:center;gap:18px;padding:22px 22px 15px;display:flex}.ui-card__content{padding:0 22px 22px}.ui-progress{background:#f0e3e4;border-radius:99px;height:8px;overflow:hidden}.ui-progress__indicator{border-radius:inherit;background:linear-gradient(90deg,#d07795,#b54c70);height:100%;transition:width .35s;display:block}.ui-progress__indicator--coral{background:linear-gradient(90deg,#eead8f,#df7d78)}.ui-dialog__overlay{z-index:200;overscroll-behavior:contain;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#45252f7a;animation:.16s ease-out budget-fade;position:fixed;inset:0}.ui-dialog__content{z-index:201;overscroll-behavior:contain;background:#fffaf8;border:1px solid #efcbd4;border-radius:22px;width:min(520px,100% - 32px);max-width:100vw;max-height:min(760px,100dvh - 32px);padding:26px;animation:.18s ease-out budget-dialog-in;position:fixed;top:50%;left:50%;overflow:hidden auto;transform:translate(-50%,-50%);box-shadow:0 24px 80px #48222e47}.ui-dialog__close{color:#8d6571;background:#f7e9ec;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:17px;right:17px}@keyframes budget-fade{0%{opacity:0}}@keyframes budget-dialog-in{0%{opacity:0;transform:translate(-50%,-47%)scale(.98)}}@keyframes budget-spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite budget-spin}.home-page{color:#624957;background:radial-gradient(circle at 15% 8%,#ffffffa6,#0000 27%),radial-gradient(circle at 88% 78%,#f5b7c859,#0000 28%),linear-gradient(145deg,#fff9f4,#fbe9ed 55%,#f5dce5);width:100%;height:100%;padding:0 clamp(22px,5vw,72px) 54px;position:relative;overflow-y:auto}.home-page__blossom{color:#c35c7e29;pointer-events:none;font:120px Georgia,serif;position:absolute}.home-page__blossom--one{top:9%;right:6%;transform:rotate(16deg)}.home-page__blossom--two{bottom:2%;left:3%;transform:rotate(-18deg)scale(.7)}.home-nav,.budget-nav{z-index:2;justify-content:space-between;align-items:center;height:74px;display:flex;position:relative}.app-wordmark{color:#5f3e4d;align-items:center;gap:8px;font-family:Georgia,serif;font-weight:800;text-decoration:none;display:inline-flex}.app-wordmark span{color:#fff;background:#be5678;border-radius:50%;place-items:center;width:30px;height:30px;font-family:sans-serif;font-size:.8rem;display:grid;box-shadow:0 3px #933d5b}.feature-grid{z-index:1;grid-template-columns:repeat(2,1fr);gap:22px;width:min(950px,100%);margin:clamp(70px,14vh,150px) auto 0;display:grid;position:relative}.feature-card{color:#59424c;background:#fffaf4;border:1px solid #7747562e;border-radius:26px;flex-direction:column;justify-content:center;align-items:flex-start;gap:25px;min-height:240px;padding:28px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:0 14px 35px #6e3d4d1f}.feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px #6e3d4d2b}.feature-card--world{background:radial-gradient(circle at 91% 10%,#fae0917a,#0000 28%),linear-gradient(150deg,#fdf9e9,#e7f0d7)}.feature-card--budget{background:radial-gradient(circle at 88% 11%,#ffffffbf,#0000 24%),linear-gradient(150deg,#fff5f5,#f5d6e0)}.feature-card__icon{color:#fff9e9;background:#6f8758;border-radius:18px;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 5px #506a42}.feature-card--budget .feature-card__icon{background:#bd5a7c;box-shadow:0 5px #923e5e}.feature-card h2{color:#4e3d42;font-size:1.85rem}.budget-page{color:#563f49;font-variant-numeric:lining-nums tabular-nums;background:radial-gradient(circle at 83% 0,#f6b8ca47,#0000 25%),linear-gradient(#fff8f5,#f9f1ef 60%,#f6ebea);width:100%;height:100%;overflow-y:auto}.budget-nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff9f6db;border-bottom:1px solid #a7657821;height:68px;padding:0 clamp(18px,4vw,54px);position:sticky;top:0}.budget-nav nav{gap:7px;display:flex}.budget-nav nav a{color:#785967;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-size:.78rem;font-weight:750;text-decoration:none;display:inline-flex}.budget-nav nav a:hover{background:#f7e7eb}.budget-shell{width:min(1280px,100% - 40px);margin:0 auto;padding:42px 0 60px}.budget-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:25px;display:flex}.budget-kicker{color:#b25372;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 6px;font-size:.68rem;font-weight:880;display:flex}.budget-heading h1{color:#523643;font-size:clamp(2rem,4vw,3.2rem)}.budget-heading>div>p:last-child{color:#927783;margin:9px 0 0;font-size:.84rem}.budget-heading__actions{align-items:center;gap:11px;display:flex}.budget-tabs{background:#f1e3e5;border-radius:12px;gap:4px;margin:-5px 0 22px;padding:4px;display:inline-flex}.budget-tabs a{color:#92737e;text-align:center;border-radius:9px;min-width:108px;padding:10px 18px;font-size:.75rem;font-weight:790;text-decoration:none}.budget-tabs a.is-active{color:#873f5a;background:#fffaf8;box-shadow:0 2px 8px #6e394b1a}.rate-pill{color:#77545f;text-align:left;background:#fffcf9c7;border:1px solid #eacbd3;border-radius:12px;grid-template-columns:auto auto;align-items:center;gap:0 6px;min-height:43px;padding:6px 13px;font-size:.75rem;font-weight:800;display:grid}.rate-pill svg{grid-row:1/3}.rate-pill small{color:#a18991;font-size:.58rem;font-weight:650}.budget-warning{color:#825b3f;background:#fff0d8;border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:.78rem;display:flex}.budget-overview-grid{grid-template-columns:1.8fr .8fr 1.1fr;gap:14px;display:grid}.budget-overview-grid--single{grid-template-columns:1fr}.balance-card{color:#fff9f4;background:linear-gradient(135deg,#b74f73,#d47795);min-height:310px;padding:27px;position:relative;overflow:hidden;box-shadow:0 14px 35px #96395838}.balance-card>p{color:#fff9f4c7;margin:0 0 10px;font-size:.78rem;font-weight:750;position:relative}.balance-card__decoration{color:#ffffff1a;font:180px Georgia,serif;position:absolute;top:-36px;right:4px}.balance-card__edit-trigger{z-index:4;color:#0000;background:0 0;border:0;padding:0;position:absolute;top:18px;right:18px}.balance-card__edit-trigger span{color:#ffffffd6;background:#6c26402e;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:.62rem;font-weight:760;display:inline-flex}.balance-card__edit-trigger:hover span{background:#6c26404d}.balance-card__edit-trigger:focus-visible{outline-offset:2px;border-radius:999px;outline:3px solid #fff}.balance-card__fund-trigger{z-index:4;color:#ffffffd6;background:#6c26402e;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:.62rem;font-weight:760;display:inline-flex;position:absolute;top:18px;right:102px}.balance-card__fund-trigger:hover{background:#6c26404d}.dual-amount{gap:3px;display:grid}.dual-amount strong{color:#533a45;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:1.22rem;font-weight:760;line-height:1.1}.dual-amount span{color:#927984;font-size:.68rem;font-weight:650}.dual-amount--prominent strong{color:#fff;font-size:clamp(2.2rem,5vw,3.35rem);position:relative}.dual-amount--prominent span{color:#fff9f4c2;font-size:.9rem;position:relative}.balance-card__currencies{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px;display:grid;position:relative}.balance-card__currencies>div{background:#67203a1f;border:1px solid #ffffff2b;border-radius:12px;min-width:0;padding:12px 14px}.balance-card__currencies span,.balance-card__footer span{color:#fff9f4bd;align-items:center;gap:6px;font-size:.72rem;font-weight:720;display:inline-flex}.balance-card__currencies strong{color:#fff;white-space:nowrap;margin-top:6px;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:clamp(1rem,2vw,1.3rem);font-weight:780;display:block}.balance-card__footer{border-top:1px solid #fff3;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:17px;padding-top:15px;display:grid;position:relative}.balance-card__footer>div{min-width:0}.balance-card__footer strong{color:#fff;margin:5px 7px 0 0;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:1rem;font-weight:770;display:inline-block}.balance-card__footer small{color:#fff9f4ad;font-size:.68rem;font-weight:650}.runway-card,.safe-spend-card{flex-direction:column;justify-content:center;min-height:195px;padding:23px;display:flex}.current-rate-card{background:linear-gradient(145deg,#fffdf8,#f6e9ed);flex-direction:column;justify-content:center;min-height:195px;padding:23px;display:flex}.current-rate-card>span{color:#9e7e89;font-size:.76rem;font-weight:720}.current-rate-card>strong{color:#5b3d49;margin-top:3px;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:2.25rem;font-weight:760}.current-rate-card>button{color:#aa5873;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;margin:13px 0 0;padding:0;font-size:.64rem;font-weight:740;text-decoration:underline}.metric-label{color:#9c7180;align-items:center;gap:7px;margin:0 0 13px;font-size:.72rem;font-weight:750;display:flex}.runway-card>strong{color:#553844;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:3rem;font-weight:760;line-height:1}.runway-card>strong small{font-family:Inter,sans-serif;font-size:.8rem}.runway-card>span,.safe-spend-card>span{color:#9b858c;margin-top:9px;font-size:.67rem}.safe-spend-card{background:linear-gradient(145deg,#fffdf7,#f8eee2)}.safe-spend-card .dual-amount strong{font-size:1.85rem}.overview-weekly-card{min-height:165px;margin-top:12px}.overview-mini-metrics{margin-top:12px}.overview-rate-card{min-height:155px;margin-top:12px}.mini-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px;display:grid}.mini-metrics .ui-card{padding:17px}.mini-metrics .ui-card>span{color:#987985;margin-bottom:8px;font-size:.66rem;font-weight:720;display:block}.mini-metrics .dual-amount strong{font-size:1.08rem}.progress-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}.progress-grid .ui-card{padding:18px 20px}.progress-label{justify-content:space-between;margin-bottom:11px;font-size:.75rem;display:flex}.progress-label span{color:#816671;font-weight:700}.progress-label strong{color:#a84667}.progress-grid small{color:#a08a92;margin-top:8px;font-size:.62rem;display:block}.budget-pace{margin:8px 0 0;font-size:.64rem;font-weight:760}.budget-pace.is-ahead{color:#648166}.budget-pace.is-behind{color:#b15d55}.budget-content-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:14px;margin-top:14px;display:grid}.budget-content-grid--single{grid-template-columns:1fr}.details-rate-section,.details-spending-section{margin-top:14px}.spending-history-card{overflow:hidden}.spending-history-card h2{font-size:1.35rem}.spending-period-toggle{grid-template-columns:repeat(3,1fr);width:min(100%,310px)}.spending-period-toggle button{white-space:nowrap;padding:0 12px}.spending-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.spending-chart-stats>div{background:linear-gradient(145deg,#fffaf8,#f9edef);border:1px solid #eedde1;border-radius:13px;min-width:0;padding:15px 16px}.spending-chart-stats span{color:#967781;align-items:center;gap:6px;font-size:.68rem;font-weight:750;display:flex}.spending-chart-stats strong{color:#644651;margin-top:7px;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:clamp(1.15rem,2.5vw,1.6rem);font-weight:780;display:block}.spending-chart-stats small{color:#a48b94;margin-top:3px;font-size:.63rem;display:block}.spending-chart{height:255px;padding-left:48px;position:relative}.spending-chart svg{width:100%;height:230px;overflow:visible}.spending-chart__gridline{stroke:#eadcdf;stroke-width:1px;vector-effect:non-scaling-stroke}.spending-chart__area{fill:#c2587b24}.spending-chart__line{fill:none;stroke:#b64c70;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.spending-chart__dot{fill:#fffaf8;stroke:#a94366;stroke-width:3px;vector-effect:non-scaling-stroke}.spending-chart__axis{color:#a18a92;font-size:.57rem;font-weight:680;position:absolute;left:0}.spending-chart__axis--top{top:9px}.spending-chart__axis--middle{top:100px}.spending-chart__dates{color:#a08a92;justify-content:space-between;font-size:.59rem;display:flex;position:absolute;bottom:0;left:51px;right:3px}.spending-chart__empty{color:#9a8089;text-align:center;margin:-29px 0 10px;font-size:.7rem}.details-budget-grid{grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr) minmax(210px,.8fr);gap:12px;margin-top:14px;display:grid}.details-budget-grid>.ui-card{min-height:175px;padding:21px}.details-budget-grid .runway-card{min-height:175px}.budget-spent-card,.exchange-progress-card{flex-direction:column;justify-content:center;display:flex}.budget-spent-card small,.exchange-progress-card small{color:#a08a92;margin-top:8px;font-size:.62rem;display:block}.details-top-grid{grid-template-columns:minmax(220px,.55fr) minmax(0,1.7fr);gap:14px;display:grid}.details-top-grid .runway-card{min-height:310px}.rate-history-card{min-height:310px;overflow:hidden}.rate-history-card h2{font-size:1.35rem}.rate-change{border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:.68rem;font-weight:820;display:inline-flex}.rate-change.is-up{color:#55755d;background:#e3efe4}.rate-change.is-down{color:#a05262;background:#f6e2e6}.rate-chart{height:205px;position:relative}.rate-chart svg{width:100%;height:180px;overflow:visible}.chart-gridline{stroke:#eadcdf;stroke-width:1px;vector-effect:non-scaling-stroke}.rate-chart__line{fill:none;stroke:#bb5578;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.rate-chart__dot{fill:#fff9f7;stroke:#ae456a;stroke-width:3px;vector-effect:non-scaling-stroke}.chart-axis{color:#a18a92;background:#fffcf9b3;padding-right:5px;font-size:.56rem;position:absolute;left:4px}.chart-axis--top{top:1px}.chart-axis--bottom{top:156px}.chart-dates{color:#a08a92;justify-content:space-between;font-size:.58rem;display:flex;position:absolute;bottom:4px;left:2px;right:2px}.rate-chart__summary{color:#9d838d;border-top:1px solid #f0e2e5;justify-content:space-between;gap:14px;padding-top:9px;font-size:.62rem;display:flex}.rate-chart__summary strong{color:#725661;margin-left:4px}.chart-state{color:#9a7f89;text-align:center;place-items:center;min-height:310px;padding:24px;font-size:.75rem;display:grid}.weekly-card .ui-card__header h2,.insights-card h2,.expenses-card h2{font-size:1.35rem}.weekly-card .ui-card__header>div>span{color:#9c858e;font-size:.67rem}.weekly-card--editable{cursor:pointer;transition:border-color .16s,box-shadow .16s}.weekly-card--editable:hover{border-color:#b84f726b;box-shadow:0 13px 34px #78425221}.weekly-card--editable:focus-visible{outline-offset:3px;outline:3px solid #b84f7252}.weekly-card__actions{justify-items:end;gap:9px;display:grid}.weekly-card__actions>span{color:#ac5471;align-items:center;gap:5px;font-size:.62rem;font-weight:780;display:inline-flex}.weekly-list{display:grid}.weekly-row{border-top:1px solid #f1e5e6;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.category-icon{color:#a34967;background:#f9e1e8;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.category-icon--food{color:#b56552;background:#fae6dc}.category-icon--transport{color:#617f8e;background:#e1eef1}.category-icon--shopping{color:#a84e73;background:#f8dfeb}.category-icon--travel{color:#567e78;background:#dfeeea}.category-icon--accommodation{color:#8b684a;background:#f2e7d8}.category-icon--entertainment{color:#7d649b;background:#eae1f5}.weekly-row>div:nth-child(2){min-width:0}.weekly-row strong{color:#604650;font-size:.78rem;display:block}.weekly-row__title{align-items:center;gap:7px;display:flex}.weekly-row__title>span{color:#a14867;background:#f8e1e8;border-radius:999px;padding:2px 6px;font-size:.57rem;font-weight:820}.weekly-row small{color:#a08b93;margin:3px 0 8px;font-size:.6rem;display:block}.weekly-row .ui-progress{height:5px}.weekly-row>b{color:#79616a;font-size:.72rem}.insights-card{background:linear-gradient(150deg,#fffdf8,#faedef)}.overview-insights{margin-top:12px}.overview-insights .ui-card__content{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.insights-title{align-items:center;gap:10px;display:flex}.insights-title>svg{color:#c05b7e}.insight-row{border-top:1px solid #f0dfe3;grid-template-columns:auto 1fr;gap:10px;padding:13px 0;display:grid}.insight-row>span{color:#ad4d6e;background:#f8dfe7;border-radius:50%;place-items:center;width:24px;height:24px;font:700 .66rem Georgia,serif;display:grid}.insight-row p{color:#745d66;margin:1px 0 0;font-size:.73rem;line-height:1.5}.expenses-card{margin-top:14px}.diary-actions{align-items:center;gap:7px;display:flex}.expense-list{display:grid}.expense-row{border-top:1px solid #f1e5e6;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.expense-row__details strong,.expense-row__details span,.expense-row__amount strong,.expense-row__amount span{display:block}.expense-row__details strong{color:#634a55;font-size:.78rem}.expense-row__details span,.expense-row__amount span{color:#a18a93;margin-top:3px;font-size:.62rem}.expense-row__amount{text-align:right}.expense-row__amount strong{color:#9a4765;font-size:.78rem}.adjustment-row.is-added .category-icon{color:#547a5b;background:#e2eee3}.adjustment-row.is-added .expense-row__amount strong{color:#52755a}.adjustment-row.is-removed .category-icon{color:#a66551;background:#f7e6df}.expense-delete{color:#ae8b96;background:0 0;border:0;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.expense-delete:hover{color:#a13f5c;background:#f9e6eb}.expense-empty{color:#ac929b;text-align:center;place-items:center;gap:7px;padding:30px;display:grid}.expense-empty p{margin:0;font-size:.75rem}.mobile-add-expense{display:none}.budget-loading,.budget-state{color:#a0556e;text-align:center;place-content:center;justify-items:center;height:calc(100dvh - 68px);display:grid}.budget-loading p{color:#8d7480;font-size:.8rem}.budget-state{padding:24px}.budget-state>span{font:3.5rem Georgia,serif}.budget-state h1{color:#563b46;margin-top:10px;font-size:2rem}.budget-state p{color:#876e78;max-width:520px;margin:12px 0 22px;line-height:1.55}.budget-setup-wrap{width:min(830px,100% - 36px);margin:0 auto;padding:44px 0 70px}.budget-setup-intro{text-align:center;max-width:610px;margin:0 auto 24px}.budget-setup-intro__icon{color:#fff8f4;background:#bc5577;border-radius:17px;place-items:center;width:48px;height:48px;margin:0 auto 15px;display:grid;box-shadow:0 5px #963d5d}.budget-setup-intro .budget-kicker{justify-content:center}.budget-setup-intro h1{color:#573a46;font-size:clamp(2rem,5vw,3rem)}.budget-setup-intro>p:last-child{color:#8e747e;margin:12px auto 0;line-height:1.55}.budget-setup-card{padding:clamp(22px,4vw,38px)}.setup-progress{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;max-width:210px;margin:0 auto 30px;display:grid}.setup-progress span{color:#a48892;background:#f2e5e7;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.65rem;font-weight:850;display:grid}.setup-progress span.is-active{color:#fff;background:#b94f72;box-shadow:0 3px #913a59}.setup-progress i{background:#efd9df;height:2px}.setup-section{max-width:670px;margin:0 auto}.setup-section__heading{align-items:flex-start;gap:12px;margin-bottom:21px;display:flex}.setup-section__heading>svg,.fixed-icon{color:#b85072;flex:none}.fixed-icon{background:#f9e2e8;border-radius:8px;place-items:center;width:25px;height:25px;font-weight:850;display:grid}.setup-section__heading h2{font-size:1.35rem}.setup-section__heading p{color:#9b838c;margin:4px 0 0;font-size:.72rem}.budget-label{color:#6c515c;gap:7px;margin:14px 0;font-size:.74rem;font-weight:780;display:grid}.budget-label>span{align-items:center;gap:6px;display:inline-flex}.budget-label small{color:#ad949d;font-size:.62rem;font-weight:600}.budget-label input,.budget-label select,.budget-label textarea,.fixed-draft input,.fixed-draft select{color:#5a414b;background:#fffdfb;border:1px solid #e6cbd1;border-radius:11px;outline:none;width:100%;min-height:44px;padding:0 12px}.budget-label textarea{resize:vertical;min-height:85px;padding:11px 12px}.budget-label input:focus,.budget-label select:focus,.budget-label textarea:focus,.fixed-draft input:focus,.fixed-draft select:focus{border-color:#c66b88;box-shadow:0 0 0 3px #c66b8824}.money-input{position:relative}.money-input>span{z-index:1;color:#ad5572;font-weight:850;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.money-input input{font-variant-numeric:lining-nums tabular-nums;height:54px;padding-left:36px;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:1.25rem}.segmented-control{background:#f5e8ea;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segmented-control button{color:#9a7e88;background:0 0;border:0;border-radius:9px;min-height:39px;font-size:.7rem;font-weight:780}.segmented-control button.is-active{color:#824058;background:#fffaf8;box-shadow:0 2px 7px #763c4f1a}.segmented-control--compact{margin:-5px 0 8px}.pocket-control{margin-top:10px}.date-grid,.expense-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.date-grid .budget-label{min-width:0}.date-input-shell{background:#fffdfb;border:1px solid #e6cbd1;border-radius:11px;width:100%;min-width:0;max-width:100%;padding:0 8px 0 11px;overflow:hidden}.date-input-shell:focus-within{border-color:#c66b88;box-shadow:0 0 0 3px #c66b8824}.date-input-shell input[type=date]{width:100%;min-width:0;max-width:100%;min-height:42px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block}.date-input-shell input[type=date]:focus{box-shadow:none;border:0}.starting-savings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.balance-currency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.balance-currency-grid .budget-label:last-child{grid-column:1/-1}.setup-savings-total,.balance-combined{color:#907781;background:#fff9f8;border:1px solid #ecd9dd;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:3px 14px;margin:3px 0 16px;padding:13px 14px;font-size:.66rem;display:grid}.setup-savings-total strong,.balance-combined strong{color:#644852;font:760 .9rem Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif}.setup-savings-total small,.balance-combined small{color:#a0526b;text-align:right;grid-column:2;font-size:.65rem;font-weight:750}.setup-rate-note{color:#9a7d87;text-align:center;margin:4px 0 18px;font-size:.65rem}.setup-next{width:100%}.fixed-drafts{gap:9px;margin-bottom:12px;display:grid}.fixed-draft{background:#fffaf9;border:1px solid #efdcdf;border-radius:13px;grid-template-columns:1.5fr 1fr .7fr 1fr 1.1fr auto;align-items:center;gap:7px;padding:10px;display:grid}.fixed-draft input,.fixed-draft select{min-width:0;min-height:40px;padding:0 9px;font-size:.68rem}.remove-fixed{color:#b07184;background:#f9e9ed;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.setup-footer{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.budget-error{color:#873d52;background:#f9dde3;border-radius:10px;padding:10px 12px;font-size:.72rem}.expense-dialog__heading{align-items:flex-start;gap:11px;padding-right:35px;display:flex}.expense-dialog__heading>span{color:#a74767;background:#f9e1e8;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.expense-dialog h2{color:#583e48;font-size:1.45rem}.expense-dialog__description{color:#957d86;margin:5px 0 0;font-size:.7rem;line-height:1.45}.balance-dialog__note{color:#927983;margin:12px 0 18px;font-size:.7rem;line-height:1.5}.fund-kind,.allocation-mode{margin:20px 0 8px}.recommended-split{color:#9b4764;background:#fff9f8;border:1px solid #e7cdd4;border-radius:10px;width:100%;min-height:38px;margin:8px 0;font-size:.67rem;font-weight:790}.recommended-split:hover{background:#fae9ee;border-color:#cf8da2}.category-budget-list{display:grid}.category-budget-row{border-top:1px solid #f0e1e4;grid-template-columns:minmax(0,1fr) minmax(125px,.45fr);align-items:center;gap:14px;margin:0;padding:10px 0;display:grid}.category-budget-row>span strong,.category-budget-row>span small{display:block}.category-budget-row>span strong{color:#674a55;font-size:.76rem}.category-budget-row>span small{color:#a28b93;margin-top:3px;font-size:.58rem;font-weight:620}.category-percentage-input{position:relative}.category-percentage-input i{color:#ad5572;font-size:.72rem;font-style:normal;font-weight:820;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.category-percentage-input input{color:#5a414b;text-align:right;background:#fffdfb;border:1px solid #e6cbd1;border-radius:10px;outline:none;width:100%;height:40px;padding:0 30px 0 10px}.category-percentage-input input:focus{border-color:#c66b88;box-shadow:0 0 0 3px #c66b8824}.category-percentage-input.is-amount input{font-variant-numeric:lining-nums tabular-nums;padding-right:34px}.category-budget-total{color:#8b707a;background:#f8ecef;border-radius:11px;justify-content:space-between;gap:14px;margin-top:12px;padding:13px;font-size:.66rem;display:flex}.category-budget-total strong{color:#674b56;margin-top:3px;font-size:.76rem;display:block}.category-budget-difference{text-align:center;margin:10px 0 16px;font-size:.68rem;font-weight:740}.category-budget-difference.is-under{color:#607b64}.category-budget-difference.is-over{color:#aa5360}.fill-remaining{color:#7d6240;background:#fff8e9;border:1px solid #d9c5a4;border-radius:10px;width:100%;min-height:38px;margin:-2px 0 8px;font-size:.67rem;font-weight:790}.fill-remaining:hover{background:#fff3d9;border-color:#c5a978}.expense-submit{width:100%;margin-top:8px}@media (max-width:900px){.budget-overview-grid{grid-template-columns:repeat(2,1fr)}.balance-card{grid-column:1/-1}.budget-overview-grid--single .balance-card{grid-column:auto}.details-top-grid{grid-template-columns:1fr}.details-top-grid .runway-card{min-height:165px}.mini-metrics{grid-template-columns:repeat(2,1fr)}.budget-content-grid{grid-template-columns:1fr}.details-budget-grid{grid-template-columns:1fr 1fr}.budget-spent-card{grid-column:1/-1}.overview-insights .ui-card__content{grid-template-columns:1fr}.fixed-draft{grid-template-columns:1.5fr 1fr .7fr auto}.fixed-draft select:nth-of-type(2),.fixed-draft select:nth-of-type(3){grid-column:span 2}}@media (max-width:640px){.home-page{padding:0 17px 35px}.home-nav{height:64px}.feature-grid{grid-template-columns:1fr;gap:15px;margin-top:42px}.feature-card{min-height:190px;padding:23px}.budget-nav{height:60px;padding:0 14px}.budget-nav nav{display:none}.budget-nav .app-wordmark{font-size:.86rem}.budget-shell{width:min(100% - 24px,1280px);padding:28px 0 94px}.budget-heading{align-items:flex-start;margin-bottom:18px}.budget-heading h1{font-size:2.15rem}.budget-heading__actions .ui-button{display:none}.rate-pill{max-width:150px}.budget-tabs{width:100%;margin:0 0 18px}.budget-tabs a{flex:1;min-width:0}.budget-overview-grid{grid-template-columns:1fr}.budget-overview-grid--single .balance-card{grid-column:auto}.balance-card{min-height:385px;padding:23px 19px}.balance-card__currencies{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-card__currencies>div:last-child{grid-column:1/-1}.balance-card__currencies strong{font-size:1.12rem}.balance-card__footer{gap:12px}.current-rate-card{min-height:145px}.runway-card,.safe-spend-card{min-height:155px}.mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-metrics .ui-card{padding:14px}.mini-metrics .dual-amount strong{font-size:.92rem}.progress-grid{grid-template-columns:1fr}.rate-history-card{min-height:300px}.rate-chart__summary{gap:8px}.ui-card__header{padding:19px 17px 13px}.ui-card__content{padding:0 17px 18px}.weekly-card .ui-card__header{align-items:flex-end}.weekly-card .ui-card__header .dual-amount{text-align:right}.weekly-row{grid-template-columns:auto minmax(0,1fr)}.weekly-row>b{display:none}.spending-history-card .ui-card__header{flex-direction:column;align-items:stretch;gap:14px}.spending-period-toggle{width:100%}.spending-chart-stats{grid-template-columns:1fr}.spending-chart{height:225px;padding-left:42px}.spending-chart svg{height:200px}.spending-chart__axis--middle{top:86px}.spending-chart__dates{left:45px}.expense-row{grid-template-columns:auto minmax(0,1fr) auto}.expense-row__amount{text-align:left;grid-column:2}.expense-delete{grid-area:1/3/3/4}.mobile-add-expense{z-index:80;right:18px;bottom:max(18px, env(safe-area-inset-bottom));display:inline-flex;position:fixed;box-shadow:0 8px 25px #79314947,0 4px #8e3858}.budget-setup-wrap{width:min(100% - 24px,830px);padding:30px 0 60px}.budget-setup-card{padding:21px 16px}.date-grid,.expense-form-grid,.starting-savings-grid,.balance-currency-grid{grid-template-columns:1fr;gap:0}.date-input-shell,.date-input-shell input[type=date]{width:100%;max-width:100%}.fixed-draft{grid-template-columns:1fr 1fr auto}.fixed-draft input:first-child{grid-column:1/-1}.fixed-draft select:nth-of-type(2),.fixed-draft select:nth-of-type(3){grid-column:auto}.fixed-draft select:last-of-type{grid-column:1/3}.remove-fixed{grid-area:2/3/4/4;height:100%}.details-budget-grid{grid-template-columns:1fr}.budget-spent-card{grid-column:auto}.ui-dialog__content{width:100dvw;max-width:none;height:100dvh;max-height:none;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));border:0;border-radius:0;animation:.17s ease-out budget-page-in;inset:0;transform:none}.ui-dialog__close{top:max(17px, env(safe-area-inset-top));right:max(17px, env(safe-area-inset-right))}.expense-dialog__heading,.expense-dialog form,.balance-dialog form,.category-budget-dialog form,.fund-dialog form{width:min(100%,520px);margin-left:auto;margin-right:auto}.expense-dialog h2,.balance-dialog h2,.category-budget-dialog h2,.fund-dialog h2{font-size:1.6rem}.expense-dialog__description,.expense-dialog .budget-label,.balance-dialog .budget-label,.fund-dialog .budget-label{font-size:.84rem}.expense-dialog input,.expense-dialog select,.expense-dialog textarea,.balance-dialog input,.category-budget-dialog input,.fund-dialog input,.fund-dialog textarea{font-size:16px}.expense-dialog .money-input input,.balance-dialog .money-input input,.fund-dialog .money-input input{font-size:1.35rem}@keyframes budget-page-in{0%{opacity:0;transform:translateY(18px)}}}.toolbar-actions{pointer-events:auto;align-items:center;gap:8px;display:flex}.unread-pill,.quiet-button{color:#fff8dc;background:#1d3826e0;border-radius:999px}.unread-pill{padding:8px 11px;font-size:.75rem;font-weight:800}.quiet-button{padding:9px 13px}.desktop-hint,.world-credit{z-index:18;color:#fff8dcc7;text-shadow:0 1px 2px #1d3624;margin:0;position:fixed}.desktop-hint{font-size:.72rem;bottom:17px;left:50%;transform:translate(-50%)}.world-credit{font-size:.55rem;bottom:10px;right:12px}.mobile-controls,.action-button{display:none}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#112318a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.letter-modal{background:#e7d6aa;border:3px solid #644d36;border-radius:18px;grid-template-rows:auto auto auto 1fr;width:min(920px,100%);height:min(650px,90dvh);display:grid;overflow:hidden;box-shadow:0 16px #292f1f59,0 28px 70px #09180e73}.letter-modal__header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.letter-modal__header h2{font-size:2rem}.icon-button{color:#fff6db;background:#80664a;border-radius:50%;width:40px;height:40px;font-size:1.6rem;line-height:1}.mail-tabs{border-bottom:2px solid #b9a474;gap:7px;padding:0 22px 13px;display:flex}.mail-tabs button{color:#665c48;background:#fffae473;border-radius:999px;padding:9px 15px;font-size:.8rem;font-weight:750}.mail-tabs button.is-active{color:#fff7dc;background:#6b8557}.mail-tabs .compose-button{color:#fff7dc;background:#af695f;margin-left:auto}.letter-error{margin:10px 22px 0}.mail-layout{grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:14px;min-height:0;padding:14px;display:grid}.letter-list{min-height:0;padding:4px;overflow-y:auto}.letter-row{color:#5e5748;text-align:left;background:#fff9e294;border:2px solid #0000;border-radius:10px;grid-template-columns:1fr auto;gap:4px 8px;width:100%;margin-bottom:7px;padding:13px;display:grid}.letter-row.is-active{background:#fff9e2;border-color:#866f4d}.letter-row.is-unread{box-shadow:inset 4px 0 #bd5e5f}.letter-row.is-unread>span{color:#453f34;font-weight:850}.letter-row time{font-size:.67rem}.letter-row small{color:#8a806d;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.empty-state{color:#776d59;text-align:center;padding:24px 12px;font-size:.85rem}.letter-paper{background:repeating-linear-gradient(#0000 0 30px,#80704b21 31px),#fffaf0;border:1px solid #d0bc8a;border-radius:8px;min-width:0;min-height:0;padding:clamp(22px,5vw,48px);overflow-y:auto;box-shadow:0 4px 14px #5643292e}.letter-paper__meta{color:#8c765b;justify-content:space-between;gap:20px;margin:0 0 34px;font-size:.75rem;display:flex}.letter-paper__body{color:#4c473d;white-space:pre-wrap;margin:0;font-family:Georgia,serif;font-size:1.08rem;line-height:1.8}.letter-paper__body.handwriting--myllia,.compose-form .handwriting--myllia{font-family:Myllia Handwriting,cursive;font-size:1.45rem;line-height:1.5}.letter-paper__body.handwriting--jerry,.compose-form .handwriting--jerry{font-family:Jerry Handwriting,cursive;font-size:1.4rem;line-height:1.55}.paper-placeholder{color:#9a8b71;text-align:center;place-content:center;height:100%;display:grid}.paper-placeholder span{font-size:3rem}.compose-form{color:#5d5548;grid-template-rows:auto 1fr auto;gap:14px;height:100%;font-family:Georgia,serif;display:grid}.compose-form textarea{resize:none;border-style:dashed;min-height:210px;padding:14px;font-family:Georgia,serif;line-height:1.6}.compose-footer{justify-content:space-between;align-items:center;gap:14px;font-family:Inter,sans-serif;font-size:.7rem;display:flex}@media (max-width:720px),(pointer:coarse){.desktop-hint{display:none}.world-credit{bottom:max(5px, env(safe-area-inset-bottom));left:50%;right:auto;transform:translate(-50%)}.interaction-prompt{bottom:max(145px, calc(env(safe-area-inset-bottom) + 135px));text-overflow:ellipsis;max-width:calc(100% - 32px);font-size:.68rem;overflow:hidden}.mobile-controls{z-index:30;bottom:max(28px, calc(env(safe-area-inset-bottom) + 18px));left:max(18px, env(safe-area-inset-left));grid-template:repeat(3,1fr)/repeat(3,1fr);width:132px;height:132px;display:grid;position:fixed}.direction,.action-button{color:#fff8dc;touch-action:none;-webkit-user-select:none;user-select:none;background:#1d3826c2;border:2px solid #fff8dc7a;box-shadow:0 4px 10px #14251840}.direction{border-radius:12px;width:44px;height:44px}.direction--up{grid-area:1/2}.direction--left{grid-area:2/1}.direction--down{grid-area:2/2}.direction--right{grid-area:2/3}.action-button{z-index:30;right:max(24px, env(safe-area-inset-right));bottom:max(55px, calc(env(safe-area-inset-bottom) + 45px));border-radius:50%;width:72px;height:72px;font-size:.72rem;font-weight:900;display:block;position:fixed}.action-button:disabled{opacity:.58}.action-button--ready{color:#4b3d27;background:#ffdd70eb}.modal-backdrop{padding:0}.letter-modal{border:0;border-radius:0;width:100%;height:100dvh}.letter-modal__header{padding-top:max(14px, env(safe-area-inset-top))}.mail-tabs{overflow-x:auto}.mail-tabs button{flex:none}.mail-layout{grid-template-columns:minmax(128px,.42fr) minmax(0,1fr);gap:8px;padding:8px}.letter-row{grid-template-columns:1fr;padding:10px}.letter-row time{display:none}.letter-paper{padding:20px 16px}.letter-paper__meta{gap:5px;margin-bottom:22px;display:grid}}@media (max-width:460px){.login-card{padding:32px 24px}.mail-layout{grid-template-rows:minmax(92px,.32fr) minmax(0,1fr);grid-template-columns:1fr}.letter-list{gap:7px;display:flex;overflow-x:auto}.letter-row{min-width:155px;margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
