:root{color:#e8ddbe;font-synthesis:none;background:#080f19;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 5%,#1a2a40,#080f19 70%);min-height:100vh;margin:0}#app{max-width:1300px;margin:auto;padding:0 22px}header{border-bottom:1px solid #b7955340;justify-content:space-between;align-items:center;gap:16px;min-height:76px;display:flex}header>div{align-items:center;gap:12px;display:flex}strong{letter-spacing:3px;font-family:Georgia,serif;font-size:20px}em{color:#af925c;font-style:normal}.crest{color:#c7a769;font-size:34px}nav{align-items:center;gap:10px;display:flex}nav label{color:#a8afbc;font-size:12px}select,button{font:inherit;color:#e8ddbe;cursor:pointer;background:#172337;border:1px solid #756340;border-radius:3px;padding:9px 12px;font-size:12px}button:hover,select:hover{border-color:#e2c184}button:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #e2c184}#stage{aspect-ratio:1055/720;background:#231f20;justify-content:center;align-items:center;width:100%;max-height:calc(100dvh - 126px);margin:16px auto 0;display:flex;position:relative;overflow:hidden}canvas{object-fit:contain;width:100%;height:100%;display:block}#loading{text-align:center;background:radial-gradient(#1c2b40,#0a121d);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}#loading[hidden],#notice[hidden],button[hidden]{display:none}.sigil{color:#c3a366;text-shadow:0 0 70px #bf9c5c66;font-size:76px}h1{letter-spacing:5px;margin-bottom:12px;font-family:Georgia,serif;font-size:clamp(22px,4vw,38px);font-weight:400}#load-label{color:#adb8c9;font-size:13px}progress{accent-color:#c4a267;width:min(300px,75%);height:5px;margin:16px}footer{color:#7f8d9e;justify-content:space-between;gap:8px;padding:14px 0;font-size:11px;display:flex}#notice{color:#ebd4aa;background:#30261c;border:1px solid #b89456;padding:12px;font-size:13px}#stage:fullscreen{background:#080f19;width:100vw;height:100dvh;max-height:none;margin:0}@media (width<=600px){#app{padding:0 8px}header{gap:8px;min-height:65px}strong{letter-spacing:1px;font-size:13px}.crest{font-size:26px}nav label{display:none}select,button{padding:8px 6px;font-size:11px}footer{flex-direction:column}#stage{max-height:none;margin-top:10px}}#stage{width:min(100%,146.528dvh - 184.625px);max-height:none}#stage:fullscreen{aspect-ratio:auto;width:100vw;height:100dvh}#stage:fullscreen canvas{flex:none;width:min(100vw,146.528dvh);height:min(100dvh,68.2464vw)}@media (width<=600px){#stage{width:100%}}
