:root{color-scheme:dark;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:#f8ecdb;background:#171723}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;min-width:44px;min-height:44px;border:1px solid #8b756f;border-radius:13px;background:#332b3e;color:#f8ecdb;font-weight:700;padding:9px 14px;cursor:pointer}button:hover{background:#49374e}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ffc273;outline-offset:3px}main{height:100dvh;max-width:1280px;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left));margin:auto;display:flex;flex-direction:column;overflow:hidden}header{height:72px;flex-shrink:0;display:flex;gap:10px;align-items:center}header a{min-height:44px;min-width:44px;display:flex;align-items:center;text-decoration:none;color:#f5cfa7;font-size:14px}.brand{flex:1;min-width:0;font-weight:950;letter-spacing:2px;font-size:22px}.brand small{font-size:8px;letter-spacing:2px;display:block;color:#b9aac5;margin-top:5px}.hud{display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 16px;background:#2a2738;border:1px solid #5f4b61;border-radius:14px;flex-shrink:0;font-size:13px;font-weight:800}.hud span:first-child{flex:1;color:#eabd8c}.world{position:relative;min-height:0;flex:1 1 0;margin-top:10px;border:1px solid #79606d;border-radius:20px;overflow:hidden;background:#201e30;box-shadow:0 15px 45px #0005}canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.arena-label{position:absolute;top:12px;left:14px;padding:7px 11px;border-radius:9px;background:#191726d9;font-size:11px;letter-spacing:1px;color:#d5b9ac;pointer-events:none}.heat-meter{position:absolute;right:14px;top:16px;width:100px;height:6px;border-radius:6px;overflow:hidden;background:#aaa1c332;pointer-events:none}.heat-meter span{display:block;height:100%;background:linear-gradient(90deg,#e7a774,#ff754d);transform-origin:left}.controls{flex-shrink:0;min-height:118px;position:relative;display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 0 23px}#joystick{width:82px;height:82px;border-radius:50%;border:1px solid #bba1cf70;background:radial-gradient(circle,#5e496044,#392c4144);position:relative;touch-action:none;flex-shrink:0}#joystick span{position:absolute;left:23px;top:23px;width:34px;height:34px;border-radius:50%;background:#d9bed8;border:3px solid #f5dfca;box-shadow:0 0 25px #d2a4ff25}#joystick small{position:absolute;bottom:-16px;width:100%;text-align:center;font-size:8px;letter-spacing:2px;color:#bca5be}.combat{display:flex;gap:10px}.combat button{min-width:120px;min-height:62px;font-size:16px}.combat small{display:block;font-size:9px;margin-top:4px;color:inherit;font-weight:400}.primary{background:#e9a76d;color:#2a1e22;border-color:#f4cb9d}.primary:hover{background:#f4bd85}#fire[aria-pressed=true]{box-shadow:0 0 22px #faad6c66}#hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;color:#b9a9bf;margin:3px 0}.overlay{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:16px;background:#11101bcc;backdrop-filter:blur(8px)}.overlay[hidden]{display:none}.dialog{width:min(640px,100%);max-height:calc(100dvh - 32px);overflow:hidden;background:linear-gradient(135deg,#342b40,#231f31);border:1px solid #967681;border-radius:24px;box-shadow:0 25px 100px #0008;display:flex;flex-direction:column}#cover{width:100%;height:190px;object-fit:cover;flex-shrink:0}.dialog-inner{padding:23px;display:flex;flex-direction:column;min-height:0}.eyebrow{font-size:9px;letter-spacing:3px;color:#e8b486;margin:0}h1{font-size:36px;margin:10px 0 12px;letter-spacing:-1px}#copy{font-size:14px;line-height:1.65;color:#d6c9dd;overflow:auto;min-height:0;overscroll-behavior:contain}#copy p{margin:0 0 12px}#copy ul{padding-left:20px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;flex-shrink:0}.actions button{flex:1;font-size:12px;white-space:nowrap}.portal-link{display:flex;align-items:center;justify-content:center;min-height:44px;flex-shrink:0;margin-top:6px;color:#dcc4bc;text-decoration:none;font-size:12px}#notice{position:absolute;z-index:7;top:135px;left:50%;transform:translateX(-50%);max-width:90%;padding:9px 15px;background:#ead1ae;color:#2b2034;border-radius:11px;text-align:center;font-size:12px;pointer-events:none}#notice:empty{display:none}[hidden]{display:none!important}@media(max-width:600px){header{height:60px;gap:7px}.brand{font-size:16px;letter-spacing:.6px}.brand small{font-size:6px;letter-spacing:1px}header a{font-size:12px}header button{font-size:11px;padding:7px}.hud{font-size:11px;gap:11px;padding:8px 11px}.world{margin-top:8px;border-radius:15px}.controls{min-height:126px;gap:22px;padding-bottom:24px}.combat{gap:7px}.combat button{min-width:80px;padding:8px;min-height:65px}.combat small{font-size:8px}.arena-label{font-size:9px;left:8px;top:8px}.heat-meter{top:15px;right:9px;width:65px}#cover{height:140px}.dialog-inner{padding:18px}h1{font-size:29px}#copy{font-size:12px}.actions{margin-top:10px}.actions button{padding:8px 10px}.portal-link{margin-top:4px}}@media(max-width:360px){.brand{font-size:13px;letter-spacing:0}.brand small{display:none}header{gap:5px}header a{font-size:11px}header button{font-size:10px;padding:6px}.controls{gap:18px}.combat button{min-width:76px}#joystick{width:76px;height:76px}#joystick span{left:20px;top:20px}#cover{height:115px}.dialog-inner{padding:16px}h1{font-size:26px}}@media(max-height:500px) and (min-width:620px){main{padding-right:218px}header{height:57px}.brand{font-size:17px}.brand small{display:none}header a{font-size:12px}header button{font-size:11px;padding:8px}.hud{min-height:40px;font-size:11px}.controls{position:absolute;right:max(12px,env(safe-area-inset-right));top:70px;width:190px;bottom:12px;display:flex;flex-direction:column;justify-content:center;gap:20px}.combat{width:100%;gap:7px}.combat button{min-width:0;flex:1;padding:8px;font-size:14px;min-height:62px}#hint{font-size:9px;bottom:0}.dialog{width:min(620px,100%)}#cover{height:92px}.dialog-inner{padding:14px 20px}h1{font-size:26px;margin:7px 0}#copy{font-size:12px}.actions{margin-top:8px}.portal-link{margin-top:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
