@import url('data:text/css,');
:root{font-family:"Thonburi","Leelawadee UI",Tahoma,sans-serif;color:#233f37;background:#f5f2e8;font-synthesis:none;--green:#236453;--coral:#e57d65;--cream:#f5f2e8}*{box-sizing:border-box}body{margin:0;overflow:hidden;height:100dvh}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d56d51;outline-offset:5px}button{transition:transform .18s,background .18s}button:active{transform:scale(.96)}[hidden]{display:none!important}#world{position:fixed;inset:0 0 0 39%;background:#bedbd1;transition:left .5s}#world canvas{width:100%;height:100%;display:block}.grain{pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at 0% 50%,#f5f2e8 35%,transparent 69%);opacity:.3}.topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px 4%;z-index:5}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#234639;font-size:25px;font-weight:900;letter-spacing:-1.4px}.brand-light{font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;margin-top:3px}.brand-mark{background:#245d4e;color:var(--cream);height:43px;width:43px;border-radius:14px;display:grid;place-items:center;font-size:43px;line-height:1;position:relative;padding-bottom:10px}.brand-mark span{position:absolute;color:#efb360;font-size:22px;right:7px;top:2px}.top-actions{display:flex;align-items:center;gap:13px}.prototype{font-size:10px;letter-spacing:1.7px;background:#ffffff75;border:1px solid #ffffffaa;padding:9px 13px;border-radius:20px}.icon-button{width:42px;height:42px;border:1px solid #ffffffa0;border-radius:50%;background:#fcfaf0dd;color:#285b4c;font-size:21px}.intro{position:absolute;left:6%;top:50%;transform:translateY(-45%);width:35%;max-width:500px;z-index:2}.eyebrow{display:flex;gap:9px;align-items:center;color:#4d7b67;font-size:12px;letter-spacing:1px}.eyebrow>span{width:7px;height:7px;background:#e2a854;border-radius:50%}h1{font-size:clamp(40px,4.25vw,69px);line-height:1.35;letter-spacing:-2px;margin:18px 0 16px;font-weight:900;position:relative}.coral{color:var(--coral)}.spark{font-family:serif;font-size:55px;color:#d6a44a;position:absolute;right:0;top:6px;transform:rotate(12deg)}.lede{font-size:14px;line-height:1.9;color:#738078;margin:0 0 25px}.adventure{display:flex;gap:14px;align-items:center;border-top:1px solid #d8dcd0;border-bottom:1px solid #d8dcd0;padding:18px 0}.adventure-icon{display:grid;place-items:center;background:#ebe5cf;border-radius:16px;width:57px;height:57px;font-size:29px;flex-shrink:0}.tiny{font-size:10px;letter-spacing:1px;color:#79847c}.adventure h2{font-size:17px;margin:5px 0}.adventure p{font-size:11px;margin:0;color:#7b857c}.round-label{margin-left:auto;align-self:flex-start;font:13px monospace;color:#9da397}.customization{display:flex;gap:22px;margin:21px 0 25px;align-items:center}.customization label{display:block;font-size:11px;margin-bottom:10px;color:#6b796f}.swatches{display:flex;gap:9px}.swatches button{border:3px solid var(--cream);box-shadow:0 0 0 1px transparent;border-radius:50%;height:26px;width:26px;background:var(--swatch)}.swatches button[aria-pressed=true]{box-shadow:0 0 0 1.5px #466653}.pet-field{border-left:1px solid #d9ddd1;padding-left:22px}.pet-field input{border:0;border-bottom:1px dashed #bfcbbc;background:transparent;color:#345448;max-width:130px;font-size:14px;padding:3px 0}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fffaf0;border:none;border-radius:15px;padding:18px 22px;width:100%;font-weight:700;font-size:16px;box-shadow:0 7px 0 #164b3e,0 13px 22px #1f604719}.primary:hover{background:#2f7b65;transform:translateY(-2px)}.primary span{font-size:22px}.intro-meta{display:flex;gap:13px;justify-content:center;font-size:10px;color:#8a9286;margin-top:23px}.scene-tag{position:absolute;right:5%;top:115px;border:1px solid #ffffffaa;background:#f9f9eaaf;padding:12px 17px;border-radius:30px;font-size:11px;display:flex;align-items:center;gap:8px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#388772}.tag-muted{color:#7a9381}.buddy-tag{position:absolute;right:10%;bottom:24%;background:#fffdf0e6;padding:12px 21px;border-radius:17px;transform:rotate(4deg);box-shadow:0 9px 25px #416f5212}.buddy-tag span{display:block;font-size:9px;color:#83907e;margin-bottom:5px}.buddy-tag strong{font-size:17px}.intro-footer{position:absolute;left:6%;right:4%;bottom:26px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.3px;color:#829081}.intro-footer .coral{font-size:25px;vertical-align:middle;margin-left:12px}.game-only{display:none!important}body:not([data-mode=intro]) .game-only{display:flex!important}body:not([data-mode=intro]) .intro-only,body:not([data-mode=intro]) .intro{display:none}body:not([data-mode=intro]) #world{left:0}body:not([data-mode=intro]) .grain{display:none}.hud{position:fixed;top:105px;left:4%;right:4%;justify-content:space-between;align-items:flex-start;pointer-events:none}.mission,.timer{background:#fffdf0ee;border:1px solid #fff;border-radius:20px;padding:18px 21px;box-shadow:0 6px 24px #244e3e13}.mission strong{display:block;font-size:16px;margin:6px 0 15px}.ingredients{display:flex;gap:7px}.ingredients>span{background:#edeedf;border-radius:10px;padding:9px 11px;font-size:12px;transition:background .25s}.ingredients b{margin-left:5px;color:#8a958a}.ingredients .found{background:#d4e8cb;color:#305d36}.ingredients .found b{color:#305d36}.timer{text-align:center;min-width:115px}.timer strong{display:block;font-size:32px;letter-spacing:2px;margin:5px 0}.timer>span:last-child{font-size:10px;color:#7c887a}.timer.urgent strong{color:#d4634c}.guide{position:fixed;bottom:94px;left:50%;transform:translateX(-50%);padding:11px 19px;border-radius:25px;background:#255d4fe8;color:#fff9e5;font-size:13px;pointer-events:none;white-space:nowrap}.controls-hint{position:fixed;bottom:29px;left:50%;transform:translateX(-50%);gap:23px;align-items:center;font-size:11px;color:#365c4b;background:#fffdf0d9;padding:13px 22px;border-radius:16px;white-space:nowrap}kbd{font-family:inherit;border:1px solid #bbcbb8;padding:3px 6px;border-radius:5px;background:#fffdf4;font-size:10px}.toast{position:fixed;top:48%;left:50%;transform:translate(-50%,-50%) scale(.95);opacity:0;background:#fffdf0f2;border:2px solid #fff;border-radius:20px;padding:15px 25px;color:#305e45;pointer-events:none;font-size:18px;z-index:12;transition:.2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.modal{position:fixed;inset:0;background:#193d3470;backdrop-filter:blur(7px);display:grid;place-items:center;z-index:20;padding:20px}.modal-card{width:min(440px,100%);background:#f7f4e9;border-radius:30px;padding:30px 35px;text-align:center;box-shadow:0 22px 100px #173e343d;max-height:95dvh;overflow:auto}.modal-icon{font-size:54px;margin-bottom:10px}.modal-card .eyebrow{justify-content:center}.modal-card h2{font-size:30px;margin:14px 0 8px}.modal-card p{font-size:13px;line-height:1.8;color:#7c8479}.modal-card .primary{margin-top:23px}.secondary{border:1px solid #cad3c2;background:#e9eddf;color:#305d4b;padding:13px 20px;border-radius:12px;font-size:14px;width:100%;margin-top:19px}.text-button{border:0;background:none;color:#7d887a;padding:16px;font-size:12px}.result-grid{display:flex;gap:10px;margin-top:20px}.result-grid>div{flex:1;background:#e8ebdc;padding:14px 6px;border-radius:14px}.result-grid strong{display:block;font-size:25px;margin:7px}.result-grid span{font-size:10px;color:#768372}.touch-controls{display:none!important}.error{position:fixed;inset:20%;z-index:30;background:#fff9e8;padding:35px;border-radius:25px}.joystick,.jump{touch-action:none;user-select:none;-webkit-user-select:none}.joystick{position:relative;width:112px;height:112px;background:#fbf8e650;border:2px solid #fffaeaaa;border-radius:50%;display:grid;place-items:center}.joystick span{width:50px;height:50px;border-radius:50%;background:#fff9e4d9;border:1px solid #c0cbb4;box-shadow:0 4px 8px #36563820;z-index:2}.joystick i{position:absolute;font-size:70px;font-style:normal;color:#406b4730}.jump{width:88px;height:88px;background:#f7e5b2e8;border:3px solid #fffae9;border-radius:50%;color:#425f3c;font-size:32px;box-shadow:0 5px 0 #afaa78}.jump small{display:block;font-size:11px}.touch-controls{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));left:6%;right:6%;justify-content:space-between;align-items:center;pointer-events:none}.touch-controls>*{pointer-events:auto}@media(pointer:coarse){body:not([data-mode=intro]) .touch-controls{display:flex!important}body:not([data-mode=intro]) .controls-hint{display:none!important}.guide{bottom:160px}}@media(min-width:901px){body:not([data-mode=intro]) .touch-controls{display:none!important}}@media(max-width:900px){.prototype{display:none}.topbar{padding:19px 5%}.brand{font-size:22px}.intro{left:5%;width:43%}h1{font-size:45px}.customization{gap:10px}.pet-field{padding-left:10px}.intro-meta{gap:8px;font-size:9px}.spark{right:10px;font-size:33px}.scene-tag{right:4%}.buddy-tag{right:8%;bottom:22%}#world{left:34%}body:not([data-mode=intro]) .touch-controls{display:flex!important}body:not([data-mode=intro]) .controls-hint{display:none!important}.guide{bottom:157px}}@media(max-width:600px){body[data-mode=intro]{overflow:auto}.topbar{padding:17px 5%}.brand small{font-size:8px}.brand-mark{width:36px;height:36px;font-size:36px}.icon-button{width:37px;height:37px}#world{position:absolute;left:0;top:65px;height:290px}.grain{display:none}.intro{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;margin:330px 6% 40px}.intro .eyebrow{font-size:10px}h1{font-size:38px;line-height:1.3;margin:12px 0}h1 br{display:none}.spark{right:7px;top:-6px;font-size:30px}.lede{font-size:12px;margin-bottom:18px}.lede br{display:none}.adventure{padding:12px 0}.adventure h2{font-size:15px}.customization{justify-content:space-between;margin:18px 0}.pet-field{padding-left:20px}.primary{padding:15px 20px}.intro-meta{font-size:9px}.scene-tag{top:95px;right:5%;padding:7px 10px;font-size:9px}.buddy-tag{top:261px;bottom:auto;right:7%;padding:9px 13px}.buddy-tag strong{font-size:13px}.buddy-tag span{font-size:8px}.intro-footer{display:none}.hud{top:80px;left:3%;right:3%;gap:8px}.mission{padding:11px 13px;flex:1}.mission strong{font-size:12px;margin:4px 0 8px}.ingredients{gap:4px}.ingredients>span{padding:6px;font-size:10px}.timer{min-width:78px;padding:12px 8px}.timer strong{font-size:24px}.tiny{font-size:8px}.timer>span:last-child{font-size:8px}body:not([data-mode=intro]) #world{position:fixed;inset:0;height:100dvh}.guide{font-size:11px;max-width:90%;white-space:normal;text-align:center}.toast{font-size:15px;width:max-content;max-width:85%}.modal-card{padding:22px}.modal-card h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep Thai title phrases together and leave room for the decorative star. */
.title-line{white-space:nowrap}
@media(max-width:600px){h1{font-size:clamp(28px,8.4vw,38px);padding-right:24px}h1 br{display:block}.spark{right:0;top:4px;font-size:25px}.error{inset:10% 5%;height:max-content}}
@media(min-width:901px) and (pointer:coarse){body:not([data-mode=intro]) .touch-controls{display:flex!important}}

/* A compact dressing panel keeps the live character visible beside it. */
.dress-up{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #bbcbbb;border-radius:12px;background:#e8eddf;color:#305d4b;padding:11px 16px;margin:-8px 0 16px;font-size:13px}
.dress-up:hover{background:#dce5d2}
.wardrobe{position:fixed;inset:110px auto auto 4%;margin:0;width:min(410px,43vw);max-width:92vw;max-height:calc(100dvh - 135px);overflow:auto;border:1px solid #fff;border-radius:25px;background:#f8f5ebeF;color:#233f37;padding:22px;box-shadow:0 20px 70px #264a3930}
.wardrobe::backdrop{background:#24473712}
.wardrobe-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-22px;background:#f8f5eb;padding:10px 0;z-index:1}
.wardrobe h2{font-size:24px;margin:4px 0 0}.wardrobe-done{border:0;border-radius:12px;background:#236453;color:#fff9eb;padding:12px;white-space:nowrap;font-size:12px}
.wardrobe-hint,.wardrobe-status{font-size:11px;line-height:1.7;color:#687b6d;margin:10px 0 18px}.wardrobe-status{margin:16px 0 0;min-height:36px}
.wardrobe-fields{display:grid;gap:16px}.wardrobe fieldset{border:0;padding:0;margin:0;min-width:0}.wardrobe legend{font-size:12px;margin:0 0 9px;padding:0}.wardrobe-swatches{display:flex;gap:8px;flex-wrap:wrap}
.wardrobe-color{position:relative;flex-shrink:0;width:42px;height:42px;border:3px solid #f8f5eb;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #cfd7c8}
.wardrobe-color[aria-pressed=true]{box-shadow:0 0 0 2px #285c48}.wardrobe-color[aria-pressed=true]::after{content:'✓';position:absolute;right:-4px;bottom:-4px;font-size:11px;line-height:18px;width:18px;height:18px;background:#285c48;border-radius:50%;color:white}
body[data-dressing=true] .intro,body[data-dressing=true] .intro-only{visibility:hidden}
@media(min-width:601px) and (max-height:850px){.intro{top:98px;bottom:42px;transform:none;overflow:auto;padding:8px 8px 24px 0}.intro h1{font-size:clamp(34px,3.8vw,55px);margin:10px 0}.intro .lede{margin-bottom:15px}.intro .customization{margin:16px 0 20px}.intro .adventure{padding:12px 0}.intro-meta{margin-top:17px}.wardrobe-fields{gap:12px}}
@media(max-width:600px){.dress-up{margin:0 0 14px}.wardrobe{inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:54dvh;border-radius:23px 23px 0 0;padding:14px 20px calc(14px + env(safe-area-inset-bottom))}.wardrobe-header{top:-14px;padding:6px 0}.wardrobe h2{font-size:21px}.wardrobe-fields{grid-template-columns:1fr 1fr;gap:15px 12px}.wardrobe fieldset:first-child{grid-column:1/-1}.wardrobe-color{width:38px;height:38px}.wardrobe-swatches{gap:7px}.wardrobe-hint{margin:6px 0 14px}.wardrobe-status{margin-top:13px;min-height:0}body[data-dressing=true] #world{position:fixed;top:65px;left:0;width:100%;height:calc(46dvh - 65px)}body[data-dressing=true]{overflow:hidden}}

.wardrobe-style-field{grid-column:1/-1}.wardrobe-style{min-height:42px;padding:9px 13px;border:1px solid #c3cfbc;border-radius:11px;color:#3a5b49;background:#eeefe3;font-size:12px}.wardrobe-style[aria-pressed=true]{background:#285c48;border-color:#285c48;color:#fff9eb}.wardrobe-style[aria-pressed=true]::before{content:'✓ ';font-weight:bold}
@media(max-width:600px){.wardrobe-style-field .wardrobe-swatches{display:grid;grid-template-columns:repeat(3,1fr)}.wardrobe-style{padding:9px 6px}.wardrobe fieldset:nth-child(3){grid-column:1/-1}}

/* The hub shares movement controls with the minigame, but has no timer. */
.lobby-only{display:none!important}
body[data-place=lobby] .lobby-only{display:block!important}
body[data-place=lobby] #hud,body[data-place=lobby] #guide,body[data-place=lobby] .prototype{display:none!important}
.jump-only{display:none!important}body[data-place=jump] .jump-only{display:flex!important}body[data-place=jump] .lobby-only,body[data-place=jump] .hud,body[data-place=jump] .guide:not(#jump-guide){display:none!important}.jump-hud{position:fixed;top:105px;left:4%;right:4%;z-index:4;justify-content:space-between;align-items:center;padding:16px 20px;background:#fffdf0ee;border:1px solid #fff;border-radius:20px;box-shadow:0 6px 24px #244e3e13;pointer-events:none}.jump-hud strong{display:block;font-size:17px;margin-top:5px}.jump-stats{display:flex;gap:10px}.jump-stats span{background:#e8efd9;border-radius:12px;padding:10px 13px;color:#315d4d;font-size:13px}.jump-hud+.guide{}
.lobby-header{position:fixed;left:4%;top:100px;right:4%;pointer-events:none;display:flex;align-items:flex-start;gap:14px}
body[data-place=lobby] .lobby-header{display:flex!important}
.lobby-actions{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;max-width:48%}
.lobby-header h2{font-size:24px;margin:0 0 5px;color:#214d4d}
.lobby-header p{font-size:14px;margin:0;color:#3f675f}
.lobby-header>div{padding:15px 20px;border:1px solid #ffffffc7;border-radius:18px;background:#fff8e7ed}
.lobby-header button{pointer-events:auto;border:1px solid #fff;border-radius:14px;padding:13px 20px;background:#fff8e7;color:#28594e;font-size:14px}
body[data-place=lobby] .lobby-map{display:none!important}
.lobby-map{position:fixed;left:4%;top:230px;background:#fff8e7e8;border:1px solid #fff;border-radius:16px;padding:14px 16px;font-size:13px;pointer-events:none;width:225px}
.lobby-map>span{font-size:12px;color:#677e70}.lobby-map ol{list-style:none;margin:12px 0 0;padding:0}.lobby-map li{margin:10px 0}.lobby-map strong,.lobby-map small{float:right;font-size:12px}.lobby-map strong{color:#287b56}.lobby-map small{color:#7a7d73}.lobby-map p{border-top:1px solid #d3dac9;padding-top:12px;margin-bottom:0;color:#28594e;font-size:14px}
.portal-card{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#fff9e9ed;border:1px solid #fff;border-radius:18px;padding:14px 22px;text-align:center;max-width:90%;width:410px;pointer-events:none;color:#31564c}
.portal-card strong{font-size:17px}.portal-card p{font-size:13px;line-height:1.6;margin:5px 0 0}.portal-card[data-ready=true]{background:#e3f3dff5;border-color:#8ab990}.portal-card span{display:block;font-size:12px;margin-top:8px}.portal-card progress{width:100%;height:8px;margin-top:8px;accent-color:#327e5c}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px),(pointer:coarse){.portal-card{bottom:158px}}
@media(max-width:600px){.lobby-header{left:4%;right:4%;top:79px;flex-direction:column;align-items:stretch;gap:8px}.lobby-actions{margin-left:0;justify-content:flex-start;max-width:100%;gap:6px}.lobby-stars,.lobby-cloud{padding:7px 10px;font-size:12px}.lobby-header>div{padding:11px 13px}.lobby-header h2{font-size:19px}.lobby-header p{font-size:12px;line-height:1.6}.lobby-header button{padding:9px 12px;font-size:12px}.lobby-map{left:4%;top:180px;width:auto;padding:8px 12px}.lobby-map>span,.lobby-map ol{display:none}.lobby-map p{border:0;padding:0;margin:0;font-size:13px}.portal-card{padding:11px 14px;width:340px}.portal-card strong{font-size:15px}.portal-card p{font-size:12px}}
@media(max-height:550px){.lobby-header{top:74px}.lobby-header>div{padding:8px 13px}.lobby-header p,.lobby-map{display:none!important}.portal-card{bottom:12px;width:300px;padding:9px 14px}.portal-card p{font-size:12px}.lobby-header h2{font-size:18px}.touch-controls{bottom:18px}}

@media(max-width:600px){.jump-hud{top:79px;left:3%;right:3%;padding:10px 12px;gap:8px;align-items:flex-start}.jump-hud strong{font-size:13px;max-width:180px}.jump-stats{flex-direction:column;gap:4px;flex-shrink:0}.jump-stats span{padding:5px 8px;font-size:12px}}@media(max-height:550px){.jump-hud{top:70px;padding:7px 12px}.jump-hud strong{font-size:13px}}

.stars-only{display:none!important}body[data-place=stars] .stars-only{display:flex!important}body[data-place=stars] #hud,body[data-place=stars] #guide,body[data-place=stars] #jump,body[data-place=stars] .controls-hint{display:none!important}.stars-hud{position:fixed;top:95px;left:4%;padding:14px 18px;border-radius:16px;background:#eef0fff2;flex-direction:column;gap:8px;color:#344574;pointer-events:none}@media(max-width:600px){.stars-hud{top:78px;font-size:12px;padding:10px;gap:4px}}


.bricks-only{display:none!important}body[data-place=bricks] .bricks-only{display:flex!important}body[data-place=bricks] #hud,body[data-place=bricks] #guide:not(#bricks-guide),body[data-place=bricks] .controls-hint{display:none!important}.bricks-hud{position:fixed;top:95px;left:4%;padding:14px 18px;border-radius:16px;background:#fdeef1f2;flex-direction:column;gap:8px;color:#6d3448;pointer-events:none}@media(max-width:600px){.bricks-hud{top:78px;font-size:12px;padding:10px;gap:4px}}


.tycoon-only{display:none!important}body[data-place=tycoon] .tycoon-only{display:flex!important}
body[data-place=tycoon] #hud,body[data-place=tycoon] .guide,body[data-place=tycoon] .controls-hint,body[data-place=tycoon] .touch-controls{display:none!important}
.tycoon-hud{position:fixed;top:95px;left:3%;width:250px;padding:14px 16px;border-radius:18px;background:#fffdf0f2;border:1px solid #fff;flex-direction:column;gap:9px;color:#3c5245;box-shadow:0 8px 26px #2a4f3d18;pointer-events:none;z-index:4}
.tycoon-hud strong{font-size:17px}
#tycoon-dice{font-size:15px;letter-spacing:2px}
.tycoon-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:12px}
.tycoon-players li{display:flex;justify-content:space-between;gap:8px;background:#eef0e2;border-radius:10px;padding:7px 10px}
.tycoon-players li[data-active=true]{background:#d8e8d3;font-weight:700}
.tycoon-players li[data-out=true]{opacity:.45;text-decoration:line-through}
.tycoon-players b{width:9px;height:9px;border-radius:50%;background:var(--seat);flex-shrink:0;align-self:center}
.tycoon-log{margin:0;font-size:11px;line-height:1.7;color:#6f7c72;min-height:34px}
.tycoon-actions{position:fixed;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;z-index:6}
.tycoon-actions button{border:0;border-radius:14px;padding:15px 22px;font-size:15px;font-weight:700;background:var(--green);color:#fffaf0;box-shadow:0 5px 0 #164b3e}
.tycoon-actions #tycoon-seats{background:#e9eddf;color:#305d4b;box-shadow:0 4px 0 #c6cdba;font-size:13px;padding:12px 16px;font-weight:400}
.tycoon-actions #tycoon-skip{background:#e9eddf;color:#305d4b;box-shadow:0 4px 0 #c6cdba}
.tycoon-actions button:disabled{opacity:.45;box-shadow:none;cursor:default}
@media(max-width:600px){.tycoon-hud{top:74px;left:3%;width:44%;padding:8px 10px;gap:4px;font-size:11px}.tycoon-hud strong{font-size:14px}.tycoon-players{gap:3px}.tycoon-players li{padding:4px 7px;font-size:10px}.tycoon-log{font-size:10px;min-height:0}.tycoon-actions button{padding:12px 15px;font-size:13px}}


.buddy-only{display:none!important}body[data-place=buddy] .buddy-only{display:flex!important}body[data-place=buddy] #hud,body[data-place=buddy] .guide:not(#buddy-guide),body[data-place=buddy] .controls-hint{display:none!important}.buddy-hud{position:fixed;top:95px;left:4%;padding:14px 18px;border-radius:16px;background:#f0f7eef2;flex-direction:column;gap:8px;color:#33523c;pointer-events:none}@media(max-width:600px){.buddy-hud{top:78px;font-size:12px;padding:10px;gap:4px}}


.snakes-only{display:none!important}body[data-place=snakes] .snakes-only{display:flex!important}
body[data-place=snakes] #hud,body[data-place=snakes] .guide,body[data-place=snakes] .controls-hint,body[data-place=snakes] .touch-controls{display:none!important}
.snakes-hud{position:fixed;top:95px;left:3%;width:250px;padding:14px 16px;border-radius:18px;background:#fffdf0f2;border:1px solid #fff;flex-direction:column;gap:9px;color:#3c5245;box-shadow:0 8px 26px #2a4f3d18;pointer-events:none;z-index:4}
.snakes-hud strong{font-size:17px}
#snakes-note{font-size:12px;color:#6f7c72}
.snakes-actions{position:fixed;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;z-index:6}
.snakes-actions button{border:0;border-radius:14px;padding:15px 22px;font-size:15px;font-weight:700;background:var(--green);color:#fffaf0;box-shadow:0 5px 0 #164b3e}
.snakes-actions #snakes-seats{background:#e9eddf;color:#305d4b;box-shadow:0 4px 0 #c6cdba;font-size:13px;padding:12px 16px;font-weight:400}
.snakes-actions button:disabled{opacity:.45;box-shadow:none;cursor:default}
@media(max-width:600px){.snakes-hud{top:74px;left:3%;width:44%;padding:10px 11px;gap:6px;font-size:11px}.snakes-hud strong{font-size:14px}#snakes-note{font-size:10px}.snakes-actions button{padding:12px 15px;font-size:13px}}


/* the card itself ignores the pointer, so the way-in button must claim it back */
#portal-enter{pointer-events:auto;border:0;border-radius:12px;padding:12px 18px;margin-top:10px;width:100%;background:var(--green);color:#fffaf0;font-size:15px;font-weight:700;box-shadow:0 4px 0 #164b3e}
.lobby-view{position:fixed;right:4%;bottom:104px;flex-direction:column;gap:7px;align-items:center;background:#fffdf0dd;border:1px solid #fff;border-radius:16px;padding:10px 12px;z-index:5}
.lobby-view div{display:flex;gap:6px}
.lobby-view button{width:38px;height:38px;border:1px solid #d5dcc9;border-radius:11px;background:#f3f1e2;color:#2f5a49;font-size:17px}
@media(max-width:900px),(pointer:coarse){.lobby-view{left:50%;right:auto;bottom:45px;transform:translateX(-50%);background:none;border:0;padding:0;gap:0}.lobby-view>.tiny{display:none}.lobby-view div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lobby-view button{width:36px;height:36px;font-size:16px;background:#fffdf0e8;border-color:#fff}}
@media(max-height:550px){.lobby-view{left:auto;right:4%;bottom:132px;transform:none}}
.seating{position:fixed;inset:0;background:#193d3470;backdrop-filter:blur(7px);display:grid;place-items:center;z-index:22;padding:20px}
.seating-card{width:min(430px,100%);background:#f7f4e9;border-radius:26px;padding:26px 28px;text-align:center;box-shadow:0 22px 90px #173e343d;max-height:92dvh;overflow:auto}
.seating-card h2{font-size:26px;margin:8px 0}
#seating-note{font-size:12px;line-height:1.7;color:#7c8479;margin:0 0 16px}
.seating-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.seating-list li{display:flex;gap:8px;align-items:center;background:#e9ecdd;border-radius:14px;padding:9px 10px}
.seating-list input{flex:1;min-width:0;border:0;border-bottom:1px dashed #b9c5b2;background:transparent;color:#2f5044;font-size:14px;padding:5px 2px}
.seating-list .seat-kind{border:1px solid #cad3c2;background:#fbfaf0;color:#33604d;border-radius:10px;padding:8px 11px;font-size:12px;min-width:74px}
.seating-list .seat-kind[data-kind=ai]{background:#dfe6f3;color:#3d5480;border-color:#c3cfe5}
.seating-list .seat-drop{border:0;background:transparent;color:#8a9286;font-size:17px;padding:4px 6px}
.seating-list .seat-drop:disabled{opacity:.3}
#seating-add{margin-bottom:6px}

.seating-list .seat-look{border:1px solid #cad3c2;background:#fbfaf0;color:#5d4a33;border-radius:10px;padding:8px 10px;font-size:12px;white-space:nowrap}

#lobby-coins{margin-left:6px;font-weight:700}
.petshop-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}
.petshop-list li{display:flex;gap:10px;align-items:center;background:#e9ecdd;border-radius:14px;padding:10px 12px}
.petshop-list li[data-owned=true]{background:#dbe8d5}
.petshop-list li[data-locked=true]{opacity:.72}
.petshop-face{font-size:24px;width:32px;text-align:center}
.petshop-name{flex:1;min-width:0}
.petshop-name b{display:block;font-size:14px}
.petshop-name small{font-size:11px;color:#6f7c72}
.petshop-tag{font-size:10px;padding:3px 8px;border-radius:20px;color:#fffaf0}
.petshop-act{border:1px solid #cad3c2;background:#fbfaf0;color:#33604d;border-radius:11px;padding:9px 12px;font-size:12px;min-width:88px}
.petshop-act[data-state=owned]{background:#cfe0c9;border-color:#b6ccae}
.petshop-act[data-state=here]{background:#3f7a63;color:#fffaf0;border-color:#3f7a63}
.petshop-act:disabled{opacity:.5}

.lobby-stars{background:#fffdf0dd;border:1px solid #fff;border-radius:20px;padding:9px 13px;font-size:13px;color:#7a6330;font-weight:700}
.levels-grid{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.levels-grid button{width:100%;border:1px solid #cad3c2;background:#fbfaf0;color:#33604d;border-radius:14px;padding:10px 4px;font-size:15px;font-weight:700;line-height:1.25}
.levels-grid button small{display:block;font-size:11px;font-weight:400;color:#b08a3c;letter-spacing:1px}
.levels-grid button[data-state=locked]{opacity:.45}
.levels-grid button[data-state=cleared]{background:#dbe8d5;border-color:#b6ccae}
.levels-grid button[data-state=next]{background:#3f7a63;color:#fffaf0;border-color:#3f7a63}
.levels-grid button[data-state=next] small{color:#ffe8b0}
@media(max-width:600px){.levels-grid{grid-template-columns:repeat(5,1fr);gap:6px}.levels-grid button{padding:8px 2px;font-size:13px}}

.lobby-cloud{background:#eef4faee;border:1px solid #fff;border-radius:20px;padding:9px 13px;font-size:12px;color:#3d5b73}

/* ของติดตัว — ร้านใช้โครงเดียวกับร้านสัตว์เลี้ยง ส่วนแถบใช้งานลอยอยู่ข้างจอตอนเล่น */
.itemshop-note{font-size:11px;line-height:1.7;color:#7c8479;margin:-6px 0 14px}
#lobby-bag{margin-left:6px;font-weight:700}
.levels-challenge{font-size:12px;line-height:1.7;color:#8a6a2c;background:#fdf3dd;border-radius:12px;padding:9px 12px;margin:0 0 12px}
.levels-kit{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 14px}
.levels-kit button{border:1px solid #cad3c2;background:#fbfaf0;color:#33604d;border-radius:13px;padding:9px 12px;font-size:12px;line-height:1.3}
.levels-kit button[aria-pressed=true]{background:#3f7a63;border-color:#3f7a63;color:#fffaf0}
.levels-kit button:disabled{opacity:.42}
.levels-kit .kit-empty{font-size:12px;color:#7c8479;padding:8px 0}
.item-bar{display:none;position:fixed;left:2.5%;top:50%;transform:translateY(-50%);flex-direction:column;gap:9px;z-index:6}
body[data-mode=market] .item-bar,body[data-mode=playing] .item-bar,body[data-mode=jump] .item-bar,
body[data-mode=stars] .item-bar,body[data-mode=bricks] .item-bar,body[data-mode=buddy] .item-bar,
body[data-mode=tycoon] .item-bar,body[data-mode=snakes] .item-bar{display:flex}
.item-bar button{width:60px;padding:8px 4px;border:1px solid #fff;border-radius:16px;background:#fffdf0e8;color:#2f5a49;font-size:22px;line-height:1.1;box-shadow:0 5px 16px #244e3e1f}
.item-bar button small{display:block;font-size:10px;font-weight:700;color:#7a6330;margin-top:3px}
.item-bar button:disabled{opacity:.4;box-shadow:none}
@media(max-width:600px){
  .item-bar{left:auto;right:2.5%;top:auto;bottom:190px;transform:none;flex-direction:row}
  .item-bar button{width:52px;padding:6px 3px;font-size:19px}
  .levels-kit button{padding:8px 10px;font-size:11px}
}
.levels-mods{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left}
.levels-mods li{background:#eef1e4;border-radius:12px;padding:8px 11px;font-size:11px;line-height:1.6;color:#4a5a4d}
.levels-mods b{color:#2f5a49}
.levels-mods span{color:#8a7a4a;font-weight:700;margin-right:6px}
.levels-mods li[data-open=true]{background:#dce9d6}
