/* Reserved HUD rectangles: no task overlays, duplicate toolbar or miniature map. */
#hud{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#taskcard,#guide-hint,#kit-hud,#mapbutton,#target,#coords,.corner,.hint,#kid-status{display:none!important}
#kidtools{position:absolute;transform:none;bottom:auto;max-width:none;display:block!important}
#kidtools>button{display:none!important}#kidtools>#kid-kit{display:flex!important;width:44px;height:44px;padding:0;min-width:0;margin:0;font-size:12px}
#pause{position:absolute;right:auto;bottom:auto;margin:0;padding:0}
#hotbar-dock.bottom,body.touch #hotbar-dock.bottom{position:absolute;bottom:auto;transform:none;margin:0;padding:0;pointer-events:none}
#hotbar{box-sizing:border-box;display:flex;width:100%;height:100%;gap:0;padding:4px;border:0;background:#171717b8;box-shadow:inset 0 0 0 2px #555;pointer-events:auto}
#hotbar .slot{box-sizing:border-box;flex:0 0 var(--slot-size);width:var(--slot-size);height:var(--slot-size);min-width:0;min-height:0;padding:3px;border:2px solid #333;background:#6669;box-shadow:inset 1px 1px #aaa9;border-radius:0}
#hotbar .slot.active{border:3px solid #f4f4f4;background:#9998;box-shadow:0 0 0 1px #111}
#hotbar .cube{width:65%;height:70%;max-width:28px}#blockname{position:absolute;bottom:100%;width:100%;height:22px;line-height:22px;margin:0 0 4px;font:13px monospace;text-shadow:2px 2px #111}
#touch{display:block!important}#stick{display:none}body.touch #stick{position:absolute;display:block;bottom:auto;border:2px solid #ffffff60;box-sizing:border-box}
body.touch #knob{width:40px;height:40px;left:30px;top:30px}
#actions.actions{position:absolute;right:auto;bottom:auto;margin:0;display:block;pointer-events:none}
#actions>button{display:none}#actions>#observe{display:block;position:static;width:100%;height:44px;padding:0;pointer-events:auto;font-size:12px}
body.touch #actions{display:grid;grid-template-columns:repeat(2,44px);grid-auto-rows:44px;gap:6px;pointer-events:auto}
body.touch #actions>button{display:block;position:static;width:44px;height:44px;min-height:0;padding:0;font-size:11px;touch-action:none}body.touch #actions>button.hidden{display:none!important}
#hud button,.menu-box button,.panel button{border-radius:0;background:#777;color:#fff;border:2px solid #222;box-shadow:inset 2px 2px #aaa,inset -2px -2px #444;font-family:ui-monospace,monospace;text-shadow:1px 1px #333}
#hud button:hover,.menu-box button:hover,.panel button:hover{background:#909090}#hud button:focus-visible,.panel button:focus-visible{outline:3px solid #fff;outline-offset:2px}
#menu{gap:16px;padding:24px 12px;overflow-y:auto;background:#171717b0;justify-content:center;align-items:center}
#menu .title{margin:0;text-align:center}#menu .title .eyebrow,#menu .edition,#menu .footer{display:none}#menu .title h1{font:700 25px/1.1 ui-monospace,monospace;letter-spacing:0;margin:0;color:white;text-shadow:2px 2px #222}#menu .title br{display:none}
#menu .menu-box{box-sizing:border-box;width:min(340px,100%);max-height:calc(100dvh - 100px);overflow-y:auto;background:none;border:0;box-shadow:none;padding:0}
#menu .menu-box>button{min-height:44px;width:100%;margin:7px 0 0;padding:8px;font-size:14px}
#menu .profile-top{margin-bottom:12px;gap:8px}#menu #profile-face{width:40px;height:40px;border-radius:0}#menu #trait-summary,#menu #saveinfo{display:none}
#menu .profile-top #profile{font-size:12px;min-height:36px;border-radius:0;padding:4px 10px}#menu #profile-settings{font-size:12px;min-height:36px}
#menu #first-steps,#menu #menu-neighbourhood,#menu #menu-roadmap,#menu .activity-shortcuts,#menu .settings,#menu #about-game{display:none!important}
#menu .menu-row{display:block;margin:0}#menu #product-settings{min-height:44px;width:100%;margin-top:7px}#menu #play span{display:none}
.panel{background:#c6c6c6!important;color:#202020!important;border:4px solid #222!important;border-radius:0!important;box-shadow:inset 3px 3px #eee,inset -3px -3px #777!important}
.panel h2,.panel h3,.panel p,.panel small,.panel label{color:#222!important}.panel-head{border-color:#888}.panel button{min-height:44px}.panel button:disabled{color:#ccc;background:#555;cursor:default}
.region-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.region-select button{padding:12px 8px;font-size:13px}.region-select [aria-current=location]{outline:2px solid #fff}
.inventory-tabs{display:flex;gap:8px;margin-bottom:16px}.inventory-tabs button{flex:1}.item-grid{gap:8px}.item-grid article{background:#aaa;border:2px solid #777;border-radius:0;color:#222}.item-grid article b,.item-grid article span{color:#222}
#toast{font-family:ui-monospace,monospace;background:#222d;border:1px solid #999;border-radius:0;max-width:min(75vw,450px);pointer-events:none;top:76px;bottom:auto}
#gather-meter{bottom:auto;top:57%;left:50%;transform:translateX(-50%);width:min(220px,65vw);pointer-events:none}
#helm{left:50%;transform:translateX(-50%);bottom:20px;width:min(440px,calc(100vw - 32px));box-sizing:border-box;border-radius:0;background:#222e}
body.piloting #hotbar-dock,body.piloting #actions{display:none!important}
@media(max-height:500px){#menu{gap:8px;padding:8px}#menu .title{display:none}#menu .menu-box{max-height:calc(100dvh - 16px)}#menu .profile-top{margin-bottom:0}}
@media(max-width:350px){.region-select{gap:6px}.region-select button{font-size:12px}}

#kidtools>#kid-camera.camera-ready{display:flex!important;position:fixed;left:50%;top:70px;transform:translateX(-50%);width:64px;height:44px;margin:0;padding:0;pointer-events:auto}#kidtools>#kid-camera.camera-ready b{display:none}#kidtools>#kid-camera.camera-ready span{font-size:12px}
.panel input,.panel select{background:#eee;color:#222;border-radius:0}.panel .activity-note{color:#444!important}

body.touch #gather-meter{width:min(220px,calc(100vw - 240px));font-size:10px}body.piloting #stick{top:auto!important;bottom:170px!important}

#dive-mask{display:none;position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at center,transparent 45%,#06364188 100%)}body.underwater #dive-mask{display:block}body.underwater #dive-mask:after{content:"";position:absolute;inset:7% 8%;border:3px solid #b3d6d53b;border-radius:40%;box-shadow:0 0 0 8px #082d3333}.water-mode #blockname{height:auto;min-height:22px;line-height:1.4;white-space:normal;font-size:12px}

body.third-person #dive-mask:after{display:none}
.catalog-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.catalog-filters label{display:flex;flex:1 1 140px;flex-direction:column;gap:5px}.catalog-filters input,.catalog-filters select{width:100%;min-height:42px;box-sizing:border-box}.fish-book article{min-width:0;background:#153e4b;border:1px solid #74918d;padding:12px;display:flex;flex-direction:column;gap:5px}.fish-book article small{line-height:1.5}.fish-book article .fish-art{width:100%;height:auto;max-height:150px}
.cook-tray{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.cook-tray button{min-height:68px;padding:8px 3px;overflow-wrap:anywhere}.ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.ingredient-grid>div,.ingredient-grid>button{padding:10px;min-width:0}.ingredient-grid small,.meal-list small{display:block;line-height:1.5;margin:5px 0}.food-dot{display:inline-block;width:18px;height:18px;border-radius:4px;background:var(--food);margin-right:7px;vertical-align:middle}.meal-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.meal-list article{padding:14px;border:1px solid #7d968a;background:#163f42}.meal-list article button{margin:4px;min-height:42px}
.paint-grid{display:grid;grid-template-columns:repeat(4,minmax(0,64px));gap:8px;margin:20px auto;max-width:280px}.paint-grid button{width:100%;aspect-ratio:1;min-height:48px;border:2px solid #b8d3c7}

#actions>#put-away:not(.hidden){display:block;position:static;width:100%;height:44px;margin:0 0 6px;padding:0;pointer-events:auto;font-size:11px}body.touch #actions>#put-away:not(.hidden){width:44px;margin:0}body.mouse-locked #game{cursor:none}#game{cursor:grab}#game:active{cursor:grabbing}

body.touch.holding-item #actions>#flytouch{display:none}

/* One stable fishing action on both mouse and touch. Keep is the only secondary action. */
body.fishing-mode #actions>#break,body.fishing-mode #actions>#place{display:none!important}
body.fishing-result #actions>#place{display:block!important;position:static;width:100%;height:44px;pointer-events:auto;margin-top:6px}
body.touch.fishing-result #actions>#place{width:44px;margin:0}
body.fishing-mode #actions>#observe{display:block!important;min-height:44px;pointer-events:auto}
body.wheel-riding #actions>#break,body.wheel-riding #actions>#place,body.wheel-riding #actions>#jump,body.wheel-riding #actions>#flytouch,body.wheel-riding #actions>#down{display:none!important}
body.wheel-riding #actions>#observe{display:block!important;width:100%;height:44px;pointer-events:auto}
body.touch.wheel-riding #actions>#observe{width:94px;grid-column:1/-1}

body.fishing-result #actions>#put-away{display:none!important}

#view-toggle{position:absolute;pointer-events:auto;min-width:44px;min-height:44px;padding:0;margin:0;font-size:14px;touch-action:manipulation}

body.tram-riding #break,body.tram-riding #place,body.tram-riding #jump,body.tram-riding #flytouch{visibility:hidden;pointer-events:none}

#profile-gate{position:fixed;inset:0;z-index:120;overflow:auto;padding:max(22px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at top,#3e6970,#163e48 65%);color:#f6ead0;display:grid;place-items:center;font:15px/1.6 system-ui,sans-serif}#profile-gate.hidden{display:none!important}.access-panel{width:min(570px,100%);padding:26px;border:1px solid #8ca89c;border-radius:14px;background:#173e46;box-shadow:0 16px 55px #08232c88}.access-panel>small{letter-spacing:.16em;color:#d4c087;font-size:10px}.access-panel h1{font:700 30px/1.2 system-ui,sans-serif;letter-spacing:-.7px;margin:12px 0 20px;text-shadow:none;transform:none}.access-panel h2{font-size:19px}.access-panel p{font-size:13px;color:#d1dfd6}.access-panel label{display:block;font-size:13px;margin:14px 0 5px}.access-panel input:not([type=color]){width:100%;box-sizing:border-box;background:#0e3038;color:#f6ead0;border:1px solid #91a89d;border-radius:7px;padding:12px;font:16px system-ui,sans-serif;min-height:46px}.access-panel input[type=color]{height:44px;width:70px}.access-panel button{min-height:46px;cursor:pointer;padding:12px 14px;border:1px solid #b9ab7c;border-radius:7px;background:#d5bd83;color:#193e46;font:600 14px/1.4 system-ui,sans-serif;text-shadow:none;box-shadow:none;margin:5px 0}.access-panel>button{width:100%}.access-panel .access-secondary{background:transparent;color:#f0e3c3;border-color:#668b85}.access-guests{display:grid;gap:8px;margin:18px 0}.access-guests article{display:flex;gap:8px}.access-guests [data-guest-open]{flex:1;background:#315b61;color:#fff0ce;text-align:left;border-color:#7d9b91}.access-panel button small{display:block;font-size:11px;font-weight:400;opacity:.8}.access-guests i{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:8px}.access-guests .access-remove{background:transparent;color:#cfdbcf;border-color:#617e78;font-size:11px}.family-entry{margin-top:22px;border-top:1px solid #6d8980;padding-top:15px}.family-entry summary{cursor:pointer;font-size:13px;min-height:36px}.access-family{display:grid;grid-template-columns:1fr 1fr;gap:10px}.access-family button{background:#264c52;color:#ede2c5;border-color:#6e8e83}.access-note{border-top:1px solid #50716c;padding-top:14px;font-size:11px!important}#access-error{color:#ffcd9d;min-height:20px}.access-panel[aria-busy=true]{opacity:.8}.access-panel button:focus-visible,.access-panel input:focus-visible{outline:3px solid #f6dd9d;outline-offset:3px}
#profile-gate[aria-busy=true] button{pointer-events:none;opacity:.6}
