/* Astral / Frontier Command — presentation only. */
#authDialog{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:auto;color:#c0d3e2;background:#07111b;box-shadow:none;overscroll-behavior:contain;color-scheme:dark}
#authDialog::backdrop{background:#10243d}
.auth-shell{position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,440px);grid-template-rows:auto 1fr auto;gap:28px 7vw;padding:24px clamp(28px,5vw,90px) 18px;align-items:center}
.auth-scenery,.auth-scene-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:36% center;pointer-events:none}
.auth-scene-shade{z-index:-1;background:linear-gradient(90deg,#02111f55,transparent 60%,#06111c85),linear-gradient(0deg,#020911eb,transparent 45%,#07142066)}
.auth-masthead{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff}
.auth-mini-brand{display:flex;align-items:center;gap:10px;font:600 11px/1.4 "Arial Black",Arial,sans-serif;letter-spacing:.18em;text-shadow:0 2px 8px #123}
.auth-mini-brand img{border:1px solid #ead4a7;border-radius:5px;box-shadow:0 3px 14px #122c4a60}
#authClose{display:flex;align-items:center;gap:12px;padding:8px 14px;min-height:42px;color:#fff;background:#102b4e80;border:1px solid #e2d0a16b;border-radius:5px;font-size:12px;backdrop-filter:blur(8px)}
#authClose span{font-size:25px;line-height:20px}
.auth-story{align-self:center;color:#fff;text-shadow:0 3px 20px #071d42a1;padding:36px 0;max-width:650px}
.auth-kicker{font-size:10px;letter-spacing:.27em;color:#8fd5ed}
.auth-story h1{font:900 clamp(48px,6.3vw,98px)/.99 "Arial Black",Arial,sans-serif;letter-spacing:.035em;margin:23px 0 22px}
.auth-story h1 span{display:block;font-size:.56em;letter-spacing:.20em;line-height:1.6;color:#9ddcec}
.auth-ornament{display:flex;align-items:center;gap:13px;width:min(335px,90%);color:#64d2e2;font-size:18px}
.auth-ornament i{height:1px;flex:1;background:linear-gradient(90deg,#5e98b8,transparent)}
.auth-ornament i:first-child{background:linear-gradient(90deg,transparent,#5e98b8)}
.auth-story>p{font-size:clamp(18px,2.2vw,29px);font-weight:600;line-height:1.7;margin:22px 0}
.auth-world-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}
.auth-world-tags span{font-size:11px;padding:8px 12px;border:1px solid #537b9566;background:#0d294d7a;border-radius:4px;backdrop-filter:blur(6px)}
.auth-card{position:relative;width:100%;border:2px solid #4d7895;border-radius:5px;background:linear-gradient(130deg,#142838,#0c1926);box-shadow:0 0 0 5px #20435840,0 26px 80px #10264175,inset 0 0 0 3px #40718838;overflow:hidden;color:#c3d7e8}
.auth-card-ribbon{display:flex;align-items:center;justify-content:center;gap:18px;padding:17px 12px;color:#9cdced;background:linear-gradient(100deg,#162f42,#243d51,#122536);border-bottom:2px solid #46788c;font:600 12px/1.5 "Arial Black",Arial,sans-serif;letter-spacing:.16em}
.auth-card-ribbon>span{font-size:12px}
.auth-card-content{padding:25px 28px 22px}
.auth-card-eyebrow{display:block;text-align:center;color:#77bfdc;letter-spacing:.18em;font-size:9px}
#authTitle{font-size:24px;line-height:1.5;text-align:center;color:#f0f6fc;margin:8px 0 4px}
.auth-intro{text-align:center;font-size:12px;color:#9db1c2;margin:0 0 20px;line-height:1.6}
#authDialog .auth-character{padding:12px 14px;border:1px solid #34556b;border-radius:5px;background:#0a1929a8;margin:15px 0}
#authDialog .auth-character>span{font-size:10px;color:#829cae}
#authDialog .auth-character strong{font-size:15px;overflow-wrap:anywhere;color:#d6e5f1}
#authDialog .auth-character small{display:inline-block;margin-left:7px;font-size:10px;padding:2px 6px;border-radius:4px;background:#29445a;color:#aedfee}
#authDialog .auth-character p{color:#8da4b5;font-size:11px;line-height:1.7}
#authDialog #googleSignIn{display:block;min-width:0}
#authDialog #startGoogle{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;background:#fff;color:#c3d7e8;border:1px solid #b9c2d2;box-shadow:0 3px 0 #cdd4df;margin:13px 0;font-size:14px;font-weight:700}
.auth-google-mark{font:700 22px/1 Arial,sans-serif;color:#4285f4}
#authDialog .auth-guest,#authDialog .auth-primary{display:flex;align-items:center;justify-content:center;gap:18px;min-height:49px;border-radius:5px;background:linear-gradient(#81e3eb,#48b8d0)!important;border:1px solid #9ceefa!important;color:#082239!important;box-shadow:0 3px 0 #163b51;font-size:14px;font-weight:700}
#authDialog button:focus-visible,#authDialog summary:focus-visible,#authDialog a:focus-visible{outline:3px solid #477cae;outline-offset:3px}
#authDialog .auth-divider{font-size:10px;color:#819cad;gap:12px;margin:21px 0 15px}
#authDialog .auth-divider:before,#authDialog .auth-divider:after{background:repeating-linear-gradient(90deg,#3e6278 0 4px,transparent 4px 8px)}
.auth-email{border:1px solid #34556b;border-radius:5px;padding:0 12px;background:#0a192980}
.auth-email summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;padding:13px 0;color:#a8c9dc;font-size:12px;min-height:44px}
.auth-email summary::-webkit-details-marker{display:none}
.auth-email summary span{font-size:18px}
#authDialog .auth-tabs{margin:4px 0 15px;gap:4px}
#authDialog .auth-tabs button{background:#193044;color:#adc3d4;border-color:#34566e;font-size:10px;min-height:38px;border-radius:5px}
#authDialog .auth-tabs [aria-pressed=true]{background:#305873;color:#b2ecf3;border-color:#6ba4bc}
#authDialog #authForm label{font-size:12px;color:#b9cddc;margin:10px 0}
#authDialog #authForm input{background:#fff;color:#203750;border-color:#b7c4d2;min-height:46px;border-radius:6px;padding:10px 11px;font-size:16px}
#authDialog #authForm input::placeholder{color:#83909d}
#authDialog #authForm button{margin-bottom:15px;font-size:12px}
#authDialog .auth-note{color:#8ea6b9;font-size:11px}
#authDialog #authStatus{color:#82d6c3;font-size:12px;line-height:1.6;min-height:0;margin:13px 0;overflow-wrap:anywhere}
#authDialog #authStatus:empty{margin:10px 0}
#authDialog #authStatus.error{color:#aa343e;background:#ffede7;border:1px solid #ebc2b5;padding:10px;border-radius:6px}
.auth-community{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #8ab7a9;border-radius:5px;background:linear-gradient(115deg,#245947,#1c424a);color:#fff!important;text-decoration:none;box-shadow:0 3px 0 #d2dacb}
.auth-line-mark{display:grid;place-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid #d9ffb8;border-radius:5px;background:#6dce6a;color:#143f37;font-size:10px;font-weight:800}
.auth-community>span:nth-child(2){flex:1;min-width:0}
.auth-community strong{display:block;font-size:12px;font-weight:600}
.auth-community small{display:block;color:#b1d7cc;font-size:10px;margin-top:3px;line-height:1.5}
#authDialog .auth-foot{color:#8198a9;font-size:10px;line-height:1.8;margin-top:18px}
#authDialog .auth-profile{margin:12px 0;color:#c1d8e9;font-size:13px;overflow-wrap:anywhere}
#authDialog .auth-profile p{color:#8da4b6}
#authDialog #authLogout{background:#142c40;color:#aac1d1;border-color:#3e6078;font-size:11px;min-height:40px;margin-top:10px}
.auth-world-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px;align-items:center;color:#e7edf8b8;font-size:10px;line-height:1.6}
.auth-world-footer span:first-child{color:#78afc9;letter-spacing:.15em;font-family:"Arial Black",Arial,sans-serif}

/* Shared in-game panel treatment. Gameplay controls and layout stay independent. */
#modal,#characterSelect{color:#e7edf5;border:1px solid #496c82;border-radius:5px;background:radial-gradient(ellipse at 5% 0,#223e596b,transparent 65%),#101f31;box-shadow:0 0 0 4px #13263bb3,0 30px 100px #020b16c9;scrollbar-color:#9e8758 #14283c;scrollbar-width:thin}
#modal::backdrop,#characterSelect::backdrop{background:#061221a8;backdrop-filter:blur(6px)}
#modal .dialog-top,#characterSelect .roster-heading{position:sticky;top:0;z-index:5;padding:23px 28px;border-bottom:1px solid #5a829b;background:linear-gradient(90deg,#182e49f7,#193452ec 70%,#294a64e8),url('assets/interface-v4/astral-warfront.webp') center 42%/cover;box-shadow:0 4px 22px #040c1840}
#modal .dialog-heading-copy{position:relative;padding-left:18px;min-width:0;border-left:2px solid #69d4e9}
#modal .dialog-top .eyebrow,#characterSelect .roster-heading .eyebrow{font:600 10px/1.5 "Arial Black",Arial,sans-serif;letter-spacing:.2em;color:#89cfe7}
#modal .dialog-top h2,#characterSelect .roster-heading h2{font-size:25px;font-weight:600;color:#e7f3ff;line-height:1.45;margin:5px 0 4px;letter-spacing:0}
#modalSubtitle{font-size:12px;line-height:1.6;color:#b7c9d8;margin:0;letter-spacing:0}
#modal .dialog-top .close,#characterSelect [data-close-roster]{flex-shrink:0;width:40px;height:40px;min-width:40px;padding:0;font:25px/1 "Arial Black",Arial,sans-serif;border:1px solid #4f7b91;color:#b5dcec;background:#0f213c96;border-radius:5px}
#modalBody{padding:26px 28px}
#modalBody h3{font-weight:600;color:#dbeaf7;letter-spacing:0}
#modalBody h4{color:#e6edf4;font-weight:600}
#modalBody .eyebrow{color:#84bdd5;font-size:10px;letter-spacing:.17em}
#modalBody button:not(:disabled):hover{border-color:#8ad6ed;background-color:#29445c}
#modalBody button.primary,#modalBody button.auth-primary{background:linear-gradient(115deg,#92e9ee,#51bcd0);color:#18283f;border:1px solid #9dedf2;box-shadow:inset 0 1px #c8faff;font-weight:700}
#modalBody button:focus-visible{outline:2px solid #90d6ef;outline-offset:3px}
#modalBody input:not([type=checkbox]):not([type=radio]):not([type=range]),#modalBody select{background:#10253a;color:#edf2f7;border:1px solid #54687c;border-radius:5px;min-height:42px}
#modalBody input:focus-visible,#modalBody select:focus-visible{outline-color:#7bcfe6}
#modalBody .service-list{gap:10px}
#modalBody .sheet-top,#modalBody .disposal-panel,#modalBody .arena-feedback{border-color:#46647a;background:linear-gradient(130deg,#213d4c,#142e3c);border-radius:5px}
#modalBody .sheet-art{border-color:#778273;background:radial-gradient(ellipse at 50% 45%,#50738866,transparent 60%),linear-gradient(145deg,#223b55,#111f33)}
#modalBody .statgrid>div,#modalBody .details-grid>article{background:linear-gradient(145deg,#20384d,#142638);border-color:#536173;border-radius:5px}
#modalBody .arena-offers article{background:linear-gradient(130deg,#213951,#16283b);border-color:#657078;border-radius:5px;box-shadow:inset 0 1px #abbcac13,0 5px 20px #050d191f}
#modalBody .arena-balance{background:linear-gradient(110deg,#2d4051,#1a3046);border-color:#6d8295}
#modalBody .arena-primary-stats>div{background:#0f2438;border-color:#4b6276}
#modalBody .arena-primary-stats dt{color:#96cfe5}
#modalBody .arena-offers button:not(:disabled){border-color:#5e93ac;background:linear-gradient(#2c4762,#213750);color:#bde7f5}
#modalBody .arena-result.success,#modalBody .disposal-notice{background:#1f4d42;color:#c7f4dc;border:1px solid #497466}
#modalBody .arena-result.failure{background:#592f38;color:#ffe1d9}
#modalBody .paperdoll,#modalBody .item-inspector{border-radius:5px;background:linear-gradient(160deg,#1e3648,#112331);border-color:#607879}
#modalBody .item-inspector h3{color:var(--rarity,#e7cb90)}
#modalBody .inventory-grid{border-color:#617b91;background-color:#0c1a2b}
#modalBody .bag-tools{gap:10px;align-items:center}
#modalBody .batch-tools,#modalBody .item-stash,#modalBody .legacy-overflow{border-color:#586879;border-radius:5px;background:#132b3db3}
#modalBody details>summary{color:#a1d6e9}
#modalBody .toggle-row{border-color:#364c64;padding-top:16px;padding-bottom:16px}
#modalBody .toggle-row strong{color:#e4eaf2}
#modalBody .toggle-row small{color:#a4b8ca}
#modalBody input[type=checkbox],#modalBody input[type=radio]{accent-color:#65c6e1}
#modalBody .supply-order{border-top:1px solid #62717e55;padding-top:12px}
#characterSelect .roster-card{border-color:#586d82;background:radial-gradient(ellipse at 50% 30%,#43668765,transparent 60%),#162d43;border-radius:5px}
#characterSelect .roster-card.current{border-color:#7aceea;box-shadow:inset 0 0 0 1px #7aceea44}
#characterSelect .roster-card.current b{color:#a8efff}
#characterSelect .creation-class{border-color:#587087;background:#182f43;border-radius:5px}
#characterSelect .roster-heading p{color:#bdcddc}
#loading{background:linear-gradient(#132d5290,#081d38ed),url('assets/interface-v4/astral-warfront.webp') center/cover}
#loading .brand{font-size:34px;text-shadow:0 3px 18px #0007;color:#d4ebf9}
#loading p{font-size:12px;color:#c4d6e8}

@media(max-width:900px){
 .auth-shell{display:flex;flex-direction:column;gap:0;padding:16px 20px 20px;align-items:center}
 .auth-masthead{width:100%;max-width:600px}.auth-mini-brand{font-size:9px;letter-spacing:.13em}.auth-mini-brand img{width:26px;height:26px}
 #authClose{padding:6px 10px;font-size:11px;min-height:38px;gap:8px}
 .auth-scenery{object-position:35% top}.auth-scene-shade{background:linear-gradient(180deg,#13315065,transparent 25%,#1228479c 65%,#0b203dea)}
 .auth-story{align-self:center;text-align:center;padding:28px 0 25px;min-height:238px;display:flex;flex-direction:column;align-items:center;justify-content:center}
 .auth-kicker{font-size:8px;letter-spacing:.22em}.auth-story h1{font-size:clamp(50px,12.5vw,76px);margin:13px 0 7px}.auth-story h1 span{font-size:.5em}
 .auth-story>p{font-size:15px;line-height:1.6;margin:10px 0 0}.auth-story>p br{display:none}.auth-world-tags{display:none}.auth-ornament{width:240px;font-size:12px;gap:10px}
 .auth-card{max-width:440px;border-radius:5px}.auth-card-content{padding:21px 22px 19px}.auth-card-ribbon{padding:14px 10px;font-size:11px}
 #authTitle{font-size:22px}.auth-world-footer{width:100%;max-width:440px;margin-top:25px;flex-direction:column;gap:7px;font-size:9px;text-align:center}
 #modal .dialog-top,#characterSelect .roster-heading{padding:17px 17px}.dialog-heading-copy{padding-left:12px!important}
 #modal .dialog-top h2,#characterSelect .roster-heading h2{font-size:21px}#modalSubtitle{font-size:11px}
 #modalBody{padding:18px 17px}
}
@media(max-width:480px){
 .auth-shell{padding:12px 17px 20px}.auth-story{min-height:230px;padding:26px 0 21px}.auth-story h1{font-size:50px}
 .auth-card-content{padding:20px 18px 18px}#authTitle{font-size:21px}.auth-card-eyebrow{font-size:8px}.auth-intro{font-size:11px;margin-bottom:16px}
 #authDialog .auth-character{padding:10px 11px}.auth-card-ribbon{letter-spacing:.13em;gap:13px}
 #modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);border-radius:5px;max-height:calc(100dvh - 20px)}
 #modal .dialog-top{padding:14px 13px;gap:10px}#modal .dialog-top .eyebrow{font-size:8px;letter-spacing:.14em}#modal .dialog-top h2{font-size:19px}
 #modal .dialog-top .close{width:38px;min-width:38px;height:38px;min-height:38px}#modalSubtitle{font-size:10px;line-height:1.55;max-width:260px}#modalBody{padding:17px 13px}
 #modalBody .arena-offers article{padding:14px;gap:10px}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1200px){
 .auth-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;padding:14px 24px;gap:15px 30px;min-height:100dvh}
 .auth-masthead{max-width:none}.auth-story{align-self:start;position:sticky;top:75px;text-align:left;align-items:flex-start;min-height:250px;padding:10px 0}.auth-story h1{font-size:47px}.auth-story>p{font-size:14px}.auth-story>p br{display:block}
 .auth-card{max-width:none}.auth-card-content{padding:20px}.auth-world-footer{max-width:none;flex-direction:row;margin-top:0;grid-column:1/-1}
 #modal .dialog-top{padding:12px 18px}#modal .dialog-top h2{font-size:19px}#modalSubtitle{font-size:10px}#modalBody{padding:18px}
}
@media(prefers-reduced-motion:reduce){#authDialog *,#modal *,#characterSelect *{scroll-behavior:auto;transition:none}}

#authDialog #startGoogle{color:#24364a;background:#f5f8fa;border-color:#b9cbd7;box-shadow:0 2px 0 #91a5b5}
#authDialog #authForm input{background:#071421;color:#e9f3fb;border-color:#4a6c84}
.auth-card{box-shadow:0 0 0 4px #09192788,0 24px 65px #0008,inset 0 1px #8bc5e32e}
.auth-card:before{content:'';position:absolute;top:0;left:0;width:54px;height:3px;background:#78d7ed}
.auth-story{align-self:end;padding-bottom:42px}.auth-story h1{font-size:clamp(48px,5.8vw,86px);letter-spacing:-.04em;text-shadow:0 5px 26px #000b}
.auth-story h1 span{font-size:.45em;letter-spacing:.24em;color:#a9deee;line-height:1.9}
.auth-story>p{font-size:23px;font-weight:500;color:#d6e6f2;text-shadow:0 2px 15px #000}
.auth-card-ribbon{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.21em}
.auth-community{border-color:#376b65;background:linear-gradient(115deg,#194234,#17323f);box-shadow:none}
.auth-line-mark{background:#57c569;color:#113a2e}
#modal .dialog-top,#characterSelect .roster-heading{background:linear-gradient(90deg,#142838fa,#142c40ee 65%,#213e51cf),url('assets/interface-v4/astral-warfront.webp') center 45%/cover}
#modal .dialog-heading-copy{border-left-width:3px}#modal .dialog-top .eyebrow,#characterSelect .roster-heading .eyebrow{font-family:Arial,sans-serif}
#modalBody .arena-feedback,#modalBody .disposal-panel{background:linear-gradient(125deg,#173344,#102634)}
#loading{background:linear-gradient(#07162473,#061120e8),url('assets/interface-v4/astral-warfront.webp') 30% center/cover}
#loading .brand{font-family:'Arial Black',Arial,sans-serif;font-weight:900;letter-spacing:.06em}#loading .brand span{letter-spacing:.2em}
@media(max-width:900px){.auth-scenery{height:435px;object-position:27% 35%}.auth-scene-shade{height:436px;background:linear-gradient(180deg,#04101d40,#08142218 55%,#07111b 100%)}.auth-story{align-self:center;min-height:295px;justify-content:flex-end;padding:128px 0 23px}.auth-story h1{font-size:52px;letter-spacing:-.025em;margin-top:12px}.auth-story>p{font-size:13px}.auth-kicker{font-size:7px}.auth-card{background:linear-gradient(130deg,#172e3e,#0a1826)}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1200px){.auth-scenery,.auth-scene-shade{height:100%}.auth-scenery{object-position:25% center}.auth-scene-shade{background:linear-gradient(90deg,#06132135,#061321af)}.auth-story{position:sticky;top:80px;min-height:250px;align-self:start;justify-content:flex-end;padding:80px 0 15px}.auth-story h1{font-size:46px}.auth-story>p{font-size:14px}}
