@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700;900&display=swap');
:root{--ink:#39291e;--brown:#68442a;--cream:#fff3d5;--paper:#f6e2b6;--orange:#d75b36;--green:#638b70;--gold:#e5b85b;--line:#87613a;--shadow:0 7px 0 rgba(73,46,28,.17)}*{box-sizing:border-box}body{margin:0;background:#f6edda;color:var(--ink);font-family:'Noto Serif SC',serif}.game-shell{min-height:100vh;max-width:1600px;margin:auto;padding:16px 22px 12px;background:radial-gradient(ellipse at top,#fff9e8,#ead5ad)}button{font:inherit;cursor:pointer;color:inherit}.topbar{height:64px;display:flex;align-items:center;gap:12px;padding:0 10px 12px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:var(--orange);color:#fff5d9;border:3px solid var(--ink);border-radius:13px;font-weight:900;font-size:23px;box-shadow:3px 3px 0 var(--ink)}.eyebrow{font:700 10px/1.3 sans-serif;letter-spacing:.17em;color:#9a6c3c}.topbar strong{font-size:19px}.top-status{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.status-dot,.camera-dot{width:9px;height:9px;border-radius:50%;background:#6a9d69;box-shadow:0 0 0 4px #d6e2bd}.icon-btn{border:2px solid var(--brown);background:#fff0cc;border-radius:50%;width:34px;height:34px;font-weight:900}.scene{position:relative;min-height:min(76vh,760px);height:calc(100vh - 148px);max-height:820px;overflow:hidden;border:4px solid var(--ink);border-radius:22px;box-shadow:0 9px 0 #d5b887,inset 0 0 0 4px #f8dfaa;background:#f5dca8}.hidden{display:none!important}.street-scene{isolation:isolate;background:linear-gradient(#c9e0c7 0%,#f5dca8 54%,#d5a36a 55%,#bc8655 100%)}.sky-wash{position:absolute;inset:0 0 35%;background:radial-gradient(ellipse at 50% 38%,#fff5d2 0,#f2dca5 55%,transparent 80%)}.far-hills{position:absolute;left:0;right:0;top:24%;height:25%;background:linear-gradient(150deg,transparent 0 12%,#a7bf91 12% 24%,transparent 24% 30%,#7e9e79 30% 47%,transparent 47%),linear-gradient(20deg,transparent 0 20%,#b7c89a 20% 45%,transparent 45%);opacity:.8}.lantern{position:absolute;z-index:3;font-size:45px;filter:drop-shadow(2px 4px 0 #704126)}.lantern-a{top:8%;left:32%}.lantern-b{top:14%;right:10%}.mini-map{position:absolute;z-index:20;top:18px;left:18px;width:212px;padding:10px 12px 9px;background:#fff0ceeb;border:3px solid var(--ink);border-radius:13px;box-shadow:4px 4px 0 #a87b4d}.mini-map-title{font-size:13px;font-weight:900;display:flex;justify-content:space-between}.mini-map-title small{font:700 9px sans-serif;color:#a36d3c}.map-paper{height:82px;position:relative;margin:6px 0;background:#e7d4a8;border:1px solid #c4a575;border-radius:6px;overflow:hidden}.map-road{position:absolute;left:-10%;top:45%;width:120%;height:24px;background:#b98c5d;border:4px solid #e6c998;transform:rotate(-12deg);border-radius:50%}.map-river{position:absolute;left:56%;top:-20%;width:22px;height:150%;background:#8ab9b1;transform:rotate(23deg);border-radius:50%}.map-node{position:absolute;z-index:2;display:grid;place-items:center;width:22px;height:22px;background:#fff2d1;border:2px solid #68442a;border-radius:5px;font-size:11px;font-weight:900}.n1{left:14%;top:14%}.n2{left:40%;top:55%}.n3{left:65%;top:16%}.n4{right:10%;bottom:10%}.map-player{position:absolute;z-index:3;left:16%;top:70%;width:10px;height:10px;border-radius:50%;background:#d94c31;border:2px solid #fff4d7;box-shadow:0 0 0 3px #d94c3155;transition:left .3s}.map-legend{display:flex;justify-content:space-between;font-size:9px;color:#795a39}.street-sign{position:absolute;z-index:4;top:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:#f6d18c;border:3px solid var(--brown);border-radius:8px;padding:8px 18px;box-shadow:4px 4px 0 #a67b4d}.street-sign>span{font-size:27px;color:#b8432a;font-weight:900}.street-sign b{display:block;font-size:17px}.street-sign small{display:block;font-size:10px;color:#795537}.street-world{position:absolute;z-index:5;left:0;right:0;top:18%;height:47%;display:flex;align-items:flex-end;justify-content:space-evenly;gap:2.3%;padding:0 4%;transition:transform .45s ease}.shop{position:relative;width:21%;height:100%;min-width:140px;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(4px 6px 0 #5d3a2b26);cursor:pointer;transition:transform .25s}.shop:hover,.shop.nearby{transform:translateY(-6px)}.shop.nearby .shop-sign{background:#ffe69b;box-shadow:0 0 0 4px #e8b44c88}.roof{position:relative;width:110%;height:27%;background:#b95334;border:4px solid #573625;border-radius:48% 48% 8px 8px/65% 65% 8px 8px;clip-path:polygon(9% 0,91% 0,100% 75%,83% 100%,17% 100%,0 75%);box-shadow:inset 0 8px #dc8652}.roof:after{content:'';position:absolute;bottom:10%;left:4%;right:4%;height:6px;background:#efb56c;border-radius:50%}.roof-teal{background:#4e8277;box-shadow:inset 0 8px #87b8a0}.roof-gold{background:#d59b3f;box-shadow:inset 0 8px #f1ca75}.roof-red{background:#b94d35}.shop-front{position:relative;flex:1;width:88%;background:#e9c48a;border:4px solid #573625;border-top:0;display:flex;flex-direction:column;align-items:center;padding:12px 8px 0;box-shadow:inset 8px 0 #f7dda8,inset -8px 0 #c89b62}.shop-sign{z-index:1;white-space:nowrap;padding:5px 11px;background:#f5dfaa;border:3px solid #68442a;border-radius:5px;font-weight:900;font-size:clamp(11px,1.2vw,16px);box-shadow:2px 3px 0 #815332;transition:.2s}.shop-window{position:relative;margin-top:10px;width:90%;height:55%;border:4px solid #573625;border-radius:7px;background:#f8e7bb;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(24px,4vw,48px)}.shop-window span{font-size:10px;font-weight:700;color:#6d4a2d}.meat-display{background:#edc69a}.fish-display{background:#c3ded0}.tofu-display{background:#f3e3ad}.spice-display{background:#f1c17c}.door{position:absolute;bottom:0;left:36%;width:29%;height:35%;background:#8d5435;border:4px solid #573625;border-bottom:0;border-radius:40% 40% 0 0}.door:after{content:'◦';position:absolute;right:8px;top:45%;color:#f0d08a}.shop-label{position:absolute;bottom:6px;font-size:10px;font-weight:900;color:#6c472b}.steps{height:12px;width:95%;background:#bb8953;border:3px solid #573625;border-top:0}.tree{position:absolute;font-size:52px;bottom:0;z-index:-1}.tree-one{left:-2%;}.tree-two{right:-2%}.street-ground{position:absolute;z-index:6;left:0;right:0;bottom:0;height:39%;background:linear-gradient(#c99a63,#e0b579 22%,#b77c4a 23%,#c18a56 100%);border-top:8px solid #79502f;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.paving{position:absolute;inset:8% 0 0;background:repeating-linear-gradient(0deg,transparent 0 44px,#855a3c44 45px 48px),repeating-linear-gradient(90deg,transparent 0 95px,#855a3c33 96px 99px);transform:perspective(220px) rotateX(9deg);transform-origin:top}.road-centerline{position:absolute;left:0;right:0;top:40%;height:2px;background:#f2d09a77}.player-wrap{position:absolute;z-index:12;left:50%;bottom:11%;width:76px;transform:translateX(-50%);transition:left .3s ease;pointer-events:none}.player{height:112px;position:relative;filter:drop-shadow(3px 5px 0 #57362544);animation:bob 1s ease-in-out infinite}.player-hat{position:absolute;z-index:4;top:1px;left:12px;width:52px;height:15px;background:#4c6f58;border:3px solid #3c3023;border-radius:50% 50% 5px 5px}.player-head{position:absolute;z-index:3;top:10px;left:20px;width:36px;height:35px;border:3px solid #39291e;border-radius:45% 45% 42% 42%;background:#f4c58f}.player-head:before,.player-head:after{content:'';position:absolute;top:14px;width:5px;height:6px;background:#39291e;border-radius:50%}.player-head:before{left:7px}.player-head:after{right:7px}.player-head i{position:absolute;bottom:3px;left:12px;width:8px;height:4px;border-bottom:2px solid #a94c32;border-radius:50%}.player-body{position:absolute;top:42px;left:13px;width:50px;height:43px;background:#d85b3c;border:3px solid #39291e;border-radius:12px 12px 6px 6px}.scarf{position:absolute;top:2px;left:4px;width:38px;height:8px;background:#e8bc56;border:2px solid #39291e;border-radius:4px}.player-arm{position:absolute;top:48px;width:13px;height:35px;background:#f1c18a;border:3px solid #39291e;border-radius:9px}.arm-left{left:3px;transform:rotate(13deg)}.arm-right{right:2px;transform:rotate(-13deg)}.player-leg{position:absolute;top:80px;width:17px;height:27px;background:#426c63;border:3px solid #39291e;border-radius:5px}.leg-left{left:19px}.leg-right{right:17px}.player-name{text-align:center;margin-top:1px;font-size:10px;font-weight:900;background:#fff0c8;border:2px solid #573625;border-radius:20px;padding:2px 7px;white-space:nowrap}.player-wrap.walking .player{animation:walk .35s linear infinite}@keyframes bob{50%{transform:translateY(-2px)}}@keyframes walk{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}.shop-prompt{position:absolute;z-index:22;right:22px;bottom:25%;width:220px;padding:15px;background:#fff1d1;border:3px solid var(--ink);border-radius:13px;box-shadow:5px 5px 0 #9e7147;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.shop-prompt.visible{opacity:1;transform:none;pointer-events:auto}.prompt-kicker{font-size:10px;color:#a66b3c;font-weight:900}.shop-prompt strong{display:block;font-size:20px;margin:3px 0}.shop-prompt small{display:block;color:#80603e;font-size:11px;margin-bottom:10px}.primary-btn{border:3px solid var(--ink);border-radius:8px;background:#d95a35;color:#fff4d6;padding:10px 16px;font-weight:900;box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s}.primary-btn:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.primary-btn span{margin-left:10px}.scene-caption{position:absolute;z-index:16;bottom:17px;left:20px;display:flex;gap:10px;align-items:center;padding:10px 14px;background:#fff0d8eF;border:2px solid #6c472d;border-radius:10px;box-shadow:3px 3px 0 #8e6138}.caption-pin{font-size:23px;color:#c85832}.scene-caption b,.scene-caption small{display:block}.scene-caption b{font-size:13px}.scene-caption small{font-size:10px;color:#80603e;margin-top:3px}.move-controls{position:absolute;z-index:17;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px}.round-control,.walk-control{border:3px solid var(--ink);background:#fff0cd;border-radius:12px;box-shadow:3px 3px 0 #805735;font-weight:900}.round-control{width:45px;height:45px;font-size:23px}.walk-control{height:48px;min-width:140px;background:#64866b;color:#fff4d7;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 15px}.walk-icon{font-size:20px}.round-control:active,.walk-control:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #805735}.cook-scene{background:linear-gradient(#c7d8c0 0%,#e8d2a1 44%,#c18d5a 44%,#a86f46 100%)}.kitchen-backdrop{position:absolute;inset:0 0 38%;background:linear-gradient(90deg,#d3ad76 0 9%,transparent 9% 91%,#c99a62 91%),linear-gradient(#d6c093,#f2dfb0);border-bottom:12px solid #79502f}.kitchen-window{position:absolute;top:8%;left:34%;width:32%;height:64%;border:9px solid #69452b;border-bottom-width:14px;background:#a6c5a0;box-shadow:inset 0 0 0 5px #f3d49c}.window-lattice{position:absolute;inset:0;background:linear-gradient(90deg,transparent 47%,#69452b 48% 52%,transparent 53%),linear-gradient(0deg,transparent 47%,#69452b 48% 52%,transparent 53%)}.window-view{position:absolute;bottom:5px;width:100%;text-align:center;font-size:11px;color:#4c7358}.hanging-herbs{position:absolute;top:8%;left:8%;font-size:31px;filter:drop-shadow(2px 3px #6e4b2e)}.shelf{position:absolute;top:24%;right:8%;display:flex;gap:8px}.shelf span{padding:17px 7px 6px;background:#b77e4d;border:3px solid #69452b;border-radius:5px;color:#fff0c9;font-size:10px}.cook-heading{position:absolute;z-index:5;top:18px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:flex-start}.cook-heading h1{margin:4px 0;font-size:clamp(22px,3vw,38px)}.cook-heading p{margin:0;font-size:12px;color:#6c5438}.back-btn,.secondary-btn{border:3px solid var(--ink);background:#fff0cd;border-radius:9px;padding:9px 13px;font-weight:900;box-shadow:3px 3px 0 #805735}.cook-counter{position:absolute;z-index:5;top:112px;left:27px;background:#fff0d9d9;border:2px solid #805735;border-radius:20px;padding:7px 13px;font-size:12px}.cook-counter b{color:#c84f31;font-size:17px}.cook-counter span{margin:0 5px}.first-person-view{position:absolute;inset:28% 0 0;overflow:hidden}.countertop{position:absolute;inset:40% -4% -5%;background:repeating-linear-gradient(0deg,#b67d4d 0 18px,#a86c41 19px 21px);border-top:10px solid #71472c;transform:perspective(320px) rotateX(3deg)}.pot-shadow{position:absolute;left:50%;top:23%;width:43%;height:65%;transform:translateX(-50%);background:#593b27;border-radius:50%;filter:blur(14px);opacity:.35}.wok{position:absolute;z-index:3;left:50%;top:15%;width:min(49vw,510px);height:66%;transform:translateX(-50%)}.wok-rim{position:absolute;z-index:4;top:0;left:0;right:0;height:24%;border:13px solid #37291f;background:#655044;border-radius:50%;box-shadow:inset 0 0 0 7px #b7a17b,0 7px 0 #37291f}.pot-content{position:absolute;z-index:5;top:6%;left:5%;right:5%;height:40%;overflow:hidden;border-radius:50%;background:radial-gradient(ellipse,#5d6e3e 0,#9d6d3e 45%,#46362a 75%);border:5px solid #a28a66}.pot-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#f7e4b6;font-size:13px;text-shadow:1px 2px #39291e}.wok-front{position:absolute;top:13%;left:1%;right:1%;height:70%;background:linear-gradient(90deg,#37302b,#685144 23%,#49372b 50%,#6a5140 76%,#302821);border:8px solid #37291f;border-top:0;border-radius:8% 8% 48% 48%/5% 5% 48% 48%;clip-path:polygon(0 0,100% 0,87% 68%,72% 93%,50% 100%,28% 93%,13% 68%)}.wok-handle{position:absolute;z-index:2;top:17%;width:27%;height:9%;background:#49382a;border:6px solid #2e241b;border-radius:25px}.handle-left{left:-21%;transform:rotate(12deg)}.handle-right{right:-21%;transform:rotate(-12deg)}.steam{position:absolute;bottom:20%;width:25px;height:55px;border-left:5px solid #fff0ccaa;border-radius:50%;animation:steam 2s infinite ease-in-out}.steam1{left:25%}.steam2{left:48%;animation-delay:.5s}.steam3{right:20%;animation-delay:1s}@keyframes steam{0%{transform:translateY(15px) scale(.8);opacity:0}50%{opacity:.8}100%{transform:translateY(-30px) scale(1.2);opacity:0}}.pot-item{position:absolute;z-index:2;font-size:clamp(18px,3vw,32px);filter:drop-shadow(1px 2px #39291e)}.hand{position:absolute;z-index:8;bottom:8%;font-size:clamp(48px,6vw,80px);filter:drop-shadow(3px 5px 0 #65432988)}.hand-left{left:16%;transform:rotate(-28deg)}.hand-right{right:15%;transform:rotate(-25deg)}.action-hint{position:absolute;z-index:9;bottom:8%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff0d8e8;border:2px solid #69452b;border-radius:20px;padding:8px 13px;font-size:11px;font-weight:700}.ingredient-dock{position:absolute;z-index:12;bottom:0;left:0;right:0;padding:10px 17px 13px;background:#fff0d9f2;border-top:5px solid #654329;box-shadow:0 -7px 0 #e5bd78}.dock-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.dock-header strong{display:block;font-size:17px}.dock-note{font-size:10px;color:#84603d}.ingredient-cards{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 8px}.ingredient-card{flex:1;min-width:105px;max-width:170px;display:flex;flex-direction:column;align-items:center;padding:6px 7px 8px;border:2px solid #b8996d;border-radius:9px;background:#fffae9;box-shadow:2px 3px 0 #b99b6e;transition:.15s}.ingredient-card img{width:100%;height:65px;object-fit:contain}.ingredient-card span{font-weight:900;font-size:12px}.ingredient-card small{font-size:9px;color:#98764b;margin-top:2px}.ingredient-card.selected{border:3px solid #c94f32;background:#ffe3ad;transform:translateY(-3px);box-shadow:2px 5px 0 #b94c30}.cook-actions{display:flex;justify-content:center;gap:10px;margin-top:2px}.cook-actions .primary-btn,.cook-actions .secondary-btn{padding:8px 14px;font-size:12px}.gesture-bar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 7px 0}.gesture-status{display:flex;align-items:center;gap:10px}.gesture-status b,.gesture-status small{display:block}.gesture-status b{font-size:12px}.gesture-status small{font-size:10px;color:#876748;margin-top:3px}.camera-dot{flex-shrink:0}.gesture-guide{display:flex;gap:13px;font-size:10px;color:#795a39}.gesture-guide span{display:flex;align-items:center;gap:4px}kbd{font:700 10px sans-serif;background:#fff1d0;border:1px solid #b99a6e;border-bottom-width:3px;border-radius:4px;padding:3px 5px}.modal{position:fixed;z-index:100;inset:0;background:#2f241dcc;display:grid;place-items:center;padding:20px}.modal-card{position:relative;width:min(500px,100%);background:#fff0d3;border:4px solid var(--ink);border-radius:17px;padding:27px;box-shadow:8px 8px 0 #9c7045}.modal-card h2{margin:6px 0 15px}.modal-card p{font-size:13px;line-height:1.8}.modal-tip{padding:10px;background:#f2dfb7;border-radius:8px}.modal-tip code{font-size:11px;overflow-wrap:anywhere}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:27px}@media(max-width:850px){.game-shell{padding:8px}.scene{height:calc(100vh - 150px);min-height:600px}.mini-map{width:155px;top:10px;left:10px}.street-sign{top:110px}.street-world{top:25%;height:37%;padding:0 1%;gap:1%}.shop{min-width:90px;width:23%}.shop-front{padding:7px 4px 0}.shop-sign{font-size:10px;padding:4px}.shop-window{margin-top:6px}.shop-label{font-size:8px}.player-wrap{bottom:13%}.shop-prompt{right:10px;bottom:29%;width:170px;padding:10px}.scene-caption{left:8px;bottom:75px;max-width:45%}.scene-caption small{display:none}.move-controls{bottom:13px}.gesture-bar{align-items:flex-start;flex-direction:column;gap:8px}.gesture-guide{flex-wrap:wrap}.cook-heading{top:12px;left:15px}.cook-counter{top:95px;left:15px}.first-person-view{inset:29% 0 0}.wok{width:62vw;height:56%;top:18%}.hand-left{left:3%}.hand-right{right:3%}.action-hint{bottom:5%;font-size:9px}.ingredient-dock{padding:8px}.ingredient-card{min-width:90px}.ingredient-card img{height:48px}.cook-actions .primary-btn,.cook-actions .secondary-btn{padding:7px 8px;font-size:10px}}@media(max-height:700px){.scene{height:calc(100vh - 130px);min-height:520px}.gesture-bar{min-height:48px}.street-world{top:16%;height:48%}.street-ground{height:37%}.player-wrap{bottom:10%}.cook-scene .ingredient-card img{height:48px}}

/* Camera control panel */
.camera-toggle{margin-left:10px;border:2px solid var(--ink);border-radius:8px;background:#d95a35;color:#fff4d6;padding:7px 10px;font-size:11px;font-weight:900;box-shadow:2px 2px 0 var(--ink);white-space:nowrap}.camera-panel{position:fixed;z-index:80;right:22px;bottom:80px;width:220px;padding:10px;background:#fff0d3;border:3px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 #9c7045}.camera-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.camera-panel-head button{border:0;background:transparent;font-size:23px}.camera-panel video{width:100%;display:block;border-radius:7px;background:#30271e;transform:scaleX(-1)}.camera-panel p{font-size:11px;line-height:1.5;margin:7px 0 0;color:#765536}.camera-dot.live{background:#35a66a;box-shadow:0 0 0 4px #bfe7c7}@media(max-width:600px){.camera-panel{right:8px;bottom:105px;width:170px}.camera-toggle{font-size:10px;padding:6px}}


/* === Illustrated world upgrade: detailed painted environment assets === */
.street-scene{
  background:#d8c89b url('assets/scene/ancient-market.webp') center 58% / cover no-repeat !important;
  border-color:#4b3020; box-shadow:0 9px 0 #c9a66d,inset 0 0 0 4px #f6d99a;
}
/* The illustrated market already contains the architecture, roofs, stalls, lanterns and paving.
   Keep the live player, mini-map, shop hit targets and UI above the artwork. */
.street-scene .sky-wash,.street-scene .far-hills,.street-scene .lantern,
.street-scene .street-sign,.street-scene .street-ground{display:none !important}
.street-scene .street-world{display:none !important}
.street-scene .mini-map{background:#fff0ceef;backdrop-filter:blur(2px)}
.street-scene .player-wrap{bottom:10%;z-index:14;filter:drop-shadow(0 5px 2px #34251e66)}
.street-scene .player-name{background:#fff0cb;border:2px solid #704a2d;border-radius:14px;padding:3px 10px}
.street-scene .shop-prompt{background:#fff1d5f5;border-color:#503321;box-shadow:5px 5px 0 #7d5537}
.street-scene .scene-caption{background:#fff0d9ef;backdrop-filter:blur(3px)}
.street-scene .move-controls button{box-shadow:3px 4px 0 #543522}
.cook-scene{
  background:#4e3425 url('assets/scene/first-person-kitchen.webp') center 53% / cover no-repeat !important;
  border-color:#4b3020;box-shadow:0 9px 0 #c9a66d,inset 0 0 0 4px #f6d99a;
}
.cook-scene .kitchen-backdrop{display:none !important}
.cook-scene .first-person-view{inset:25% 0 0;background:linear-gradient(0deg,#3a2419aa 0%,transparent 42%);}
/* Keep the ingredient contents interactive over the illustrated wok; remove the duplicate CSS-drawn pan. */
.cook-scene .countertop,.cook-scene .pot-shadow,.cook-scene .wok-rim,
.cook-scene .wok-front,.cook-scene .wok-handle{display:none !important}
.cook-scene .wok{top:25%;width:min(44vw,470px);height:54%;}
.cook-scene .pot-content{top:7%;left:13%;right:13%;height:44%;border:3px solid #b79b70;background:radial-gradient(ellipse,#6b7042dd,#805137dd 70%,#38271ddd);box-shadow:inset 0 0 18px #24160f99;}
.cook-scene .hand-left{display:none !important}
.cook-scene .hand-right{bottom:13%;right:7%;}
.cook-scene .cook-heading,.cook-scene .cook-counter{background:#fff0d9e8;border:2px solid #704a2d;border-radius:12px;padding:10px 14px;backdrop-filter:blur(3px)}
.cook-scene .cook-heading{top:16px;left:20px;right:20px}
.cook-scene .cook-counter{top:108px;left:22px}
.cook-scene .ingredient-dock{background:#fff0d9f2;border-top:5px solid #654329;}
.cook-scene .ingredient-card{background:#fff8e8;border:2px solid #7c5636;box-shadow:3px 4px 0 #b88a53;}
.cook-scene .ingredient-card.selected{transform:translateY(-8px);border-color:#d75b36;box-shadow:0 0 0 3px #f0b35e,4px 6px 0 #8c5231;}
@media(max-width:760px){
 .street-scene{background-position:center 60% !important}
 .cook-scene .wok{top:24%;width:min(72vw,420px);height:50%}
 .cook-scene .cook-heading{left:10px;right:10px;top:10px;padding:7px}
 .cook-scene .cook-counter{top:88px;left:10px;font-size:11px}
}

/* Bear avatar pass: side-facing chibi traveller inspired by the user's original drawing. */
.street-scene .street-world{display:flex!important;position:absolute;z-index:11;left:0;right:0;top:29%;height:42%;padding:0 1%;gap:1%;background:transparent;pointer-events:none;}
.street-scene .shop{opacity:0;pointer-events:auto;min-width:0;flex:1;cursor:pointer;}
.street-scene .shop.nearby{opacity:0;}
.street-scene .player-wrap{width:116px;height:172px;bottom:10%;left:12%;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%);}
.street-scene .player-shadow{position:absolute;bottom:25px;left:23px;width:72px;height:15px;background:#39281d66;border-radius:50%;filter:blur(3px);}
.bear-player{position:absolute;left:12px;bottom:24px;width:94px;height:133px;transform-origin:50% 100%;filter:drop-shadow(1px 3px 0 #2d241b44);}
.bear-head{position:absolute;z-index:5;left:23px;top:26px;width:57px;height:51px;border:3px solid #332923;border-radius:47% 50% 45% 48%;background:radial-gradient(ellipse at 35% 30%,#77746e,#4c4b4b 65%,#373637);}
.bear-ear{position:absolute;display:block;width:23px;height:24px;border:3px solid #332923;border-radius:50%;background:#454546;}
.bear-ear-back{z-index:2;left:28px;top:22px;width:24px;height:25px;}
.bear-ear-front{left:35px;top:-9px;width:22px;height:23px;}
.bear-muzzle{position:absolute;right:-7px;top:25px;width:24px;height:19px;background:#d7c1c7;border:3px solid #332923;border-radius:52% 46% 45% 50%;}
.bear-eye{position:absolute;right:8px;top:18px;width:6px;height:8px;background:#fff0e8;border:2px solid #28211d;border-radius:50%;box-shadow:0 0 0 2px #b44b54;}
.bear-nose{position:absolute;right:-4px;top:31px;width:6px;height:5px;border-radius:50%;background:#302321;z-index:2;}
.bear-cheek{position:absolute;right:8px;top:32px;width:7px;height:5px;background:#ba7375;border-radius:50%;opacity:.8;}
.bear-hat{position:absolute;z-index:8;left:7px;top:20px;width:77px;height:17px;background:#b8874e;border:3px solid #392b22;border-radius:70% 55% 12% 16%;transform:rotate(-8deg);}
.bear-hat:before{content:"";position:absolute;left:26px;top:-24px;width:25px;height:26px;background:#e7d9d0;border:3px solid #392b22;border-radius:50% 50% 20% 20%;transform:rotate(12deg);}
.bear-hat i{position:absolute;left:29px;top:-4px;width:25px;height:7px;background:#a82e40;border:2px solid #392b22;border-radius:4px;}
.bear-body{position:absolute;z-index:4;left:30px;top:72px;width:42px;height:43px;border:3px solid #332923;border-radius:45% 45% 35% 35%;background:linear-gradient(100deg,#5b5b59,#38393a);}
.bear-belly{position:absolute;right:4px;top:9px;width:15px;height:22px;border-radius:50%;background:#d4c2c5;opacity:.9;}
.bear-belt{position:absolute;left:0;right:0;top:25px;height:5px;background:#b8894d;border-top:2px solid #332923;border-bottom:2px solid #332923;}
.bear-scarf{position:absolute;z-index:9;left:26px;top:60px;width:9px;height:47px;background:#b82d40;border-left:2px solid #39231f;transform:rotate(4deg);border-radius:3px 2px 0 5px;}
.bear-pack{position:absolute;z-index:3;left:13px;top:57px;width:25px;height:41px;border:3px solid #332923;border-radius:8px;background:linear-gradient(90deg,#8b7258,#c4a06a,#6e5442);transform:rotate(-13deg);}
.bear-sword{position:absolute;z-index:2;left:-1px;top:52px;width:13px;height:78px;border:3px solid #3a3029;border-radius:4px;background:linear-gradient(90deg,#5b7990,#c1c9c4,#59718a);transform:rotate(-38deg);}
.bear-sword:before{content:"";position:absolute;left:-7px;top:15px;width:24px;height:7px;background:#487a9b;border:2px solid #3a3029;border-radius:4px;}
.bear-arm{position:absolute;z-index:7;top:81px;width:13px;height:30px;border:3px solid #332923;border-radius:9px;background:#555452;transform-origin:50% 5px;}
.bear-arm-back{left:25px;transform:rotate(23deg);}.bear-arm-front{left:63px;transform:rotate(-28deg);}
.bear-leg{position:absolute;z-index:6;top:108px;width:15px;height:22px;border:3px solid #332923;border-radius:7px 7px 5px 5px;background:#4a4949;transform-origin:50% 0;}
.bear-leg-back{left:34px;}.bear-leg-front{left:53px;}
.street-scene .player-name{position:absolute;bottom:0;white-space:nowrap;font-size:10px;}
.street-scene .player-wrap.walking .bear-leg-front{animation:bear-step .25s infinite alternate ease-in-out;}
.street-scene .player-wrap.walking .bear-leg-back{animation:bear-step .25s infinite alternate-reverse ease-in-out;}
.street-scene .player-wrap.walking .bear-arm-front{animation:bear-arm-step .25s infinite alternate ease-in-out;}
.street-scene .player-wrap.walking .bear-arm-back{animation:bear-arm-step .25s infinite alternate-reverse ease-in-out;}
@keyframes bear-step{to{transform:translateY(-2px) rotate(22deg)}}
@keyframes bear-arm-step{to{transform:translateY(-1px) rotate(15deg)}}
@media(max-width:760px){.street-scene .player-wrap{width:94px;height:145px;bottom:13%;}.bear-player{transform:scale(.82);transform-origin:bottom left;}.street-scene .street-world{top:27%;height:42%;}}

/* Layout correction: keep the full wide street composition on narrow/portrait screens.
   The illustrated market contains all four storefronts; never zoom/crop it into a single shop. */
@media (max-width: 760px) {
  .game-shell { padding: 8px; }
  .street-scene {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 2 / 1;
    background-size: 100% 100% !important;
    background-position: center center !important;
  }
  .street-scene .street-world { top: 29% !important; height: 42% !important; }
  .street-scene .player-wrap { bottom: 10% !important; }
  .street-scene .shop-prompt { bottom: 24% !important; }
  .street-scene .scene-caption { bottom: 10px !important; }
  .street-scene .move-controls { bottom: 10px !important; }
}

/* Character polish pass: emphasize the original bear's charcoal fur, red eye, straw hat and travel sword. */
.street-scene .player-wrap{width:136px;height:190px;bottom:9.5%;}
.bear-player{left:10px;bottom:24px;width:112px;height:148px;transform-origin:50% 100%;}
.bear-head{left:27px;top:27px;width:66px;height:58px;border-width:3.5px;border-radius:48% 51% 45% 49%;background:radial-gradient(ellipse at 34% 27%,#77746f 0,#545252 48%,#333233 100%);}
.bear-ear-back{left:30px;top:22px;width:27px;height:27px;}
.bear-ear-front{left:42px;top:-9px;width:24px;height:25px;}
.bear-muzzle{right:-8px;top:29px;width:28px;height:21px;background:#d9c4ca;border-width:3px;}
.bear-eye{right:10px;top:19px;width:8px;height:10px;background:#fff9ef;border:2px solid #2b211d;border-radius:50%;box-shadow:0 0 0 2px #b52d48,0 0 8px #e34a61;}
.bear-nose{right:-4px;top:35px;width:7px;height:6px;background:#2b211d;}
.bear-cheek{right:10px;top:39px;width:9px;height:6px;background:#c47783;}
.bear-hat{left:5px;top:19px;width:91px;height:19px;background:linear-gradient(#d7b06f,#9b6c3d);border-width:3px;border-radius:72% 55% 12% 16%;transform:rotate(-9deg);}
.bear-hat:before{left:31px;top:-26px;width:29px;height:28px;background:#e6d8d1;border-width:3px;}
.bear-hat i{left:34px;top:-4px;width:28px;height:8px;background:#b52d43;}
.bear-body{left:34px;top:77px;width:48px;height:47px;}
.bear-scarf{left:29px;top:63px;width:10px;height:55px;background:linear-gradient(90deg,#8d2031,#d43b4a);}
.bear-pack{left:12px;top:59px;width:28px;height:45px;}
.bear-sword{left:-5px;top:51px;width:15px;height:91px;background:linear-gradient(90deg,#526f87,#d5d7ce 42%,#7896a8 70%,#394d61);}
.bear-sword:before{left:-8px;top:18px;width:28px;height:8px;background:#4f84a2;}
.bear-arm{top:86px;height:32px;}
.bear-leg{top:118px;height:24px;}
.street-scene .player-wrap.walking .bear-player{animation:bear-bounce .24s ease-in-out infinite alternate;}
@keyframes bear-bounce{from{translate:0 0}to{translate:0 -3px}}
@media(max-width:760px){.street-scene .player-wrap{width:100px;height:148px;bottom:12%;}.bear-player{transform:scale(.78);transform-origin:bottom left;}}

/* Original bear illustration sprite: transparent art replaces the placeholder CSS mascot. */
.street-scene .player-wrap{width:124px;height:176px;bottom:9.5%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;transition:left .12s linear;transform:translateX(-50%);}
.street-scene .bear-sprite{position:absolute;bottom:20px;left:50%;height:154px;width:auto;max-width:128px;object-fit:contain;object-position:center bottom;transform:translateX(-50%) scaleX(1);transform-origin:50% 90%;filter:drop-shadow(2px 5px 2px #4b30254a);transition:filter .2s;animation:bear-idle 2.8s ease-in-out infinite;}
.street-scene .player-wrap .player-shadow{position:absolute;bottom:18px;left:50%;width:64px;height:12px;border-radius:50%;background:#4a302b3b;transform:translateX(-50%);filter:blur(2px);}
.street-scene .player-wrap.walking .bear-sprite{animation:bear-walk-cycle .34s ease-in-out infinite;filter:drop-shadow(2px 6px 3px #4b302555);}
.street-scene .player-wrap.turning .bear-sprite{animation:bear-turn .26s ease-out;}
.street-scene .player-wrap.walking .player-shadow{animation:shadow-walk .34s ease-in-out infinite alternate;}
.street-scene .player-name{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:2;}
.map-node{font-family:inherit;padding:0;cursor:pointer;transition:transform .15s,background .15s;}
.map-node:hover,.map-node:focus-visible{background:#ffe69b;transform:scale(1.13);outline:2px solid #c85a36;outline-offset:2px;}
@keyframes bear-idle{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -1.5px;rotate:.5deg}}
@keyframes bear-walk-cycle{0%,100%{translate:0 0;rotate:-2deg;scale:1 1}50%{translate:0 -5px;rotate:2deg;scale:.985 1.015}}
@keyframes bear-turn{0%{filter:brightness(1.1);scale:.92 1}100%{filter:brightness(1);scale:1 1}}
@keyframes shadow-walk{to{transform:translateX(-50%) scaleX(.8);opacity:.65}}
@media(max-width:760px){.street-scene .player-wrap{width:96px;height:138px;bottom:12%;}.street-scene .bear-sprite{height:116px;max-width:100px;bottom:17px;}.street-scene .player-name{font-size:9px;}}
