:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#102329;color:#edf4ef}
*{box-sizing:border-box}
body{margin:0;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:8px 18px;flex-shrink:0;background:#102329;border-bottom:1px solid #ffffff19}
.brand{font-size:16px;letter-spacing:.18em;color:inherit;text-decoration:none;font-weight:750}
nav{display:flex;gap:8px}
button{font:inherit;border:1px solid #365456;border-radius:5px;background:#1e3a40;color:#edf4ef;padding:9px 14px;cursor:pointer}
button:hover{background:#315259}
button:focus-visible,a:focus-visible{outline:2px solid #d4eab1;outline-offset:3px}
button:disabled{opacity:.4;cursor:default}
nav button{font-size:13px;padding:7px 12px}
nav kbd{margin-left:7px;color:#9db5ad;font-size:11px;font-weight:400}
main{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:#142c33;overflow:hidden}
canvas{display:block;width:100%;height:100%;position:absolute;inset:0;background:#142c33}
canvas:focus-visible{outline:none}
#loading{position:relative;z-index:1;width:min(620px,92%);padding:30px;background:#142c33f5;border:1px solid #ffffff18;border-radius:12px;box-shadow:0 25px 90px #0003}
.eyebrow{font-size:11px;letter-spacing:.2em;color:#b7d6c8}
h1{font-size:clamp(30px,5vw,48px);font-weight:550;letter-spacing:-.045em;margin:16px 0 22px}
#status{min-height:1.6em}
progress{display:block;width:100%;height:8px;accent-color:#b9d893;margin:20px 0 24px}
.detail{font-size:13px;color:#b6c8c4;line-height:1.6}
.no-script{position:fixed;bottom:24px;left:24px;background:#102329;padding:16px;z-index:10}
[hidden]{display:none!important}
@media(max-width:600px){header{padding:8px 10px}nav{gap:5px}nav button{padding:7px 8px}nav kbd{display:none}#loading{padding:24px}}

dialog{color:#edf4ef;background:#142c33;border:1px solid #365456;border-radius:8px;padding:24px;width:min(440px,90vw);line-height:1.6}
dialog::backdrop{background:#081619aa}
dialog h2{margin:0 0 12px;font-size:22px}
dialog a{color:#c1dcb0}
dialog form{text-align:right;margin-top:20px}
