@font-face{font-family:Thmanyah;src:url('assets/thmanyah-regular.otf')}@font-face{font-family:Thmanyah;src:url('assets/thmanyah-bold.otf');font-weight:700}@font-face{font-family:Thmanyah;src:url('assets/thmanyah-black.otf');font-weight:900}:root{--ink:#153d57;--navy:#234e70;--sky:#dce8ff;--gold:#ffd16b;--paper:#f2faff}*{box-sizing:border-box}body{margin:0;font:17px/1.5 Thmanyah,sans-serif;background:var(--sky);color:var(--ink);overflow:hidden}button,a,input,select{font:inherit}button{cursor:pointer;border:2px solid #466b7e;background:#f0f8fa;color:var(--ink);padding:8px 14px;border-radius:8px;min-height:44px;touch-action:manipulation}button:hover{filter:brightness(1.06)}button:active{transform:translateY(2px)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:4px solid #eebf46;outline-offset:3px}button.primary{background:var(--navy);color:white}button.gold{background:var(--gold)}button.danger{color:#a43840}img{object-fit:contain}#game{height:100dvh;position:relative;overflow:hidden}#room,#room-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#room-canvas:focus{outline:none}#play-ui{position:absolute;inset:0;pointer-events:none}#play-ui button{pointer-events:auto}.hud{position:absolute;top:max(8px,env(safe-area-inset-top));right:14px;left:14px;display:flex;align-items:center;gap:10px;padding:7px 10px;background:#eff8f4f0;border-radius:12px;max-width:900px;margin:auto}.place-name{flex:1;display:flex;flex-direction:column;min-width:0}.place-name b{font-size:19px}.place-name span{font-size:14px}.hud button{padding:5px 12px;font-size:14px}#room-hotspots,#room-objects{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:transparent!important;border:0;padding:0;min-height:44px;min-width:44px;box-shadow:none;overflow:visible}.hotspot:active{transform:translate(-50%,-50%)}.hotspot:focus-visible{outline:3px dashed #fff2a4;outline-offset:2px}.scene-caption{display:none!important}.world-product{position:absolute;transform:translate(-50%,-50%)}[hidden]{display:none!important}#save-status{position:absolute;bottom:2px;right:10px;font-size:12px;color:#294f65;z-index:7}#save-status.error{background:#fff3d5;color:#8a3b33;padding:5px 10px;border-radius:5px}dialog{color:#234e70;font:18px/1.6 Thmanyah;border:0;border-radius:16px;background:#fff5db;max-width:min(540px,calc(100vw - 30px));padding:24px;text-align:center;box-shadow:0 15px 80px #153d5750}dialog::backdrop{background:#14374b88}dialog h1,dialog h2{font-size:26px}dialog img{height:130px}dialog button{margin:8px}