/* Singapore daylight: a painted frame, with quiet opaque surfaces for the figures. */
@font-face{font-family:'Righteous';src:url('assets/fonts/Righteous-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Yellowtail';src:url('assets/fonts/Yellowtail-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#24464a;--green:#25877c;--bg:#e9f6f2;--line:#e1ece7}
html{min-height:100%;background:#e9f6f2}
body{position:relative;isolation:isolate;min-height:100vh;background:transparent;color:var(--ink)}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:#e5f4ef url('assets/singapore-paradise.png') center center/cover no-repeat}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(242,252,247,.02),rgba(247,253,249,.2) 25%,rgba(247,253,249,.2) 75%,rgba(242,252,247,.02))}
.soft-topbar{background:rgba(249,255,251,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);border-top:0;border-radius:0 0 17px 17px;padding-left:18px;padding-right:18px;box-shadow:0 5px 20px #244c4510}
.soft-brand,.auth-brand{color:#285453}.soft-brand>svg{color:#399889}.soft-brand>span,.auth-brand small{color:#769c8c}
.heading{padding:16px 18px;margin-left:-18px;margin-right:-18px;background:rgba(249,255,250,.84);border:1px solid #ffffffa8;border-radius:13px;backdrop-filter:blur(12px);box-shadow:0 3px 18px #275a4f07}
.heading h1{color:#24484c}.heading .subtitle{color:#66867f}
.card{background:rgba(255,254,250,.97);border-color:#e0ebe3;box-shadow:0 5px 20px #2b64510a}
.manual-section-title{padding:12px 14px;background:rgba(249,255,249,.93);border:1px solid #ffffffc2;border-radius:10px}
.manual-section-title h2,.soft-section-heading h2{color:#345b54}.manual-section-title p{color:#71877b}
.soft-section-heading{background:rgba(249,255,250,.9);border-radius:10px;padding:12px 14px}.soft-section-heading p{color:#78988a}
.btn.primary,.auth-card .btn.primary{background:#318e80;border-color:#318e80;color:#fff}.btn.primary:hover,.auth-card .btn.primary:hover{background:#287a70;border-color:#287a70}
.btn.text{color:#618c7b}.btn.text:hover{color:#246d60}.select,.input{background:#fffefa;border-color:#dce8de}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#58aa98}
.manual-local{background:#e0f1e6;color:#4d8b6f}.manual-storage-note{background:rgba(247,255,245,.95);color:#719080;border-color:#dcebdc;box-shadow:0 3px 15px #244c4506}
.manual-storage-note .btn{color:#688b73}.manual-save{background:#fafff8f5;border-color:#d7e6d6;box-shadow:0 4px 24px #2b645112}.manual-save p{color:#7d9785}
.manual-content .form-field{color:#738577}.manual-account-row small{color:#82958a}.manual-account-row .input{background:#fffef9;border-color:#dce7db}
.manual-net{background:linear-gradient(110deg,#fcfff7fa,#f0f9ecfa);border-color:#dcebdc}.manual-net>div>p:first-child{color:#7c9780}.manual-net .large-stat{color:#31564d}
.info,.budget-note{background:#f4faeff5;color:#7b9274;border-color:#e1ecd8}.category-chip{background:#edf4e8;color:#7d9675}
.bottom-nav{background:#fafff6ed;border-color:#e0ebd8;box-shadow:0 5px 35px #224d3520}.bottom-nav>button{color:#7b998b}.bottom-nav>button.active,.bottom-nav>button:hover{background:#dfefe0;color:#397f68}
.sidebar{background:#fbfff6;border-color:#d7e7d4}.sidebar nav button{color:#799282}.sidebar nav button.active,.sidebar nav button:hover{background:#e7f3e2;color:#57886a}.drawer-title{color:#557660}.drawer-title button,.drawer-note{color:#85a087}.sidebar.open~.mobile-shade{background:#254d4433}
.modal-backdrop{background:#244b453b}.modal{background:#fffef9;border-color:#e1e9d7}.modal .input,.modal .select{border-color:#dce7d7}.close{color:#85a58e}
.auth-screen{background:transparent}.auth-card{background:rgba(255,254,248,.95);border-color:#ffffffd9;box-shadow:0 20px 80px #163d3b28;backdrop-filter:blur(12px)}
.auth-card h1{color:#28514e}.auth-card>p{color:#7c9586}.auth-card label{color:#718a79}.auth-card input{background:#fcfff7;border-color:#dce8d5}.auth-hint,.auth-foot{color:#87a086}.auth-error{color:#b7674f}
.footer{color:#385e52;background:rgba(247,255,247,.83);border:1px solid #ffffffb3;border-radius:9px;padding:10px 13px}.demo-label{background:#f9fff5;border-color:#e0ebd7;color:#81a17f}
#toast{background:#387b69}.filter-options{border-color:#d8e6d2;background:#fcfff7;box-shadow:0 12px 38px #275d452b}.filter-option[aria-selected="true"]{background:#e4f1de;color:#5d8b68}.filter-option:hover,.filter-option:focus{background:#eef7e8;color:#557c5e}.filter-trigger[aria-expanded="true"]{border-color:#a4c9a1;background:#f4fbea}.filter-tick{color:#639b75}
@media(min-width:1700px){body::before{background-size:100% 100%}}
@media(max-width:800px){body::before{background-position:66% center}.heading{margin-left:0;margin-right:0;padding:14px}.soft-topbar{padding-left:14px;padding-right:14px}.manual-content .heading{gap:13px}}
@media(max-width:650px){body::before{background-position:70% center}body::after{background:rgba(243,253,242,.12)}.content{padding-top:15px}.soft-topbar{padding-left:10px;padding-right:10px}.heading{padding:13px 11px;margin-bottom:16px}.heading h1{font-size:21px}.heading .subtitle{color:#66867f}.manual-section-title{padding:11px 10px}.manual-section-title h2{font-size:12px}.manual-section-title p{font-size:10px}.manual-storage-note{background:#f8fff3f5}.manual-save{background:#fcfff8f5}.bottom-nav{border-color:#dbe8d5;box-shadow:0 -4px 25px #21503712}.auth-card{background:rgba(255,255,248,.94);padding:26px 23px}.auth-screen{padding:22px 18px}.auth-foot{color:#7d987e}.footer{line-height:1.7}}

/* A shared pastel veil blends the painting and surfaces into one atmosphere. */
:root{--glass-surface:rgba(242,250,247,.34);--glass-border:rgba(255,255,255,.23);--ink:#355c60}
body::before{filter:saturate(.64) contrast(.8) brightness(1.07)}
body::after{background:linear-gradient(135deg,rgba(233,247,244,.42),rgba(249,241,246,.44) 55%,rgba(225,245,239,.43))}
.soft-topbar,.heading,.card,.manual-net,.manual-section-title,.soft-section-heading,.manual-storage-note,.info,.budget-note,.footer{background:var(--glass-surface);border-color:var(--glass-border);box-shadow:0 3px 18px #416c6505;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.manual-components .card{background:rgba(234,247,242,.32);border-color:var(--glass-border);box-shadow:0 3px 14px #416c6504}
.manual-components .mint{background:rgba(221,241,230,.35)}.manual-components .peach{background:rgba(247,226,220,.29)}.manual-components .yellow{background:rgba(246,237,206,.3)}.manual-components .lavender{background:rgba(231,224,244,.32)}
.manual-net .large-stat,.manual-net>div>p:first-child{color:#416b66}.manual-net .manual-house{opacity:.63}
.manual-storage-note{color:#647e74}.manual-content .info{color:#617c6a}.manual-components small{color:#677f77}.manual-components span{color:#789087}
.manual-save,.bottom-nav{background:rgba(239,250,245,.64);border-color:rgba(255,255,255,.32);box-shadow:0 3px 22px #416c6509;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.bottom-nav>button.active,.bottom-nav>button:hover{background:rgba(192,224,212,.45);color:#49796c}
.soft-brand,.auth-brand{font-family:'Yellowtail',cursive;font-weight:400;font-size:33px;letter-spacing:.1px;color:#996779;text-shadow:1px 2px 0 rgba(144,198,192,.5)}
.soft-brand>span,.auth-brand small{font-family:'DM Sans',Arial,sans-serif;font-size:10px;font-weight:400;letter-spacing:0;color:#6e9289;text-shadow:none}
.soft-brand>svg{width:17px;height:17px;opacity:.65}
.heading h1,.manual-content .heading h1,.auth-card h1{font-family:'Righteous',Arial,sans-serif;font-weight:400;letter-spacing:.025em;line-height:1.28;color:#456e74;text-transform:uppercase;font-size:clamp(21px,2.15vw,28px)}
.manual-section-title h2,.soft-section-heading h2,.drawer-title strong{font-family:'Righteous',Arial,sans-serif;font-weight:400;letter-spacing:.02em;color:#547c79}
.auth-card{background:rgba(245,250,246,.44);border-color:rgba(255,255,255,.28);box-shadow:0 15px 55px #416c6510;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.auth-brand{font-size:42px}.auth-card h1{font-size:25px}.auth-card>p,.auth-card label{color:#657e74}.auth-card input,.input,.select,.manual-account-row .input,.modal .input,.modal .select{background:rgba(250,254,249,.48);border-color:rgba(190,216,205,.42)}
.btn{background:rgba(248,253,248,.48);border-color:rgba(201,220,210,.45)}.btn.primary,.auth-card .btn.primary{background:#609a91;border-color:#609a91}.btn.primary:hover,.auth-card .btn.primary:hover{background:#4c887e;border-color:#4c887e}
.modal{background:rgba(242,249,244,.8);border-color:rgba(255,255,255,.45);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-backdrop{background:rgba(94,127,121,.18)}
.amount,.large-stat,.wealth-number>strong,.manual-components strong{font-family:'DM Sans',Arial,sans-serif;font-variant-numeric:tabular-nums}
@media(max-width:650px){body::after{background:linear-gradient(135deg,rgba(233,247,244,.44),rgba(249,241,246,.46) 55%,rgba(225,245,239,.45))}.soft-brand{font-size:28px}.heading h1,.manual-content .heading h1{font-size:21px;line-height:1.35}.auth-card h1{font-size:23px}.manual-section-title h2{font-size:13px}.manual-house{opacity:.3}.manual-save,.bottom-nav{background:rgba(239,250,245,.7)}.auth-card{background:rgba(245,250,246,.47)}}
