/* ODE RIFT — character selection and title screen. */
.lobby{position:fixed;inset:0;z-index:30;isolation:isolate;overflow:auto;overscroll-behavior:contain;background:#07121f;color:#eef7f6;scrollbar-color:#537b85 #07121f}
.lobby-background,.lobby-shade{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}
.lobby-background{object-fit:cover;object-position:center 45%}
.lobby-shade{z-index:-1;background:linear-gradient(90deg,#020e1de8 0%,#041422b8 21%,#07182b35 46%,#04142282 73%,#020e1deb 100%),linear-gradient(180deg,#020c19d9 0%,#07182933 28%,#05162355 61%,#020e1be8 100%)}
.lobby-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(24px,4vw,80px);border-bottom:1px solid #9bd4e52e;background:#030d18b8}
.lobby-brand{position:relative;width:182px;height:100px;flex-shrink:0;text-align:center;overflow:hidden}
.aion-logo{height:80px;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.aion-logo img{position:absolute;width:276px;height:auto;max-width:none;left:50%;top:50%;transform:translate(-50%,-51%)}
.lobby-brand>span{position:absolute;inset:auto 0 7px;font-family:Georgia,serif;color:#c5edf4;font-size:13px;letter-spacing:.38em;text-indent:.38em}
.lobby-header-title{text-align:center;padding-top:4px}.lobby-header-title>span{font-size:16px;display:block;letter-spacing:.12em}.lobby-header-title small{display:block;color:#85bbc6;font-size:12px;letter-spacing:.18em;margin-top:9px}
.lobby-help{display:flex;align-items:center;gap:10px;background:transparent;color:#c5d9e0;padding:10px 0;font-size:14px;min-height:44px}.lobby-help>span{width:23px;height:23px;line-height:21px;border:1px solid #aeceda77;border-radius:50%;font-size:13px}.lobby-help:hover{color:white}
.lobby-content{width:min(1440px,calc(100% - 96px));margin:auto;position:relative}
.lobby-topline{display:flex;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid #b2dce21a;line-height:1.6}.lobby-topline>span:first-child{color:#91cdd7;font-size:12px;letter-spacing:.2em;white-space:nowrap}.lobby-topline>span+span{font-size:14px;color:#b5cbd2;border-left:1px solid #a1c5ce40;padding-left:24px}
.lobby-stage{position:relative;display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.6fr) minmax(250px,1fr);column-gap:30px;min-height:560px;height:calc(100dvh - 317px);max-height:840px;align-items:start}
.lobby-character{position:absolute;left:50%;bottom:0;transform:translateX(-51%);height:107%;max-height:850px;width:auto;max-width:75%;object-fit:contain;object-position:center bottom;pointer-events:none;z-index:0;filter:drop-shadow(0 15px 30px #03111d88)}
.lobby-class-info,.lobby-skills,.lobby-entry{z-index:1;position:relative;min-width:0}
.lobby-class-info{grid-column:1;grid-row:1;padding-top:32px;align-self:start;text-shadow:0 2px 14px #04121e}
.lobby-kicker{margin:0 0 36px;font-size:14px;line-height:1.7;color:#c5dce5}
.lobby-class-number{font-family:Georgia,serif;color:#abdce7;font-size:23px;margin:0 0 15px;letter-spacing:.05em;display:flex;align-items:center;gap:14px}.lobby-class-number>span{font:12px var(--sans);letter-spacing:.18em;color:#a8c9d3;border-left:1px solid #a8d5df66;padding-left:14px}
.lobby-class-info h1{font-family:var(--serif);font-size:clamp(40px,4vw,62px);line-height:1.2;letter-spacing:.09em;font-weight:500;margin:0}
.lobby-class-english{margin:11px 0 22px;color:#aed8e1;font-family:Georgia,serif;font-size:27px;letter-spacing:.1em}
.lobby-class-role{font-size:14px;color:#d1e9ea;line-height:1.6;margin:0 0 12px}
.lobby-class-story{font-size:16px;color:#bed2db;line-height:1.9;margin:0}
.lobby-class-tags{display:flex;gap:7px;flex-wrap:wrap;margin:23px 0 26px}.lobby-class-tags>span{font-size:12px;color:#c4e4e8;border:1px solid #82bfc63d;background:#1133455e;padding:6px 9px}
.lobby-rule{font-size:14px;color:#a9c7d0;line-height:1.9;border-left:2px solid #87c8d784;padding-left:14px;margin:0}.lobby-rule b{font-weight:500;color:#cde9ec}
.lobby-skills{grid-column:3;grid-row:1;padding-top:39px;max-width:320px;justify-self:end;width:100%}
.lobby-section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 14px}.lobby-section-heading>span{font-size:14px;color:#e4f0ef}.lobby-section-heading>small{font-size:12px;color:#89aebc;letter-spacing:.13em}
.lobby-skill-list{display:grid;gap:8px}.lobby-skill{display:flex;align-items:center;gap:13px;width:100%;min-height:76px;padding:12px;text-align:left;background:#071c2ad9;border:1px solid #94c0cc33;box-shadow:0 4px 20px #0002}.lobby-skill.selected{background:linear-gradient(100deg,#20506bc9,#0c2638de);border-color:#8dd7e29c;box-shadow:inset 2px 0 #a9ebef}.lobby-skill:hover{border-color:#c4e4ea}.lobby-skill>img{width:43px;height:43px;object-fit:cover;border:1px solid #e4d29677;flex-shrink:0}.lobby-skill>span:nth-child(2){flex:1;min-width:0}.lobby-skill strong{font-size:15px;font-weight:500;display:block}.lobby-skill small{display:block;font-size:12px;color:#a7c4ce;margin-top:5px;line-height:1.5}.lobby-skill>span:last-child{color:#a2c8d2;font-size:22px}
.lobby-skill-detail{margin:18px 0 23px;border-left:2px solid #82c4dc70;padding-left:13px}.lobby-skill-detail h2{font-size:15px;margin:0 0 8px;font-weight:500;color:#c5e8ef}.lobby-skill-detail p{font-size:14px;line-height:1.75;color:#b6cbd5;margin:0 0 9px;min-height:74px}.lobby-skill-detail>span{font-size:12px;color:#9cceec;line-height:1.6}
.lobby-specialization-note{padding-top:15px;border-top:1px solid #9cc3cd30}.lobby-specialization-note>span{font-size:12px;letter-spacing:.11em;color:#86b7c6}.lobby-specialization-note p{font-size:14px;line-height:1.8;color:#cfdee3;margin:10px 0}.lobby-specialization-note small{font-size:12px;color:#a7c0cb;line-height:1.8}
.lobby-entry{grid-column:2;grid-row:1;align-self:end;justify-self:center;width:300px;max-width:100%;padding:18px 22px 14px;margin-bottom:24px;text-align:center;background:linear-gradient(140deg,#071c2ce8,#081726f5);border:1px solid #9cbcc672;box-shadow:0 18px 55px #020b16c7;backdrop-filter:blur(9px)}
.lobby-entry-class{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:9px}.lobby-entry-class>img{width:25px;height:25px;object-fit:contain}.lobby-entry-class>span{font-size:14px;letter-spacing:.1em}.lobby-entry-class small{font:12px Georgia,serif;letter-spacing:.15em;color:#afd1da;margin-left:9px}
#lobby-save-summary{font-size:13px;color:#b5cfd8;margin:8px 0 16px;line-height:1.7}.lobby-entry .gold-button{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;background:linear-gradient(105deg,#c2eaf1,#72b7d0);border-color:#d9f6f5;color:#102838;font-size:16px;min-height:49px;box-shadow:0 0 25px #80d4ec19}.lobby-entry .gold-button>span{font-size:22px;font-weight:400}
.lobby-entry #asset-status{font-size:12px;line-height:1.6;color:#c5dbe4;margin:10px 0 0}.lobby-entry #asset-status:empty{display:none}#guest-start-button{grid-column:1/-1}#guest-save-note{margin:8px 0 0;color:#aebfca;font-size:11px;line-height:1.45}
.guest-class-picker button.selected{border-color:#7fe0c5;box-shadow:inset 0 0 0 2px #7fe0c5;background:#17463f}.guest-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guest-warning{color:#f0c27a;text-align:center}.guest-dialog-actions button{min-height:44px}@media(max-width:540px){.guest-dialog-actions{grid-template-columns:1fr}}
.lobby-classes{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;position:relative;z-index:2;padding:0 0 20px;border-bottom:1px solid #a3c2cb33}
.lobby-class-card{position:relative;min-width:0;min-height:95px;display:flex;align-items:end;text-align:left;padding:13px;background:linear-gradient(135deg,#183749d6,#071624f0);border:1px solid #85a7b744;overflow:hidden}.lobby-class-card.active{border-color:#93e2e9;box-shadow:inset 0 -2px #93e2e9,0 0 25px #64d7df17}.lobby-class-card>img{position:absolute;height:auto;width:135%;max-width:none;left:-4%;top:-7%;opacity:.66;mask-image:linear-gradient(#000,transparent 90%);pointer-events:none}.lobby-class-card>span:not(.class-order){position:relative;z-index:1;min-width:0}.lobby-class-card strong{font-size:15px;font-weight:500;display:block;color:#d5e4e8}.lobby-class-card small{font-size:11px;line-height:1.6;letter-spacing:.04em;color:#92b1bf;display:block;margin-top:4px}.lobby-class-card.active strong{color:#d2feff}.lobby-class-card.active small{color:#b9e6ea}.lobby-class-card>i{position:absolute;top:10px;right:9px;font-size:11px;font-style:normal;line-height:1.4;color:#8fafbc}.lobby-class-card.active>i{color:#baf7f3}.class-order{position:absolute;top:5px;left:12px;font-family:Georgia,serif;font-size:41px;color:#7da8b71d}.lobby-class-card.upcoming{background:linear-gradient(135deg,#102c3fbb,#04111de8)}
.lobby-footer{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;padding:15px 0 20px;color:#88a9b7;font-size:12px;line-height:1.7}.lobby-footer>span:first-child{letter-spacing:.1em}.lobby-footer small{font-size:12px;letter-spacing:0}
.wordmark-sub{display:inline;font-family:Georgia,serif;color:#99d6e4;font-size:12px;letter-spacing:.14em;margin-left:10px}.wordmark strong{font-family:Georgia,serif;letter-spacing:.03em;font-size:25px}.wordmark .emblem{color:#90d8e1}
@media(min-width:1800px){.lobby-content{width:min(1600px,calc(100% - 144px))}.lobby-stage{grid-template-columns:1fr 1.85fr 1fr;column-gap:42px}.lobby-class-info{padding-top:55px}.lobby-skills{padding-top:60px}.lobby-character{max-height:920px}}
@media(max-width:1200px){.lobby-content{width:calc(100% - 48px)}.lobby-stage{column-gap:18px;grid-template-columns:minmax(210px,1fr) minmax(220px,1.2fr) minmax(240px,1fr);min-height:600px}.lobby-class-story{font-size:14px}.lobby-class-info h1{font-size:43px}.lobby-kicker{font-size:13px;margin-bottom:30px}.lobby-classes{gap:7px}.lobby-class-card{padding:11px 9px}.lobby-class-card strong{font-size:14px}.lobby-class-card small{font-size:10px}.lobby-character{height:95%;max-width:76%;bottom:10px}.lobby-entry{padding:16px;width:270px}.lobby-class-number{gap:8px}.lobby-class-number>span{padding-left:8px;font-size:11px}}
@media(max-width:900px){.lobby-header{height:94px;padding:0 22px}.lobby-brand{height:92px;width:153px}.lobby-brand>span{bottom:4px;font-size:12px}.lobby-header-title>span{font-size:14px}.lobby-header-title small{font-size:10px}.lobby-help{font-size:13px}.lobby-content{width:calc(100% - 40px)}.lobby-topline{padding:15px 0}.lobby-topline>span+span{font-size:12px;line-height:1.6}.lobby-stage{grid-template-columns:minmax(180px,1fr) minmax(210px,1.25fr);min-height:530px;height:auto;padding-bottom:30px}.lobby-class-info{grid-column:1;padding-top:27px}.lobby-skills{display:none}.lobby-character{left:67%;bottom:15px;height:100%;max-width:84%;transform:translateX(-50%)}.lobby-entry{grid-column:2;margin-bottom:0;width:265px;margin-top:330px}.lobby-classes{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.lobby-class-card{min-height:90px;padding:12px}.lobby-class-card small{font-size:11px}.lobby-class-card strong{font-size:15px}.lobby-footer{font-size:11px}.wordmark-sub{display:none}}
@media(max-width:540px){.lobby-header{height:88px;padding:0 14px;gap:8px}.lobby-brand{width:126px;height:87px}.aion-logo{height:74px}.aion-logo img{width:255px}.lobby-brand>span{bottom:4px;font-size:11px;letter-spacing:.29em}.lobby-header-title{display:none}.lobby-help{font-size:13px;gap:8px}.lobby-content{width:calc(100% - 28px)}.lobby-topline{gap:0;align-items:start;padding:13px 0}.lobby-topline>span:first-child{font-size:10px;letter-spacing:.12em}.lobby-topline>span+span{display:none}.lobby-stage{display:flex;flex-direction:column;min-height:655px;padding-bottom:22px}.lobby-class-info{padding:24px 0 0;width:58%;max-width:220px}.lobby-kicker{font-size:12px;line-height:1.7;margin-bottom:20px;max-width:170px}.lobby-class-number{font-size:18px;margin-bottom:12px;gap:8px}.lobby-class-number>span{font-size:9px;letter-spacing:.11em;padding-left:8px}.lobby-class-info h1{font-size:42px}.lobby-class-english{font-size:21px;margin:9px 0 15px}.lobby-class-role{font-size:12px}.lobby-class-story{font-size:14px;line-height:1.85}.lobby-class-story br{display:none}.lobby-class-tags{gap:5px;margin:17px 0 0;max-width:180px}.lobby-class-tags>span{font-size:11px;padding:5px 7px}.lobby-rule{display:none}.lobby-character{left:73%;top:42px;bottom:auto;width:520px;max-width:none;height:440px;object-fit:contain;transform:translateX(-50%);opacity:.86;mask-image:linear-gradient(#000 75%,transparent)}.lobby-stage{overflow:hidden}.lobby-entry{align-self:center;grid-column:auto;margin:40px 0 0;width:100%;max-width:320px;padding:16px 20px;backdrop-filter:blur(5px)}.lobby-classes{gap:7px;padding-bottom:17px}.lobby-class-card{min-height:90px;padding:11px 8px}.lobby-class-card strong{font-size:14px}.lobby-class-card small{font-size:9px;letter-spacing:0;overflow-wrap:anywhere}.lobby-class-card>i{font-size:10px;right:7px;top:9px}.class-order{font-size:33px;left:8px}.lobby-footer{padding:13px 0 18px;gap:5px;font-size:11px}.lobby-footer small{font-size:11px}.lobby-shade{background:linear-gradient(90deg,#031121e8,#04152477),linear-gradient(180deg,#031120b0,#06192b3d 40%,#031020ef)}.wordmark strong{font-size:20px}}
@media(min-width:901px){.lobby-skills{padding-top:30px}.lobby-skill{min-height:64px;padding:10px}.lobby-skill-detail{margin:14px 0 18px}.lobby-specialization-note{padding-top:12px}}
@media(min-width:901px) and (max-height:850px){
 .lobby-header{height:86px}.lobby-brand{height:82px}.aion-logo{height:66px}.aion-logo img{width:238px}.lobby-brand>span{bottom:4px;font-size:12px}
 .lobby-topline{padding:12px 0}.lobby-stage{height:calc(100dvh - 277px);min-height:460px}
 .lobby-class-info{padding-top:22px}.lobby-kicker{margin-bottom:18px;font-size:13px}.lobby-class-number{font-size:21px;margin-bottom:12px}.lobby-class-info h1{font-size:44px}.lobby-class-english{font-size:24px;margin:9px 0 16px}.lobby-class-story{font-size:14px;line-height:1.7}.lobby-class-tags{margin:18px 0 0}.lobby-rule{display:none}
 .lobby-skills{padding-top:25px}.lobby-specialization-note{display:none}.lobby-entry{margin-bottom:18px}.lobby-class-card{min-height:78px}.lobby-classes{padding-bottom:16px}.lobby-footer{padding:12px 0 14px}
}
@media(prefers-reduced-motion:reduce){.lobby *{scroll-behavior:auto;transition:none!important}}

/* Account controls and independent save slots. */
.lobby-account{max-width:420px;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 15px}
#account-name{display:block;flex-basis:100%;max-width:420px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b9d8e4;font-size:13px;line-height:1.7}
.lobby-account a{color:#c1eef4;text-decoration:none;border-bottom:1px solid #90d6e270;font-size:14px;line-height:2.2;white-space:nowrap}.lobby-account a:hover{color:white;border-color:white}.lobby-account .lobby-help{min-height:32px;padding:0;font-size:13px}
.lobby-menu{display:grid;gap:8px}.lobby-menu .secondary-button{font-size:15px;min-height:43px;margin:0;width:100%;background:#102e40e8;border:1px solid #89baca65;color:#d5edf4;padding:10px 16px}.lobby-menu .secondary-button:hover{background:#234a5d}
.lobby-menu button:disabled{cursor:not-allowed}.lobby-entry{width:320px}.lobby-entry #account-status{font-size:12px;line-height:1.65;color:#a9d2e0;margin:11px 0 0}.lobby-entry .small-button{margin-top:10px;font-size:12px;line-height:1.5;min-height:32px;width:100%}
.main-menu-button{min-height:32px;font-size:13px;border:1px solid #91bfce55;background:#163441;color:#d3e9ef;padding:5px 10px;white-space:nowrap}.main-menu-button:hover{border-color:#c3e6ed}
#pause-main-button{width:100%;margin-top:12px}.save-dialog{width:620px;max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto;background:linear-gradient(145deg,#112c3a,#071725);border-color:#86bac67d;color:#e7f1f3}
.save-dialog .dialog-heading h2{font-family:var(--serif);font-size:25px}.save-dialog .dialog-heading small{font:14px var(--sans);color:#a9c9d8}.save-dialog>p{font-size:16px;line-height:1.8;color:#bdd5df}.save-dialog>label{display:block;font-size:14px;margin:22px 0 9px;color:#dcebef}.save-dialog input{box-sizing:border-box;display:block;width:100%;padding:13px 14px;min-height:48px;background:#071a28;border:1px solid #89b6c77d;color:white;font:16px var(--sans);border-radius:0}.save-dialog input:focus{outline:2px solid #a7e5ee;outline-offset:2px}.save-dialog .save-hint{font-size:14px;color:#9fbdce}.save-dialog>.gold-button,.save-dialog>.secondary-button{width:100%;margin:9px 0 0;min-height:46px;font-size:15px}.save-dialog>.gold-button{background:linear-gradient(110deg,#c4eaf0,#82bdd6);border-color:#d6f0f4;color:#092631}.save-dialog p[role="status"]{font-size:14px;color:#abddec;margin-bottom:0}.save-dialog p[role="status"]:empty{display:none}
#load-game-dialog{width:820px}#save-slot-list{display:grid;gap:12px;margin-top:20px}.save-slot{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px;background:#0d2636;border:1px solid #9bc8d54d}.save-slot>img{width:36px;height:36px;object-fit:contain}.save-slot h3{font-size:17px;margin:0 0 7px;color:#d3edf3;overflow-wrap:anywhere}.save-slot p{font-size:14px;color:#b8d3e0;line-height:1.7;margin:3px 0}.save-slot p>span{display:inline-block;color:#91b7ca;font-size:12px;margin-left:8px}.save-slot small{font-size:12px;line-height:1.7;color:#93aebc}.save-slot>.gold-button{font-size:14px;min-height:42px;padding:8px 15px;background:#badfe7;border-color:#e1f4f7;color:#12303c}.slot-recovery{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dbc38644;padding-top:13px;color:#e6cf9e;font-size:13px;line-height:1.6}.slot-recovery .small-button{flex-shrink:0;min-height:36px;font-size:12px}.empty-saves{text-align:center;font-size:16px;color:#bbd1dc;line-height:1.9;padding:24px 10px}
@media(max-width:900px){.lobby-header-title{display:none}.lobby-account{max-width:60%}#account-name{max-width:100%}.lobby-entry{width:300px}}
@media(max-width:540px){.lobby-header{height:105px}.lobby-account{max-width:62%;gap:3px 10px}#account-name{font-size:12px}.lobby-account a{font-size:13px}.lobby-account .lobby-help{font-size:0;gap:0}.lobby-account .lobby-help>span{font-size:13px}.lobby-entry{margin-top:35px;width:100%;max-width:330px}.lobby-stage{min-height:740px}.main-menu-button{font-size:11px;padding:4px 6px}.top-actions{gap:3px}.save-dialog{padding:18px;max-width:calc(100vw - 18px)}.save-dialog .dialog-heading h2{font-size:21px}.save-dialog>p{font-size:14px}.save-slot{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:13px}.save-slot>img{width:27px;height:27px}.save-slot>.gold-button{grid-column:1/-1;width:100%}.save-slot h3{font-size:16px}.save-slot p{font-size:13px}.save-slot p>span{display:block;margin:2px 0 0}.slot-recovery{flex-direction:column;align-items:stretch}.slot-recovery .small-button{width:100%}}
@media(max-width:380px){.wordmark strong{font-size:17px}.topbar{gap:3px}.regions{gap:5px}.regions button{font-size:11px}}

.difficulty-selector{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;margin:14px 0 20px;border:1px solid #91bdc555;background:linear-gradient(120deg,#173741,#0a2025)}.difficulty-selector>div{text-align:center;min-width:0}.difficulty-selector strong{display:block;font-family:var(--serif);font-size:24px;color:#dfc18a;overflow-wrap:anywhere}.difficulty-selector span{display:block;margin-top:6px;font-size:14px;line-height:1.6;color:#aec7cb}.difficulty-selector button:disabled{cursor:default;opacity:.4}.location h1{max-width:320px;font-size:clamp(20px,2.2vw,28px);overflow-wrap:anywhere}.target-panel{max-width:calc(100vw - 32px)}
@media(max-width:540px){.difficulty-selector{gap:8px;padding:12px}.difficulty-selector .small-button{padding:8px;font-size:13px}.difficulty-selector strong{font-size:21px}.difficulty-selector span{font-size:13px}}
.new-class-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}.new-class-picker button{min-height:86px;display:flex;align-items:center;gap:12px;padding:8px;text-align:left;border:1px solid #66869a;background:#0b2030;color:#dcebf0}.new-class-picker button.selected{border-color:#e4c77d;box-shadow:inset 0 0 0 1px #e4c77d;background:#173746}.new-class-picker img{width:64px;height:64px;object-fit:contain}.new-class-picker span{display:flex;flex-direction:column;gap:4px}.new-class-picker b{font-size:16px}.new-class-picker small{color:#aec5ce;font-size:12px}.lobby-class-card[data-class-select="gladiator"]>img{width:110%;left:-9%;top:-18%}@media(max-width:540px){.new-class-picker{grid-template-columns:1fr}.new-class-picker button{min-height:68px}.new-class-picker img{width:48px;height:48px}}
