/* Painted entrance and character selection, using the shared engraved metalwork. */
:root{--entrance-art:url('/ui/assets/theme/entrance-v2/fortress.webp');--character-hall:url('/ui/assets/theme/entrance-v2/hall.webp')}
#auth:not(.character-selection){grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(20px,4vw,64px);padding:clamp(20px,4vw,54px);background:#090d10;color:#eee5ce}
#auth:not(.character-selection)>.auth-backdrop{background:linear-gradient(90deg,#080c1033,#090d1020 42%,#090d10c9 80%),linear-gradient(0deg,#090d10e8,transparent 65%),var(--entrance-art) 36% center/cover no-repeat}
#auth:not(.character-selection):after{inset:8px;border:18px solid transparent;border-image:var(--ever-frame) 103 stretch;opacity:.65}
#auth:not(.character-selection) .auth-identity{min-height:300px;max-width:720px;padding:0;justify-content:center}
#auth:not(.character-selection) .auth-wordmark{max-width:660px;margin:0 0 14px;filter:drop-shadow(0 5px 10px #000b)}
#auth:not(.character-selection) .auth-identity>p{font:20px/1.4 Georgia,serif;color:#e4d5b2;text-shadow:0 2px 8px #000}
#auth:not(.character-selection) .auth-identity-note{display:none}
#auth:not(.character-selection)>.auth-card{width:100%;max-width:390px;padding:22px 24px 18px;border:1px solid #a38b57;background:linear-gradient(120deg,#242c2def,#0a1014f2 65%),var(--ever-stone);box-shadow:inset 0 0 0 3px #05080b,0 18px 65px #000a}
#auth:not(.character-selection)>.auth-card:before{inset:0;width:auto;height:auto;border:20px solid transparent;border-image:var(--ever-frame) 103 stretch;z-index:2}
#auth:not(.character-selection)>.auth-card>h1{font:29px/1.15 Georgia,serif;margin:0 0 7px;color:#f2e6c8;text-shadow:0 2px 3px #000}
#auth:not(.character-selection) .auth-description{margin:0 0 18px;font-size:13px;line-height:1.5;color:#bfb8a6}
#auth:not(.character-selection) #login-form{gap:13px}
#auth:not(.character-selection) #login-form label{gap:6px;font-size:12px;color:#d9cdb2}
#auth:not(.character-selection) #login-form input{height:44px;font-size:16px;border-color:#7b7056;background:linear-gradient(#080c0f,#11171a);box-shadow:inset 0 2px 6px #000a,0 1px #ead8a51c;color:#f0e6ce;border-radius:3px}
#auth:not(.character-selection) #login-form input:focus-visible{outline-color:#d9b979;border-color:#d9b979}
#auth:not(.character-selection) .auth-password-toggle{height:42px;color:#d0bd96}
#auth:not(.character-selection) #login-button{min-height:44px;margin-top:3px;background:linear-gradient(#a18147,#725023 45%,#4c3017 51%,#67451f);border-color:#c5a666;box-shadow:inset 0 1px #ffe5ad80,inset 0 0 0 3px #08080555,0 3px 8px #0007;color:#fff0ca;text-shadow:0 1px 2px #35200c}
#auth:not(.character-selection) #login-button:not(:disabled):hover{background:linear-gradient(#b29354,#855e2d 45%,#604019 51%,#7c592a);border-color:#ead099}
#auth:not(.character-selection) .auth-footer{display:none}
#auth:not(.character-selection) #auth-message{font-size:12px;line-height:1.5;min-height:0;margin:12px 0 0;padding:0;border:0;color:#bfb6a0}
#auth:not(.character-selection) #auth-message:empty{display:none}
#auth:not(.character-selection) .session-recovery{padding:12px 0 0;margin:12px 0 0;border:0;border-top:1px solid #9a825140;background:transparent;font-size:12px}
#auth:not(.character-selection) .session-recovery p{font-size:12px;line-height:1.5;margin:0 0 10px}
#auth:not(.character-selection) .session-recovery button{min-height:40px;font-size:12px;padding:7px 10px}
#auth:not(.character-selection) .auth-client-loader{padding:12px 2px 14px;text-align:center}
#auth:not(.character-selection) .auth-loading-emblem{width:92px;height:92px;margin:0 auto 18px;background:radial-gradient(#78613a40,#11181ce0 70%);border:0;border-radius:0;box-shadow:inset 0 0 25px #0006}
#auth:not(.character-selection) .auth-loading-emblem:after{inset:0;border:14px solid transparent;border-image:var(--ever-frame) 103 stretch;border-radius:0;animation:none}
#auth:not(.character-selection) .auth-loading-emblem img{width:65px;height:70px}
#auth:not(.character-selection) .auth-loading-emblem:before,.connection-transfer .transfer-seal:before{inset:auto;left:50%;top:50%;width:calc(100% - 16px);height:calc(100% - 16px);box-sizing:border-box;transform:translate(-50%,-50%);margin:0;border-radius:50%;animation:none}
#auth:not(.character-selection) .auth-loading-emblem:after,.connection-transfer .transfer-seal:after{box-sizing:border-box;width:100%;height:100%;margin:0}
#auth:not(.character-selection) .auth-client-loader h2{font:25px/1.2 Georgia,serif;margin:0 0 10px;color:#f0e3bf}
#auth:not(.character-selection) .auth-client-loader>p{font-size:13px;line-height:1.5;max-width:30ch;color:#c0b69e;min-height:40px}
#auth:not(.character-selection) .auth-loading-track{width:180px;max-width:100%;height:4px;margin:18px auto 0;background:#060a0c;box-shadow:inset 0 1px #a58e5144;border-radius:2px}
#auth:not(.character-selection) .auth-loading-track span{background:linear-gradient(90deg,transparent,#ba9956,#f4db9c,#ba9956,transparent);animation-duration:1.8s}
.connection-transfer{background:#090d10;padding:96px 20px 30px}
.connection-transfer:before{background:linear-gradient(#090d1070,#090d10d9),var(--entrance-art) 36% center/cover;opacity:1}
.connection-transfer .transfer-content{position:relative;width:min(420px,100%);box-sizing:border-box;padding:26px 24px;background:linear-gradient(120deg,#242c2de8,#0b1115f2),var(--ever-stone);border:1px solid #9f8753;box-shadow:0 18px 65px #000a}
.connection-transfer .transfer-content:before{content:'';position:absolute;inset:0;border:20px solid transparent;border-image:var(--ever-frame) 103 stretch;pointer-events:none}
.connection-transfer>.transfer-brand{width:220px;max-width:70vw;top:22px}
.connection-transfer .transfer-seal{width:88px;height:88px;margin-bottom:18px;background:radial-gradient(#7f62383b,transparent 70%);border-radius:0;border:0}
.connection-transfer .transfer-seal:after{inset:0;border:14px solid transparent;border-image:var(--ever-frame) 103 stretch;border-radius:0;animation:none}
.connection-transfer .transfer-seal img{width:62px;height:68px}
.connection-transfer .transfer-content h2{font-size:26px;margin-bottom:10px}
.connection-transfer .transfer-detail{font-size:13px;line-height:1.5}
.connection-transfer .transfer-place{margin-top:18px;padding-top:12px}
/* Selection keeps its native roster, reusable model canvases and explicit entry. */
#auth.character-selection{padding:24px clamp(16px,4vw,54px);background:linear-gradient(90deg,#080d10b0,#080d10d9),var(--entrance-art) center/cover fixed;color:#eee5ce}
#auth.character-selection>.auth-card{max-width:1100px}
#auth.character-selection .selection-shell{max-width:1100px;margin:auto}
#auth.character-selection .selection-header{padding:0 0 12px;border-bottom:1px solid #a58d514d}
#auth.character-selection .selection-brand{width:270px;max-width:65%}
#auth.character-selection .selection-signout{min-height:38px;padding:7px 12px;font-size:12px;background:linear-gradient(#35372dc9,#11171be8);border-color:#a98c5159;color:#ddceaa;box-shadow:inset 0 1px #ead8ad26}
#auth.character-selection .selection-title{padding:18px 0 16px}
#auth.character-selection .selection-title h1{font:32px/1.15 Georgia,serif;margin:0;color:#f0e4c6;text-shadow:0 2px 5px #000}
#auth.character-selection .selection-title p{font-size:12px;line-height:1.4;margin:7px 0 0;color:#c0b79f}
#auth.character-selection .selection-layout{grid-template-columns:minmax(270px,.8fr) minmax(0,1.4fr);gap:20px}
#auth.character-selection .selection-roster{padding-top:0}
#auth.character-selection .selection-roster-heading{margin:0 0 10px;padding:0 3px}
#auth.character-selection .selection-roster-heading h2{font-size:18px}
#auth.character-selection .selection-slot{position:relative;min-height:78px;gap:11px;padding:10px 13px;background:linear-gradient(110deg,#293033de,#0b1115ed),var(--ever-stone);border:1px solid #a68c514a;box-shadow:inset 0 1px #d5bd7b1a,0 3px 8px #0006}
#auth.character-selection .selection-slot:before{content:'';position:absolute;inset:0;border:13px solid transparent;border-image:var(--ever-frame) 103 stretch;pointer-events:none;opacity:.48}
#auth.character-selection .selection-slot[aria-pressed=true]{background:linear-gradient(105deg,#71542ac9,#1a2020e8 80%),var(--ever-stone);border-color:#d0ae65;box-shadow:inset 0 1px #fff0be40,0 0 12px #b88c2a20}
#auth.character-selection .selection-slot[aria-pressed=true]:before{opacity:.95}
#auth.character-selection .selection-slot-portrait{width:48px;height:56px;flex-basis:48px;padding:2px;border:1px solid #a68c5166;background:linear-gradient(#685634,#0b1114);box-shadow:inset 0 0 0 2px #101416}
#auth.character-selection .selection-slot-portrait img{width:44px;height:52px;object-fit:contain}
#auth.character-selection .selection-slot-copy strong{font-size:21px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#auth.character-selection .selection-slot-copy small{margin-top:5px;font-size:11px;color:#c1b8a1;gap:3px 9px}
#auth.character-selection .selection-slot-indicator{display:none}
#auth.character-selection .selection-slot-empty{min-height:64px;background:linear-gradient(110deg,#141b1dd9,#0b1115ed);border-style:solid}
#auth.character-selection .selection-slot-empty .selection-slot-portrait{height:38px;background:transparent;border-color:#a68c5133;box-shadow:none}
#auth.character-selection .selection-slot-empty .selection-slot-copy strong{font:14px/1.35 Arial,sans-serif;color:#c0b49a}
#auth.character-selection .selection-preview{padding:0 18px 15px;gap:0;background:#191911;border-color:#ac9256;box-shadow:inset 0 0 0 3px #090d10,0 10px 30px #0007;overflow:hidden}
#auth.character-selection .selection-preview:before{inset:0;width:auto;height:auto;border:22px solid transparent;border-image:var(--ever-frame) 103 stretch;z-index:3}
#auth.character-selection .selection-preview-top{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:12px;width:calc(100% + 36px);box-sizing:border-box;margin:0 -18px 8px;padding:12px 17px;border-bottom:1px solid #a58b514d;background:linear-gradient(90deg,#0c1214dd,#0c121493),var(--character-hall) center 28%/cover;color:#e2d1ac;font:18px/1.3 Georgia,serif}
#auth.character-selection .selection-preview-top small{font:12px/1.3 Arial,sans-serif;color:#d9bf80;white-space:nowrap}
#auth.character-selection .selection-preview-art.selection-live-model{height:330px;width:100%;margin:0;background:#191911;border:0;border-radius:0}
#auth.character-selection .selection-preview-copy h2{font-size:28px;line-height:1.15;margin:8px 0 0;color:#f1e1b9;text-shadow:0 2px 4px #000}
#auth.character-selection .selection-preview-copy .selection-subtitle{margin:6px 0 8px;font-size:12px}
#auth.character-selection .selection-attributes{padding:10px 0;margin:12px 0 10px;border-color:#a58a5140;gap:5px;background:linear-gradient(90deg,transparent,#65552e15,transparent)}
#auth.character-selection .selection-attributes dt{font-size:10px;color:#c2b699;margin-bottom:4px}
#auth.character-selection .selection-attributes dd{font-size:18px;color:#eddfba}
#auth.character-selection .selection-entry{padding-top:3px}
#auth.character-selection .selection-enter{min-height:44px;font-size:15px;border-color:#c5a666;background:linear-gradient(#a18147,#725023 45%,#4c3017 51%,#67451f);box-shadow:inset 0 1px #ffe5ad80,inset 0 0 0 3px #08080555,0 3px 8px #0007;color:#fff0ca;text-shadow:0 1px 2px #35200c}
#auth.character-selection .selection-enter:hover{background:linear-gradient(#b29354,#855e2d 45%,#604019 51%,#7c592a)}
#auth.character-selection .selection-entry p{font-size:11px;line-height:1.4;margin:9px 0 0;color:#c2b699}
#auth.character-selection .selection-loading{color:#c2b699;font-size:12px}
@media(max-width:760px){:root{--entrance-art:url('/ui/assets/theme/entrance-v2/fortress-small.webp');--character-hall:url('/ui/assets/theme/entrance-v2/hall-small.webp')}#auth:not(.character-selection){grid-template-columns:1fr;gap:20px;padding:24px 18px;align-content:safe center}#auth:not(.character-selection)>.auth-backdrop{background:linear-gradient(#090d1020,#090d1099 38%,#090d10e8),var(--entrance-art) 34% center/cover}#auth:not(.character-selection) .auth-identity{min-height:0;align-items:center}#auth:not(.character-selection) .auth-wordmark{width:min(100%,430px);margin-bottom:7px}#auth:not(.character-selection) .auth-identity>p{font-size:16px}#auth:not(.character-selection)>.auth-card{max-width:390px;padding:18px 20px 16px}#auth:not(.character-selection)>.auth-card>h1{font-size:27px}#auth:not(.character-selection):after{inset:4px;border-width:14px}}
@media(max-width:640px){#auth.character-selection{padding:14px 12px max(14px,env(safe-area-inset-bottom))}#auth.character-selection .selection-header{padding-bottom:10px}#auth.character-selection .selection-brand{width:230px;max-width:68%}#auth.character-selection .selection-title{padding:12px 0}#auth.character-selection .selection-title h1{font-size:26px}#auth.character-selection .selection-title p{display:none}#auth.character-selection .selection-layout{display:flex;flex-direction:column;gap:12px}#auth.character-selection .selection-roster-heading{display:none}#auth.character-selection .selection-slots{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 1px 7px;scrollbar-width:thin}#auth.character-selection .selection-slot{flex:0 0 174px;min-height:66px;padding:8px 9px;gap:8px;scroll-snap-align:start}#auth.character-selection .selection-slot-copy strong{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#auth.character-selection .selection-slot-copy small{font-size:10px;gap:2px 7px;margin-top:4px}#auth.character-selection .selection-slot-portrait{width:34px;height:44px;flex-basis:34px;padding:1px}#auth.character-selection .selection-slot-portrait img{width:30px;height:40px}#auth.character-selection .selection-slot-indicator{display:none}#auth.character-selection .selection-slot-empty{flex-basis:140px}#auth.character-selection .selection-slot-empty .selection-slot-copy strong{font-size:12px;white-space:normal}#auth.character-selection .selection-slot-empty .selection-slot-copy small{display:none}#auth.character-selection .selection-preview{display:flex;flex-direction:column;align-items:center;padding:0 14px 13px}#auth.character-selection .selection-preview-top{width:calc(100% + 28px);margin:0 -14px 5px;padding:10px 14px;font-size:17px}#auth.character-selection .selection-preview-art.selection-live-model{height:270px;margin:0}#auth.character-selection .selection-preview-copy{text-align:center}#auth.character-selection .selection-preview-copy h2{font-size:26px;margin-top:5px}#auth.character-selection .selection-attributes{margin:10px 0 9px;padding:8px 0}#auth.character-selection .selection-entry p{margin-top:8px}#auth.character-selection #auth-message{margin-top:10px}}
@media(max-height:520px) and (min-width:761px){#auth:not(.character-selection){padding:18px 34px;gap:20px}#auth:not(.character-selection) .auth-identity{min-height:0}#auth:not(.character-selection) .auth-wordmark{max-width:470px}#auth:not(.character-selection)>.auth-card{padding:18px 20px}.connection-transfer{padding:74px 20px 18px}.connection-transfer .transfer-content{padding:16px 20px}.connection-transfer .transfer-seal{width:64px;height:64px;margin-bottom:12px}.connection-transfer .transfer-seal img{width:45px;height:48px}}

#auth.character-selection .selection-entry p:empty{display:none}
#auth.character-selection .selection-slot-portrait{position:relative;overflow:hidden;box-sizing:border-box;min-width:0}
#auth.character-selection .selection-slot-portrait>img{display:block;width:100%;height:100%;min-width:0;object-fit:cover}
#auth.character-selection .selection-slot-portrait .selection-activity-icon{position:absolute;right:1px;bottom:1px;display:grid;place-items:center;width:19px;height:19px;box-sizing:border-box;border:1px solid #b49b61;border-radius:3px;background:linear-gradient(#33382d,#101619);box-shadow:0 1px 3px #000b}
#auth.character-selection .selection-slot-portrait .selection-activity-icon img{width:15px;height:15px;object-fit:contain}
#auth.character-selection .selection-activity-host{width:100%;text-align:center;margin:10px 0 12px}
#auth.character-selection .selection-activity-host:empty{margin:5px 0 12px}
#auth.character-selection .selection-activity{display:inline-flex;align-items:center;gap:7px;color:#d9c58d;font-size:12px;line-height:22px}
#auth.character-selection .selection-activity>img{width:22px;height:22px;object-fit:contain}

/* Restored character sheet: compact engraved panels and the citadel hall. */
#panel-character .character-page-heading{min-height:88px;padding:16px 18px 19px;background:linear-gradient(90deg,#0a1014f2,#0a1014ba 50%,#0a10143b),var(--character-hall) right 30%/cover}
#panel-character .character-page-heading h2{font-size:32px}
#panel-character .character-page-heading p{font:13px/1.45 Arial,sans-serif;max-width:52ch;margin:0;color:#c7bda5}
#panel-character .character-overview,#panel-character .character-overview-details{gap:16px}
#panel-character .character-overview{grid-template-columns:minmax(0,1fr)}
#panel-character .profile-overview{order:0}
#panel-character .character-overview-details{order:1}
#panel-character .character-card>header{padding:12px 16px;background:linear-gradient(105deg,#45505438,#0a1014d9);border-bottom-color:#9a82514d;box-shadow:inset 0 1px #e7d7a626}
#panel-character .character-card>header h3{font-size:22px}
#panel-character .profile-overview>header{background:linear-gradient(90deg,#0a1014dc,#0a10149c),var(--character-hall) center 24%/cover}
#panel-character .profile-identity{padding:12px 14px 15px;background:#191911}
#panel-character .profile-model-stage{height:330px;background:#191911;box-shadow:none}
#panel-character .profile-identity h2{font-size:27px;margin:9px 0 6px;color:#f0e2bf}
#panel-character .profile-identity p{font-size:12px;color:#c7b798}
#panel-character .profile-progress{padding:12px 16px;border-color:#a18a5140;background:linear-gradient(#3a38241f,transparent)}
#panel-character .unspent-points{padding:0 14px 14px;gap:7px}
#panel-character .unspent-points button{min-height:38px;padding:7px 10px;background:linear-gradient(110deg,#51442630,#0d1317);border-color:#a18a5159}
#panel-character .unspent-points strong{padding:3px 7px}
#panel-character .character-card-body{padding:12px}
#panel-character .table-caption{font:14px/1.3 Georgia,serif;letter-spacing:0;padding:9px;color:#ddc697;background:linear-gradient(90deg,#151d20,#3a3c3033,#151d20);border-color:#a18a5140}
#panel-character .status-row{min-height:48px;padding:8px 10px;box-sizing:border-box;background:linear-gradient(90deg,#28333224,transparent)}
#panel-character .status-row button{background:linear-gradient(#a1854f,#69502b 48%,#3d2b15 52%,#6f512a);border-color:#b99a5e;box-shadow:inset 0 1px #f7dda366,0 2px 4px #0008}
#panel-character .attribute-metrics{padding:4px 10px;gap:0 16px}
#panel-character .attribute-metrics>div{gap:7px;padding:9px 0;border-bottom:1px solid #a18a511c}
#panel-character .attribute-metrics>div>span{display:flex;align-items:center;gap:7px;min-width:0;line-height:1.35}
#panel-character .attribute-emblem{display:grid;place-items:center;flex:0 0 25px;width:25px;height:27px;padding:4px;box-sizing:border-box;color:#d9bd80;border:1px solid #90794c;background:linear-gradient(135deg,#333e40,#10171a);box-shadow:inset 0 1px #dec78b40,0 1px 3px #0007}
#panel-character .attribute-emblem svg{width:100%;height:100%;filter:drop-shadow(0 1px 1px #000)}
#panel-character .character-bonus-list,#panel-character .character-effect-list{margin:0;padding:0;list-style:none}
#panel-character .character-bonus-list li,#panel-character .character-effect-list li{padding:9px 4px;border-bottom:1px solid #a18a5126;line-height:1.45}
#panel-character .character-note{margin:2px 0;font-size:12px;line-height:1.5}
@media(max-width:800px){#panel-character .character-page-heading{padding:14px 15px 18px;gap:11px;min-height:0}#panel-character .character-page-heading h2{font-size:29px}#panel-character .character-page-heading .character-page-action button{min-height:36px;padding:7px 12px;font-size:12px}#panel-character .profile-model-stage{height:280px}#panel-character .character-card>header{padding:11px 13px}#panel-character .character-card-body{padding:9px}#panel-character .status-row{font-size:12px;padding:8px;grid-template-columns:58px 20px 28px minmax(0,1fr) minmax(44px,auto);gap:5px}#panel-character .status-row strong{font-size:13px}#panel-character .attribute-metrics{gap:0 12px;padding:3px 7px}#panel-character .attribute-metrics>div{font-size:11px}#panel-character .attribute-metrics>div>span{gap:6px}#panel-character .attribute-metrics strong{font-size:12px}#panel-character .attribute-emblem{width:22px;height:24px;flex-basis:22px}}
