/* Critical launch UI: available before React, Three.js and textures. */
html, body { margin: 0; background: #091610; }
#boot-splash { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; box-sizing: border-box; padding: max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); overflow: hidden; background: radial-gradient(ellipse at 50% 38%,#254c352e,transparent 58%),#091610; color: #efdbb1; text-align: center; transition: opacity .36s ease, visibility .36s; }
#boot-splash.leaving { opacity: 0; visibility: hidden; pointer-events: none; }
.boot-content { display: flex; align-items: center; flex-direction: column; transform: translateY(-18px); }
.boot-mark { width: 88px; height: 88px; display: block; margin-bottom: 32px; border-radius: 20px; box-shadow: 0 18px 44px #0005; animation: boot-mark-in .65s cubic-bezier(.2,.7,.2,1) both; }
.boot-wordmark { margin: 0 0 14px; padding-left: 7px; color: #efdbb1; font: 30px/1 Georgia,'Times New Roman',serif; letter-spacing: 7px; }
.boot-tagline { margin: 0; padding-left: 3px; font: 9px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing: 3px; color: #b8af94; }
.boot-loader { position: relative; width: 36px; height: 2px; overflow: hidden; margin-top: 27px; background: #c7ac7830; border-radius: 2px; }
.boot-loader::after { content: ''; display: block; width: 100%; height: 100%; background: #dac28d; transform: translateX(-100%); animation: boot-loading 1.4s ease-in-out infinite; }
.boot-help { position: absolute; bottom: max(28px,env(safe-area-inset-bottom)); left: 24px; right: 24px; font: 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #b6b9a9; }
.boot-help[hidden] { display: none; }
.boot-help button { display: block; min-height: 44px; margin: 12px auto 0; padding: 10px 20px; border: 1px solid #d4b57c70; border-radius: 12px; background: #223a2b; color: #efdbb1; font: inherit; cursor: pointer; }
.boot-help button:focus-visible { outline: 2px solid #efdbb1; outline-offset: 4px; }
@keyframes boot-mark-in { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes boot-loading { 0% { transform: translateX(-100%); } 65%,100% { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { #boot-splash { transition-duration: .01s; } .boot-mark,.boot-loader::after { animation: none; } .boot-loader::after { transform: none; opacity: .6; } }
