:root { color-scheme:dark; font:16px system-ui,sans-serif; background:#061019; color:#def6f8; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; overflow:hidden; }
body { display:grid; place-items:center; color:#def6f8; font:18px system-ui,sans-serif; background:radial-gradient(ellipse at center,#153542,#061019 75%); }
#fluxera-shell { position:relative; width:100vw; height:100vh; height:100dvh; background:#08131c; }
#fluxera-shell:fullscreen { width:100vw; height:100vh; display:grid; place-items:center; }
#fluxera-shell:fullscreen canvas { width:100vw; height:100vh; }
#fluxera-canvas { width:100%; height:100%; display:block; touch-action:none; outline:none; }
#loading { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:24px; text-align:center; background:#08131c; }
#loading img { width:90%; height:auto; }
#public-title { font-size:28px; letter-spacing:.15em; }
progress { width:85%; accent-color:#61d8dc; }
#status { line-height:1.5; overflow-wrap:anywhere; }
#storage-warning { position:absolute; bottom:60px; left:4%; right:4%; padding:16px; color:#fff; background:#7a3028; border-radius:8px; font-size:16px; pointer-events:none; }
#fullscreen { position:absolute; right:10px; bottom:max(10px,env(safe-area-inset-bottom)); min-height:44px; padding:8px 16px; border:1px solid #72cbd1; border-radius:8px; background:#153542; color:#def6f8; }
[hidden] { display:none!important; }
#fluxera-account {position:absolute;inset:0;background:#061019d9;display:grid;place-items:center;padding:20px;z-index:20;}
.account-card {width:min(620px,100%);max-height:94dvh;overflow:auto;overflow-wrap:anywhere;background:#102b37;border:1px solid #61d8dc;border-radius:16px;padding:24px;line-height:1.5;}
.account-card label {display:block;margin:12px 0;}
.account-card input {display:block;width:100%;font:inherit;padding:12px;color:#fff;background:#061019;border:1px solid #72cbd1;}
.account-card button,#update-notice button {min-height:44px;max-width:100%;margin:4px;padding:10px 18px;font:inherit;color:#fff;background:#175260;border:1px solid #72cbd1;border-radius:6px;}
#update-notice {position:absolute;left:24%;right:24%;top:0;padding:10px;background:#102b37e8;font-size:14px;z-index:10;}
.update-short{display:none;}
@media(max-width:1099px){#update-notice{left:4%;right:4%;top:auto;bottom:12%;padding:6px;}.update-long{display:none;}.update-short{display:inline;}}
