:root{font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:#f3efd9;background:#152e2b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}#world{position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block;touch-action:none}#loading{position:fixed;inset:0;background:#152e2b;display:grid;place-items:center;z-index:50}.brand{position:absolute;top:29px;left:40px;display:flex;align-items:center;gap:13px;z-index:2;font-size:19px;font-weight:900;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;color:#bdc8b4}.brand-mark{font-size:26px;border:1px solid #b7bca37a;border-radius:50%;width:52px;height:52px;display:grid;place-content:center;position:relative;font-style:italic}.brand-mark span{position:absolute;font-size:12px;top:18px;left:19px}#connection{position:absolute;right:30px;top:38px;border:1px solid #ffffff30;background:#132c2bd9;border-radius:20px;padding:9px 14px;color:#d9d8b7;font-size:11px;z-index:3}.lobby{position:absolute;top:145px;left:7%;width:405px;max-height:calc(100dvh - 165px);overflow:auto;scrollbar-width:thin}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#d1d2ad}.eyebrow>span{display:inline-block;width:6px;height:6px;background:#edab51;margin-right:7px}h1{font-size:73px;line-height:1.07;letter-spacing:-5px;margin:22px 0;color:#f8f1d6;font-weight:950}h1 em{color:#f08743;font-style:normal}.intro{font-size:14px;line-height:1.9;color:#c7cdbc;margin:0 0 25px}.ticket{background:#ede8d2;color:#263b35;padding:19px 22px 15px;border-radius:3px;box-shadow:0 8px 30px #0003}.ticket-heading{display:flex;justify-content:space-between;border-bottom:1px dashed #8b95867a;padding-bottom:13px;margin-bottom:14px;font-size:10px;letter-spacing:2px}.ticket-heading b{font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:10px;font-weight:700;color:#607266;display:flex;flex-direction:column;gap:6px}input,select{min-width:0;width:100%;border:1px solid #b6bcaa;border-radius:2px;background:#f9f5e8;color:#203d35;padding:9px;font-size:12px}summary{font-size:11px;padding:13px 0;list-style:none}summary span{float:right}.primary{background:#cf4e29;border:0;border-radius:2px;width:100%;padding:14px 15px;text-align:left;font-weight:800;font-size:15px;margin-top:5px;box-shadow:inset 0 -3px #853a27}.primary span{float:right}.primary:hover{background:#e35c30}.ticket-foot{font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between;margin-top:13px;color:#718074}.text-button{background:transparent;border:0;padding:16px 0;font-size:11px;color:#bdc9b9}#scene-caption{position:absolute;bottom:45px;right:45px;text-align:right;display:grid;gap:12px}#scene-caption span{color:#f0a464;font-size:10px;letter-spacing:3px}#scene-caption b{font-size:22px;line-height:1.6;text-shadow:0 2px 10px #000}#scene-caption small{font-size:9px;color:#c0c9b7}#hud[hidden]{display:none}#hud{position:absolute;inset:105px 22px 12px;pointer-events:none}#hud button,#hud input,#joystick,#chat{pointer-events:auto}.hud-top{display:flex;justify-content:space-between}.hud-top span,.hud-top button{background:#102d2cdd;border:1px solid #b8c9aa40;border-radius:3px;padding:10px 16px;font-size:12px}.bottom-hud{position:absolute;bottom:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.player-card{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#122e2cdd;border:1px solid #dfd7b33a;border-radius:3px}.player-card b{font-size:13px}.player-card small{font-size:10px;display:block;color:#b7c6ad;margin-top:4px}.live-dot{background:#ef984c;width:8px;height:8px;border-radius:50%}.actions{display:flex;gap:6px}.actions button{background:#f2ecd5;color:#263c35;border:0;border-bottom:3px solid #b4baa0;border-radius:3px;padding:10px 12px;font-weight:700;font-size:11px}.actions button.active{background:#ed9852}kbd{font-size:9px;color:#a35431;margin-right:4px}.controls{font-size:10px;color:#d9dfc9;text-shadow:0 1px 3px black;margin:0}.hud-top button:hover,.actions button:hover{filter:brightness(1.12)}#toast{position:absolute;top:24%;left:50%;transform:translate(-50%);background:#f2e8ce;color:#30483a;border-left:4px solid #d16a35;border-radius:3px;padding:13px 20px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:9}#toast.show{opacity:1}#chat{position:absolute;right:0;bottom:160px;width:265px;background:#122d2bbd;padding:10px;border:1px solid #ffffff21;border-radius:4px}#chat-log{max-height:110px;overflow:auto;font-size:11px;line-height:1.7;word-break:break-word}#chat-form{display:flex;margin-top:7px;gap:5px}#chat-input{background:#193f39;color:#f0edd7;border-color:#ffffff29;font-size:11px}#chat-form button{background:#d8ddbc;color:#1d4034;border:0;border-radius:2px;font-size:10px;white-space:nowrap}dialog{background:#eee9d6;color:#244039;border:0;border-radius:5px;max-width:520px;width:90%;padding:35px;box-shadow:0 15px 60px #0008}dialog::backdrop{background:#071f26b3}dialog h2{font-size:23px;line-height:1.5}dialog p{font-size:13px;line-height:2}dialog small{font-size:11px;line-height:1.7}.dialog-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:26px;color:#244039}#joystick,#touch-extra{display:none}button:focus-visible,summary:focus-visible{outline:3px solid #ffae55;outline-offset:3px}body.playing .brand{top:20px}body.playing #scene-caption,body.playing #lobby{display:none}@media(min-width:1500px){.lobby{top:17%}}@media(max-height:820px)and (min-width:701px){.lobby{top:112px;max-height:calc(100dvh - 125px)}h1{font-size:55px;margin:13px 0}.intro{margin-bottom:15px}.ticket{padding:14px 20px}.brand{top:20px}.ticket-heading{margin-bottom:10px;padding-bottom:10px}}@media(max-width:700px){.brand{left:20px;top:20px;font-size:16px}.brand-mark{width:40px;height:40px;font-size:22px}.brand-mark span{top:12px;left:13px}.brand small{font-size:8px}#connection{top:75px;right:20px;font-size:9px;padding:6px 10px}.lobby{left:6%;width:88%;top:123px;max-height:calc(100dvh - 135px);padding-bottom:10px}h1{font-size:55px;line-height:1;letter-spacing:-3px;margin:17px 0}.intro{font-size:12px;margin-bottom:19px}.eyebrow{font-size:8px;letter-spacing:1px}.ticket{padding:16px 19px;max-width:450px}.ticket-foot{font-size:7px}#scene-caption{display:none}#hud{inset:112px 12px 10px}.hud-top span,.hud-top button{font-size:10px;padding:8px 10px}.actions{flex-wrap:wrap;justify-content:center;max-width:330px;gap:5px}.actions button{padding:9px;font-size:10px}kbd,.controls{display:none}.player-card{padding:6px 12px}.bottom-hud{gap:7px}#chat{bottom:218px;right:0;width:190px;padding:6px}#chat-log{max-height:60px;font-size:10px}#chat-input{font-size:10px;padding:7px}#toast{font-size:12px;min-width:220px;max-width:90%;text-align:center}#joystick{display:block;position:absolute;left:10px;bottom:145px;width:100px;height:100px;background:#e6edce20;border:1px solid #eff1d850;border-radius:50%;touch-action:none}#joystick div{position:absolute;left:30px;top:30px;width:40px;height:40px;border-radius:50%;background:#f0eed38f;pointer-events:none}#touch-extra{display:flex;position:absolute;bottom:145px;right:5px;gap:8px}#touch-extra button{width:53px;height:53px;border:1px solid #fff7;border-radius:50%;background:#213e32c9;font-size:11px;touch-action:none}#chat{bottom:270px}}@media(pointer:coarse)and (min-width:701px){#joystick{display:block;position:absolute;left:20px;bottom:150px;width:100px;height:100px;background:#ffffff30;border-radius:50%;touch-action:none}#joystick div{position:absolute;left:30px;top:30px;width:40px;height:40px;border-radius:50%;background:#eeedbd80}#touch-extra{display:flex;position:absolute;right:20px;bottom:150px;gap:10px}#touch-extra button{padding:20px;border-radius:50%;background:#183d36}}#music-controls{position:absolute;top:74px;right:30px;z-index:4;display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid #ffffff26;background:#14342dc9;border-radius:3px}#music-toggle{border:0;background:transparent;font-size:10px;padding:3px;color:#eee6c7}#music-volume{width:65px;padding:0;accent-color:#ed9852;height:15px}#music-status{position:absolute;right:0;top:34px;min-width:190px;font-size:10px;color:#f0c796;text-align:right;pointer-events:none}@media(max-width:700px){#music-controls{top:23px;right:15px;padding:4px;gap:3px}#music-toggle{font-size:9px}#music-volume{width:40px}#music-status{top:75px}}#world:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#102c2bdb 0%,#102c2b99 25%,transparent 56%)}body.playing #world:after{display:none}.lobby,#scene-caption{z-index:1}.primary{color:#fff0d7}
