:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#203b39;background:#f1f3ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;font-weight:650;min-height:44px;border:1px solid #cbd4c9;border-radius:12px;background:#fff;color:#203b39;padding:9px 15px;cursor:pointer}button:hover{background:#e4eddf}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c67c35;outline-offset:3px}button:disabled{opacity:.4;cursor:default}header{height:88px;display:flex;align-items:center;gap:28px;padding:0 28px;background:#fff;border-bottom:1px solid #dfe4d9}header a{color:inherit;text-decoration:none;min-height:44px;display:grid;align-items:center}header strong{display:block;font-size:12px;letter-spacing:.16em}header span{display:block;font-size:14px;color:#738079;margin-top:5px}header button{margin-left:auto;background:#254f44;color:white;border:0}main{display:grid;grid-template-columns:minmax(0,1fr) 370px;height:calc(100dvh - 116px);min-height:460px}#viewport{position:relative;overflow:hidden;background:#dce5dd}canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-touch-callout:none}.scene-top{position:absolute;top:22px;left:24px;display:flex;gap:8px;pointer-events:none}.badge{background:#ffffffda;border:1px solid #fff9;padding:8px 12px;font-size:12px;border-radius:24px}.scene-bottom{position:absolute;left:30px;bottom:105px;pointer-events:none;max-width:410px}h1{font-size:clamp(25px,3vw,46px);line-height:1.04;letter-spacing:-.04em;font-weight:500;margin:0 0 14px}.scene-bottom p{font-size:14px;line-height:1.5;max-width:320px;background:#f1f3edd9;padding:8px;border-radius:8px}.actions{position:absolute;bottom:32px;left:30px;right:30px;display:flex;justify-content:space-between;gap:10px}.actions button{min-height:64px;min-width:110px;background:#254f44;color:white;border:0;box-shadow:0 5px 20px #183b3022}aside{background:#fff;padding:26px;overflow:auto}.panel-title{font-size:11px;letter-spacing:.15em;display:flex;align-items:center;justify-content:space-between;color:#6c7e70}#panelClose{display:none}h2{font-size:27px;line-height:1.12;letter-spacing:-.035em;font-weight:500;margin:18px 0 14px}.muted{color:#6a7970;font-size:13px;line-height:1.6}.small{font-size:11px}#selection{font-size:12px;background:#eef2e9;border-radius:10px;padding:12px;margin:20px 0;color:#42634c}label{display:block;font-size:12px;margin-bottom:8px}textarea{display:block;width:100%;min-height:110px;font:inherit;font-size:14px;padding:13px;border:1px solid #d3dbd0;border-radius:12px;resize:vertical}form button{width:100%;margin-top:10px;background:#254f44;color:#fff}h3{font-size:15px}.list-title{display:flex;align-items:center;gap:6px;margin-top:18px}.list-title h3{margin-right:auto}.list-title button{font-size:11px;padding:6px 8px}#requests{list-style:none;padding:0}#requests li{padding:12px 0;border-top:1px solid #e3e8df;font-size:13px;line-height:1.5}#requests p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}#requests small{display:block;color:#70816e}#requests button{font-size:12px;margin:5px 5px 0 0}details{font-size:12px;line-height:1.6;margin-top:22px}summary{cursor:pointer;min-height:44px;display:flex;align-items:center}#status{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);font-size:12px;background:#203b39;color:white;padding:10px 16px;border-radius:16px;max-width:85vw;z-index:5;pointer-events:none}footer{height:28px;display:grid;place-items:center;font:10px monospace;color:#718171}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:28px;color:white;text-shadow:0 1px 4px #000;pointer-events:none}#stick,#look{display:none;position:absolute;bottom:120px;width:110px;height:110px;border:1px solid #fff9;border-radius:60px;background:#f4f7ef66;touch-action:none;user-select:none}#stick{left:24px}#look{right:24px}#stick span,#look span{position:absolute;bottom:12px;left:0;width:100%;text-align:center;font-size:10px;letter-spacing:.15em;pointer-events:none}#stick i,#look i{display:block;position:absolute;left:33px;top:25px;width:44px;height:44px;background:#254f4488;border-radius:50%;pointer-events:none}body.walking .scene-bottom{display:none}body.walking #crosshair{display:block}body.walking #stick,body.walking #look{display:block}@media(max-width:850px){header{height:72px;padding:0 16px;gap:12px}header strong{font-size:10px}header span{font-size:12px}main{display:block;height:calc(100dvh - 100px);min-height:0}#viewport{height:100%}aside{display:none;position:fixed;z-index:7;inset:72px 0 28px;padding:20px;max-width:460px;margin-left:auto;box-shadow:-5px 0 30px #173c4330}body.panel-open aside{display:block}#panelClose{display:block;font-size:24px}.scene-bottom{left:22px;bottom:105px;max-width:75%}.scene-bottom p{font-size:12px}#status{bottom:30px;width:max-content;max-width:90vw}.actions{left:22px;right:22px;bottom:36px}#stick,#look{bottom:120px}.scene-top{left:18px;top:16px}}@media(max-height:500px){header{height:56px}main{height:calc(100dvh - 84px)}aside{top:56px}.scene-bottom{bottom:95px}.scene-bottom h1{font-size:28px}.scene-bottom p{display:none}#stick,#look{bottom:110px;width:80px;height:80px}#stick i,#look i{left:18px;top:12px}.scene-top{top:10px}.actions{bottom:36px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* The request panel is a modal on phones; shared arcade links stay behind it. */
@media(max-width:850px){body.panel-open .arcade-shop-link{display:none!important}}
footer{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;text-align:center;line-height:28px;padding:0 10px}
header nav{display:flex;gap:8px;margin-left:auto}header nav button{margin:0}header #garage{background:#edf1e7;color:#254f44;border:1px solid #cbd4c9}header #garage[aria-pressed=true]{background:#d7e6ce;border-color:#54794f}.home-title{min-width:0}.home-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32vw}header nav button{white-space:nowrap}@media(max-width:600px){header{gap:8px;padding:0 10px}header a{font-size:12px}header strong{font-size:9px;letter-spacing:.06em}header nav{gap:5px}header nav button{font-size:11px;padding:8px}.home-title span{font-size:10px;max-width:27vw}.scene-top{max-width:calc(100% - 36px);flex-wrap:wrap;gap:5px}.badge{font-size:11px;padding:7px 9px}}
.scene-top{align-items:center}.scene-top #annex{pointer-events:auto;min-height:44px;font-size:12px;padding:8px 12px;background:#fffdf0e8}.scene-top #annex[hidden]{display:none}
#roomDialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #cbd4c9;border-radius:20px;padding:22px;color:#203b39;background:#f1f3ed;box-shadow:0 20px 80px #183b3055}#roomDialog::backdrop{background:#153c3855}.room-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.room-title h2{margin:0}.room-title button{font-size:24px;min-width:44px}#roomDialog p{font-size:13px;line-height:1.5;color:#607165}#roomChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}#roomChoices button{min-height:90px;text-align:left;padding:14px}#roomChoices strong,#roomChoices span{display:block}#roomChoices span{font-size:12px;line-height:1.4;font-weight:400;margin-top:6px;color:#607165}@media(max-width:600px){#roomDialog{margin:auto auto 40px;padding:18px}.room-title h2{font-size:24px}#roomChoices button{padding:12px;font-size:14px}}@media(max-height:500px){#roomDialog{padding:14px;max-width:620px}#roomDialog p{margin:6px 0}#roomChoices button{min-height:64px;padding:9px 12px}#roomChoices span{margin-top:2px}}
/* Leave the portrait arcade Shop overlay a clear row above room navigation. */
@media(max-width:600px){.scene-top{top:58px}}
