:root{color-scheme:dark;font:16px/1.6 system-ui,sans-serif;background:#10151b;color:#dce5ed}
*{box-sizing:border-box}body{margin:0}main{max-width:1080px;margin:64px auto;padding:0 24px}
.eyebrow{font-size:12px;letter-spacing:.15em;color:#83b5cd}h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:18px 0}h2{font-size:18px;margin:0 0 18px}
.lead{font-size:19px;color:#aabcc9;max-width:660px}.notice{border-left:3px solid #e0b975!important}.notice strong{font-size:20px}
section{background:#18212a;border:1px solid #2c3c48;padding:24px;margin:24px 0;border-radius:8px}p{color:#aabcc9}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid section{margin:0}.check{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #2c3c48}
.good{color:#89d4b5}.bad{color:#ecc181}.numbers{display:flex;gap:48px;font-size:24px}.numbers small{display:block;font-size:12px;color:#aabcc9}
button,.button{display:inline-block;padding:12px 18px;border-radius:5px;border:1px solid #567385;background:#253b49;color:#edf7ff;text-decoration:none;font:inherit;cursor:pointer}
.button{background:#abcfe0;color:#13222c;font-weight:600}.disabled{opacity:.4;pointer-events:none}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
details{padding:20px 0;border-top:1px solid #2c3c48}summary{cursor:pointer}code{font-size:13px;color:#d9c79d}footer{font-size:13px;color:#7e96a7;margin:32px 0}#block-result{display:block;margin-top:12px}
[hidden]{display:none!important}
/* The game owns every setting and normal control; the page supplies its canvas. */
html.game-page,html.game-page body{height:100%;overflow:hidden;overscroll-behavior:none}
.game{background:#000}.game main.game-shell{display:block;width:100%;max-width:none;height:100vh;height:100dvh;margin:0;padding:0}
#game-stage{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#000}
.game #canvas{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;outline:none;background:#050709;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
#game-stage:fullscreen,#canvas:fullscreen{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none;max-height:none;margin:0;padding:0;border:0}
html.wow-landscape #game-stage{position:absolute;left:50%;top:50%;width:var(--wow-landscape-width)!important;height:var(--wow-landscape-height)!important;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center}
#mobile-orientation{position:fixed;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:40;width:38px;height:38px;border:1px solid #b49450;border-radius:5px;background:#101820df;color:#edcc78;font:27px/1 sans-serif;touch-action:manipulation}
#interaction-loading{position:fixed;z-index:35;left:50%;top:20%;transform:translateX(-50%);box-sizing:border-box;width:min(350px,90vw);padding:18px;background:#101820f5;color:#edcc78;border:1px solid #b49450;border-radius:6px;text-align:center;font:16px/1.4 WoWClient,serif}
#interaction-loading progress{width:100%;height:8px;margin-top:12px;accent-color:#d9b75e}#interaction-loading p{font-size:13px;color:#ddd}#interaction-loading button{margin:4px;padding:7px 12px;border:1px solid #897143;border-radius:4px;background:#28343b;color:inherit;font:inherit}
#wow-text{position:fixed;left:50%;top:max(8px,env(safe-area-inset-top),var(--telegram-safe-top,0px));transform:translateX(-50%);z-index:15;box-sizing:border-box;width:min(600px,calc(100vw - 32px));padding:8px 12px;border:1px solid #ffd1008c;border-radius:4px;background:#000d;color:#fff;caret-color:#ffd100;font:16px/1.4 WoWClient,serif;outline:none;opacity:0;pointer-events:none}
#wow-text.on{opacity:1;pointer-events:auto}
#game-stage #wow-text{position:absolute;width:min(600px,calc(100% - 32px))}
#game-stage #wow-text.creation-name{top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:min(260px,calc(100% - 32px));z-index:110}
#mobile-display-hint{position:absolute;z-index:120;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);box-sizing:border-box;display:flex;align-items:center;gap:10px;width:min(460px,calc(100% - 24px));padding:8px;border:1px solid #b49450;border-radius:5px;background:#101820f5;color:#edcc78;font:12px/1.35 WoWClient,sans-serif}
#mobile-display-hint[hidden]{display:none}
#mobile-display-hint span{flex:1}
#mobile-display-hint button{flex:none;min-height:44px;margin:0;padding:5px 10px;font:inherit}
#game-stage #interaction-loading,#game-stage .stream-wait-notice{position:absolute;max-width:calc(100% - 24px)}
html.wow-landscape dialog[open]{position:fixed;inset:auto;left:50%;top:50%;margin:0;transform:translate(-50%,-50%) rotate(90deg);width:min(var(--wow-dialog-width,560px),calc(var(--wow-landscape-width) - 24px));max-width:calc(var(--wow-landscape-width) - 24px);max-height:calc(var(--wow-landscape-height) - 24px)}
html.wow-landscape .news-dialog,html.wow-landscape .welcome-dialog{--wow-dialog-width:960px}
@font-face{font-family:WoWClient;src:url('/ui/game-font.ttf') format('truetype');font-display:swap}
#loading{position:absolute;inset:0;display:grid;place-items:center;padding:12px;background:#000a;font-family:WoWClient,"Microsoft YaHei","Malgun Gothic",serif;line-height:1.4;text-shadow:1px 1px 1px #000}
#loading.done{display:none}.loading-card{position:relative;width:min(490px,100%);min-height:220px;padding:18px 14px 24px;border:24px solid transparent;border-image:url('/ui/dialog-border.png') 32 / 24px round;background:#080808 url('/ui/dialog-background.png') repeat;background-size:32px 32px;background-clip:padding-box;text-align:center}
.loading-card h1{color:#ffd100;font:24px/1.2 WoWClient,"Microsoft YaHei","Malgun Gothic",serif;letter-spacing:0;margin:0 0 20px;overflow-wrap:anywhere}
#status{margin:0;color:#fff;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}
#loading-traffic{color:#ffd100;font-size:12px;margin:20px 0 0;min-height:1.4em}
.startup-actions{display:flex;align-items:center;flex-direction:column;gap:12px;margin-top:22px}
#startup-retry{min-width:180px;max-width:100%;padding:5px 20px;border:2px ridge #d6ad59;border-radius:3px;background:linear-gradient(#8b1712,#4b0805);box-shadow:inset 0 0 0 1px #210400;color:#ffd100;font:inherit;font-size:15px;text-shadow:1px 1px #000}
#startup-retry:hover,#startup-retry:focus-visible{background:linear-gradient(#ae2119,#6c100b);outline:1px solid #ffd100}#startup-help{color:#ffd100;font-size:12px;text-decoration:none}#startup-help:hover{text-decoration:underline}
@media(prefers-reduced-motion:no-preference){#loading:not(.done) #loading-traffic{animation:startup-pulse 2s ease-in-out infinite}@keyframes startup-pulse{50%{opacity:.6}}}
#world-loading{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#000;color:#e8dfcb;font-family:WoWClient,"Microsoft YaHei","Malgun Gothic",serif;text-align:center;cursor:default;user-select:none}
#world-loading-scene{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#24333d,#05080c)}
#world-loading-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.world-loading-content{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);width:min(560px,76%);padding:12px 20px 6px;border-radius:4px;background:#0009;text-shadow:0 2px 3px #000}
#world-loading-title{margin:0 0 12px;color:#f5e9c9;font-size:clamp(15px,2vw,22px);font-weight:normal;line-height:1.4}
#world-loading-progress{height:10px;overflow:hidden;border:1px solid #8f7949;border-radius:2px;background:#070b10;box-shadow:0 0 0 2px #090c0f,inset 0 1px 4px #000}
#world-loading-progress span{display:block;width:35%;height:100%;background:linear-gradient(90deg,transparent,#c69b48,#f5d588,#c69b48,transparent);transform:translateX(90%)}
#world-loading-traffic{min-height:1.5em;margin:10px 0 0;color:#e8dfcb;font-size:13px;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:no-preference){#world-loading-progress span{animation:world-loading-slide 1.8s ease-in-out infinite alternate}@keyframes world-loading-slide{from{transform:translateX(-100%)}to{transform:translateX(285%)}}}
@media(max-width:760px){main{margin:32px auto}.grid{grid-template-columns:1fr}.numbers{gap:20px;flex-wrap:wrap}}
.stream-wait-notice{position:fixed;z-index:2147483000;left:50%;bottom:12%;transform:translateX(-50%);padding:10px 18px;border:1px solid #b49450;border-radius:4px;background:rgba(8,12,16,.92);color:#f5d17a;font:600 16px sans-serif;box-shadow:0 2px 12px #000;text-align:center;pointer-events:none}
.stream-wait-notice[hidden]{display:none}
.texture-quality-dialog{box-sizing:border-box;width:min(520px,94vw);max-height:90dvh;overflow:auto;padding:24px;border:1px solid #b49450;border-radius:8px;background:#111c24;color:#eee0bd;font:16px/1.5 sans-serif}
.texture-quality-dialog::backdrop{background:#0009}
.texture-quality-dialog h2{margin-top:0;color:#edcc78}
.texture-quality-dialog select,.texture-quality-dialog button{padding:9px;margin:4px;border:1px solid #897143;border-radius:4px;background:#28343b;color:inherit;font:inherit}
.texture-quality-dialog>div{display:flex;gap:6px;flex-wrap:wrap}
.hardware-acceleration-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:1px solid #b49450;border-radius:8px;background:#111c24;color:#eee0bd;font:16px/1.5 WoWClient,"Microsoft YaHei","Malgun Gothic",sans-serif;overflow-wrap:anywhere}
.hardware-acceleration-dialog::backdrop{background:#000b}.hardware-acceleration-dialog h2{margin:0 0 16px;color:#edcc78;font-size:23px;line-height:1.3}.hardware-acceleration-dialog code{font-size:13px;white-space:pre-wrap}.hardware-acceleration-dialog [data-renderer]{color:#b9c8cd;font-size:13px}.hardware-acceleration-dialog>div{display:flex;gap:10px;flex-wrap:wrap}.hardware-acceleration-dialog button{min-height:44px;padding:9px 14px;border:1px solid #897143;border-radius:4px;background:#28343b;color:inherit;font:inherit;cursor:pointer}.hardware-acceleration-dialog button:focus-visible{outline:2px solid #edcc78;outline-offset:2px}.hardware-acceleration-dialog button:disabled{opacity:.6;cursor:wait}
