@font-face{font-family:Quadrata;src:url('/assets/blizz-quadrata.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;font-family:Quadrata,Georgia,serif;color:#ffdb43;--gold:#ffdb43;--outline:1px 1px 1px #000,-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000,0 2px 3px #000}
*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow:hidden;background:#100a0b}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}[hidden]{display:none!important}
.world{position:fixed;inset:0;background:url('/assets/portal.png') center center/cover no-repeat;z-index:-2}.world-shade{position:fixed;inset:0;z-index:-1;background:linear-gradient(0deg,#080607b0,transparent 14%,transparent 85%,#0003);pointer-events:none}
.brand{position:absolute;top:1%;left:2.5%;width:clamp(112px,8vw,170px);text-align:center}.brand img{display:block;width:100%;height:auto}.brand span{display:block;font:9px Georgia,serif;letter-spacing:1.7px;color:#d6bb8b;text-shadow:var(--outline);margin-top:4px;white-space:nowrap}
.login{position:absolute;left:50%;top:47%;transform:translateX(-50%);width:clamp(260px,15vw,330px);text-align:center;font-size:clamp(18px,1.2vw,25px);text-shadow:var(--outline)}
.login>label{display:block;margin:0 0 3px}.login>input,.dummy-password{width:100%;height:clamp(35px,2vw,45px);border:3px ridge #8f8063;border-radius:5px;background:linear-gradient(100deg,#151715ec,#202b2fe8);box-shadow:0 0 0 1px #17130b,0 0 0 2px #b2a28288,inset 0 0 5px #000;color:#fff5da;text-shadow:0 1px #000;padding:3px 10px;font-size:.85em;outline:none;text-align:left}.login>input::placeholder{color:#aba493;opacity:.9}.login>input:focus{border-color:#f1c864;box-shadow:0 0 0 2px #382308,0 0 12px #c18b3360}.login .password-label{margin-top:7px}.dummy-password{letter-spacing:3px;color:#bdb49b;user-select:none;line-height:1.2}.login .remember{display:flex;align-items:center;justify-content:center;gap:6px;margin:17px 0 9px;font-size:.92em;white-space:nowrap}.remember input{accent-color:#c2a55d;width:16px;height:16px;margin:0;cursor:pointer}.game-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:4px 23px;text-decoration:none;color:var(--gold);font:inherit;text-shadow:var(--outline);background:linear-gradient(180deg,#981709 0%,#7b0804 15%,#550000 85%,#380101 100%);border:4px ridge #a58a55;border-radius:7px;box-shadow:0 0 0 1px #130d08,inset 0 0 0 1px #290200,inset 0 0 8px #350000,0 2px 3px #000b;cursor:pointer;transition:filter .12s,box-shadow .12s}.game-button:hover{filter:brightness(1.3)}.game-button:active{filter:brightness(.9);transform:translateY(1px)}.game-button:focus-visible{outline:2px solid #ffde72;outline-offset:4px}.login-button{width:78%;font-size:1em;min-height:47px}.demo-note{font:11px Arial,sans-serif;color:#f2e8d2;text-shadow:0 1px 3px #000,0 0 5px #000;margin:12px -30px 0}
.side-menu{position:absolute;right:1.2%;bottom:5%;display:grid;gap:9px;width:clamp(145px,9.5vw,190px);font-size:14px}.game-button.small{min-height:27px;border-width:3px;border-radius:3px;padding:2px 9px}.build-info{position:absolute;bottom:6px;left:10px;margin:0;font-size:10px;line-height:1.3;letter-spacing:.3px;text-shadow:var(--outline)}.attribution{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);text-align:center;margin:0;width:55%;font:10px/1.45 Arial,sans-serif;color:#cec2a8;text-shadow:0 1px 3px #000}
.game-panel{background:linear-gradient(135deg,#1a1715fa,#0c0c0cf7);border:5px ridge #8d806b;border-radius:8px;box-shadow:0 0 0 1px #14100c,0 0 0 2px #b1a28b,0 12px 50px #000b,inset 0 0 20px #000;color:#ffe8b1;text-shadow:0 2px 2px #000;text-align:center}/* Classic GlueDialog: original eight-slice frame and button textures. */
.queue{--dialog-width:min(714px,max(360px,37.2vw),calc(100vw - 32px));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--dialog-width);padding:18px 20px 14px;background:none;border:0;border-radius:0;box-shadow:none;color:#ffc700;font-size:clamp(18px,1.3542vw,26px);line-height:1.08;text-shadow:var(--outline)}
.queue::before{content:"";position:absolute;inset:9px;background:url('/assets/UI-DialogBox-Background.PNG') repeat;z-index:-1}
.queue h1,.queue p{font:inherit;font-weight:400;line-height:inherit;color:inherit;margin:0;outline:none}
.queue .position-line strong{font-weight:400;color:inherit}
.queue .wait-line{white-space:nowrap}
.queue #remaining{font:inherit;letter-spacing:0;font-variant-numeric:tabular-nums}
.dialog-frame{position:absolute;inset:0;pointer-events:none}
.dialog-frame i{position:absolute;width:32px;height:32px;background-image:url('/assets/UI-DialogBox-Border.PNG');background-size:256px 32px;background-repeat:no-repeat}
.dialog-frame .edge-left{top:32px;bottom:32px;left:0;height:auto;background-position:0 0;background-repeat:repeat-y}
.dialog-frame .edge-right{top:32px;bottom:32px;right:0;height:auto;background-position:-32px 0;background-repeat:repeat-y}
.dialog-frame .edge-top,.dialog-frame .edge-bottom{left:32px;right:32px;width:auto;background:none;overflow:hidden}
.dialog-frame .edge-top{top:0}.dialog-frame .edge-bottom{bottom:0}
.dialog-frame .edge-top::before,.dialog-frame .edge-bottom::before{content:"";position:absolute;left:100%;top:0;width:32px;height:calc(var(--dialog-width) - 64px);transform-origin:0 0;transform:rotate(90deg);background-image:url('/assets/UI-DialogBox-Border.PNG');background-size:256px 32px;background-repeat:repeat-y;background-position:-64px 0}
.dialog-frame .edge-bottom::before{background-position:-96px 0}
.dialog-frame .corner-tl{top:0;left:0;background-position:-128px 0}.dialog-frame .corner-tr{top:0;right:0;background-position:-160px 0}.dialog-frame .corner-bl{bottom:0;left:0;background-position:-192px 0}.dialog-frame .corner-br{bottom:0;right:0;background-position:-224px 0}
.queue .cancel-button{display:inline-flex;position:relative;margin:8px auto 0;width:clamp(216px,16.05vw,308px);height:clamp(44px,2.92vw,56px);min-height:0;padding:0 12px 3px;border:0;border-radius:0;background:url('/assets/Glue-Panel-Button-Up.PNG') left top/172.973% 133.333% no-repeat;box-shadow:none;font-size:inherit;line-height:1;color:#ffc700}
.queue .cancel-button:hover{filter:brightness(1.2)}.queue .cancel-button:active{background-image:url('/assets/Glue-Panel-Button-Down.PNG');transform:none;filter:none;padding-top:2px}
.queue .queue-disclosure{position:absolute;top:calc(100% + 9px);left:0;width:100%;font:10px/1.4 Arial,sans-serif;color:#dfd4bb;text-shadow:0 1px 3px #000}
.queue .welcome{font-size:.8em;margin:12px 0}.queue .launched{font-size:1em;margin:8px 0}.queue .launch-caption{font-size:12px;color:#dfd4bb;margin:12px 0}.queue .launch-link{font-size:16px;margin:4px 0 8px}
.menu-dialog{max-width:440px;width:calc(100vw - 40px);padding:28px}.menu-dialog::backdrop{background:#0009}.menu-dialog h2{font-size:22px;font-weight:400;color:var(--gold)}.menu-dialog p{font:14px/1.7 Georgia,serif;color:#d3c9b7;margin:20px 0}.menu-dialog button{font-size:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-js{position:absolute;top:45%;left:20%;width:60%;padding:30px}
@media(max-width:640px){body{min-height:700px;overflow-y:auto}.world{background-position:50% 50%}.brand{top:22px;left:50%;transform:translateX(-50%);width:138px}.brand span{font-size:9px}.login{top:42%;width:270px;font-size:20px}.login>input,.dummy-password{height:39px;background-color:#141a19}.login .remember{margin-top:18px}.login-button{min-height:45px}.demo-note{font-size:11px}.queue{top:47%;padding:19px 14px 13px;font-size:18px}.queue .cancel-button{height:46px;width:220px}.side-menu{bottom:82px;right:50%;transform:translateX(50%);width:min(345px,calc(100% - 32px));display:flex;gap:7px}.side-menu .game-button{flex:1;font-size:11px;white-space:nowrap;padding:5px}.attribution{width:90%;bottom:18px;font-size:9px}.build-info{display:none}.world-shade{background:linear-gradient(0deg,#000b,transparent 35%,#0002 75%,#0007)}}
@media(max-height:650px) and (min-width:641px){.login{top:39%;font-size:16px;width:230px}.login .remember{margin-top:10px}.login-button{min-height:36px}.queue{top:48%}.brand{width:105px}.side-menu{bottom:9%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.world{pointer-events:none;overflow:hidden}.world canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.menu-dialog .motion-button{display:flex;margin:0 auto 18px;font-size:13px}.motion-button:disabled{opacity:.6;cursor:default}
.music-toggle{position:absolute;top:20px;right:20px;min-height:32px;padding:3px 14px;font-size:12px;border-width:3px;border-radius:4px}.music-settings{margin:0 0 18px;display:grid;justify-items:center;gap:8px}.music-settings button{font-size:13px}.music-settings label{font:12px Georgia,serif;color:#dfd4bb}.music-settings input{width:min(220px,100%);accent-color:#e8be5d;cursor:pointer}.music-settings small{font:10px Arial,sans-serif;color:#c7b99d}.menu-dialog{max-height:calc(100svh - 32px);overflow-y:auto}@media(max-width:640px){.music-toggle{top:168px;right:50%;transform:translateX(50%);font-size:11px;min-height:30px}.music-toggle:active{transform:translate(50%,1px)}}
