@font-face { font-family: Astonia; src: url('/assets/brand/fonts/ModernAntiqua-Regular.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: Roboto; src: url('/assets/brand/fonts/Roboto-Variable.ttf') format('truetype'); font-weight: 100 900; font-display: swap; }
html, body.unity-player { width: 100%; height: 100%; margin: 0; padding: 0; border: 0; overflow: hidden; background: #080f16; color: #e8e3d7; }
body.unity-player { font-family: Roboto, sans-serif; }
#game { position: fixed; inset: 0; margin: 0; padding: 0; overflow: hidden; }
#unity-canvas { display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; outline: none; }
#loading { position: absolute; inset: 0; z-index: 2147483647; display: flex; flex-direction: column; align-items: center; background: linear-gradient(rgba(4,10,17,.26), rgba(4,10,17,.26)), url('/assets/brand/astonia-forever-loading-v1.webp') center / cover no-repeat #080f16; }
#loading[hidden], [hidden] { display: none; }
.loading-brand { padding: 32px 20px 14px; text-align: center; }
.loading-brand h1 { margin: 0; font: 53px Astonia, Georgia, serif; letter-spacing: 9px; color: #f5e7c7; }
.loading-brand h1 span { display: block; margin-top: 8px; font: 14px Roboto, sans-serif; letter-spacing: 8px; color: #d6bb83; }
.brand-rule { width: 150px; height: 1px; margin: 18px auto 0; background: #a68b5b; }
.loading-details { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; box-sizing: border-box; width: 100%; padding: 30px 30px 90px; text-align: center; }
.loading-details h2 { margin: 0 0 10px; color: #f5e9d3; font: 28px Astonia, Georgia, serif; }
#status { max-width: 620px; margin: 0 0 24px; color: #d0d6d5; font-size: 14px; line-height: 1.5; }
#progress { appearance: none; border: 0; width: min(360px, 80vw); height: 6px; background: #3d3930; color: #ad8d55; accent-color: #ad8d55; }
.loading-hint { max-width: 440px; margin: 14px 0 0; color: #c2beb4; font-size: 13px; line-height: 1.5; }
#progress::-webkit-progress-bar { background: #3d3930; }
#progress::-webkit-progress-value { background: #ad8d55; }
#progress::-moz-progress-bar { background: #ad8d55; }
#retry { padding: 10px 24px; border: 1px solid #a68b5b; background: #141e27; color: #f5e9d3; font: inherit; cursor: pointer; }
#retry:focus-visible, .loading-details a:focus-visible { outline: 2px solid #f5e7c7; outline-offset: 4px; }
.loading-details a { margin-top: 18px; color: #d6bb83; font-size: 14px; }
#retry[hidden] ~ a { display: none; }
#loading footer { padding: 0 20px 20px; font-size: 11px; letter-spacing: 3px; color: #d0c1a3; text-align: center; }
