*{box-sizing:border-box}body{margin:0;background:#102431;color:#fff;font:18px system-ui,sans-serif}a{color:#abecff}button,input{font:inherit}button{min-height:64px;min-width:64px;padding:12px 20px;border:2px solid #bfefff;border-radius:12px;background:#164961;color:white;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible{outline:4px solid #ffdf55;outline-offset:3px}input:not([type=radio]){width:100%;padding:16px;margin:8px 0;color:#142b37;border:2px solid white;border-radius:8px}#setup{max-width:720px;margin:auto;padding:32px 24px}h1{font-size:clamp(32px,6vw,56px);line-height:1.1}form{padding:20px 0;border-top:1px solid #7793a2}fieldset{margin:12px 0;border:0;padding:0}fieldset label{display:inline-flex;align-items:center;min-height:64px;margin-right:24px;gap:12px}input[type=radio]{width:28px;height:28px}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}nav{position:fixed;z-index:3;top:12px;left:12px;display:flex;gap:8px;flex-wrap:wrap}nav button{min-height:48px;font-size:15px;padding:8px}#status,#instructions,#inventory{position:fixed;z-index:2;background:#102431df;padding:12px;border-radius:8px;pointer-events:none}#status{top:82px;left:12px;max-width:85vw}#instructions{bottom:16px;left:16px;font-size:14px;max-width:65vw}#inventory{bottom:16px;right:16px;max-width:30vw;font-size:14px}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:30px;pointer-events:none}#inviteText{position:fixed;z-index:4;top:150px;left:12px;max-width:80vw;overflow-wrap:anywhere;background:#102431;padding:16px}footer{padding:16px;font-size:12px}body.playing footer{display:none}#touch{display:none;position:fixed;bottom:46px;left:12px;right:12px;justify-content:space-between;gap:20px}#touch>div{max-width:48%;display:flex;flex-wrap:wrap;gap:6px}#touch button{padding:8px;background:#164961ce;font-size:14px}body.playing #touch{display:flex}@media(pointer:fine){body.playing #touch{display:none}}@media(max-width:700px){#instructions{display:none}#inventory{bottom:8px;max-width:65vw}#status{font-size:14px}#touch{bottom:75px}}
#roomCodeInput,#setupCodeValue{font:700 36px ui-monospace,monospace;letter-spacing:.18em}#roomCodeInput{max-width:340px;min-height:64px}#inviteText{font:700 22px ui-monospace,monospace;padding:10px;top:155px}#setupCodeValue{display:block;margin:12px 0}#joinForm button{display:block}#createButton,#joinButton{width:100%;max-width:340px}#inviteText[hidden],#setupCode[hidden]{display:none}
#touch{inset:0;pointer-events:none}#touch>*{pointer-events:auto}
body.playing .arcade-shop-link{display:none}
@media(pointer:coarse){#capture,#instructions{display:none}#status{max-width:calc(100vw - 390px);font-size:12px}}
@media(pointer:coarse) and (max-width:600px){#status{max-width:calc(100vw - 24px)}}
