:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#102b35;background:#edf2f4;font-synthesis:none;font-size:16px;--ink:#102b35;--green:#145e55;--line:#d9e2e6}*{box-sizing:border-box}body{margin:0}header{max-width:640px;margin:auto;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:24px 20px 18px;padding-top:max(24px,env(safe-area-inset-top))}.brand{font-weight:750;font-size:1.05rem;display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none}.brandmark{background:var(--ink);color:#c0f2d3;font-size:1.1rem;border-radius:12px;padding:8px 12px}#month-label{font-size:.875rem;color:#50616a;text-align:right}main{max-width:600px;margin:auto;padding:0 20px 115px}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:16px}.hero{background:var(--ink);color:white;border:0;padding:28px 24px}.hero small{color:#c1d6dc}.hero .amount{color:#baf5d1;font-size:clamp(2.3rem,11vw,4.1rem);font-weight:650;letter-spacing:-.04em;margin:12px 0}.hero p{color:#d7e4e7}.eyebrow{font-size:.875rem;letter-spacing:.07em;text-transform:uppercase;font-weight:600}h1{font-size:1.65rem;letter-spacing:-.035em;margin:12px 0 20px}h2{font-size:1.12rem;margin:0 0 14px}h3{font-size:1rem;margin:0 0 6px}p{line-height:1.5;margin:8px 0 16px}.muted,small{color:#546973;font-size:.875rem;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:13px;padding:13px 18px;font-weight:650;min-height:46px;background:var(--green);color:white}button:disabled{opacity:.5;cursor:default}button.secondary{color:var(--ink);background:#e9f0f3}button.danger{background:#a83228;color:white}button.link{background:none;color:var(--green);padding:8px 0;text-align:left}button.full{width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #438ab4;outline-offset:3px}label{display:block;font-weight:600;font-size:.9375rem;margin:18px 0 8px}input:not([type=checkbox]),select{width:100%;padding:14px 13px;border:1px solid #afc0c9;border-radius:12px;min-height:48px;background:white;color:var(--ink)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}form .full{margin-top:22px}.row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row strong{font-variant-numeric:tabular-nums}.row .description{min-width:0;overflow-wrap:anywhere}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.actions button{padding:10px 12px;font-size:.875rem}.badge{font-size:.875rem;color:var(--green);font-weight:650}.warning{border:1px solid #e4af74;background:#fff4e4;color:#663b17;border-radius:16px;padding:16px;margin-bottom:16px}.warning p:last-child{margin-bottom:0}.critical{background:#fff0ed;border-color:#e6a89d;color:#8b3022}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split .card{padding:18px}.split strong{display:block;font-size:1.3rem;margin-top:8px;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.chips button{background:#e5edf0;color:var(--ink);padding:10px 13px}.chips button[aria-pressed=true]{background:var(--green);color:white}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:4px;background:#ffffffed;border-top:1px solid var(--line);padding:10px 8px max(12px,env(safe-area-inset-bottom));backdrop-filter:blur(12px);z-index:5}nav button{color:#526770;background:none;padding:12px 10px;min-width:0;font-size:.875rem}nav button.active{color:var(--ink);background:#e1efeb}details summary{cursor:pointer;font-weight:600;padding:8px 0}dl{margin:12px 0}dt{color:#546973}dd{margin:6px 0 16px;font-weight:600}.check{display:flex;align-items:center;gap:12px;font-weight:500}.check small{display:block}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 18px;border-radius:14px;z-index:20;max-width:calc(100% - 32px);width:max-content;box-shadow:0 6px 24px #102b3530}dialog{border:1px solid var(--line);border-radius:22px;padding:24px;max-width:calc(100% - 32px);width:480px;color:var(--ink);max-height:85dvh;overflow:auto}dialog::backdrop{background:#102b3570}dialog h2{font-size:1.3rem}.empty{padding:18px 0;color:#546973}.error{color:#a83228;font-size:.9375rem;margin:12px 0}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.note{margin-top:20px}a{color:var(--green)}@media(min-width:750px){header{padding-top:40px}main{padding-top:12px}nav button{min-width:120px}}@media(prefers-reduced-motion:no-preference){.card{animation:in .18s ease-out}@keyframes in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:340px){main{padding-left:12px;padding-right:12px}.split{grid-template-columns:1fr}.hero{padding:22px 18px}header{padding:20px 12px}nav button{padding:12px 7px}}

.savings-button{margin-top:12px}nav button{flex:1;max-width:120px;padding:12px 4px;font-size:.8rem}@media(min-width:750px){nav button{min-width:0}}

/* Matching pastel colours for each destination. */
body{--pastel:#AACDDC;--page:#f1f7fd;--edge:#9abbd7;background:var(--page)}
body[data-view="spend"]{--pastel:#C7EABB;--page:#f0faf4;--edge:#8bbda0}
body[data-view="commitments"]{--pastel:#FBC3C1;--page:#fff6ef;--edge:#CF8F91}
body[data-view="month"]{--pastel:#BDA6CE;--page:#f7f3fd;--edge:#b5a2d5}
body[data-view="savings"]{--pastel:#AACDDC;--page:#f1f7fd;--edge:#9abbd7}
.card:not(.hero){background:linear-gradient(135deg,var(--pastel),#fff 78%);border-color:var(--edge)}
.hero{background:#AACDDC;color:var(--ink);border:1px solid #9abbd7}
.hero small,.hero p{color:#365469}.hero .amount{color:#174d70}
nav button[data-view="home"]{--tab:#AACDDC;--tab-edge:#799fbe}
nav button[data-view="spend"]{--tab:#C7EABB;--tab-edge:#6d9f82}
nav button[data-view="commitments"]{--tab:#FBC3C1;--tab-edge:#B57578}
nav button[data-view="month"]{--tab:#BDA6CE;--tab-edge:#9781b8}
nav button[data-view="savings"]{--tab:#AACDDC;--tab-edge:#799fbe}
nav button,nav button.active{background:var(--tab);color:var(--ink);border:2px solid transparent;padding:10px 2px;font-size:clamp(.65rem,2.8vw,.8rem)}
nav button.active{border-color:var(--tab-edge);box-shadow:0 2px 5px #102b351a}
nav button:focus-visible{outline:3px solid #174d70;outline-offset:2px}
/* Dark Home gives the daily allowance a clear focal point. */
body[data-view="home"]{--page:#171b20;--pastel:#252c34;--edge:#46525e;color:#f5f7fa}
body[data-view="home"] .brand,body[data-view="home"] h1,body[data-view="home"] h2{color:#f5f7fa}
body[data-view="home"] #month-label,body[data-view="home"] .muted,body[data-view="home"] small,body[data-view="home"] dt{color:#c4ced8}
body[data-view="home"] .card:not(.hero){background:#252c34;border-color:#46525e}
body[data-view="home"] .hero{background:#0c1015;color:#f5f7fa;border-color:#46525e}
body[data-view="home"] .hero small,body[data-view="home"] .hero p{color:#c4ced8}
body[data-view="home"] .hero .amount{color:#baf5d1}
body[data-view="home"] .row,body[data-view="home"] hr{border-color:#46525e}
body[data-view="home"] button.link,body[data-view="home"] a:not(.brand){color:#baf5d1}
body[data-view="home"] dialog{color:#102b35}
body[data-view="home"] dialog h2{color:#102b35}
nav button[data-view="home"],nav button[data-view="home"].active{--tab:#171b20;--tab-edge:#c4ced8;color:#f5f7fa}
/* Pastel navigation names on the dark Home screen. */
body[data-view="home"] nav{background:#171b20ed;border-top-color:#46525e}
body[data-view="home"] nav button{background:var(--tab);color:var(--tab-ink)}
body[data-view="home"] nav button[data-view="home"]{background:#0c1015;color:#ffffff}
body[data-view="home"] nav button.active{border-color:#c4ced8}
body[data-view="home"] nav button:focus-visible{outline-color:#c4ced8}

nav button[data-view="spend"]{--tab-ink:#245d40}
nav button[data-view="commitments"]{--tab-ink:#763D42}
nav button[data-view="month"]{--tab-ink:#49345F}
nav button[data-view="savings"]{--tab-ink:#285779}

/* Black page backdrop frames each section's pastel cards. */
body,body[data-view]{background:#0c1015}
header .brand{color:#f5f7fa}
#month-label{color:#c4ced8}
main>h1,main>.welcome{color:#f5f7fa}
main>p.muted{color:#c4ced8}
.welcome{margin:0 0 22px}
.welcome h1{font-size:1.45rem;line-height:1.3;margin:4px 0 8px}
.welcome p{font-size:1rem;color:#c4ced8;margin:0;line-height:1.5}
nav{background:#0c1015ed;border-top-color:#46525e}
nav button,nav button.active{color:var(--tab-ink,var(--ink))}
nav button[data-view="home"],nav button[data-view="home"].active{background:#0c1015;color:#fff}
/* Keep the longest navigation label on one line on smaller phones. */
nav button[data-view="commitments"]{font-size:clamp(.6rem,2.5vw,.75rem);white-space:nowrap}
/* Give the longest label more room without rotating the navigation. */
nav{display:grid;grid-template-columns:.75fr 1fr 1.4fr .75fr 1fr;gap:4px}
nav button{width:100%;max-width:none;min-width:0;white-space:nowrap}
@media(min-width:750px){nav{grid-template-columns:90px 120px 168px 90px 120px}}

/* A soft cloud-shaped explanation, with readable space for the full guidance. */
body[data-view="home"] .card.explanation-cloud:not(.hero){position:relative;background:#edf5fa;color:#102b35;border:2px solid #aacddc;border-radius:42px 52px 44px 28px;padding:26px 24px;margin:8px 0 30px;box-shadow:0 5px 0 #aacddc26}
body[data-view="home"] .explanation-cloud::after{content:"";position:absolute;bottom:-12px;left:40px;width:22px;height:22px;background:#edf5fa;border-right:2px solid #aacddc;border-bottom:2px solid #aacddc;transform:rotate(45deg);border-radius:0 0 5px 0}
body[data-view="home"] .explanation-cloud h2{color:#102b35}
body[data-view="home"] .explanation-cloud .muted{color:#455d6b}
.explanation-cloud .cake{margin-bottom:0}

body[data-view="home"] .card.explanation-cloud:not(.hero) p,body[data-view="home"] .card.explanation-cloud:not(.hero) h2{color:#102b35}
body[data-view="home"] .card.explanation-cloud:not(.hero) p.muted{color:#455d6b}


/* v8 — friendlier Home money compass */
.home-welcome{padding:4px 2px 0}.hello-pill{display:inline-block;background:#ffe8a8;color:#5b4712;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:800;letter-spacing:.02em;margin-bottom:8px}.home-welcome h1{margin-bottom:7px}.spend-compass{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 10px}.compass-card{min-width:0;border-radius:22px;padding:16px 11px 15px;text-align:center;color:#102b35;box-shadow:0 5px 16px #00000022;border:2px solid #ffffff80}.compass-card.month-card{background:#bfe2f2}.compass-card.week-card{background:#f7d7a7}.compass-card.today-card{background:#c7eabb}.compass-icon{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 9px;border-radius:50%;background:#ffffffa8;font-weight:850;font-size:.9rem}.compass-label{display:block;font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.045em;opacity:.7}.compass-card h2{color:#102b35!important;font-size:.88rem;margin:4px 0 10px}.compass-card strong{display:block;font-size:clamp(1.05rem,5vw,1.55rem);letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.compass-card small{display:block;color:#405762!important;font-size:.67rem;line-height:1.25;margin-top:8px}.compass-note{text-align:center;color:#cbd6df;font-size:.84rem;margin:8px 8px 13px}.quick-spend{background:#f4f7f9;color:#102b35;margin-bottom:16px;box-shadow:0 3px 10px #00000020}.home-mini .card{border-radius:18px}.home-mini .card:first-child{background:#d7c8ed!important;color:#102b35}.home-mini .card:last-child{background:#fbc3c1!important;color:#102b35}.home-mini small{color:#405762!important}.home-mini strong{color:#102b35}@media(max-width:390px){.spend-compass{gap:7px}.compass-card{padding:14px 7px}.compass-card strong{font-size:clamp(.95rem,4.7vw,1.35rem)}.compass-card h2{font-size:.78rem}.compass-card small{font-size:.61rem}}

/* v9 — WhatzDue: light, airy pages with soft currency confetti. */
body,body[data-view]{background:#fff;color:var(--ink)}
header,.brand,#month-label,main,nav{position:relative;z-index:2}
header .brand,body[data-view="home"] .brand,main>h1,main>.welcome,body[data-view="home"] h1,body[data-view="home"] h2{color:var(--ink)}
#month-label,body[data-view="home"] #month-label,main>p.muted,.welcome p,body[data-view="home"] .muted,body[data-view="home"] small,body[data-view="home"] dt,.compass-note{color:#546973}
body[data-view="home"] .card:not(.hero){background:linear-gradient(135deg,var(--pastel),#fff 78%);border-color:var(--edge);color:var(--ink)}
body[data-view="home"] nav,nav{background:#ffffffed;border-top-color:#d9e2e6}
body[data-view="home"] nav button[data-view="home"],nav button[data-view="home"],nav button[data-view="home"].active{background:#102b35;color:#fff}
.heading-explainer{display:block;margin-top:.22rem;font-size:.46em;font-weight:650;color:#647780;letter-spacing:.01em}
.inline-explainer{font-size:.82em;font-weight:650;color:#4e6570}
.currency-confetti{position:fixed;inset:-12vh 0 0;overflow:hidden;pointer-events:none;z-index:0;color:#8fd0ed;opacity:.32}
.currency-confetti i{position:absolute;top:-12vh;font-style:normal;font-weight:800;line-height:1;animation:currency-fall 5.8s linear infinite;will-change:transform}
.currency-confetti i:nth-child(1){left:4%;font-size:48px;--r:-18deg;animation-delay:0s;animation-duration:5.15s}
.currency-confetti i:nth-child(2){left:17%;font-size:26px;--r:13deg;animation-delay:-2.1s;animation-duration:5.50s}
.currency-confetti i:nth-child(3){left:32%;font-size:61px;--r:-9deg;animation-delay:-4.7s;animation-duration:5.85s}
.currency-confetti i:nth-child(4){left:49%;font-size:20px;--r:22deg;animation-delay:-1.3s;animation-duration:6.20s}
.currency-confetti i:nth-child(5){left:67%;font-size:39px;--r:-15deg;animation-delay:-3.8s;animation-duration:4.80s}
.currency-confetti i:nth-child(6){left:82%;font-size:56px;--r:18deg;animation-delay:-0.6s;animation-duration:5.15s}
.currency-confetti i:nth-child(7){left:94%;font-size:29px;--r:-12deg;animation-delay:-5.1s;animation-duration:5.50s}
.currency-confetti i:nth-child(8){left:10%;font-size:34px;--r:24deg;animation-delay:-3s;animation-duration:5.85s}
.currency-confetti i:nth-child(9){left:25%;font-size:52px;--r:-20deg;animation-delay:-0.9s;animation-duration:6.20s}
.currency-confetti i:nth-child(10){left:41%;font-size:28px;--r:11deg;animation-delay:-4.2s;animation-duration:4.80s}
.currency-confetti i:nth-child(11){left:58%;font-size:66px;--r:-24deg;animation-delay:-2.6s;animation-duration:5.15s}
.currency-confetti i:nth-child(12){left:74%;font-size:23px;--r:17deg;animation-delay:-5.5s;animation-duration:5.50s}
.currency-confetti i:nth-child(13){left:89%;font-size:45px;--r:-8deg;animation-delay:-1.8s;animation-duration:5.85s}
.currency-confetti i:nth-child(14){left:2%;font-size:22px;--r:15deg;animation-delay:-4.9s;animation-duration:6.20s}
.currency-confetti i:nth-child(15){left:20%;font-size:68px;--r:-17deg;animation-delay:-2.9s;animation-duration:4.80s}
.currency-confetti i:nth-child(16){left:37%;font-size:37px;--r:21deg;animation-delay:-0.2s;animation-duration:5.15s}
.currency-confetti i:nth-child(17){left:53%;font-size:49px;--r:-11deg;animation-delay:-3.4s;animation-duration:5.50s}
.currency-confetti i:nth-child(18){left:70%;font-size:31px;--r:25deg;animation-delay:-1.1s;animation-duration:5.85s}
.currency-confetti i:nth-child(19){left:86%;font-size:63px;--r:-21deg;animation-delay:-4.4s;animation-duration:6.20s}
.currency-confetti i:nth-child(20){left:97%;font-size:36px;--r:9deg;animation-delay:-2.2s;animation-duration:4.80s}
.currency-confetti i:nth-child(21){left:13%;font-size:57px;--r:-25deg;animation-delay:-5.7s;animation-duration:5.15s}
.currency-confetti i:nth-child(22){left:29%;font-size:24px;--r:16deg;animation-delay:-1.6s;animation-duration:5.50s}
.currency-confetti i:nth-child(23){left:46%;font-size:43px;--r:-14deg;animation-delay:-3.6s;animation-duration:5.85s}
.currency-confetti i:nth-child(24){left:64%;font-size:54px;--r:20deg;animation-delay:-0.8s;animation-duration:6.20s}
.currency-confetti i:nth-child(25){left:79%;font-size:27px;--r:-19deg;animation-delay:-4.6s;animation-duration:4.80s}
@keyframes currency-fall{0%{transform:translate3d(0,-12vh,0) rotate(var(--r));opacity:.15}12%{opacity:1}100%{transform:translate3d(24px,122vh,0) rotate(calc(var(--r) + 95deg));opacity:.75}}
@media(prefers-reduced-motion:reduce){.currency-confetti i{animation:none}}

/* v13: currency particles float freely rather than falling */
.currency-confetti{inset:0;overflow:hidden}
.currency-confetti i{top:var(--y,50%);animation-name:currency-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.currency-confetti i:nth-child(1){--y:8%;--dx:52px;--dy:28px}
.currency-confetti i:nth-child(2){--y:21%;--dx:-42px;--dy:-34px}
.currency-confetti i:nth-child(3){--y:38%;--dx:36px;--dy:-26px}
.currency-confetti i:nth-child(4){--y:61%;--dx:-55px;--dy:24px}
.currency-confetti i:nth-child(5){--y:79%;--dx:46px;--dy:-38px}
.currency-confetti i:nth-child(6){--y:14%;--dx:-35px;--dy:42px}
.currency-confetti i:nth-child(7){--y:46%;--dx:30px;--dy:36px}
.currency-confetti i:nth-child(8){--y:72%;--dx:-48px;--dy:-25px}
.currency-confetti i:nth-child(9){--y:88%;--dx:40px;--dy:-42px}
.currency-confetti i:nth-child(10){--y:30%;--dx:-30px;--dy:48px}
.currency-confetti i:nth-child(11){--y:55%;--dx:58px;--dy:-30px}
.currency-confetti i:nth-child(12){--y:93%;--dx:-40px;--dy:-32px}
.currency-confetti i:nth-child(13){--y:18%;--dx:34px;--dy:44px}
.currency-confetti i:nth-child(14){--y:68%;--dx:48px;--dy:-34px}
.currency-confetti i:nth-child(15){--y:42%;--dx:-52px;--dy:28px}
.currency-confetti i:nth-child(16){--y:84%;--dx:38px;--dy:-46px}
.currency-confetti i:nth-child(17){--y:26%;--dx:-44px;--dy:36px}
.currency-confetti i:nth-child(18){--y:51%;--dx:42px;--dy:30px}
.currency-confetti i:nth-child(19){--y:75%;--dx:-36px;--dy:-40px}
.currency-confetti i:nth-child(20){--y:10%;--dx:-50px;--dy:32px}
.currency-confetti i:nth-child(21){--y:63%;--dx:56px;--dy:38px}
.currency-confetti i:nth-child(22){--y:35%;--dx:-32px;--dy:-44px}
.currency-confetti i:nth-child(23){--y:90%;--dx:45px;--dy:-28px}
.currency-confetti i:nth-child(24){--y:5%;--dx:-38px;--dy:46px}
.currency-confetti i:nth-child(25){--y:57%;--dx:50px;--dy:-36px}
@keyframes currency-float{0%{transform:translate3d(calc(var(--dx) * -.45),calc(var(--dy) * -.55),0) rotate(var(--r));opacity:.45}35%{transform:translate3d(calc(var(--dx) * .3),calc(var(--dy) * -.15),0) rotate(calc(var(--r) + 28deg));opacity:.9}70%{transform:translate3d(calc(var(--dx) * -.2),calc(var(--dy) * .45),0) rotate(calc(var(--r) - 20deg));opacity:.65}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(calc(var(--r) + 55deg));opacity:.85}}

/* Currency selection stays available on every screen. */
.header-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}
.currency-picker{display:flex;align-items:center;gap:7px}
.currency-picker label{margin:0;font-size:.75rem;color:#546973;font-weight:500}
.currency-picker select{width:auto;min-height:44px;padding:8px 10px;border-radius:12px;font-size:.875rem;background:#eef8ee}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:360px){header{gap:8px}.brand{gap:6px;font-size:.95rem}.currency-picker label{display:none}#month-label{font-size:.75rem}}

/* Two independent selectors, with room for translated navigation. */
header{flex-wrap:wrap}.header-tools{flex:1;min-width:150px}.preference-pickers{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.language-picker{display:flex;align-items:center;gap:7px}.language-picker label{margin:0;font-size:.75rem;color:#546973;font-weight:500}
.language-picker select{width:auto;max-width:135px;min-height:44px;padding:8px 10px;border-radius:12px;font-size:.875rem;background:#eef8ee}
nav button{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:430px){.preference-pickers label{display:none}.header-tools{flex-basis:100%;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.language-picker select{max-width:120px}#month-label{font-size:.8rem}header{row-gap:10px}nav button{font-size:.75rem}}

nav button{white-space:normal;line-height:1.2}

/* App-owned dropdown lists avoid iPhone native picker overlays. */
.picker-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:44px;padding:8px 10px;border:1px solid #afc0c9;border-radius:12px;background:#eef8ee;color:var(--ink);font-size:.875rem;font-weight:600}
.preference-menu{display:grid;gap:8px;margin:16px 0}.preference-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;min-height:48px;background:#edf2f4;color:var(--ink);border:2px solid transparent;text-align:left}
.preference-option[aria-pressed="true"]{background:#d8efdf;border-color:#145e55}.preference-help{margin:14px 0}
@media(max-width:340px){.picker-button{font-size:.8rem;padding:8px}.preference-pickers{gap:5px}}

.backup-tools{max-width:960px;margin:0 auto;padding:0 20px;text-align:right}.backup-tools button{min-height:44px}

/* FreedomPocket travel scene and decision tool */
.destination-scene{position:relative;min-height:275px;border-radius:26px;overflow:hidden;margin:12px 0 20px;background:linear-gradient(170deg,#8bd9f5 0%,#d6f5ff 49%,#f7dca8 50%,#f0b876 100%);box-shadow:0 12px 28px #183a4822}
.scene-paris{background:linear-gradient(155deg,#9bd8ee,#f6e4d0 62%,#d6a57e)}.scene-venice{background:linear-gradient(160deg,#80d6ed,#bde4df 55%,#f1c2a1 56%,#8ec8c6)}.scene-california{background:linear-gradient(155deg,#8fdcf6,#ffe9ac 58%,#f3bf72)}.scene-athens{background:linear-gradient(155deg,#7ac9ee,#d7e9e8 59%,#d5b58c)}.scene-thailand{background:linear-gradient(160deg,#8bd9eb,#b4e9c8 60%,#eac08c)}.scene-vietnam{background:linear-gradient(160deg,#8bc8c3,#cce8bb 55%,#d5a38a)}
.scene-sky{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-start;padding:18px 26px;font-size:65px;opacity:.58}.scene-sun{font-size:44px}.scene-art{font-size:108px;margin-top:25px}.scene-content{position:relative;margin:68px 14px 14px;padding:20px;border-radius:19px;background:#fffdf1dc;backdrop-filter:blur(5px);color:#183c48}.scene-content h1{font-size:clamp(1.45rem,5vw,2.35rem);line-height:1.15;margin:9px 0 14px;color:#183c48}.scene-greeting{font-weight:800;letter-spacing:.02em}.scene-change{background:#164d59;color:white;border-radius:12px;min-height:46px;padding:10px 15px;width:100%;font-size:.92rem}
.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.destination-choice{display:flex;flex-direction:column;gap:4px;align-items:center;background:#edf7f4;color:#173a40;padding:14px 5px;border:1px solid #c2dfd9;border-radius:16px;min-height:100px}.destination-choice span{font-size:27px}.destination-choice small{font-size:11px}.preview-cta{background:#0f6570!important;color:#fff!important;margin:8px 0 12px;min-height:55px;font-size:1.05rem}.preview-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0}.preview-results div{background:#e8f4ef;padding:12px 5px;border-radius:12px;text-align:center;min-width:0}.preview-results strong{display:block;font-size:clamp(.85rem,3.3vw,1.25rem);overflow-wrap:anywhere}.preview-safe{background:#e2f6e7;padding:13px;border-radius:12px}.preview-danger{background:#ffe1d9;padding:13px;border-radius:12px}
.brandmark{font-size:12px!important}.brand{font-size:clamp(1rem,4vw,1.35rem)!important}

.essentials-summary{margin:20px 0;border:2px solid #b9e2d4;background:#f3faf7}.essentials-summary .row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #d4e7e1}.essentials-summary strong{white-space:nowrap}.essentials-summary h2{margin-top:0}#your-name{width:100%;margin-bottom:16px}

/* Sunny, welcoming first-time experience; finance and storage logic unchanged */
body:has(.onboard-shell){background:linear-gradient(180deg,#91d8f6 0%,#dff6ff 34%,#fff4d7 73%,#ffe6b7 100%)!important;min-height:100dvh}
body:has(.onboard-shell) header,body:has(.onboard-shell) .backup-tools{position:relative;z-index:2}
.onboard-shell{position:relative;padding:0 0 24px;min-height:70dvh}
.onboard-landscape{height:150px;border-radius:30px 30px 0 0;background:linear-gradient(170deg,#80d8fa 5%,#c8f1ff 55%,#67c6dc 56%,#ffe2a3 88%);display:flex;align-items:center;justify-content:center;font-size:clamp(2rem,9vw,3.5rem);letter-spacing:5px;box-shadow:0 12px 24px #256b8520}
.onboard-panel{position:relative;margin:-28px 0 0;background:linear-gradient(150deg,#fffefa,#fff8e9);border-radius:32px;padding:26px 23px 30px;box-shadow:0 12px 30px #385d7029;border:2px solid #fff}
.onboard-panel h1{font-size:clamp(1.9rem,7vw,2.55rem);line-height:1.13;color:#103c4b;margin:14px 0}
.onboard-panel h2{font-size:1.4rem;line-height:1.25;color:#103c4b;margin:14px 0}
.onboard-panel p{color:#365d67;font-size:1rem;line-height:1.55}
.onboard-panel .onboard-tagline{font-size:1.25rem;font-weight:750;color:#116474}
.onboard-sun{font-size:2.4rem}.onboard-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#16737a;margin:10px 0}
.onboard-progress{display:inline-block;border-radius:40px;background:#fff0bf;color:#71571e;padding:7px 12px;font-size:.8rem;font-weight:800}
.onboard-tip{background:#e4f6ef;border-radius:18px;padding:16px;color:#1e5960;line-height:1.5;margin:20px 0}
.onboard-panel button.full{background:#076570;border-radius:18px;font-size:1.05rem;padding:17px 12px;margin-top:22px;box-shadow:0 5px 12px #05636b2b}
.onboard-panel input{border:2px solid #a8d6da!important;border-radius:16px!important;background:#fff!important}
body:has(.onboard-shell) .brandmark{background:#06616a;color:#fff}
@media(max-width:390px){.onboard-panel{padding:22px 17px}.onboard-landscape{height:125px}}

.onboard-panel .destination-choice{background:#e7f7f8;color:#103c4b;border:2px solid #b5dce0}.onboard-panel .destination-choice[aria-pressed="true"]{background:#fff0bf;border-color:#076570;box-shadow:0 0 0 2px #076570}.onboard-money-steps{color:#365d67;padding-left:24px;line-height:1.5}.onboard-money-steps li{padding:8px 0}

#nav[hidden]{display:none!important}

body[data-view="commitments"] .card{background:linear-gradient(135deg,#f1e5fb,#fff 78%);border-color:#c7b0dc;color:#102b35}body[data-view="commitments"] .card h2,body[data-view="commitments"] .card p{color:#102b35}.backup-tools .link{color:#145e55!important}

.commitments-welcome{min-height:0;padding-bottom:20px}.commitments-welcome .onboard-landscape{height:110px}.commitments-welcome .onboard-panel h1{font-size:1.8rem}body[data-view="welcome"] .card{background:#fff8e9;color:#102b35;border-color:#d7e7df}

/* Destination scenery follows every page. */
body[data-place="paris"]{--destination-art:url("./themes/paris.png");--destination-sky:#bce7f4;--destination-land:#ffe8d0}
body[data-place="venice"]{--destination-art:url("./themes/venice.png");--destination-sky:#b3e5ed;--destination-land:#8fced2}
body[data-place="california"]{--destination-art:url("./themes/california.png");--destination-sky:#abe5f9;--destination-land:#ffe4a7}
body[data-place="athens"]{--destination-art:url("./themes/athens.png");--destination-sky:#aee1f1;--destination-land:#eadcc4}
body[data-place="thailand"]{--destination-art:url("./themes/thailand.png");--destination-sky:#abe7ec;--destination-land:#c9edce}
body[data-place="vietnam"]{--destination-art:url("./themes/vietnam.png");--destination-sky:#b9e0d4;--destination-land:#ecdfbb}
body[data-place],body[data-place]:has(.onboard-shell){background:linear-gradient(180deg,var(--destination-sky),#fffdf5 700px)!important;min-height:100dvh}body[data-place]::before{content:"";position:fixed;inset:0;background-image:var(--destination-art);background-size:cover;background-position:center;opacity:.20;pointer-events:none;z-index:0}header,main,.backup-tools,.destination-ribbon-wrap{position:relative;z-index:1}.destination-ribbon-wrap{max-width:600px;margin:0 auto;padding:0 20px 10px}.destination-ribbon{width:100%;background:#fffdf2e8;color:#194e56;border:1px solid #fff;border-radius:18px;text-align:left}.destination-ribbon[hidden]{display:none}.onboard-landscape,.destination-scene{background-image:var(--destination-art)!important;background-size:cover!important;background-position:center!important}.onboard-landscape{color:transparent;text-shadow:none}body[data-place] .card:not(.hero){background:#fffef9ed!important;border-color:#ffffff;color:#102b35}body[data-place] .card p,body[data-place] .card h2{color:#102b35}.currency-confetti{opacity:.15}

/* V13: immersive holiday scenery with live HTML figures. */
body[data-place]{color:#173743!important}
body[data-place]::before{opacity:1;background-size:cover;background-position:center top}
body[data-place] header{background:#fffdf2ed;border-radius:0 0 20px 20px}
body[data-place] .brand,body[data-place] #month-label,body[data-place] main>h1,body[data-place] main>h2{color:#173743!important}
body[data-place] .backup-tools button{color:#173743!important;background:#fffdf2e8;border-radius:12px;padding:8px 12px}
body[data-place] .destination-home{border-radius:26px;overflow:hidden;background-image:var(--destination-art);background-size:cover;background-position:center;box-shadow:0 10px 30px #102b3555;padding:18px 12px 26px}
body[data-place] .destination-scene{min-height:240px;background:none!important;box-shadow:none;margin:0;border-radius:0;display:flex;align-items:flex-start}
body[data-place] .scene-content{margin:8px 0 24px;padding:18px;background:#fff2c9f2;border:3px solid #d5a86d;border-radius:7px;backdrop-filter:none;max-width:330px;box-shadow:0 5px 10px #24190f40;transform:rotate(-2deg)}
body[data-place] .scene-content h1{color:#173743!important;font-size:clamp(1.5rem,6vw,2.2rem);margin:8px 0}
body[data-place] .scene-greeting{font-size:1.3rem}
body[data-place] .scene-content p{margin:8px 0 14px;font-weight:650}
body[data-place] .scene-change{font-size:.8rem;min-height:38px;padding:8px}
body[data-place] .spend-compass{gap:0;background:linear-gradient(135deg,#182629,#10191c);border:8px solid #ae7640;border-radius:7px;box-shadow:0 8px 16px #20100870;padding:12px 0;margin:16px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-place] .compass-card{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:10px 4px!important;min-width:0;text-align:center;color:#fff!important}
body[data-place] .compass-card+.compass-card{border-left:1px solid #ffffff70!important}
body[data-place] .compass-card h2{color:#fff1a8!important;font-size:clamp(.8rem,3.4vw,1.2rem)}
body[data-place] .compass-card strong{color:#fff!important;font-size:clamp(1rem,4.8vw,1.8rem);overflow-wrap:anywhere}
body[data-place] .compass-card small{color:#e4ebe9!important;font-size:.68rem}
body[data-place] .compass-label{color:#a9efdf!important;font-size:.65rem}
body[data-place] .compass-icon{color:#ffec82!important;background:none!important}
body[data-place] .compass-note{color:#173743;background:#fffdf2f0;padding:12px;border-radius:12px}
body[data-place] .card h2,body[data-place] .card h3,body[data-place] .card small,body[data-place] .card .muted,body[data-place] .card dt{color:#173743!important}
body[data-place] .onboard-landscape{height:220px;opacity:1}
body[data-place] nav{background:#fff8e6f5!important;border-color:#eed4a0!important}
@media(min-width:650px){body[data-place] .destination-home{background-position:center 35%}.destination-home .destination-scene{min-height:300px}}

/* Chalk boards and locally bundled handwriting for all six destinations. */
@font-face{font-family:FreedomChalk;src:url('./fonts/PatrickHand-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
body[data-place]{--chalk-month:#ffed99;--chalk-week:#8fe8ee;--chalk-today:#ffef82;--board-wood:#a96f35}
body[data-place="paris"]{--chalk-month:#ffb6d5;--board-wood:#a87646}
body[data-place="venice"]{--chalk-month:#ffb8ca;--board-wood:#a36032}
body[data-place="thailand"]{--chalk-month:#dbef98;--board-wood:#95682e}
body[data-place="vietnam"]{--chalk-month:#ffe29b;--board-wood:#a16a2e}
body[data-place="athens"]{--chalk-month:#cce7ff;--board-wood:#b08a54}
body[data-place] .spend-compass{background-image:url('./themes/chalk-grain.svg'),radial-gradient(ellipse at 25% 25%,#ffffff10,transparent 55%),linear-gradient(125deg,#202827,#0f1617 70%,#202626);border-color:var(--board-wood);border-width:9px;box-shadow:inset 0 0 15px #0009,0 3px 0 #603f24,0 9px 16px #20100870;position:relative;padding:16px 0 25px}
body[data-place] .spend-compass:after{content:'';position:absolute;bottom:-7px;left:7%;right:7%;height:9px;background:linear-gradient(0deg,#6c431e,#c49057);border-radius:3px;box-shadow:0 3px 3px #0006}
body[data-place] .compass-card,body[data-place] .compass-card *{font-family:FreedomChalk,'Chalkboard SE','Comic Sans MS',cursive!important;font-weight:400!important;text-shadow:.4px .2px 1px currentColor,-.35px -.25px .6px #ffffff55;line-height:1.13;letter-spacing:.01em}
body[data-place] .compass-card{padding:5px 5px!important}
body[data-place] .compass-card+.compass-card{border-left:2px dashed #e8f1e19c!important}
body[data-place] .compass-label{font-size:clamp(.84rem,3.6vw,1rem);color:#f3f1e2!important;display:block;margin:3px 0}
body[data-place] .compass-card h2{font-size:clamp(1.15rem,4.6vw,1.6rem);margin:6px 0 8px}
body[data-place] .month-card h2,body[data-place] .month-card .compass-icon{color:var(--chalk-month)!important}
body[data-place] .week-card h2,body[data-place] .week-card .compass-icon{color:var(--chalk-week)!important}
body[data-place] .today-card h2,body[data-place] .today-card .compass-icon{color:var(--chalk-today)!important}
body[data-place] .compass-card strong{font-size:clamp(1.35rem,5.6vw,2.4rem);display:block;color:#fffef4!important;line-height:1.2;margin-bottom:7px;font-variant-numeric:lining-nums}
body[data-place] .compass-card small{font-size:clamp(.8rem,3.2vw,1rem);color:#f0f0df!important}
body[data-place] .compass-icon{display:block;margin:0 auto 5px;width:32px;height:32px;border:0;border-radius:0;font-size:1.6rem}
.chalk-icon{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body[data-place] .scene-greeting,body[data-place] .scene-content h1{font-family:FreedomChalk,'Chalkboard SE',cursive!important;font-weight:400}

/* V15: the whole companion uses destination café chalkboards. */
body[data-place]{--chalk-board:url('./themes/chalk-grain.svg'),linear-gradient(135deg,#26302d,#141d1c 70%,#202a27);--chalk-white:#fffbed;--chalk-soft:#e0e7da;color:var(--chalk-white)!important;color-scheme:dark;font-family:FreedomChalk,'Chalkboard SE','Comic Sans MS',cursive;font-size:1.15rem}
body[data-place] :is(header,nav){background:var(--chalk-board)!important;border:5px solid var(--board-wood)!important;box-shadow:inset 0 0 14px #0008,0 4px 12px #0005}
body[data-place] header{border-top:0!important;border-radius:0 0 12px 12px}
body[data-place] :is(.brand,#month-label){color:var(--chalk-white)!important;font-family:FreedomChalk,cursive}
body[data-place] :is(.brandmark,.hello-pill,.onboard-progress,.onboard-kicker){background:transparent!important;color:var(--chalk-month)!important;border:1px dashed #f5e9b880;box-shadow:none}
body[data-place] #main :is(.card,.onboard-panel,.scene-content,.welcome,.warning,.compass-note),body[data-place] :is(dialog,#toast,.destination-ribbon){background:var(--chalk-board)!important;color:var(--chalk-white)!important;border:6px solid var(--board-wood)!important;border-radius:8px;box-shadow:inset 0 0 14px #0006,0 5px 15px #0005;backdrop-filter:none}
body[data-place] #main .scene-content{transform:rotate(-2deg)}
body[data-place] #main .onboard-panel{border-radius:8px;padding:25px 20px}
body[data-place] #main :is(h1,h2,h3,p,label,summary,li,dt,dd,small,.muted,.empty,.description,.onboard-tagline,.onboard-money-steps){color:var(--chalk-white)!important;font-family:FreedomChalk,'Chalkboard SE',cursive;font-weight:400;letter-spacing:.01em}
body[data-place] #main :is(h1,h2),body[data-place] #dialog :is(h2,h3){color:var(--chalk-month)!important}
body[data-place] #main>h1{background:var(--chalk-board)!important;border:5px solid var(--board-wood);padding:12px 18px;border-radius:7px;margin-bottom:20px}
body[data-place] #main :is(p,li){font-size:1.15rem;line-height:1.45}
body[data-place] #main :is(small,.muted,dt){color:var(--chalk-soft)!important;font-size:1rem;line-height:1.4}
body[data-place] #main h1{font-size:clamp(1.9rem,7vw,2.6rem)}
body[data-place] #main h2{font-size:1.5rem;line-height:1.2}
body[data-place] #main h3{font-size:1.2rem}
body[data-place] #main :is(strong,dd){font-weight:400;color:var(--chalk-white)}
body[data-place] :is(button,input,select){font-family:FreedomChalk,'Chalkboard SE',cursive;font-weight:400;letter-spacing:.01em}
body[data-place] :is(#main,#dialog,header,.backup-tools,.destination-ribbon-wrap) button{background:#182824!important;color:var(--chalk-white)!important;border:2px solid #b7e6d3!important;box-shadow:none;font-size:1.15rem;border-radius:9px}
body[data-place] :is(#main,#dialog,header) button.secondary{border-color:#b4ddeb!important;color:#c9eff5!important}
body[data-place] :is(#main,#dialog) button.link{border:0!important;background:transparent!important;color:#b8efec!important;text-decoration:underline;text-underline-offset:4px}
body[data-place] :is(#main,#dialog) button.danger{border-color:#ffb6a7!important;color:#ffc7b9!important}
body[data-place] :is(#main,#dialog,header) button[aria-pressed=true]{border-color:#ffec92!important;color:#ffec92!important;background:#343b28!important;box-shadow:inset 0 0 0 1px #ffec92}
body[data-place] :is(#main,#dialog) :is(input:not([type=checkbox]),select){background:#101c19!important;color:#fffbed!important;border:2px solid #dce5d1!important;border-radius:7px;font-size:1.25rem;min-height:50px}
body[data-place] :is(#main,#dialog) input::placeholder{color:#b7c6b4;opacity:1}
body[data-place] :is(#main,#dialog) input[type=checkbox]{accent-color:#ead78a}
body[data-place] :is(button,a,input,select,summary):focus-visible{outline:3px solid #ffef92!important;outline-offset:3px}
body[data-place] #main :is(.row,hr){border-color:#c9dfbc70!important}
body[data-place] #main .warning{border-color:#eec489!important}
body[data-place] #main .critical{border-color:#efaa9e!important}
body[data-place] :is(#main,#dialog) .error{color:#ffbbb0!important}
body[data-place] #dialog :is(p,label,small,.muted){color:var(--chalk-white)!important;font-size:1.15rem;line-height:1.45}
body[data-place] #dialog .preview-results div{background:#162623;color:#fffbed;border:1px dashed #b9d5be}
body[data-place] #dialog :is(.preview-safe,.preview-danger){background:#172921;color:#fffbed;border:2px solid #b7e6d3}
body[data-place] #dialog .preview-danger{border-color:#ffb6a7}
body[data-place] nav{border-bottom:0!important;border-radius:10px 10px 0 0;gap:3px;padding-top:8px}
body[data-place] #nav button{background:transparent!important;border:1px solid transparent!important;color:#d3e8db!important;font-size:clamp(.85rem,3.3vw,1rem);padding:8px 2px}
body[data-place] #nav button.active{color:#ffef99!important;border-color:#ffef99!important;border-style:dashed!important;box-shadow:none}
body[data-place] #nav button[data-view=spend]{color:#bce9bc!important}
body[data-place] #nav button[data-view=commitments]{color:#ffc6d4!important}
body[data-place] #nav button[data-view=month]{color:#dbc6ef!important}
body[data-place] #nav button[data-view=savings]{color:#ade4ef!important}
body[data-place] .currency-confetti{display:none}
/* Keep the three amounts together and legible within their original board. */
body[data-place] #main .compass-card h2{font-size:clamp(1.1rem,4.4vw,1.6rem)}
body[data-place] #main .month-card h2{color:var(--chalk-month)!important}
body[data-place] #main .week-card h2{color:var(--chalk-week)!important}
body[data-place] #main .today-card h2{color:var(--chalk-today)!important}
body[data-place] #main .compass-card small{font-size:clamp(.8rem,3.2vw,1rem)}
@media(max-width:360px){body[data-place] #main .onboard-panel{padding:22px 15px}.split{grid-template-columns:1fr}body[data-place] #main .row{gap:10px}}
@media(prefers-contrast:more){body[data-place]{--chalk-soft:#fff}body[data-place] #main :is(p,label,small){text-shadow:none}}

/* V16: one physical chalkboard design, including the wooden chalk ledge. */
body[data-place]{--chalk-board:url('./themes/chalk-grain.svg'),radial-gradient(ellipse at 25% 25%,#ffffff10,transparent 55%),linear-gradient(125deg,#202827,#0f1617 70%,#202626);--board-shadow:inset 0 0 15px #0009,0 3px 0 #603f24,0 9px 16px #20100870}
body[data-place] #main :is(.card,.onboard-panel,.scene-content,.welcome,.warning,.compass-note,.spend-compass),body[data-place] #main>h1,body[data-place] :is(dialog,#toast,.destination-ribbon){position:relative;background:var(--chalk-board)!important;border:9px solid var(--board-wood)!important;border-radius:7px!important;box-shadow:var(--board-shadow)!important;padding-bottom:28px}
body[data-place] #main :is(.card,.onboard-panel,.scene-content,.welcome,.warning,.compass-note,.spend-compass)::after,body[data-place] #main>h1::after,body[data-place] :is(dialog,#toast,.destination-ribbon)::after{content:'';position:absolute;bottom:-7px;left:7%;right:7%;width:auto;height:9px;background:linear-gradient(0deg,#6c431e,#c49057)!important;border:0;border-radius:3px;box-shadow:0 3px 3px #0006;transform:none;pointer-events:none}
body[data-place] :is(header,nav){background:var(--chalk-board)!important;border-width:9px!important;border-radius:7px!important;box-shadow:var(--board-shadow)!important}
body[data-place] #main .scene-content{margin-bottom:30px}
body[data-place] #main .compass-note{margin-top:23px;padding:18px 14px 24px;text-align:center}
body[data-place] #main .card{margin-bottom:25px}
body[data-place] #main .explanation-cloud{border-radius:7px!important}
body[data-place] .destination-ribbon{padding-top:12px;padding-bottom:16px;font-size:1.15rem}
body[data-place] #main .split .card{padding:18px 12px 28px}
body[data-place] #main .destination-home{padding-bottom:28px}
@media(max-width:360px){body[data-place] #main :is(.card,.onboard-panel){padding-left:14px;padding-right:14px}}

/* V17: a box of coloured chalk, with white financial amounts. */
body[data-place]{--chalk-heading:#ffeb96}
body[data-place] #main .card:nth-of-type(4n+1){--chalk-heading:#ffeb96}
body[data-place] #main .card:nth-of-type(4n+2){--chalk-heading:#ffbfda}
body[data-place] #main .card:nth-of-type(4n+3){--chalk-heading:#9de6f2}
body[data-place] #main .card:nth-of-type(4n){--chalk-heading:#c7edaa}
body[data-place] #main :is(.card,.onboard-panel,.scene-content) :is(h1,h2){color:var(--chalk-heading)!important}
body[data-place] #main .scene-greeting{color:#ffbfda!important}
body[data-place] #main :is(label,summary){color:#aee7f2!important}
body[data-place] #main .onboard-progress{color:#c7edaa!important}
body[data-place] #main .onboard-kicker{color:#ffbfda!important}
body[data-place] #main .essentials-summary h2{color:#c7edaa!important}
body[data-place] #main .description h3{color:#ffdab0!important}
body[data-place] :is(#main,#dialog) button:not(.secondary):not(.danger):not(.link):not(.destination-choice){color:#c7edaa!important;border-color:#b8e9a1!important}
body[data-place] :is(#main,#dialog) button.secondary{color:#aee7f2!important;border-color:#aee7f2!important}
body[data-place] :is(#main,#dialog) button.link{color:#ffbfda!important}
body[data-place] #main :is(.warning,.critical) :is(h2,p){color:#ffd2ac!important}
body[data-place] #main .critical :is(h2,p){color:#ffc0b6!important}
body[data-place] #dialog h2{color:#ffbfda!important}
body[data-place] #dialog label{color:#aee7f2!important}
body[data-place] #main .compass-note{color:#e8ead5!important}
body[data-place] #main :is(.row strong,dd,.compass-card strong){color:#fffbed!important}

/* V18: erased chalk haze and powder in live text, rather than pristine slate. */
body[data-place]{--chalk-board:url('./themes/used-slate.svg'),url('./themes/chalk-grain.svg'),radial-gradient(ellipse at 25% 25%,#ffffff10,transparent 55%),linear-gradient(125deg,#202827,#0f1617 70%,#202626)}
body[data-place] #main :is(.card,.onboard-panel,.scene-content,.welcome,.warning,.compass-note,.spend-compass),body[data-place] #main>h1,body[data-place] :is(dialog,#toast,.destination-ribbon,header,nav){background-size:720px 600px,240px 240px,cover,cover!important;background-repeat:repeat,repeat,no-repeat,no-repeat!important}
body[data-place] #main .card:nth-of-type(2n){background-position:-110px -180px,35px 45px,center,center!important}
body[data-place] #main .card:nth-of-type(3n){background-position:-40px -350px,80px 5px,center,center!important}
body[data-place] #main :is(h1,h2,h3,.scene-greeting,.row strong,dd,.compass-card strong,.description small),body[data-place] #dialog :is(h2,h3,strong,dd){filter:url('#chalk-written');text-shadow:.4px .2px .8px currentColor,-.3px -.2px .4px #fff5}
body[data-place] :is(#main,#dialog) :is(input:not([type=checkbox]),select){text-shadow:.4px .2px .7px currentColor,-.3px -.2px .5px #fff4;background-image:url('./themes/chalk-grain.svg')!important;font-family:FreedomChalk,'Chalkboard SE',cursive!important}
body[data-place] #main .badge{color:#c7edaa!important;filter:url('#chalk-written')}
body[data-place] #main>p:not(.compass-note){background:var(--chalk-board);border:7px solid var(--board-wood);border-radius:7px;padding:16px;box-shadow:var(--board-shadow);color:#e0e7da!important}
@media(prefers-contrast:more){body[data-place] #main :is(h1,h2,h3,strong,dd,.description small,.badge),body[data-place] #dialog :is(h2,h3,strong,dd){filter:none;text-shadow:none}}

/* Home scenery mode: three live guides and room to enjoy the destination. */
body[data-view="home"][data-home-scene="yes"] #main>:not(.destination-home):not(.scene-mode-controls){display:none!important}
body[data-view="home"][data-home-scene="yes"] .destination-home .destination-scene{display:none!important}
body[data-view="home"][data-home-scene="yes"] #main .destination-home{min-height:66dvh;background:none!important;box-shadow:none!important;border-radius:0;display:flex;align-items:flex-end;padding:0 0 25px}
body[data-view="home"][data-home-scene="yes"] #main .spend-compass{width:100%;margin:0}
body[data-view="home"][data-home-scene="yes"] .scene-mode-controls{display:flex;justify-content:center;margin:12px 0 0}
body[data-view="home"][data-home-scene="yes"] #main .scene-mode-controls button{font-size:1rem;min-height:44px;padding:8px 14px;background:#152522ec!important}
body[data-place] #main .scene-mode-controls h2{line-height:1.3}
@media(max-height:650px){body[data-view="home"][data-home-scene="yes"] #main .destination-home{min-height:50dvh}}

/* v23: Optional café library for all six destinations. All accounting is untouched. */
body[data-scene-library="cafe"][data-place="paris"]{--destination-art:url('./themes/paris-cafe.svg')}
body[data-scene-library="cafe"][data-place="venice"]{--destination-art:url('./themes/venice-cafe.svg')}
body[data-scene-library="cafe"][data-place="california"]{--destination-art:url('./themes/california-cafe.svg')}
body[data-scene-library="cafe"][data-place="athens"]{--destination-art:url('./themes/athens-cafe.svg')}
body[data-scene-library="cafe"][data-place="thailand"]{--destination-art:url('./themes/thailand-cafe.svg')}
body[data-scene-library="cafe"][data-place="vietnam"]{--destination-art:url('./themes/vietnam-cafe.svg')}
body[data-scene-library="cafe"][data-view="home"]::before{opacity:.88;background-position:center 42%}
body[data-scene-library="cafe"] .destination-home{background-image:var(--destination-art)}
.scene-library-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.scene-library-picker button{font-size:1rem!important;padding:12px 5px!important;min-height:52px;border-radius:10px!important}
.scene-library-picker button[aria-pressed="true"]{outline:3px solid #f0c97c;outline-offset:2px}

/* v24: coffee-house menu lettering; original destination themes are unchanged. */
body[data-scene-library="cafe"]{--chalk-month:#f7d9a0;--chalk-week:#b8e0ce;--chalk-today:#f4c8bf;--board-wood:#8d5939;--chalk-soft:#e4d9c8}
body[data-scene-library="cafe"] #main :is(.compass-card h2,.card h1,.card h2,.card h3,.scene-greeting),
body[data-scene-library="cafe"] #main>h1{font-family:FreedomChalk,'Chalkboard SE',cursive!important;font-weight:400!important;letter-spacing:.035em!important;text-shadow:1px 1px 0 #c5bca560,-.6px -.5px 1px #fff8!important}
body[data-scene-library="cafe"] #main .compass-card h2{font-size:clamp(1.2rem,4.5vw,1.65rem)!important;letter-spacing:.065em!important;text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:1px;text-underline-offset:5px}
body[data-scene-library="cafe"] #main .compass-card :is(strong,.amount,.value){font-family:FreedomChalk,'Chalkboard SE',cursive!important;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,6vw,2.35rem);color:#fff9eb!important;text-shadow:.5px .6px 1px #fff9eb99,-.4px -.3px 1px #c6bcb2aa!important}
body[data-scene-library="cafe"] #main :is(.card,.spend-compass,.onboard-panel){border-color:var(--board-wood)!important}
body[data-scene-library="cafe"] #main :is(.card,.spend-compass,.onboard-panel)::before{content:"";position:absolute;inset:9px;border:1px solid #f4e4bf1f;border-radius:2px;pointer-events:none}
body[data-scene-library="cafe"] #main :is(.card,.onboard-panel) :is(label,small,.muted){letter-spacing:.018em}
@media(max-width:390px){body[data-scene-library="cafe"] #main .compass-card :is(strong,.amount,.value){font-size:clamp(1.35rem,5.6vw,2rem)}}
