*{box-sizing:border-box;margin:0;padding:0}html,body{background:#0b0e14;justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden}#stage{aspect-ratio:16/9;border-radius:6px;width:min(100vw,177.778vh);position:relative;overflow:hidden;box-shadow:0 0 60px #503ca059}#stage canvas{width:100%;height:100%;position:absolute;inset:0}#ui{z-index:2;cursor:crosshair}#auth{z-index:3;justify-content:flex-end;font-family:Cinzel,Georgia,serif;display:flex;position:absolute;inset:0;container-type:inline-size}#auth.hidden,#auth .hidden{display:none}#auth-panel{color:#ecdfc2;background:linear-gradient(90deg,#08060500 0%,#0c0907db 14%,#100c09f5 45%);flex-direction:column;justify-content:center;width:33cqw;min-width:320px;height:100%;padding:0 3.4cqw;display:flex;position:relative;box-shadow:inset 1px 0 #c9a22780,inset 2px 0 26px #c9a22712}#auth .pane{flex-direction:column;animation:.32s ease-out auth-rise;display:flex}@keyframes auth-rise{0%{opacity:0;transform:translateY(.8cqw)}to{opacity:1;transform:none}}#auth .sigil{border:1px solid #c9a2278c;border-radius:50%;width:3.4cqw;min-width:34px;height:3.4cqw;min-height:34px;margin:0 auto 1.4cqw;animation:24s linear infinite sigil-spin;position:relative}#auth .sigil:before,#auth .sigil:after{content:"";position:absolute}#auth .sigil:before{border:1px solid #f2dc9466;inset:22%;transform:rotate(45deg)}#auth .sigil:after{background:#f2dc948c;border-radius:50%;inset:44%}@keyframes sigil-spin{to{transform:rotate(360deg)}}#auth h2{color:#f2dc94;text-align:center;letter-spacing:.03em;text-shadow:0 0 20px #c9a22766;font-family:Cinzel Decorative,Georgia,serif;font-size:1.85cqw;font-weight:700;line-height:1.25}#auth .sub{color:#9b8b6d;text-align:center;margin:.6cqw 0 2cqw;font-size:.95cqw}#auth label{letter-spacing:.18em;text-transform:uppercase;color:#9b8b6d;margin-bottom:.5cqw;font-size:.8cqw}#auth input{color:#ecdfc2;background:#060504b8;border:1px solid #5d4715e6;border-radius:2px;outline:none;margin-bottom:1.4cqw;padding:.85cqw 1cqw;font-family:inherit;font-size:1.15cqw;transition:border-color .14s,box-shadow .14s,background .14s}#auth input::placeholder{color:#9b8b6d73;font-style:italic}#auth input:focus{background:#0a0806d9;border-color:#c9a227;box-shadow:0 0 0 1px #c9a2274d,0 0 18px #c9a22729}#auth #auth-error{color:#ff6b81;text-align:center;min-height:1.4cqw;margin-bottom:.5cqw;font-size:.9cqw}#auth button[type=submit]{letter-spacing:.14em;text-transform:uppercase;color:#1a1408;cursor:pointer;background:linear-gradient(#f2dc94,#c9a227 60%,#a8841c);border:1px solid #5d4715;border-radius:2px;padding:.95cqw;font-family:inherit;font-size:1.1cqw;font-weight:600;transition:filter .14s,box-shadow .14s}#auth button[type=submit]:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 22px #c9a22759}#auth button[type=submit]:disabled{filter:grayscale(.65)brightness(.75);cursor:default}#auth button.link{color:#9b8b6d;cursor:pointer;background:0 0;border:none;margin-top:1.3cqw;padding:.4cqw;font-family:inherit;font-size:.9cqw;transition:color .14s}#auth button.link:hover{color:#f2dc94}#auth .waiting{justify-content:center;gap:.7cqw;margin-top:1.6cqw;display:flex}#auth .waiting i{background:#c9a227;width:.5cqw;min-width:5px;height:.5cqw;min-height:5px;animation:1.4s ease-in-out infinite waiting-pulse;transform:rotate(45deg)}#auth .waiting i:nth-child(2){animation-delay:.18s}#auth .waiting i:nth-child(3){animation-delay:.36s}@keyframes waiting-pulse{0%,to{opacity:.22}50%{opacity:1}}
