@charset "UTF-8";
:root{font-family:ui-rounded,"Avenir Next",Avenir,system-ui,sans-serif;color:#253f38;background:#f5f4ed;font-size:17px;--green:#235a51;--border:#ced8cb;--muted:#637267}
*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;min-height:52px;padding:12px 18px;border:1px solid var(--border);border-radius:13px;background:#fff;color:#25473e;font-weight:650;touch-action:manipulation}button:hover{background:#edf2e9}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:4px solid #b27824;outline-offset:3px}button.primary{background:var(--green);border-color:var(--green);color:white}button.primary:hover{background:#17483f}button.secondary{background:#eef1e7}button.quiet{border-color:transparent;background:transparent}button.selected,button[aria-pressed=true]{outline:3px solid #235a51;outline-offset:1px;background:#e3eedf}.topbar{height:82px;max-width:1100px;margin:auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:22px;letter-spacing:-.6px;font-weight:800;color:var(--green);text-decoration:none}.brand-symbol{background:var(--green);color:#f4e8c7;width:44px;height:44px;border-radius:13px;text-align:center;line-height:44px;font-size:29px}.brand small{display:block;font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:600;margin-top:2px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#557466}h1,h2,p{margin-top:0}h1{font-size:40px;letter-spacing:-1.3px;line-height:1.12;font-weight:650}h2{font-size:26px;letter-spacing:-.5px}p{line-height:1.5}small{line-height:1.4}.muted,.micro,.credit{color:var(--muted)}.micro{font-size:12px;line-height:1.7}.credit{font-size:11px;text-align:center}.welcome{max-width:510px;margin:36px auto;padding:0 28px;text-align:center}.welcome h1{font-size:58px;margin:20px 0}.welcome>p{color:#607163;font-size:19px}.hero-art{max-width:330px;margin:6px auto 26px}.hero-art svg{display:block;width:100%}.welcome-actions,.actions{display:flex;flex-direction:column;gap:12px}.welcome .micro{margin-top:24px;font-size:12px}.game{max-width:650px;margin:8px auto 24px;padding:0 20px}.game-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:14px}.game h1{font-size:24px;margin:6px 0 0;letter-spacing:-.6px;min-height:30px}.help{border-radius:50%;min-width:52px;font-size:24px}.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.hud button{min-width:0;display:flex;flex-direction:column;align-items:center;padding:10px 4px;font-size:13px;gap:3px;background:#fffefa}.hud strong{font-size:18px;white-space:nowrap}.nav-icon{display:none}#world{border-radius:20px;overflow:hidden;border:1px solid #c8d3c3;background:#e9ede3;user-select:none;-webkit-user-select:none;touch-action:manipulation}#store-map{display:block;width:100%;max-height:62vh;min-height:330px}.shelf,[data-aisle=cash]{cursor:pointer}.shelf:focus{outline:none;filter:brightness(.92)}.controls{display:flex;gap:20px;align-items:center;padding-top:14px}.dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,52px);gap:5px}.dpad button{padding:0;min-width:52px;font-size:25px;touch-action:none;user-select:none;-webkit-user-select:none}.up{grid-column:2}.left{grid-column:1;grid-row:2}.down{grid-column:2;grid-row:2}.right{grid-column:3;grid-row:2}.interaction{flex:1}.interaction button{width:100%;font-size:15px}.interaction small{display:block;margin-top:10px;font-size:12px;color:var(--muted)}dialog{padding:24px;border:1px solid #c8d6c4;border-radius:24px;box-shadow:0 20px 100px #16362d40;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 40px);color:inherit;background:#fafaf5;overscroll-behavior:contain}dialog::backdrop{background:#233b3680;backdrop-filter:blur(3px)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-head h2{margin:0}.panel-head button{flex-shrink:0}#panel-message:empty{display:none}#panel-message{padding:14px;background:#f4e7cb;border-radius:12px;margin:16px 0 0}#notice{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#235a51;color:white;border-radius:14px;padding:14px 22px;margin:0;max-width:90%;width:max-content;z-index:3;box-shadow:0 4px 20px #233b3620;pointer-events:none}#notice:empty{display:none}#save-warning{background:#ffdfb0;color:#513c14;padding:15px;position:sticky;bottom:0}.avatar-preview{background:#e5ebdd;border-radius:20px;text-align:center}.avatar-preview svg{width:180px;height:145px}.swatches{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 22px}.swatch{display:flex;align-items:center;gap:9px;font-size:14px}.swatch:before{content:"";width:23px;height:23px;background:var(--swatch);border:1px solid #8a9985;border-radius:50%}summary{cursor:pointer;min-height:52px;padding:15px 0}details{margin:14px 0}.row{display:flex;flex-wrap:wrap;gap:8px}.full{width:100%;margin-top:14px}.product-icon{width:78px;height:78px;flex-shrink:0}.need-cards{display:flex;flex-direction:column;gap:14px}.need-card{display:flex;align-items:center;gap:16px;text-align:left;padding:18px}.need-card strong{font-size:21px;display:block}.need-card small,.need-card em{display:block;margin-top:5px;font-style:normal;font-size:13px;font-weight:400}.need-card em{color:#3c7059}.product-heading{display:flex;align-items:center;gap:22px;margin-bottom:18px}.product-heading p{margin:0}.product-heading .muted{font-size:12px}.variants{display:flex;flex-direction:column;gap:12px}.variant{display:flex;justify-content:space-between;align-items:center;padding:16px;background:white;border:1px solid var(--border);border-radius:15px;gap:10px}.variant strong{font-size:15px}.price{display:block;font-size:25px;font-weight:700;margin-top:7px}.added{display:flex;flex-direction:column;align-items:center;gap:10px}.added .product-icon{width:130px;height:130px}.added strong{font-size:26px}.center{text-align:center;margin:16px 0}.list-item,.cart-line{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d8dfd2;padding:14px 0}.list-item>div,.cart-line>div{flex:1}.list-item small,.cart-line small,.cart-line span{display:block;font-size:13px;margin-top:5px}.list-item .product-icon,.cart-line .product-icon{width:50px;height:60px}.list-item{flex-wrap:wrap}.list-item button{width:100%;background:#edf1e7}.check{font-size:27px;color:#7c8979}.check.done{color:#2d704e}.cart-line button{font-size:13px;padding:8px}.totals{display:flex;justify-content:space-between;gap:12px;border-top:2px dashed #becbb7;padding-top:18px;margin-top:18px;font-size:23px}.banknotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.banknote{padding:9px;background:#fff;border:1px solid #cfdbca;border-radius:12px;text-align:center;overflow:hidden;min-width:0}.banknote img{width:100%;height:auto;display:block;aspect-ratio:1.85;object-fit:contain}.banknote strong{display:block;font-size:22px;margin-top:6px}.note-choice{display:block;font-size:13px;margin-top:7px;padding:6px;background:#e9eee3;border-radius:8px}.big-amount{font-size:46px;font-weight:700;text-align:center;margin-bottom:25px}.payment-summary{display:flex;justify-content:space-between;background:#e9eee2;border-radius:13px;padding:15px;gap:12px}.payment-summary strong{display:block;font-size:24px;margin-top:6px}.payment-summary span{font-size:14px}.receipt-lines{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.receipt-lines>div{display:flex;justify-content:space-between;gap:14px}.receipt-page{max-width:530px;padding:20px;margin:auto}.receipt-page h1{margin:14px 0 28px;font-size:37px}.receipt-paper{background:#fffefa;padding:25px;border:1px solid #d2dbcb;border-radius:15px;margin:22px 0;box-shadow:0 8px 24px #293f3010}.receipt-row{display:flex;justify-content:space-between;gap:12px;margin:15px 0;font-size:15px}.receipt-row strong{white-space:nowrap}.change-tray{display:flex;flex-wrap:wrap;gap:15px;background:#eef1e7;padding:16px;border-radius:14px;margin-top:20px}.returned-coin{text-align:center;display:flex;flex-direction:column;gap:5px}.coin{width:52px;height:52px;border:5px solid #b99c55;background:#efdfa5;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:700;color:#60501e}.returned-note{width:125px;font-size:13px}.returned-note img{display:block;width:125px}.lesson{max-width:580px;margin:26px auto;padding:20px}.lesson h1{font-size:32px;margin:14px 0}.levels{display:flex;flex-direction:column;gap:12px}label{display:block;margin-bottom:16px}select{display:block;width:100%;padding:14px;border:1px solid #bac9b1;border-radius:12px;margin-top:7px;background:white;color:inherit}#history{font-size:14px}
@media(min-width:850px){.game{max-width:590px}.game h1{font-size:25px}#store-map{max-height:55vh}.welcome{margin-top:50px}.receipt-page{padding-top:42px}}
@media(max-width:430px){.topbar{height:70px;padding:10px 16px}.brand{font-size:20px}.brand-symbol{width:38px;height:38px;line-height:38px}.game{padding:0 12px;margin-top:6px}.game-heading{margin-bottom:12px}.game h1{font-size:20px}.eyebrow{font-size:10px;letter-spacing:1.5px}.hud{gap:7px;margin-bottom:10px}.hud strong{font-size:17px}.hud button{min-height:64px;padding:7px 3px}#store-map{max-height:51vh;min-height:310px}.controls{gap:12px;padding-top:10px}.dpad{grid-template-columns:repeat(3,50px);grid-template-rows:repeat(2,50px);gap:4px}.dpad button{min-width:50px;min-height:50px}.interaction button{padding:9px;font-size:14px}.interaction small{font-size:11px}.welcome{margin-top:28px}.welcome h1{font-size:49px}dialog{padding:18px}.panel-head h2{font-size:23px}.banknotes{gap:10px}.variant{padding:13px}.variant strong{font-size:13px}.list-item{gap:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(print){.banknote img,.returned-note img{display:none}}

#player,#destination{pointer-events:none}

.banknotes:has(>.banknote:only-child){grid-template-columns:1fr}.banknote:only-child img{max-width:360px;margin:auto}

/* Immersive store, persistent shopping list and touch controls. */
.topbar{max-width:1440px;height:64px;padding:10px 24px}
.game{max-width:1440px;height:calc(100svh - 70px);min-height:640px;margin:0 auto;padding:6px 24px 12px;display:flex;flex-direction:column;gap:10px}
.game-heading{margin:0;min-height:43px}.game h1{font-size:23px;min-height:0;margin:4px 0}.help{min-height:44px;min-width:44px;padding:5px}
.hud{margin:0;gap:10px;max-width:720px;width:100%;align-self:center}
.hud button{min-height:52px;flex-direction:row;justify-content:center;gap:12px;padding:9px;font-size:14px}.hud strong{font-size:19px}
.play-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;flex:1;min-height:0}
.persistent-list{background:#fffefa;border:1px solid #c9d4c3;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.list-title{padding:15px 12px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #d8dfd2;font-size:14px}
#permanent-list{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:6px;scrollbar-width:thin}
.permanent-item{display:flex;align-items:center;gap:8px;text-align:left;width:100%;padding:7px 5px;border:none;border-radius:10px;min-height:62px;background:transparent;font-size:14px}
.permanent-item .product-icon{width:42px;height:46px;object-fit:contain}.permanent-item small{display:block;font-weight:400;font-size:12px;margin-top:3px}
.permanent-item.done{background:#ecf4e7;color:#46704c}.list-check{font-size:20px}.persistent-list>button{border-radius:0;min-height:50px;flex-shrink:0}
.store-scene{position:relative;min-width:0;min-height:0;border-radius:20px;overflow:hidden}
#world{position:absolute;inset:0;border-radius:20px;background:#dfe8df}
#store-map{display:block;width:100%;height:100%;min-height:0;max-height:none;outline-offset:-5px}
.scene-badge{position:absolute;left:14px;top:14px;pointer-events:none;background:#fffefaeb;border-radius:20px;padding:8px 12px;font-size:12px;color:#3f5d4c}
.sound-toggle{position:absolute;right:12px;top:12px;min-height:44px;padding:8px 12px;font-size:12px;background:#fffefaeb}
.controls{padding:0;gap:20px;justify-content:center;min-height:108px}
.interaction{max-width:430px}.interaction small{margin-top:6px}.dpad{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,48px)}.dpad button{min-height:48px}
.product-photo{object-fit:contain;background:white;border-radius:8px}
.real-variant{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:12px}
.real-variant>.product-icon{width:96px;height:120px}.variant-detail strong{display:block;font-size:14px;line-height:1.35}
.variant-detail small{display:block;margin-top:5px;font-size:12px;font-weight:400}.variant-detail .tier-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#587447;margin-bottom:6px}
.real-variant>button{grid-column:1/-1;width:100%}.real-variant .price{margin-top:7px}
.real-coin{width:68px;height:68px;object-fit:contain;border-radius:50%}.returned-coin small{font-size:12px}
.avatar-preview{height:230px;overflow:hidden}.avatar-preview canvas{display:block;width:100%;height:230px}
.avatar-options p{margin:16px 0 0;font-weight:650}.avatar-options .swatches{margin:8px 0}.avatar-options .row{margin-bottom:12px}.avatar-options button{font-size:13px;min-height:48px}
.webgl-error,.world-loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:25px;background:#f3f2e9;text-align:center;z-index:4}
@media(max-width:760px){
 .topbar{height:56px;padding:6px 12px}.brand{font-size:18px}.brand-symbol{height:34px;width:34px;line-height:34px}.brand small{font-size:9px}
 .topbar button{min-height:44px}
 .game{height:calc(100svh - 56px);min-height:680px;padding:4px 10px 8px;gap:7px}
 .game-heading{min-height:37px}.game h1{font-size:18px;letter-spacing:-.3px;margin:2px 0}.game-heading .eyebrow{display:none}
 .hud{gap:6px}.hud button{flex-direction:column;gap:1px;min-height:51px;font-size:11px;padding:4px}.hud strong{font-size:16px}
 .play-layout{grid-template-columns:1fr;grid-template-rows:142px minmax(220px,1fr);gap:8px}
 .persistent-list{border-radius:13px;position:relative}.list-title{padding:8px 12px;font-size:12px}
 #permanent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px 5px;align-content:start}
 .permanent-item{min-height:56px;font-size:13px;padding:3px;gap:5px}.permanent-item .product-icon{width:32px;height:40px}.permanent-item small{font-size:10px}
 .persistent-list>button{position:absolute;right:44px;top:1px;background:transparent;border:none;min-height:30px;font-size:11px;padding:5px}
 .list-title>strong{max-width:160px}.list-title>span{font-size:11px}
 .controls{min-height:100px;gap:12px}.dpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,46px);gap:4px}.dpad button{min-height:46px;min-width:48px}
 .interaction button{font-size:13px;min-height:52px;padding:8px}.interaction small{font-size:10px;line-height:1.3}
 .scene-badge{top:10px;left:10px;font-size:10px;padding:7px}.sound-toggle{top:7px;right:7px;font-size:11px;min-height:38px;padding:7px}
}
@media(max-height:600px) and (orientation:landscape){.game{height:auto;min-height:600px}.play-layout{grid-template-columns:220px 1fr;grid-template-rows:350px}.persistent-list>button{position:static}#permanent-list{display:block}.scene-badge{display:none}}

/* A warm, inhabited market with calm contextual scenes. */
body{background:#f6f0e2;color:#304c40}button{border-radius:16px}.primary{background:#426e59}.topbar .brand-symbol{background:#5c896e}
.store-scene{border:3px solid #e4d8bc;box-shadow:0 5px 18px #66533512}.persistent-list{background:#fffaf0;border-color:#d9ceb5}.scene-badge{background:#fff7e6ed}
.seller-button{position:absolute;bottom:14px;left:14px;padding:12px 17px;background:#fff9e9;border:2px solid #60836d;box-shadow:0 3px 0 #4c694e25;font-size:14px;min-height:48px}
.photo-panel{max-width:800px;background-image:linear-gradient(#f7f0df28,#f7f0df30),var(--aisle-photo);background-size:cover;background-position:center;background-attachment:local}
.photo-panel .panel-head{background:#fffaf1f7;padding:12px;border-radius:14px;margin-bottom:110px}.photo-panel #panel-content>p{background:#fffaf1f5;padding:12px;border-radius:10px}.photo-panel .need-card,.photo-panel .real-variant,.photo-panel .quantity-product,.photo-panel .quantity-picker,.photo-panel #qty-cost{background:#fffdf7f5}
.photo-panel .need-card{width:100%}.photo-credit{font-size:11px;background:#fff9edea;border-radius:9px;padding:9px;margin:12px 0}.photo-credit p{line-height:1.5}.photo-credit a{color:#285641}
.quantity-product{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border-radius:18px;text-align:center}.quantity-product .product-photo{width:125px;height:140px}.quantity-product small{font-size:14px}.quantity-picker{display:flex;justify-content:center;align-items:center;gap:25px;border-radius:18px;padding:16px}.quantity-picker button{width:62px;height:62px;font-size:30px}.quantity-picker output{min-width:56px;text-align:center;font-size:38px;font-weight:750}#qty-cost{border-radius:12px;padding:14px;font-size:23px;font-weight:650}
.checkout-panel{width:min(1000px,96vw);max-width:1000px;background:#f8f0df}.checkout-panel .panel-head{margin-bottom:10px}#checkout-view{width:100%;height:360px;border-radius:22px;overflow:hidden;background:#e8d9bd}#checkout-view canvas{display:block;width:100%;height:100%}.cashier-bubble,.seller-bubble{background:#fffefa;border:2px solid #e2d3b4;border-radius:24px;padding:20px;margin:16px 0;box-shadow:0 5px 0 #c6b79422}.cashier-bubble .speaker{display:block;color:#5d7e60;font-size:13px;margin-bottom:9px}.cashier-bubble strong{font-size:23px;line-height:1.4;display:block}.cashier-bubble small{display:block;margin-top:8px;color:#627367}.seller-needs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seller-departments{margin-top:18px}.seller-departments summary{padding:14px;background:#eee8d6;border-radius:14px;cursor:pointer}.seller-departments .actions{margin-top:14px}
@media(max-width:760px){.seller-button{bottom:9px;left:9px;font-size:12px;padding:9px;min-height:46px}.photo-panel .panel-head{margin-bottom:85px}.checkout-panel{padding:14px}#checkout-view{height:270px}.cashier-bubble{padding:16px}.cashier-bubble strong{font-size:20px}.quantity-product .product-photo{height:95px;width:95px}.quantity-picker{padding:10px}.photo-panel:has(.quantity-picker) .panel-head{margin-bottom:35px}}

/* Version 4: game shell, full-frame title screen and device-specific layouts. */
:root{--cream:#fff1ce;--forest:#284f3f;--gold:#d7a96c}html,body{min-height:100%;overscroll-behavior:none}body{background:#f1e8d3}button,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,summary:focus-visible,.controller-active :focus{outline:4px solid #daa34d!important;outline-offset:4px;box-shadow:0 0 0 8px #fff4d5b0}
.topbar{max-width:none;height:58px;padding:8px clamp(14px,2.3vw,50px)}.at-home .topbar{position:absolute;inset:0 0 auto;z-index:4;background:transparent}.at-home .brand{visibility:hidden}.at-home #menu-button{background:#fff3d7d9;border:1px solid #c7b58d}
.title-screen{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#b6cfbc}.title-screen #title-world{position:absolute;inset:0}.title-screen canvas{width:100%;height:100%;display:block}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f3e9ceec 0%,#f3e9ceb8 25%,#f3e9ce00 55%),linear-gradient(0deg,#254f3933,transparent 25%);pointer-events:none}.title-menu{position:absolute;left:clamp(32px,6vw,160px);top:14%;width:clamp(300px,29vw,510px)}.title-kicker{font-size:10px;letter-spacing:3px;color:#55795c;font-weight:800;margin-bottom:22px}.title-menu h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(76px,8vw,150px);font-weight:700;line-height:.83;letter-spacing:-5px;color:#315842;margin:0 0 30px;text-shadow:0 3px 0 #fff6dc99}.title-menu h1 em{font-style:normal;color:#406d4c}.title-subtitle{font-size:clamp(16px,1.6vw,23px);line-height:1.6;color:#496b50;margin:0 0 27px}.title-menu #title-actions{display:flex;flex-direction:column;gap:10px;max-width:330px}.title-menu button{min-height:54px;text-align:left;padding:14px 23px;font-size:17px;border-radius:16px;background:#fff6dfdc;border:1px solid #c7bc9c;box-shadow:0 3px 0 #9f8c6120}.title-menu .primary{background:#3b674d;color:#fff2d2;border:1px solid #2a523d;box-shadow:0 5px 0 #284b39}.title-menu .title-play:after{content:' →';float:right}.title-save{font-size:11px;color:#5c755d;margin-top:20px}.title-corner{position:absolute;right:5%;bottom:8%;text-align:right;color:#fdf4d9;text-shadow:0 1px 5px #284b39;display:flex;flex-direction:column;gap:10px;font-size:14px}.chapter-tag{font-family:Georgia,serif;font-style:italic;font-size:30px}.controller-legend{display:none;position:absolute;bottom:20px;left:6%;gap:24px;font-size:12px;color:#365840}.has-gamepad .controller-legend{display:flex}.title-fallback{background:linear-gradient(120deg,#e8d5a7,#a6c498)}
#difficulty-cards{display:grid;gap:14px}.difficulty-panel{width:min(760px,94vw);max-width:760px;background:#fbf1d9}.difficulty-card{display:flex;align-items:center;gap:20px;padding:22px;background:#fffaf0;text-align:left;border:2px solid #d9caa5;min-height:115px}.difficulty-card:nth-child(2){background:#f1f3e0}.difficulty-card:nth-child(3){background:#ede7d6}.difficulty-number{font:italic 32px Georgia;color:#947947}.difficulty-card strong{display:block;font-size:25px}.difficulty-card em{display:block;font-style:normal;font-size:14px;font-weight:400;margin-top:5px}.difficulty-card small{display:block;font-size:12px;margin-top:9px;font-weight:400}.difficulty-arrow{margin-left:auto;font-size:25px}.game-menu{background:#fcf1d6;border:3px solid #d7c9a4;max-width:680px;width:92vw}.game-menu .actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.game-menu .actions>.primary{grid-column:1/-1}.menu-subtitle{font-family:Georgia,serif;font-style:italic;color:#6b805e}.controller-instructions{background:#edf0de;border-radius:20px;padding:18px;margin-top:18px}.controller-instructions p{line-height:1.7;font-size:14px}
.game{max-width:none;width:100%;height:calc(100dvh - 58px);min-height:0;margin:0;padding:6px clamp(10px,2vw,40px) 10px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px}.game-heading{min-height:35px}.game h1{font-size:clamp(17px,1.6vw,26px)}.play-layout{grid-template-columns:clamp(220px,19vw,330px) minmax(0,1fr);min-height:0;gap:14px}.controls{min-height:56px;height:auto;gap:18px;justify-content:center}.interaction{max-width:600px;display:flex;align-items:center;gap:20px}.interaction button{min-width:190px;min-height:48px}.keyboard-guide{font-size:12px!important;max-width:230px;line-height:1.5}.touch-guide,.pad-guide{display:none}.has-gamepad .pad-guide{display:block;font-size:12px}.has-gamepad .keyboard-guide{display:none}.has-gamepad .dpad{display:none}.store-scene{border-radius:24px}.dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,32px);gap:3px}.dpad button{min-height:32px;min-width:44px;padding:0;font-size:20px}.in-game .persistent-list{box-shadow:0 5px 20px #76634410}.list-title{font-size:clamp(12px,1vw,17px)}.permanent-item{font-size:clamp(13px,1vw,18px);min-height:58px}.permanent-item small{font-size:clamp(11px,.8vw,14px)}.hud{max-width:760px}.hud button{border-radius:18px}.immersive.in-game .topbar{display:none}.immersive .game{height:100dvh}
#touch-stick{display:none;position:relative;border-radius:50%;width:102px;height:102px;flex-shrink:0;touch-action:none;background:#d8d0b58c;border:2px solid #b2b99a;box-shadow:inset 0 2px 9px #38513c20}#touch-stick:before{content:'✦';position:absolute;inset:0;display:grid;place-items:center;font-size:70px;color:#7e947a38}#touch-stick span{position:absolute;left:29px;top:29px;width:40px;height:40px;background:#fff5d8;border:2px solid #91a383;box-shadow:0 4px 7px #31533d25;border-radius:50%;pointer-events:none}
@media(pointer:fine){.in-game .dpad{display:none}}
@media(min-width:1900px){.game{padding:12px 36px 18px;gap:14px}.hud button{min-height:64px;font-size:17px}.hud strong{font-size:24px}.list-title{padding:20px}.permanent-item{min-height:78px}.permanent-item .product-icon{width:55px;height:60px}.interaction button{font-size:19px;min-height:58px}.title-menu #title-actions{max-width:430px}.title-menu button{min-height:66px;font-size:23px}}
@media(max-width:800px) and (orientation:portrait){.topbar{height:48px;padding:4px 12px}.game{height:calc(100dvh - 48px);padding:2px 8px 7px;gap:6px}.game-heading{min-height:32px}.game-heading .eyebrow{display:none}.game h1{font-size:16px}.hud button{min-height:46px}.play-layout{grid-template-columns:1fr;grid-template-rows:128px minmax(0,1fr);gap:6px}.persistent-list{min-height:0}.list-title{padding:7px 10px;font-size:12px}.persistent-list>button{top:0;right:32px;min-height:30px}.list-title strong{max-width:145px}#permanent-list{display:grid;grid-template-columns:1fr 1fr;align-content:start}.permanent-item{min-height:51px}.permanent-item .product-icon{width:30px;height:35px}.permanent-item small{font-size:10px}.controls{min-height:88px;gap:12px}.interaction{display:block;max-width:220px}.interaction button{min-width:0;min-height:48px;font-size:13px;width:100%}.keyboard-guide{display:none}.touch-guide{display:block;font-size:10px!important;line-height:1.3}.dpad{display:none}#touch-stick{display:block;width:84px;height:84px}#touch-stick span{left:23px;top:23px;width:34px;height:34px}.has-gamepad #touch-stick{display:none}.has-gamepad .controls{min-height:60px}.scene-badge{font-size:9px;top:8px;left:8px}.sound-toggle{font-size:10px;min-height:35px}.seller-button{min-height:40px;font-size:11px}.title-screen{min-height:670px}.title-menu{left:24px;right:24px;top:11%;width:auto}.title-kicker{font-size:8px;letter-spacing:1.8px;margin-bottom:15px}.title-menu h1{font-size:76px;letter-spacing:-3px;line-height:.85;margin-bottom:16px}.title-subtitle{font-size:14px;line-height:1.5}.title-shade{background:linear-gradient(90deg,#efe6cdbd,#efe6cd00 80%),linear-gradient(0deg,#efe6cdee 0%,#efe6cd00 48%)}.title-menu #title-actions{position:fixed;bottom:50px;left:24px;right:24px;max-width:none;gap:8px}.title-menu button{min-height:48px;padding:11px 20px;font-size:16px}.title-menu .title-save{position:fixed;bottom:15px;left:24px;right:24px;font-size:10px}.title-corner{display:none}.controller-legend{bottom:5px;left:24px;font-size:10px}.game-menu .actions{grid-template-columns:1fr}.game-menu .actions>.primary{grid-column:auto}.difficulty-card{padding:15px;min-height:100px}.difficulty-card strong{font-size:21px}}
@media(max-height:600px) and (orientation:landscape){.topbar{height:40px}.game{height:calc(100dvh - 40px);min-height:0;padding:3px 9px;gap:4px;grid-template-rows:auto minmax(0,1fr) auto;position:relative}.game-heading{min-height:26px}.game-heading .eyebrow{display:none}.game h1{font-size:15px}.hud{position:absolute;right:60px;top:0;width:380px;gap:5px}.hud button{font-size:10px;min-height:30px;padding:3px}.hud .nav-icon{display:none}.hud strong{font-size:13px}.play-layout{grid-template-columns:180px 1fr;grid-template-rows:minmax(0,1fr);gap:8px}.list-title{padding:7px;font-size:11px}.persistent-list>button{position:static;font-size:11px;min-height:34px}.permanent-item{min-height:48px;font-size:12px}#permanent-list{display:block}.permanent-item .product-icon{width:28px;height:32px}.controls{min-height:40px;height:40px}.interaction{max-width:none;gap:10px}.interaction button{min-height:34px;padding:5px 15px;font-size:12px}.interaction small{font-size:10px!important}.dpad{display:none}#touch-stick{display:block;position:absolute;bottom:50px;left:208px;width:80px;height:80px;z-index:2}#touch-stick span{left:22px;top:22px;width:32px;height:32px}.has-gamepad #touch-stick{display:none}.seller-button{left:auto;right:8px;bottom:8px;font-size:10px;min-height:35px}.title-screen{min-height:100svh}.title-menu{top:10%;left:5%;width:35%}.title-menu h1{font-size:62px;margin-bottom:14px}.title-kicker{font-size:8px;margin:0 0 10px}.title-subtitle,.title-save{display:none}.title-menu #title-actions{gap:7px}.title-menu button{min-height:39px;font-size:13px;padding:7px 14px}.title-corner{bottom:8%;font-size:11px}.chapter-tag{font-size:22px}.controller-legend{font-size:9px;bottom:7px}.game-menu .actions{grid-template-columns:1fr 1fr}.game-menu button{min-height:42px;padding:8px}}
@media(max-height:700px) and (orientation:portrait){.game .play-layout{grid-template-rows:108px minmax(0,1fr)}.game .controls{min-height:75px}.title-screen{min-height:100svh}.title-menu{top:10%}.title-menu h1{font-size:65px}.title-menu #title-actions{bottom:38px}.title-menu .title-save{bottom:8px}.title-subtitle{display:none}}

.interaction .touch-guide,.interaction .pad-guide{display:none}.has-gamepad .interaction .pad-guide{display:block}.has-gamepad .interaction .keyboard-guide{display:none}
@media(pointer:coarse){.interaction .keyboard-guide{display:none}.interaction .touch-guide{display:block}.has-gamepad .interaction .touch-guide{display:none}}
@media(min-width:1600px){.checkout-panel{max-width:1300px;width:80vw}#checkout-view{height:min(52vh,650px)}}

@media(max-height:700px) and (orientation:portrait){.game .controls{min-height:84px}}

#touch-stick{overflow:hidden}#touch-stick:before{line-height:1}

/* Version 5 — a continuous home-to-market game. */
:root{--green:#3e705a;--border:#c8cdb1}button{border-radius:18px;box-shadow:0 3px 0 #42553b15;transition:transform .16s,background .16s}button:active{transform:translateY(2px)}button.primary{background:#48765c;border-color:#48765c;box-shadow:0 4px 0 #2c513c}button.primary:hover{background:#355f49}dialog{background:#fff8e7;border:5px solid #e3d8b7;box-shadow:0 24px 80px #34412f55;border-radius:30px}.panel-head{border-bottom:2px dashed #dad1b4;padding-bottom:14px}.at-home .title-menu{background:linear-gradient(105deg,#fff2d9ed,#fff2d9b5 70%,transparent);border-radius:0 48% 40% 0;padding:40px 50px 40px 4vw;backdrop-filter:blur(2px)}.title-kicker{color:#55765a;letter-spacing:2px}.title-menu h1{text-shadow:0 3px 0 #fff3cf,0 5px 0 #b7ae8350}.title-menu h1 em{color:#477659}.title-save{color:#4b634e}.title-corner{background:#f7e8cbdc;padding:16px 25px;border-radius:24px;box-shadow:0 5px 0 #846b3b22}.title-play{border-radius:50px!important;letter-spacing:.2px}.at-house .topbar{position:absolute;right:16px;top:12px;z-index:5;height:56px;width:auto;padding:0;background:transparent}.at-house .topbar .brand{display:none}.at-house .topbar button{background:#fff6df;border:1px solid #bdbf9f}.at-house #app{height:100dvh;max-width:none;margin:0}.household{position:relative;isolation:isolate;height:100%;overflow:hidden;background:#e2d8b9}.kitchen-world{position:absolute;inset:0 28% 0 0;z-index:-3}.kitchen-world canvas{width:100%;height:100%;display:block}.house-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#f5e8c729,transparent 45%,#e9e1c4bc 75%);pointer-events:none;z-index:-2}.house-header{display:flex;align-items:center;gap:18px;padding:18px 110px 12px 24px;font-size:13px}.home-chip{background:#fff7e2d9;border:1px solid #c8c6a1;border-radius:30px;padding:10px 18px;min-height:44px;box-shadow:0 3px 0 #8e986323}.house-date{font-weight:750;margin-right:auto;color:#394f3e}.journey-track{display:flex;gap:8px;padding:5px 24px}.journey-track span{font-size:14px;border-radius:24px;padding:8px 16px;background:#fff4d8b8;color:#5a6751;border:1px solid #c5c7a4}.journey-track span[aria-current=true]{background:#426e55;color:#fff8df;box-shadow:0 3px 0 #2b4d3b}.journey-track b{font-weight:650;margin-left:7px}.house-content{position:absolute;inset:135px 24px 24px;display:grid;grid-template-columns:1fr minmax(420px,480px);align-items:start;gap:40px;overflow:hidden}.house-intro{padding:18px 8px;max-width:520px;pointer-events:none;text-shadow:0 1px 10px #fff7dba8}.chapter-pill{display:inline-block;font-size:11px;letter-spacing:2px;font-weight:800;background:#fff3d9db;padding:9px 15px;border-radius:24px}.house-intro h1{font-size:clamp(30px,3.5vw,58px);color:#2f533d;line-height:1.05;margin:17px 0 14px;font-weight:800;letter-spacing:-2px}.house-lead{font-size:19px;font-weight:600;max-width:360px}.inventory-progress{width:250px;background:#fff6dfde;padding:12px 16px;border-radius:18px;font-size:14px}.inventory-progress progress{display:block;width:100%;height:9px;margin-top:9px;accent-color:#527c57}.kitchen-hint{font-size:12px;max-width:300px;background:#fff5dadb;padding:12px 15px;border-radius:15px;margin-top:18px}.inventory-cabinet,.inspection-card,.meal-notebook,.shopping-notebook{max-height:100%;overflow:auto;overscroll-behavior:contain;padding:22px;background:#fff9eaf2;border:3px solid #e2d9b8;border-radius:30px;box-shadow:0 12px 45px #4e513626;scrollbar-width:thin;scrollbar-color:#acb596 transparent}.cold-tabs,.meal-slot{display:flex;gap:10px;margin-bottom:18px}.cold-tabs button{flex:1;background:#e7eedb}.cold-tabs small{display:block;font-size:12px}.food-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:repeating-linear-gradient(#e6edda 0 145px,#b7c4a6 145px 150px);padding:12px;border-radius:18px}.food-item{display:flex;flex-direction:column;align-items:center;font-size:14px;padding:10px;min-height:150px;background:#fffdf5;box-shadow:0 5px 8px #5264481c}.food-item img{height:72px;width:100%;object-fit:contain;mix-blend-mode:multiply}.food-item small{font-size:11px;color:#627259;margin-top:6px}.food-item.checked{opacity:.6;background:#dce9ce}.shelf-caption{font-size:13px;margin:15px 0 0}.inventory-complete{margin-top:16px;background:#e5edda;padding:16px;border-radius:20px}.inventory-complete p{font-size:14px;margin-top:8px}.inspection-product{display:flex;align-items:center;gap:16px;margin:10px 0 18px}.inspection-product img{width:140px;height:140px;object-fit:contain;mix-blend-mode:multiply}.inspection-product h2{font-size:23px;margin:8px 0}.inspection-product p{font-size:14px}.date-label{background:white;border:2px dashed #b6b79c;border-radius:14px;padding:15px;text-align:center;display:flex;flex-direction:column;gap:8px;color:#304834}.date-label span{font-size:11px;color:#63725c}.date-label strong{font-size:15px}.date-label b{font-size:23px}.today-label{font-size:13px;margin:14px 0}.storage-fact{font-size:15px;padding:13px;background:#ecefdc;border-radius:14px}.decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.decision-actions[hidden]{display:none}.decision-actions button:last-child{grid-column:1/-1}.discard-choice{background:#f3ddc9;border-color:#c2a584}.decision-feedback:not(:empty){background:#f3e5b9;padding:14px;margin:14px 0;border-radius:16px;font-size:15px}.decision-feedback.success{background:#e0edce}.simulation-note{display:block;font-size:11px;color:#63735d;margin-top:14px}.house-status:not(:empty){position:absolute;bottom:16px;left:50%;transform:translateX(-50%);max-width:90%;background:#365b42;color:white;padding:14px 20px;border-radius:18px;z-index:6}.week-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:18px}.week-tabs button{padding:8px 2px;min-width:0;min-height:55px;font-size:13px;background:#f0ead4;border-radius:13px}.week-tabs small{display:block;font-size:11px}.meal-slot button{padding:8px 20px;min-height:44px}.meal-slot span{margin-left:auto;align-self:center;font-size:12px}.meal-notebook h2{font-size:23px}.meal-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-card{padding:8px 10px;background:#f6eed9;border:1px solid #d9cbaa;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:170px}.meal-card strong{font-size:14px;line-height:1.3}.meal-plate{width:100%;height:105px;filter:drop-shadow(0 3px 2px #816b3720)}.meal-ingredients{display:flex;justify-content:center;margin-top:5px}.meal-ingredients img{width:30px;height:30px;object-fit:contain;mix-blend-mode:multiply}.meal-confirm{margin:16px 0 12px;font-size:14px;font-weight:650;min-height:25px}.notebook-actions{display:flex;margin-bottom:18px}.notebook-actions button{width:100%}.breakfast-note{background:#f9efd7dc;padding:15px;border-radius:18px;max-width:320px;font-size:14px;line-height:1.6}.week-review p{display:grid;gap:5px;border-bottom:1px dashed #c9c6a9;padding:12px 0;margin:0;font-size:13px}.planned-list{display:grid;gap:4px}.planned-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed #c9c6a9}.planned-item img{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply}.planned-item div{flex:1}.planned-item strong{font-size:16px}.planned-item small{font-size:11px;display:block;color:#5c6e57;margin-top:5px}.planned-item>b{font-size:21px;background:#e3ebd5;border-radius:13px;padding:8px;white-space:nowrap}.pack-note{font-size:12px;line-height:1.5;margin:15px 0}.budget-note{background:#e5edda;padding:14px;border-radius:18px;display:flex;justify-content:space-between;font-size:13px;margin:14px 0}.departure-actions{display:grid;gap:8px}.departure-sign{display:inline-flex;flex-direction:column;gap:6px;background:#fdf4d9e3;border:2px solid #b9b98b;border-radius:24px;padding:20px 30px}.departure-sign span{font-size:42px;font-weight:800;color:#3c654b}.departure-sign small{max-width:220px}.kitchen-fallback{background:linear-gradient(125deg,#a6bea1,#e9d8b2)}.scene-badge{background:#fdf1cfeb;border:2px solid #e0d2a7;color:#416344;border-radius:24px;box-shadow:0 3px 0 #55654520}.persistent-list{background:#fff8e4;border:2px solid #d8cfac;border-radius:24px}.persistent-list .list-title{border-bottom:2px dashed #d0c7a8}.hud button{background:#fbf3db;border:2px solid #d3c9aa}.controller-active .household button:focus{outline:4px solid #ba7a29;outline-offset:3px}
@media(min-width:1600px){.house-content{grid-template-columns:1fr minmax(480px,560px);inset:150px 4vw 36px;gap:6vw}.house-intro{padding-top:40px}.food-item{min-height:180px}.food-item img{height:100px}.meal-plate{height:135px}}
@media(max-width:1050px){.house-content{grid-template-columns:1fr minmax(360px,43%);gap:18px;inset:125px 16px 16px}.house-intro h1{font-size:38px}.house-lead{font-size:16px}.house-header{padding-left:16px;gap:12px}.house-header>.home-chip:last-child{display:none}.journey-track{padding-left:16px}.journey-track span{font-size:12px;padding:8px 12px}.inventory-cabinet,.inspection-card,.meal-notebook,.shopping-notebook{padding:16px}.kitchen-world{right:20%}}
@media(max-width:700px){.at-house .topbar{right:10px;top:10px}.house-header{height:68px;padding:10px 84px 4px 12px;gap:8px}.home-chip{padding:9px 12px;font-size:12px}.house-date{font-size:11px}.journey-track{padding:2px 12px;gap:5px}.journey-track span{padding:8px 9px;flex:1;text-align:center;font-size:11px}.journey-track b{margin-left:4px}.house-content{display:flex;flex-direction:column;gap:0;inset:112px 0 0;overflow:auto;padding:0 12px 24px;scrollbar-width:none}.house-intro{padding:8px 7px 12px;max-width:none;min-height:180px;width:100%}.house-intro h1{font-size:30px;letter-spacing:-1px;margin:10px 0}.house-intro h1 br{display:none}.chapter-pill{font-size:9px;padding:6px 10px}.house-lead{font-size:14px;margin-bottom:10px;max-width:260px}.inventory-progress{width:220px;font-size:12px;padding:8px 12px}.kitchen-hint{display:none}.kitchen-world{inset:60px -90px 22% -20px}.house-vignette{background:linear-gradient(#f4e6c635,#f3e5c500 45%,#e7dec0 80%)}.inventory-cabinet,.inspection-card,.meal-notebook,.shopping-notebook{flex-shrink:0;width:100%;max-height:none;overflow:visible;border-radius:24px;padding:16px}.food-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px}.food-item{font-size:11px;padding:7px;min-height:135px;border-radius:12px}.food-item img{height:65px}.food-item small{font-size:10px}.inspection-product img{width:100px;height:100px}.inspection-product h2{font-size:21px}.date-label b{font-size:21px}.household:has(.inspection-card) .house-intro{min-height:120px}.household:has(.inspection-card) .house-intro h1{font-size:25px}.household:has(.inspection-card) .house-lead{display:none}.breakfast-note{font-size:12px;padding:10px;max-width:270px}.household[data-phase=menus] .house-intro{min-height:210px}.meal-plate{height:95px}.meal-card{min-height:160px}.week-tabs{gap:4px}.week-tabs button{font-size:12px}.departure-sign{padding:10px 17px;flex-direction:row;align-items:center;gap:15px}.departure-sign span{font-size:27px}.departure-sign small{font-size:10px;max-width:150px}.household[data-phase=list] .house-intro{min-height:190px}.title-menu{max-width:90vw}.at-home .title-menu{padding:24px!important;background:#fff2d9df;border-radius:32px}.title-corner{display:none}}
@media(max-height:530px) and (min-width:701px){.house-content{inset:105px 14px 14px;grid-template-columns:1fr 55%}.house-header{height:54px;padding-top:7px}.journey-track span{padding:5px 12px}.house-intro h1{font-size:29px}.house-intro .kitchen-hint{display:none}.food-shelf{grid-template-columns:repeat(3,1fr)}.food-item img{height:55px}.food-item{min-height:115px;font-size:11px}.meal-choices{grid-template-columns:repeat(3,1fr)}.meal-plate{height:70px}.meal-card{min-height:135px}.house-intro{padding-top:4px}.house-lead{font-size:14px}}
@media(prefers-reduced-motion:reduce){button{transition:none}.household *{scroll-behavior:auto!important}}

@keyframes page-arrives{from{opacity:.4;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.inspection-card,.meal-notebook,.shopping-notebook{animation:page-arrives .22s ease-out}@media(prefers-reduced-motion:reduce){.inspection-card,.meal-notebook,.shopping-notebook{animation:none}}

.training-list p{display:flex;align-items:center;gap:12px}.training-list .product-icon{width:48px;height:48px;object-fit:contain}

/* v6 — console-like pacing, quiet hierarchy, tactile controls. */
.at-home .topbar{position:absolute;top:18px;right:24px;z-index:10;width:auto;background:transparent;border:0}.at-home .topbar .brand{display:none}.title-intro .topbar{display:none}.title-screen{height:100dvh;min-height:0}.at-home #app{margin:0;max-width:none}.at-home .title-menu{background:none;backdrop-filter:none;border-radius:0;padding:0;left:7%;top:12%;width:360px;max-width:85vw}.title-kicker{font-size:10px;letter-spacing:2.2px;line-height:1.6;margin:0 0 16px}.title-menu h1{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:clamp(68px,8vw,132px);font-weight:900;line-height:.84;letter-spacing:-6px;color:#fff1cf;transform:rotate(-4deg);text-shadow:0 4px 0 #9a774b,0 8px 0 #567852,0 11px 22px #3d4f4255;margin-bottom:42px}.title-menu h1 em{font-style:normal;color:#fff4d8}.title-menu #title-actions{display:grid;gap:12px;max-width:310px}.title-menu button{border-radius:36px;padding:15px 22px;min-height:54px;font-size:18px}.title-menu .secondary{background:#fff8e9e8}.title-shade{background:linear-gradient(90deg,#ece3c9a6,transparent 57%)}.title-season{position:absolute;bottom:27px;right:34px;color:#375740;background:#fff4d8dd;border:1px solid #d7d2b3;border-radius:30px;padding:11px 18px;font-size:13px}.title-intro .title-menu{left:50%;top:9%;transform:translateX(-50%);width:600px;text-align:center;max-width:90vw}.title-intro .title-kicker{color:#34593f;text-shadow:0 1px 3px #fff9da}.title-intro .title-menu h1{font-size:clamp(68px,8.7vw,130px);line-height:.81}.title-intro #title-actions{position:fixed;top:65dvh;left:50%;width:300px;max-width:80vw;transform:translateX(-50%)}.intro-start{animation:breath-button 3s ease-in-out infinite}.title-intro .title-shade{background:linear-gradient(#f0e6c522,transparent 65%,#526f4922)}@keyframes breath-button{50%{box-shadow:0 4px 0 #2c513c,0 0 0 7px #fff1d455}}.game-menu .actions{grid-template-columns:1fr;max-width:360px;margin:auto}.game-menu{max-width:480px}.game-menu button{min-height:58px}.avatar-panel{width:min(960px,96vw);max-width:960px}.avatar-studio{display:grid;grid-template-columns:45% 1fr;gap:24px}.studio-stage{position:relative;border-radius:26px;background:#e8e2cb;overflow:hidden;min-height:430px}.studio-stage #avatar-3d{height:430px;min-height:0}.studio-stage canvas{display:block;width:100%;height:100%}.studio-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:12px;color:#4b6751}.studio-controls{min-width:0}#avatar-tabs{display:flex;gap:7px}#avatar-tabs button{flex:1;padding:10px 8px;font-size:14px;min-width:0}.studio-options{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.studio-options button{min-width:75px;min-height:48px;font-size:13px}.studio-options .swatch{border-radius:18px;min-width:83px;padding:9px}.studio-section{width:100%;margin:12px 0 0;font-size:13px;color:#526549;font-weight:750}.studio-controls h3{font-size:24px;margin:16px 0 3px}.studio-options [aria-pressed=true]{outline:3px solid #547b4c;outline-offset:1px;background:#dce9ce}.avatar-panel .actions{margin-top:18px}
.inspection-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.inspection-top button{padding:8px 10px;font-size:12px}.inspection-product{margin:14px 0}.date-comparison{display:grid;gap:10px}.today-card{background:#e4eedc;border:1px solid #b6c6a5;border-radius:14px;padding:12px 15px;display:grid;gap:5px}.today-card small{font-size:12px}.today-card strong{font-size:19px}.date-label{padding:12px}.date-label b{font-size:23px}.storage-fact{margin:12px 0;font-size:14px}.decision-question{font-size:18px;margin:16px 0 12px}.decision-actions{gap:10px}.decision-actions button{display:flex;flex-direction:column;align-items:center;gap:5px;background:#e6eedb;border:2px solid #bdc9a9;min-height:100px;padding:13px 8px;color:#304831}.decision-actions button>span{font-size:25px;line-height:1}.decision-actions small{font-size:11px}.decision-actions .discard-choice{background:#f2ddd0;border-color:#d1af99}.decision-actions .aside-choice{background:#f0e7c6;border-color:#d0bd80;display:grid;grid-template-columns:28px 1fr;min-height:70px;text-align:left;align-items:center}.aside-choice span{grid-row:1/3}.aside-choice strong,.aside-choice small{justify-self:start}.food-helper{padding:14px;background:#e8eedf;border-left:4px solid #72876a;border-radius:12px;font-size:14px}.food-helper p{margin:8px 0}.food-helper small{font-size:12px;line-height:1.5;display:block}.decision-destination{text-align:center;padding:20px 12px;border:2px dashed #a3b697;border-radius:22px;background:#edf1df}.decision-destination>span{display:inline-grid;place-items:center;width:66px;height:66px;border-radius:18px;background:#54846a;color:white;font-size:34px}.decision-destination[data-result=discard]>span{background:#b6775e}.decision-destination[data-result=help]>span{background:#b19140}.decision-destination h2{margin:12px 0 4px}.decision-destination p{font-size:14px;margin:6px 0}.decision-done .inspection-product img{animation:put-away .55s ease-out}.inventory-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin:16px 0}.inventory-summary span{background:#fff8df;padding:8px;border-radius:12px}.inventory-cabinet>.primary{margin-bottom:18px}.inventory-complete{margin:0 0 20px}@keyframes put-away{0%{transform:translateY(-15px) scale(1.08);opacity:.5}100%{transform:none;opacity:1}}
.meal-filter{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:12px;margin:12px 0}.meal-filter select{grid-row:2;grid-column:1/-1;min-height:46px;margin:0;background:#f3ecd8;border-radius:14px}.meal-filter small{color:#67755b}.meal-photo{width:100%;height:125px;object-fit:cover;border-radius:13px;background:#eee1c6}.meal-card{padding:7px;background:#fffaf0;min-height:0;gap:8px;overflow:hidden}.meal-card strong{font-size:14px;min-height:36px;display:grid;place-items:center}.meal-card[aria-pressed=true]{outline:3px solid #668855;outline-offset:-1px;background:#e3edda}.recipe-pagination{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:14px 0}.recipe-pagination button{font-size:12px;min-height:44px}.recipe-pagination span{font-size:12px}.photo-caption{font-size:11px;line-height:1.5;color:#647058}.notebook-actions{position:sticky;bottom:-16px;background:#fff9ea;padding:10px 0;margin:0;z-index:2}
#look-stick{display:block;position:relative;border-radius:50%;width:78px;height:78px;flex-shrink:0;touch-action:none;background:#d8d0b58c;border:2px solid #b2b99a;box-shadow:inset 0 2px 9px #38513c20}#look-stick span{position:absolute;left:22px;top:22px;width:30px;height:30px;background:#fff5d8;border:2px solid #91a383;box-shadow:0 4px 7px #31533d25;border-radius:50%;pointer-events:none}#look-stick b{position:absolute;left:0;right:0;bottom:2px;text-align:center;font-size:9px;font-weight:600;color:#4b654d;pointer-events:none}.has-gamepad #look-stick{display:none}.controls{min-height:80px}.controls .interaction{flex:0 1 520px}
.wallet-stage{height:150px;perspective:800px;display:grid;place-items:center;margin:0 0 16px;overflow:visible}.wallet-reveal{width:230px;height:135px;transform:rotate(-4deg)}.leather-wallet{position:relative;width:100%;height:100%;transform-style:preserve-3d;filter:drop-shadow(0 10px 8px #58413235)}.wallet-front{position:absolute;inset:30px 0 0;border-radius:12px 12px 18px 18px;background:linear-gradient(135deg,#ad754d,#815034);border:2px solid #5d3d2a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e6bd80;outline:1px dashed #d5a378;outline-offset:-9px}.wallet-front span{font-size:10px;letter-spacing:2px}.wallet-front b{font-size:23px;margin:6px}.wallet-lining{position:absolute;inset:5px 8px 16px;background:#4c3529;border-radius:14px;overflow:hidden}.wallet-lining i{font-size:50px;position:absolute;color:#9fa876;left:35px;top:4px;transform:rotate(-12deg);font-style:normal}.wallet-flap{position:absolute;top:23px;left:0;right:0;height:73px;border-radius:14px 14px 30px 30px;border:2px solid #5d3d2a;background:linear-gradient(#b98257,#92613c);transform-origin:center 0;transform:rotateX(155deg);backface-visibility:visible;outline:1px dashed #d4a379;outline-offset:-8px}.wallet-flap:after{content:'';position:absolute;bottom:12px;left:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#d6b26e;box-shadow:inset 0 0 0 3px #ba9151}.wallet-enter .wallet-reveal{animation:wallet-arrives .4s ease-out both}.wallet-enter .wallet-flap{animation:wallet-unfold .65s .3s cubic-bezier(.25,.6,.3,1) both}.wallet-enter~.banknotes{animation:notes-appear .35s .65s both}@keyframes wallet-arrives{from{opacity:0;transform:translateY(80px) rotate(-15deg) scale(.7)}to{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)}}@keyframes wallet-unfold{from{transform:rotateX(0)}to{transform:rotateX(155deg)}}@keyframes notes-appear{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.meal-photo{height:155px}}
@media(max-width:700px){.avatar-studio{grid-template-columns:1fr;gap:14px}.studio-stage{min-height:240px}.studio-stage #avatar-3d{height:240px}.studio-caption{bottom:6px;font-size:10px}.studio-options button{min-width:76px;min-height:46px}.studio-controls h3{display:none}.avatar-panel .panel-head{padding-bottom:8px}.avatar-panel .actions{position:sticky;bottom:0;background:#fff8e7;padding:10px 0}.at-home .title-menu{left:24px;top:10%;padding:0!important;background:none;max-width:86vw}.title-menu #title-actions{position:fixed;bottom:42px;left:24px;right:24px;max-width:none}.title-menu h1{font-size:80px;margin-bottom:24px}.title-menu .title-kicker{font-size:8px}.title-intro .title-menu{left:50%;top:12%;width:90vw}.title-intro #title-actions{top:65dvh;bottom:auto;left:50%;width:78vw;right:auto;max-width:330px}.title-intro .title-menu h1{font-size:88px}.title-season{display:none}.title-menu button{min-height:52px;font-size:16px}.household:has(.inspection-card) .house-intro{min-height:94px;padding:6px 4px 10px}.household:has(.inspection-card) .house-intro h1{display:none}.household:has(.inspection-card) .inventory-progress{margin-top:8px;width:100%}.inspection-product img{width:90px;height:90px}.inspection-product h2{font-size:20px}.inspection-product{margin:8px 0}.today-card strong{font-size:17px}.date-label b{font-size:20px}.meal-photo{height:105px}.household[data-phase=menus] .house-intro{min-height:155px}.household[data-phase=menus] .house-intro h1{font-size:24px}.breakfast-note{display:none}.meal-card strong{font-size:13px}.decision-actions button{min-height:94px}.game .controls{gap:8px;min-height:84px}.game .interaction{flex:1;min-width:0;max-width:none}.game .interaction button{font-size:12px;padding:8px;min-width:0}.game #touch-stick,.game #look-stick{width:72px;height:72px}.game #touch-stick span,.game #look-stick span{left:20px;top:20px;width:28px;height:28px}.game #look-stick b{bottom:1px;font-size:8px}.interaction .touch-guide{font-size:9px!important}.wallet-stage{height:135px}.wallet-reveal{width:205px;height:120px}}
@media(max-height:600px) and (orientation:landscape){.at-home .title-menu{top:8%;left:5%;width:280px}.title-menu h1{font-size:64px;margin-bottom:20px}.title-menu #title-actions{gap:7px}.title-menu button{min-height:40px;padding:8px;font-size:14px}.title-intro .title-menu{left:50%;top:7%;width:400px}.title-intro .title-menu h1{font-size:70px}.title-intro #title-actions{top:61dvh}.game #look-stick{position:absolute;right:20px;bottom:55px;z-index:2}.game .controls{min-height:40px}.game #touch-stick{bottom:55px}.avatar-studio{grid-template-columns:40% 1fr}.studio-stage{min-height:300px}.studio-stage #avatar-3d{height:300px}}
@media(prefers-reduced-motion:reduce){.intro-start,.decision-done .inspection-product img,.wallet-enter .wallet-reveal,.wallet-enter .wallet-flap,.wallet-enter~.banknotes{animation:none!important}}

/* A clipped 3D backdrop must never become a focus-scrolled container. */
.household{overflow:clip}.inspection-card,.meal-notebook,.shopping-notebook{animation:none}.wallet-panel{max-width:840px;width:min(840px,96vw)}.wallet-panel .banknotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wallet-panel #pay-actions{position:sticky;bottom:-24px;background:#fff8e7;padding:14px 0 20px;z-index:2}.wallet-panel .banknote img{max-height:112px}.wallet-stage{height:177px;padding-top:28px}.wallet-lining img{position:absolute;width:118px;height:62px;object-fit:contain;left:20px;top:5px;transform:rotate(-10deg)}.wallet-lining img+img{left:85px;top:9px;transform:rotate(7deg)}
@media(max-width:700px){.wallet-panel .banknotes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wallet-panel .banknote{padding:7px}.wallet-panel .banknote img{max-height:80px}.wallet-panel .banknote strong{font-size:18px}.wallet-panel .wallet-stage{height:135px;padding-top:20px}.wallet-panel .wallet-reveal{width:180px;height:105px}.wallet-panel #pay-actions{bottom:-16px;padding:10px 0}.wallet-panel #pay-actions button{font-size:12px;min-height:44px}.wallet-panel .payment-summary{padding:12px}.wallet-panel .payment-summary strong{font-size:22px}}

@media(max-width:700px){.household:has(.decision-actions) .house-intro{min-height:52px;padding:2px 4px 8px}.household:has(.decision-actions) .house-intro>.chapter-pill{display:none}.household:has(.decision-actions) .inventory-progress{margin-top:0}.inspection-card:has(.decision-actions) .inspection-product img{width:64px;height:64px}.inspection-card:has(.decision-actions) .inspection-product h2{font-size:18px;margin:4px 0}.inspection-card:has(.decision-actions) .inspection-product p{font-size:12px;margin:4px 0}.inspection-card:has(.decision-actions) .date-comparison{grid-template-columns:1fr 1fr;gap:8px}.inspection-card:has(.decision-actions) .date-label,.inspection-card:has(.decision-actions) .today-card{padding:10px;gap:6px;align-content:center;text-align:center}.inspection-card:has(.decision-actions) .date-label strong,.inspection-card:has(.decision-actions) .today-card small{font-size:11px}.inspection-card:has(.decision-actions) .date-label b,.inspection-card:has(.decision-actions) .today-card strong{font-size:16px}.inspection-card:has(.decision-actions) .storage-fact{font-size:12px;padding:10px}.inspection-card:has(.decision-actions) .decision-question{font-size:16px;margin:10px 0}.inspection-card:has(.decision-actions) .decision-actions button{min-height:87px}.inspection-card:has(.decision-actions) .decision-actions .aside-choice{min-height:65px}.inspection-card:has(.decision-actions) #food-help{min-height:44px;margin-top:8px;font-size:13px}.inspection-card:has(.decision-actions) .simulation-note{font-size:10px;margin-top:5px}}

/* v7 — dialogue adulte, indices concrets et afficheur client de la caisse. */
.dialogue-card{padding:20px}.dialogue-card .inspection-product img{width:100px;height:100px}.dialogue-card .inspection-product small{font-size:12px}.product-date{display:block;font-size:17px;margin-top:3px}.conversation-facts{background:#edf0df;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45}.conversation-facts p{margin:7px 0 0}.companion-dialogue{margin-top:16px}.companion-heading{display:flex;align-items:center;gap:10px}.companion-face{width:56px;height:56px;flex-shrink:0}.companion-heading strong{display:block;font-size:18px;color:#3b674f}.companion-heading span{font-size:11px;color:#51624b}.companion-line{font-size:18px;line-height:1.45;margin:12px 0}.reply-label{font-size:12px;color:#65705a;margin:10px 0}.dialogue-replies{display:grid;gap:10px}.dialogue-replies button{display:flex;align-items:center;gap:11px;text-align:left;padding:14px;min-height:72px;font-size:15px;line-height:1.4;background:#fffdf4;border:2px solid #c6c8aa}.dialogue-replies button:hover{background:#e6eed8;border-color:#738d68}.reply-number{border:1px solid #a6b695;border-radius:50%;display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;font-size:12px;color:#4a6748}.dialogue-evidence{background:#f4e3c8;border:2px solid #caa47e;border-radius:18px;padding:12px;text-align:center}.evidence-picture{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;min-height:74px}.evidence-picture svg{width:230px;max-height:105px}.evidence-date{background:#fffaf0;padding:10px;border-radius:12px;flex:1}.evidence-date small{display:block;font-size:11px;margin-bottom:6px}.evidence-date strong{font-size:17px}.evidence-arrow{font-size:28px}.evidence-symbol{font-size:40px;font-weight:800;width:65px;height:65px;border-radius:18px;background:#fff9e5;display:grid;place-items:center}.evidence-picture>div>b{display:block;font-size:20px;margin-top:6px}.dialogue-explanation{font-size:16px;line-height:1.55;margin:14px 0}.decision-destination.compact{display:flex;align-items:center;text-align:left;gap:12px;padding:12px;margin:14px 0}.decision-destination.compact>span{width:44px;height:44px;font-size:25px;flex-shrink:0}.decision-destination.compact h3{font-size:16px;margin:0}.dialogue-card .simulation-note{margin-top:10px}.checkout-stage{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);align-items:center;gap:20px}.checkout-stage #checkout-view{height:330px}#cash-register{min-width:0}.register-shell{background:linear-gradient(135deg,#53665c,#293f39);padding:18px 16px 12px;border:3px solid #294137;border-radius:19px;box-shadow:0 9px 0 #23382f,0 16px 24px #243f3926}.register-brand{display:flex;justify-content:space-between;gap:10px;color:#e3ead6;font:600 10px system-ui;letter-spacing:1.2px;margin-bottom:12px}.register-lcd{background:linear-gradient(135deg,#d1e1b3,#b6cc9b);color:#263e2c;padding:14px;border:3px inset #657e5a;border-radius:7px;box-shadow:inset 0 2px 7px #47583440}.register-caption{font:700 11px monospace;letter-spacing:1px}.register-amount{display:block;margin:20px 0}.register-digits{display:flex;align-items:flex-end;justify-content:flex-end;gap:5px;white-space:nowrap}.register-digits>b{font:500 24px monospace;margin:0 0 2px 5px}.register-digit{position:relative;display:inline-block;width:27px;height:48px;flex-shrink:0}.segment{position:absolute;background:#324b3212;border-radius:2px}.segment.lit{background:#29422f;box-shadow:0 1px 1px #6f865580}.segment.a,.segment.d,.segment.g{height:4px;width:19px;left:4px;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}.segment.a{top:0}.segment.g{top:22px}.segment.d{bottom:0}.segment.b,.segment.c,.segment.e,.segment.f{width:4px;height:19px;clip-path:polygon(0 10%,50% 0,100% 10%,100% 90%,50% 100%,0 90%)}.segment.b{right:0;top:3px}.segment.c{right:0;bottom:3px}.segment.f{left:0;top:3px}.segment.e{left:0;bottom:3px}.register-comma{font:bold 26px monospace;line-height:.9;font-style:normal}.register-last{font:12px monospace;line-height:1.5;min-height:36px;overflow-wrap:anywhere}.register-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:#e5ecdb;font-size:11px}.register-foot i{height:6px;width:6px;border-radius:50%;background:#b8d58c}.register-shell[data-complete=true] .register-caption{font-size:13px}.register-shell[data-complete=true]{border-color:#b99b60}.checkout-panel .cashier-bubble{margin:20px 0 12px;padding:16px}.checkout-panel .cashier-bubble strong{font-size:20px}
@media(max-width:700px){.household:has(.dialogue-card) .house-intro{min-height:50px;padding:0 4px 8px}.household:has(.dialogue-card) .house-intro>.chapter-pill{display:none}.household:has(.dialogue-card) .inventory-progress{margin:0;padding:7px 12px}.dialogue-card{padding:13px}.dialogue-card .inspection-product{gap:10px}.dialogue-card .inspection-product img{width:67px;height:74px}.dialogue-card .inspection-product h2{font-size:17px;margin:3px 0}.dialogue-card .inspection-product p{margin:3px 0;font-size:12px}.dialogue-card .inspection-product small{font-size:10px}.product-date{font-size:14px}.conversation-facts{font-size:12px;padding:9px 11px}.companion-dialogue{margin-top:12px}.companion-face{width:44px;height:44px}.companion-heading strong{font-size:16px}.companion-heading span{font-size:10px}.companion-line{font-size:16px;margin:9px 0}.dialogue-replies button{font-size:14px;padding:11px;min-height:66px}.dialogue-card .simulation-note{font-size:9px;margin-top:7px}.dialogue-explanation{font-size:14px;line-height:1.45}.evidence-date strong{font-size:14px}.checkout-stage{grid-template-columns:1fr;gap:16px}.checkout-stage #checkout-view{height:190px}.register-shell{max-width:380px;margin:auto;padding:12px 14px 8px}.register-brand{margin-bottom:8px}.register-lcd{padding:10px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.register-caption{font-size:10px;max-width:130px;line-height:1.5}.register-amount{margin:0}.register-last{grid-column:1/-1;min-height:0;font-size:11px}.register-digit{transform:scale(.85);transform-origin:right center;width:23px}.register-digits{gap:3px}.register-foot{margin-top:7px;font-size:10px}.checkout-panel .cashier-bubble{margin:16px 0 10px;padding:12px}.checkout-panel .cashier-bubble strong{font-size:17px}.checkout-panel .cashier-bubble .speaker{margin-bottom:6px}}
