: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}}
.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}
/* 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}
/* v29: soft everyday shop themes and a full-scene entrance overview. */
@font-face{font-family:ParkHand;src:url('./fonts/PatrickHand-Regular.ttf') format('truetype');font-display:swap}
:root{color-scheme:light}
body{--shop-soft:#f3dfc8;--shop-edge:#c8a37c;--shop-ink:#513c29;--shop-bg:#fcf6ed;--shop-art:url('./themes/coffee-entrance.png');color:var(--shop-ink);background:var(--shop-bg);min-height:100dvh;isolation:isolate}
body[data-place=soda]{--shop-soft:#cbeef0;--shop-edge:#83bfc5;--shop-ink:#204b57;--shop-bg:#f2faf9;--shop-art:url('./themes/soda-entrance.png')}
body[data-place=icecream]{--shop-soft:#f9dce8;--shop-edge:#dfa2bc;--shop-ink:#653851;--shop-bg:#fff5f8;--shop-art:url('./themes/icecream-entrance.png')}
body[data-place=pizza]{--shop-soft:#f5dfc0;--shop-edge:#cda176;--shop-ink:#5b392a;--shop-bg:#fff7ee;--shop-art:url('./themes/pizza-entrance.png')}
body[data-place=burger]{--shop-soft:#ffe6ad;--shop-edge:#d4aa6c;--shop-ink:#633c24;--shop-bg:#fff8e9;--shop-art:url('./themes/burger-entrance.png')}
body[data-place=bistro]{--shop-soft:#dcebdd;--shop-edge:#a3bfaa;--shop-ink:#314f40;--shop-bg:#f5f9f2;--shop-art:url('./themes/bistro-entrance.png')}
body::before{content:'';position:fixed;inset:0;background-image:var(--shop-art);background-position:center;background-size:contain;background-repeat:no-repeat;opacity:.18;pointer-events:none;z-index:-1}
.currency-confetti{display:none}
header{padding:20px 18px 12px;max-width:600px;flex-wrap:wrap;position:relative}
.brand{color:var(--shop-ink);font-family:ParkHand,cursive;font-size:1.45rem!important;gap:10px}
.brandmark{background:var(--shop-soft);color:var(--shop-ink);border:1px solid var(--shop-edge);border-radius:14px}
.header-tools{flex-basis:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}
#month-label{color:var(--shop-ink);text-align:left}
.preference-pickers label{display:none}.picker-button{background:#fffaf4e8;color:var(--shop-ink);border-color:var(--shop-edge)}
.destination-ribbon-wrap{max-width:600px;margin:auto;padding:0 18px}.destination-ribbon{width:100%;background:var(--shop-soft);color:var(--shop-ink);border:1px solid var(--shop-edge);border-radius:18px;text-align:left;font-size:.94rem;min-height:48px}
.backup-tools{max-width:600px;padding:3px 18px 5px}.backup-tools button{font-size:.8rem;color:var(--shop-ink)}
main{padding:6px 16px 115px;max-width:600px}
.card,.onboard-panel{background:linear-gradient(135deg,color-mix(in srgb,var(--shop-soft) 60%,white),#fffcf8 85%);color:var(--shop-ink);border:1px solid var(--shop-edge);box-shadow:0 7px 22px #4d303510;border-radius:24px}
h1,h2,h3{color:var(--shop-ink)}h1,h2{font-family:ParkHand,cursive;letter-spacing:0;font-weight:400}h1{font-size:1.85rem}h2{font-size:1.5rem}h3{font-size:1rem}
.muted,small,dt{color:#57616a}button{background:var(--shop-ink);color:#fff;border-radius:15px}button.secondary{background:var(--shop-soft);color:var(--shop-ink);border:1px solid var(--shop-edge)}button.link,a{color:var(--shop-ink)}
input:not([type=checkbox]),select{background:#fffdfa;border:1.5px solid var(--shop-edge);border-radius:15px;color:#24343a;box-shadow:0 3px 7px #4d303508}
input::placeholder{color:#757575}.row{border-color:var(--shop-edge)}.badge{color:#205c3c}
dialog{background:var(--shop-bg);border-color:var(--shop-edge);color:var(--shop-ink);border-radius:24px}
.destination-choice,.preference-option{background:var(--shop-soft);color:var(--shop-ink);border-color:var(--shop-edge)}
.destination-choice small{font-size:.75rem}.destination-choice strong{font-size:.9rem}.preference-option[aria-pressed=true]{border-color:var(--shop-ink);background:var(--shop-soft)}
.preview-results div{background:var(--shop-soft);color:var(--shop-ink)}
.hello-pill{display:inline-block;background:var(--shop-soft);border-radius:999px;padding:7px 12px;font-size:.8rem;margin-bottom:4px}.home-intro h1{margin:9px 0}.home-intro p{font-size:.93rem}
.availability-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px -10px 14px}
.availability-board{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;background:#fffaf3;border:2px solid var(--shop-edge);border-radius:15px;padding:15px 3px;box-shadow:0 4px 10px #3c282412}
.availability-board:nth-child(1){background:#d9edf0}.availability-board:nth-child(2){background:#f8e1ea}.availability-board:nth-child(3){background:#fff0bf}
.availability-board small{font-family:ParkHand,cursive;font-size:1.07rem;color:#324854;line-height:1.2}
.availability-board strong{font-family:ParkHand,cursive;color:#243a42;font-weight:400;font-size:clamp(.9rem,5.1vw,1.9rem);line-height:1.3;max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.availability-board em{font-family:ParkHand,cursive;font-size:.86rem;color:#47595e;font-style:normal}
.availability-note{font-size:.77rem!important;color:#58646b;margin-bottom:0}.entrance-invite p{font-size:.93rem}
nav{position:fixed;z-index:5;background:color-mix(in srgb,var(--shop-bg) 94%,transparent);border-top:1px solid var(--shop-edge);gap:4px;padding:9px 8px max(12px,env(safe-area-inset-bottom));display:flex}
nav button{flex:1;min-width:0;max-width:116px;color:var(--shop-ink);font-size:.76rem;padding:12px 2px;background:transparent;border:1px solid transparent;overflow-wrap:anywhere}
nav button.active{background:var(--shop-soft);color:var(--shop-ink);border-color:var(--shop-edge)}
nav{display:grid;grid-template-columns:.85fr 1.05fr 1.4fr .85fr .95fr;max-width:600px;margin:auto;border-radius:20px 20px 0 0}
nav button{max-width:none;font-size:.72rem;white-space:nowrap;padding:12px 1px}
.entrance-shell{max-width:600px;margin:auto}.entrance-toolbar{display:flex;justify-content:space-between;gap:8px;margin:0 0 10px}.entrance-toolbar button{font-size:.85rem;padding:10px 12px}
.entrance-picture{position:relative;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px #30202224}.entrance-picture img{display:block;width:100%;height:auto}
.entrance-values{position:absolute;left:9%;width:82%;top:55%;height:12%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2%}
.entrance-values .availability-board{padding:2px;border-width:2px;border-radius:6px;box-shadow:0 2px 5px #0004}
.entrance-values small{font-size:clamp(.68rem,3.5vw,1.3rem)}.entrance-values strong{font-size:clamp(.83rem,4.6vw,1.7rem)}.entrance-values em{font-size:clamp(.63rem,3vw,1.1rem)}
body[data-view=entrance] header,body[data-view=entrance] .destination-ribbon-wrap,body[data-view=entrance] .backup-tools,body[data-view=entrance] nav{display:none}
body[data-view=entrance] main{padding: max(12px,env(safe-area-inset-top)) 10px max(14px,env(safe-area-inset-bottom))}
body[data-view=entrance]::before{opacity:.08}
body[data-view=entrance] #toast{display:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #267884;outline-offset:3px}
.check input{accent-color:var(--shop-ink)}
.entrance-values{inset:0;width:auto;height:auto;display:block}
.entrance-values .availability-board{position:absolute;top:var(--sign-top);height:var(--sign-height);width:var(--sign-width);left:var(--sign-one);border:none;border-radius:2px;background:#182b29;color:#fff9e7;box-shadow:none}
.entrance-values .availability-board:nth-child(2){left:var(--sign-two)}
.entrance-values .availability-board:nth-child(3){left:var(--sign-three)}
.entrance-values :is(small,strong,em){color:#fff9e7}
.entrance-values small{font-size:clamp(.5rem,2.7vw,1rem)}.entrance-values strong{font-size:clamp(.68rem,3.8vw,1.4rem);line-height:1.1}.entrance-values em{font-size:clamp(.45rem,2.3vw,.9rem);line-height:1.1}
body[data-place=coffee]{--sign-top:46.55%;--sign-height:6.8%;--sign-width:17.3%;--sign-one:22.8%;--sign-two:45.7%;--sign-three:68.6%}
body[data-place=soda]{--sign-top:49.6%;--sign-height:7.2%;--sign-width:21.3%;--sign-one:17.6%;--sign-two:42.3%;--sign-three:66.9%}
body[data-place=icecream]{--sign-top:52%;--sign-height:7.3%;--sign-width:22.3%;--sign-one:12.3%;--sign-two:39.2%;--sign-three:66%}
body[data-place=pizza]{--sign-top:49.5%;--sign-height:8.1%;--sign-width:19.4%;--sign-one:18.7%;--sign-two:42.3%;--sign-three:66.8%}
body[data-place=soda] .entrance-values .availability-board{background:#173c43}
body[data-place=icecream] .entrance-values .availability-board{background:#faf0f1}
body[data-place=icecream] .entrance-values :is(small,strong,em){color:#583249}
body[data-place=bistro]{--sign-top:45.55%;--sign-height:7.8%;--sign-width:21.3%;--sign-one:12.7%;--sign-two:39.1%;--sign-three:65.5%}
body[data-place=burger]{--sign-top:46.2%;--sign-height:9.2%;--sign-width:22.1%;--sign-one:13.7%;--sign-two:42%;--sign-three:68.3%}
@media(max-width:360px){.card{padding:18px 15px}.availability-values{margin-left:-5px;margin-right:-5px;gap:5px}.availability-board small{font-size:.93rem}.entrance-toolbar button{font-size:.78rem;padding:10px 8px}nav button{font-size:.69rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* v30: populated ice-cream parlour matched to the supplied social reference. */
.entrance-picture{container-type:inline-size}
body[data-place=icecream]{--sign-top:25.8%;--sign-height:12.5%;--sign-width:18.3%;--sign-one:19.2%;--sign-two:39.9%;--sign-three:62.2%}
body[data-place=icecream] .entrance-values .availability-board{background:transparent;padding:0}
body[data-place=icecream] .entrance-values :is(small,strong,em){color:#fff9df;text-shadow:0 1px 2px #000}
body[data-place=icecream] .entrance-values small{font-size:3.3cqw;color:#a8eae2}
body[data-place=icecream] .entrance-values strong{font-size:4.8cqw}
body[data-place=icecream] .entrance-values em{font-size:2.8cqw}
.shop-menu{position:absolute;left:84%;right:1%;top:25.5%;height:13.7%;background:#191b1c;color:#ffe7d8;display:flex;flex-direction:column;justify-content:space-around;font-family:ParkHand,cursive;font-size:1.6cqw;transform:rotate(-2deg);padding:2px}
.shop-menu div{display:flex;justify-content:space-between;gap:2px}.shop-menu b{font-weight:400}

/* v31: each scene has its own natural signage. */
body[data-place=coffee]{--sign-top:25.8%;--sign-height:12.5%;--sign-width:18.3%;--sign-one:19.2%;--sign-two:39.9%;--sign-three:62.2%}
body[data-place=soda]{--sign-top:27.4%;--sign-height:8.5%;--sign-width:18%;--sign-one:19.3%;--sign-two:41%;--sign-three:63%;--label-size:2.6cqw;--board-size:4cqw;--available-size:1.8cqw}
body[data-place=pizza]{--sign-top:26.4%;--sign-height:10.4%;--sign-width:17%;--sign-one:24.5%;--sign-two:44%;--sign-three:63.7%}
body[data-place=burger]{--sign-top:28%;--sign-height:14%;--sign-width:18.5%;--sign-one:23.3%;--sign-two:43%;--sign-three:62.9%;--label-size:3.1cqw;--board-size:4.6cqw;--available-size:2.4cqw}
body[data-place=bistro]{--sign-top:25%;--sign-height:13.7%;--sign-width:15.2%;--sign-one:30.1%;--sign-two:47.5%;--sign-three:65%;--label-size:2.8cqw;--board-size:4cqw;--available-size:2.1cqw}
body[data-place] .entrance-values .availability-board{background:transparent;padding:0}
body[data-place] .entrance-values :is(small,strong,em){color:#fff9df;text-shadow:0 1px 2px #000;line-height:1.05}
body[data-place] .entrance-values small{font-size:var(--label-size,3.3cqw);color:#a8eae2}
body[data-place] .entrance-values strong{font-size:calc(var(--board-size,4.8cqw)*var(--amount-scale,1));white-space:nowrap;overflow-wrap:normal}
body[data-place] .entrance-values em{font-size:var(--available-size,2.8cqw)}
body[data-place=soda] .entrance-values :is(small,strong,em),body[data-place=burger] .entrance-values :is(small,strong,em){font-family:Trebuchet MS,Arial,sans-serif;color:#254c5b;text-shadow:none}
body[data-place=burger] .entrance-values strong{font-weight:700}
body[data-place=bistro] .entrance-values :is(small,strong,em){color:#ffe7b6}
body[data-place=bistro] .entrance-values small{font-family:Georgia,serif;font-style:italic}

.coffee-menu{left:83.7%;right:1.5%;top:25.4%;height:19%;font-size:1.6cqw}

/* v32: a smaller, separate savings plaque beneath the main figures. */
.savings-progress-board{position:relative;max-width:330px;margin:16px auto 22px;padding:15px 20px 11px;border:5px solid #bb9067;border-radius:10px;background:#243c36;color:#fff6dc;text-align:center;box-shadow:0 5px 13px #30202221;font-family:ParkHand,cursive}
.savings-progress-board div{display:flex;flex-direction:column;align-items:center;gap:2px}
.savings-progress-board small{font-size:1.05rem;color:inherit;line-height:1.2}
.savings-progress-board strong{font-size:1.8rem;line-height:1.15;font-weight:400;overflow-wrap:anywhere;max-width:100%;font-variant-numeric:tabular-nums}
.savings-progress-board div>span{font-size:1rem}
.savings-progress-board p{font-family:system-ui,sans-serif;font-size:.7rem;line-height:1.4;margin:8px 0 0;opacity:.9}
.savings-sprout{position:absolute;left:12px;top:15px;font-size:1.25rem}
body[data-place=soda] .savings-progress-board{background:#fff0cf;color:#254c5b;border:4px solid #9abfc8;border-radius:23px;font-family:Trebuchet MS,Arial,sans-serif}
body[data-place=icecream] .savings-progress-board{background:#fff0f5;color:#653851;border:4px solid #dfa2bc;border-radius:21px}
body[data-place=pizza] .savings-progress-board{background:#283b32;border-color:#a78052;border-radius:5px}
body[data-place=burger] .savings-progress-board{background:#fff1cf;color:#254c5b;border:4px solid #8bcddd;border-radius:18px;font-family:Trebuchet MS,Arial,sans-serif}
body[data-place=bistro] .savings-progress-board{background:#343c2e;color:#ffe7b6;border:3px solid #bda266;border-radius:28px}
body[data-place=bistro] .savings-progress-board small{font-family:Georgia,serif;font-size:.9rem;font-style:italic}

/* v33: keep every label readable on its own shop sign. */
body[data-place=soda] .entrance-values .availability-board :is(small,strong,em),
body[data-place=burger] .entrance-values .availability-board :is(small,strong,em){color:#173d4b;text-shadow:none}
body[data-place=coffee] .entrance-values .availability-board :is(small,strong,em),
body[data-place=icecream] .entrance-values .availability-board :is(small,strong,em),
body[data-place=pizza] .entrance-values .availability-board :is(small,strong,em),
body[data-place=bistro] .entrance-values .availability-board :is(small,strong,em){color:#fff9df;text-shadow:0 1px 2px #000}
.savings-progress-board{padding-left:36px;padding-right:36px}
.savings-progress-board div>span{line-height:1.35}

/* v35: roomier shop signs and relaxed menu lettering. */
body[data-place=soda]{--sign-top:26.8%;--sign-height:10.8%;--label-size:2.9cqw;--board-size:4.3cqw;--available-size:2.1cqw}
body[data-place=pizza]{--sign-top:26.1%;--sign-height:12.5%}
body[data-place=soda] .entrance-values .availability-board{background:linear-gradient(135deg,#fff9e7,#fff0c9);border:.65cqw solid #b8d1d3;border-radius:2cqw;box-shadow:0 0 0 .35cqw #687d82,0 .35cqw .65cqw #0006;padding:.8cqw .25cqw;gap:.3cqw}
body[data-place=soda] .entrance-values .availability-board:first-child{outline:.25cqw solid #e7a4c8}
body[data-place=soda] .entrance-values .availability-board:last-child{outline:.25cqw solid #e5bc77}
body[data-place=pizza] .entrance-values .availability-board{background:#202c27 url('./themes/chalk-grain.svg');border:.8cqw solid #a6794e;border-radius:.5cqw;box-shadow:inset 0 0 0 .2cqw #65462e,0 .35cqw .6cqw #0005;padding:.8cqw .25cqw;gap:.3cqw}
body[data-place=soda] .entrance-values .availability-board :is(small,strong,em),
body[data-place=burger] .entrance-values .availability-board :is(small,strong,em){font-family:ParkHand,cursive;font-weight:400;color:#173d4b;line-height:1.15}
body[data-place=soda] .savings-progress-board,
body[data-place=burger] .savings-progress-board{font-family:ParkHand,cursive}

/* v36: menu hierarchy, with breathing room around the live amounts. */
body[data-place=soda]{--sign-height:12.8%;--label-size:2.85cqw;--available-size:1.8cqw}
body[data-place=pizza]{--sign-height:13.8%;--label-size:3cqw;--available-size:1.9cqw}
body[data-place=soda] .entrance-values .availability-board,
body[data-place=pizza] .entrance-values .availability-board{justify-content:center;gap:.75cqw;padding:1.2cqw .25cqw}
body[data-place] .entrance-values .availability-board small{white-space:nowrap;font-weight:400;letter-spacing:.01em}
body[data-place] .entrance-values .availability-board strong{font-variant-numeric:normal;letter-spacing:.01em}
body[data-place] .entrance-values .availability-board em{font-size:var(--available-size,2cqw);line-height:1.15;font-style:italic;margin-top:.25cqw}
body[data-place=coffee] .entrance-values .availability-board small,
body[data-place=pizza] .entrance-values .availability-board small{font-style:italic}
body[data-place=soda] .entrance-values .availability-board small{font-style:italic;letter-spacing:.025em}
body[data-place=burger] .entrance-values .availability-board small{font-size:3.35cqw;letter-spacing:.015em}

/* v37: compact, painted soda-fountain lettering. */
@font-face{font-family:SodaLobster;src:url('./fonts/Lobster-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body[data-place=soda]{--label-size:2.85cqw;--board-size:4.1cqw;--available-size:2.4cqw}
body[data-place=soda] .entrance-values .availability-board{gap:0;padding:.7cqw .25cqw}
body[data-place=soda] .entrance-values .availability-board :is(small,strong,em){font-family:SodaLobster,ParkHand,cursive;font-weight:400;font-style:normal;letter-spacing:0;color:#173d4b}
body[data-place=soda] .entrance-values .availability-board small{line-height:1.1;margin-bottom:.35cqw}
body[data-place=soda] .entrance-values .availability-board strong{line-height:1.04}
body[data-place=soda] .entrance-values .availability-board em{line-height:1.05;margin-top:0}

/* v44: only the period, live amount and Available. */
body[data-place]{--sign-height:12.8%;--available-size:2.8cqw}
body[data-place] .entrance-values .availability-board{gap:.15cqw;padding:.6cqw .25cqw}
body[data-place] .entrance-values .availability-board em{font-style:normal;line-height:1.08;margin-top:0}
.availability-values .availability-board em{font-size:1rem;line-height:1.15}

/* ConfidentSpending v45: navy and gold posh identity */
.brandmark{background:#142446!important;color:#f7d78c!important;border:1px solid #e7bc64!important;border-radius:12px!important;font-size:1.25em!important}.brand{color:#17274a!important;font-weight:800!important;letter-spacing:.01em}
