/* Archangel reference theme: scoped to entry and character hall. */
#login{background:linear-gradient(90deg,#031017ed 0%,#06141bad 36%,#03141a22 70%),url('/assets/theme/login-realm.jpg') center/cover no-repeat;overflow-y:auto;padding:4vh 6vw;isolation:isolate}
#login::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 75% 55%,#5ad5de0d,transparent 60%);box-shadow:inset 0 0 160px #02090dc9}
.login-card{width:390px;background:linear-gradient(155deg,#0e2833ed,#06121aee);border:1px solid #7bbbc35c;box-shadow:0 30px 100px #0009,inset 0 1px 0 #c4edf224;border-radius:3px;padding:26px 30px}
.login-card .eyebrow{color:#9cc7cd;letter-spacing:2px;font-size:8px;text-align:center}.logo-title{margin:4px -14px 0!important;line-height:0!important}.game-logo{width:100%;height:168px;object-fit:contain;filter:drop-shadow(0 8px 16px #0008)}
.login-card .rule{width:100%;margin:12px 0;background:linear-gradient(90deg,transparent,#8ad4df80,transparent)}.login-card p{color:#b7cbd2}.login-card input{background:#030e15bf;border-color:#72b5bf45;color:#effbff}.login-card label{color:#b4cbd2}.login-card input:focus{border-color:#8ad6e1;box-shadow:0 0 0 2px #62bec81a}
#enter{background:linear-gradient(120deg,#b6e4e8,#6cabb7);color:#071921;border:1px solid #b1edf0;font-size:10px;transition:filter .2s}#enter:hover{filter:brightness(1.12)}.login-card .secondary{border-color:#70b0bb50;color:#acd5dd}.login-card small{display:block;text-align:center;color:#8da6b1;font-size:7px;margin-top:10px}.intro{width:44%;padding-top:130px}.intro>span{color:#a5d3dc;font-size:9px}.intro h2{font-size:clamp(32px,4.3vw,65px);color:#e0f0f0;line-height:1.12;text-shadow:0 4px 30px #000b}.intro p{color:#bdd6dc;max-width:340px}.intro>div{max-width:340px;line-height:2;color:#9ac3ce}
#loading{background:linear-gradient(#041018dc,#05171bee),url('/assets/theme/login-realm.jpg') center/cover}.loading-logo{width:min(420px,80vw);height:210px;object-fit:contain}#loading .loading-title{font-size:12px;letter-spacing:3px;color:#b1d7de}#loading progress{accent-color:#8dd6e0}
#characters{background:linear-gradient(90deg,#04111be8,#05151e30 35%,transparent 65%)}#characters .roster-panel{background:linear-gradient(145deg,#102c38ee,#06141cef);border-color:#83bec05e;box-shadow:0 24px 80px #0009,inset 0 1px 0 #a7e5ed22}#characters .roster-panel h1,#characters .roster-panel h2{color:#d2e7e9}#characters .roster-panel h1{font-size:24px;margin:6px 0 12px}.roster-logo{width:100%;height:102px;object-fit:contain;display:block;margin:-8px 0 3px}#characters .roster-panel p{color:#9fbac5}#characters .roster-panel button,#characters .roster-panel input,#characters .roster-panel select{background:#0d2630;border-color:#69a7b34a;color:#cbe1e7}#characters .character-slot.selected{border-color:#95dce5!important;background:linear-gradient(100deg,#24657599,#14323c);box-shadow:inset 3px 0 #92dce6}#characters .character-slot small{color:#99bac6}#characters .character-slot.empty{background:#06131a55;color:#7796a2}#play-character{background:linear-gradient(120deg,#447987,#29515f)!important;border-color:#8dc5d0!important}#hall-caption{color:#d6e9ed}#hall-caption .eyebrow{color:#8bc9d5}
@media(max-width:760px){#login{padding:18px;align-items:center}.login-card{width:min(390px,100%);padding:20px 25px;margin:auto}.game-logo{height:130px}.login-card .eyebrow{font-size:7px}.login-card label{margin-top:12px}.login-card small{font-size:6px}.intro{display:none}.roster-logo{height:65px;max-width:220px;margin:-6px auto 0}#characters{background:linear-gradient(0deg,#04111bf0,transparent 65%)}#characters .roster-panel h1{font-size:18px}#hall-caption{bottom:42vh}}
@media(prefers-reduced-motion:reduce){#login *,#characters *{transition:none!important}}

.login-wordmark{display:block;font:900 clamp(30px,6vw,55px)/.87 Georgia,serif;text-align:center;text-transform:uppercase;letter-spacing:-.07em;color:#ffe3ab;text-shadow:0 2px #78522e,0 5px 20px #000}
.login-wordmark>span{display:block;color:#e5a95f}
.login-wordmark>small{display:block;margin-top:15px;font:700 11px/1.3 system-ui;letter-spacing:.65em;color:#f4d6a0}
#login .login-card{border:3px double #a88356;background:linear-gradient(155deg,#302218ee,#110b0aee);padding-top:30px}
#login #enter{color:#21160d;background:linear-gradient(#ffe0a4,#c08b48);border-color:#f5cf94}
#characters .character-slot.selected{border-color:#d0a46c;background:linear-gradient(110deg,#56371d,#20140f)}

/* Entry and roster share the same metal and ember palette. */
#login{background:linear-gradient(90deg,#080705f5 0%,#100b07bf 42%,#19100636 76%,#080705ba),url('/assets/theme/login-realm.jpg') center/cover no-repeat}
#login::before{background:radial-gradient(ellipse at 73% 53%,#ff73062b,transparent 61%);box-shadow:inset 0 0 145px #050403}
#login .login-card,#characters .roster-panel{position:relative;border:1px solid #ad5b22;background:linear-gradient(145deg,#1b120cfa,#080706fa);box-shadow:0 20px 65px #000c,inset 0 0 0 4px #080706}
#login .login-card::after,#characters .roster-panel::after{content:'';position:absolute;pointer-events:none;inset:-1px;background:linear-gradient(#ffad44,#ffad44) left top/26px 2px no-repeat,linear-gradient(#ffad44,#ffad44) right bottom/26px 2px no-repeat}
.login-wordmark{font-family:Impact,'Arial Black',sans-serif;letter-spacing:-.025em;color:#ede6db;text-shadow:0 2px #695f56,0 8px 25px #000}
.login-wordmark>span{color:#ff951c;text-shadow:0 2px #8d3e08,0 0 22px #fa770a60}
.login-wordmark>small{color:#e8bb8a}
.roster-wordmark{font-size:clamp(25px,4vw,42px);margin-bottom:22px}
#login .eyebrow,#characters .eyebrow,#login .intro>span{color:#ffad52}
#login .rule{background:linear-gradient(90deg,transparent,#ff952c,transparent)}
#login input,#characters input,#characters select{background:#100d0a;border-color:#80532e;color:#f3e2ce}
#login #enter,#characters #play-character{background:linear-gradient(#ffac37,#ed7809);color:#1a1008;border:1px solid #ffb755}
#login .secondary,#characters .secondary{border-color:#6b4429;color:#f5bc80}
#characters{background:radial-gradient(ellipse at 63% 52%,#cc55061f,transparent 47%),linear-gradient(90deg,#0b0806ed,transparent 60%,#1009045e)}
#characters .character-slot.selected{border-color:#fa9432;background:linear-gradient(90deg,#49220e,#1b110b);box-shadow:inset 3px 0 #ff9430}
#characters #hall-caption h2{color:#ffdfb6;text-shadow:0 3px 18px #000}
