/* Three local, accessible palettes share the same functional layout. */
:root,[data-theme=pistachio]{--bg:#f7f7ec;--card:#fffef8;--text:#213e30;--muted:#65715e;--line:#e3e7d6;--brand:#537748;--soft:#edf1df;--green:#537748;--glow:#dfe8bc;--shade:#375630;--mascot-position:0%;--red:#b64b50}
[data-theme=rose]{--bg:#fff5f0;--card:#fffaf6;--text:#4c302c;--muted:#85635e;--line:#f0dfd8;--brand:#b95760;--soft:#fbe8e3;--green:#b95760;--glow:#f8d9d0;--shade:#984550;--mascot-position:50%}
[data-theme=lavender]{--bg:#f6f3ff;--card:#fdfbff;--text:#352b62;--muted:#756b91;--line:#e5dff2;--brand:#7964b3;--soft:#ede7fa;--green:#7964b3;--glow:#e0d7f6;--shade:#5f4a99;--mascot-position:100%}
body{background:radial-gradient(ellipse at 100% 12%,var(--glow),transparent 47%),var(--bg);background-attachment:fixed;color:var(--text);line-height:1.5}.app{max-width:1080px;padding-top:max(25px,env(safe-area-inset-top));padding-bottom:120px}.top{position:relative;flex-wrap:nowrap;align-items:center;margin-bottom:18px}.brand-heading{gap:9px}.top h1{font-size:23px;letter-spacing:-.065em;font-weight:800}.top .sub{font-size:12px;max-width:230px;color:var(--muted)}.version-pill{font-size:9px;background:var(--card);color:var(--muted);padding:4px 7px;border:1px solid var(--line);position:absolute;right:0;bottom:-17px}.status{font-size:10px;color:var(--muted);margin-top:12px;margin-bottom:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 7px 24px color-mix(in srgb,var(--shade) 6%,transparent),inset 0 1px 0 #fff;margin-bottom:18px;padding:20px}.sectionTitle b{font-size:16px}.summary-card{background:linear-gradient(135deg,var(--card),var(--soft));color:var(--text)}.summary-card .eyebrow,.metric span{color:var(--muted)}.summary-card .sectionTitle{margin-bottom:15px}.summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric:first-child{grid-column:auto;border:0;padding:0}.metric+.metric,.metric:nth-child(3){border-left:1px solid var(--line);padding-left:10px}.metric b,.metric.exp b,.metric.inc b,.metric:first-child b{font-size:19px;color:var(--text);margin-top:5px;white-space:nowrap;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.metric span{font-size:10px}.budget-inline{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.budget-track{background:var(--line)}.budget-track>div{background:var(--brand)!important}.budget-edit{color:var(--brand)}.budget-line{color:var(--muted)}
.input-card{position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 20%,var(--soft),transparent 65%),var(--card)}.hero h2{color:var(--text);font-size:23px}.hero-sub{color:var(--muted);font-size:12px}.mic{width:90px;height:90px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 78%,white),var(--brand));box-shadow:0 0 0 7px var(--soft),0 8px 20px color-mix(in srgb,var(--brand) 22%,transparent),inset 0 1px 2px #ffffff90;border:1px solid #ffffff80;border-radius:50%;color:white;margin:12px 0 19px}.mic .app-icon{width:37px;height:37px;stroke-width:1.7}.mic.listening{background:#b34d55;box-shadow:0 0 0 8px #f8dfe0;animation:mic-breathe 1.4s ease-in-out infinite}.keyboard-link{display:block;width:100%;background:var(--soft);color:var(--brand);border-radius:20px;text-decoration:none;padding:11px;margin:6px auto}.input-card textarea,input,select,textarea{background:var(--card);color:var(--text);border-color:var(--line);border-radius:13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:2px}.primary{background:var(--brand);box-shadow:0 3px 8px color-mix(in srgb,var(--shade) 15%,transparent);border-radius:14px}.primary:active{box-shadow:none}.secondary{background:var(--card);border-color:var(--line);color:var(--text)}.quick-chips button,.quick-chips button:nth-child(n){background:var(--soft);color:var(--brand)}.hint,.notice,label,.help-line,.hero-sub,.transaction-meta,.chart-label small{color:var(--muted)}
.transaction-row{grid-template-columns:37px minmax(0,1fr) auto;background:linear-gradient(100deg,var(--soft),var(--card));border:1px solid var(--line);border-radius:17px;padding:13px 11px;margin:10px 0;gap:10px;align-items:start}.transaction-row:last-child{border:1px solid var(--line)}.category-icon{background:var(--card);border-radius:50%;width:35px;height:35px;color:var(--brand);box-shadow:0 3px 8px #00000005}.app-icon{display:inline-block;width:23px;height:23px;vertical-align:middle;flex-shrink:0}.category-icon .app-icon{width:21px;height:21px}.transaction-name{font-weight:750}.transaction-amount{font-size:14px;color:var(--text)}.transaction-amount.income{color:var(--brand)}.row-actions button{color:var(--muted)}.nav{background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line);box-shadow:0 -4px 20px #00000003}.navbtn{color:var(--muted);border-radius:17px}.navbtn span{display:block;margin-bottom:4px}.navbtn.active{background:var(--soft);color:var(--brand)}.navbtn.active .app-icon{fill:color-mix(in srgb,var(--brand) 12%,transparent)}.bar{background:var(--soft)}.fill{background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 60%,white))}.chart-label b,.preview-summary strong,.category-message{color:var(--brand)}.result-summary,.category-form,.feature-form{background:var(--soft);color:var(--text)}.preview{background:var(--card);border-color:var(--brand)}.preview-summary,.settingRow{border-color:var(--line)}.toast{background:var(--shade)}.checkline input{accent-color:var(--brand)}.filters .reset-full button{background:var(--soft);color:var(--brand)}details summary{cursor:pointer;padding:12px 0;color:var(--brand);font-size:13px;font-weight:650}
/* Original high-resolution artwork is displayed as three CSS frames. */
.pig,.top .pig,.intro .pig{width:var(--pig-size,90px);height:var(--pig-size,90px);border:0;border-radius:0;background-image:url('mascots.png');background-size:300% 100%;background-position:var(--mascot-position) center;background-color:transparent;box-shadow:none;mix-blend-mode:multiply;isolation:auto}.pig:before,.pig:after,.pig>span{display:none}.top .pig{--pig-size:72px;margin:0}.intro{background:radial-gradient(circle at 50% 40%,var(--soft),var(--bg) 65%)}.intro .pig{--pig-size:170px}.intro-title{color:var(--text)}.intro-copy,.intro-skip{color:var(--muted)}.theme-settings{grid-column:1/-1}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.theme-option{position:relative;text-align:center;border:2px solid transparent;border-radius:19px;padding:8px 5px 14px;cursor:pointer;min-width:0}.theme-option.pistachio{background:#f0f3e4;color:#36512f;--pos:0%}.theme-option.rose{background:#ffede8;color:#84464c;--pos:50%}.theme-option.lavender{background:#eee8fb;color:#594584;--pos:100%}.theme-mascot{display:block;width:90px;max-width:100%;aspect-ratio:1;background:url('mascots.png') var(--pos) center/300% 100%;mix-blend-mode:multiply;margin:auto}.theme-option strong{display:block;font-size:12px;letter-spacing:-.06em}.theme-option small{display:block;font-size:10px;margin-top:4px}.theme-option[aria-pressed=true]{border-color:var(--brand);box-shadow:0 4px 16px #0000000a}.theme-check{position:absolute;right:7px;top:5px;display:none;font-size:14px}.theme-option[aria-pressed=true] .theme-check{display:block}.theme-swatches{display:flex;gap:4px;justify-content:center;margin:4px 0 8px}.theme-swatches i{width:9px;height:9px;background:currentColor;border-radius:50%}.theme-swatches i:nth-child(2){opacity:.45}.theme-swatches i:nth-child(3){background:#fff}.theme-option:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@keyframes mic-breathe{50%{box-shadow:0 0 0 13px #f8dfe0}}@media(max-width:370px){.app{padding-left:12px;padding-right:12px}.card{padding:16px}.top h1{font-size:21px}.top .pig{--pig-size:58px}.theme-option strong{font-size:10px}.transaction-row{grid-template-columns:30px minmax(0,1fr) auto;gap:7px}.category-icon{width:29px;height:29px}.metric b,.metric:first-child b{font-size:17px}}@media(min-width:900px){.card{padding:26px}.top .pig{--pig-size:86px}.top h1{font-size:30px}.summary .metric:first-child b{font-size:23px}.metric b{font-size:23px}.theme-option{padding:15px}.theme-option strong{font-size:15px}.theme-mascot{width:125px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.feature-status,.feature-settings details>summary{color:var(--brand)}.batch-panel,.remember-wrap{background:var(--soft)}.batch-item{background:var(--card);color:var(--text);border-color:var(--line)}.batch-item.selected{background:var(--soft);border-color:var(--brand)}.small-action{color:var(--muted)}.theme-option small{line-height:1.4}.stats-total{color:var(--text)}
