/* Cinematic character lobby. Every rule is scoped away from the market and game. */
#account-lobby[data-view=lobby]:not(.embedded){--journey-cyan:#57e2f2;--journey-muted:#b0c7d9;--journey-panel:#051521cc;background:#061722;overflow:hidden}
#account-lobby[data-view=lobby]:not(.embedded)>.lobby-scene{background:linear-gradient(90deg,#020c15dd 0%,#04101aca 23%,#04132066 36%,transparent 64%),linear-gradient(0deg,#020e1cf2 0%,#0314254d 27%,transparent 48%),url('assets/lobby-cerulean-r13.webp') center/cover no-repeat}
#account-lobby[data-view=lobby]>.lobby-scene:after{display:none}
#account-lobby[data-view=lobby]>.lobby-header{min-height:90px;padding:20px 2.2vw 14px;gap:20px;border:0;background:none;align-items:center}
#account-lobby .journey-icon{width:18px;height:18px;flex:0 0 auto;vertical-align:middle}
#account-lobby .journey-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#account-lobby .journey-brand{display:flex;align-items:center;gap:12px;color:white;flex:0 0 auto}
#account-lobby .journey-brand>img{width:50px;height:50px}
#account-lobby .journey-brand strong{display:block;font-size:34px;font-weight:850;letter-spacing:1px;line-height:1}
#account-lobby .journey-brand small{display:block;font-size:11px;letter-spacing:3.4px;color:#aec4dc;margin-top:3px}
#account-lobby .journey-signature{white-space:pre-line;border-left:1px solid #c2d4dd80;padding-left:16px;margin-left:5px;color:#c4d5e5;font-size:9px;line-height:1.8;letter-spacing:1.8px}
#account-lobby .journey-context{display:flex;align-items:center;gap:14px;min-width:0;margin-left:auto;padding:10px 14px;background:linear-gradient(120deg,#0b3447d9,#081e30cb);border:1px solid #67dce583;border-radius:14px;box-shadow:0 6px 20px #00101e30}
#account-lobby .journey-map{height:48px;width:48px;object-fit:cover;border-radius:7px;border:1px solid #76c6d653}
#account-lobby .journey-place{min-width:100px;max-width:180px;line-height:1.4}
#account-lobby .journey-place small{display:block;letter-spacing:1.3px;color:#e0eff6;font-size:10px;text-transform:uppercase}
#account-lobby .journey-place strong{display:block;font-size:14px;color:white;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#account-lobby .journey-account{padding-left:16px;border-left:1px solid #66c4d957;min-width:0}
#account-lobby .journey-account-name{display:block;color:#b8d3e0;font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#account-lobby .journey-wallet{display:flex;align-items:center;gap:5px;color:#81e8f0;font-size:14px;white-space:nowrap}
#account-lobby button.journey-signout{display:flex;align-items:center;gap:7px;padding:8px;background:#09233075;border:1px solid #668d9d70;font-size:11px}
#account-lobby[data-view=lobby]>.journey-main{display:grid;grid-template-columns:clamp(258px,24vw,365px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;height:auto;max-width:none;gap:clamp(20px,2vw,40px);padding:6px 2.2vw 4vh;overflow:hidden}
#account-lobby .journey-roster{display:flex;flex-direction:column;min-width:0;min-height:0;padding:18px 12px 12px;border:1px solid #7391a137;border-radius:17px;background:linear-gradient(135deg,#04101ad6,#071725ad);position:relative}
#account-lobby .journey-roster:before{content:'';position:absolute;left:-2px;top:29px;width:3px;height:25px;background:#29dbe5;box-shadow:0 0 14px #1fd7ea80;border-radius:2px}
#account-lobby .journey-roster-heading{padding:0 10px 12px;flex:none}
#account-lobby .journey-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#a9c0d4}
#account-lobby .journey-roster h2{font-size:clamp(22px,2.05vw,32px);color:#fff;letter-spacing:1.1px;line-height:1.4;margin:2px 0}
#account-lobby p.journey-count{display:flex;align-items:center;gap:6px;font-size:12px;color:#9eb4c8;margin:3px 0 0}
#account-lobby .journey-count strong{font-size:15px;color:#b9ecfc;font-weight:500}
#account-lobby .journey-rule{flex:1;height:1px;background:linear-gradient(90deg,#30d3e9 15%,#297787 15%);margin-left:8px}
#account-lobby .journey-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3d7d8c transparent;padding:3px 4px}
#account-lobby button.journey-character{display:grid;grid-template-columns:70px minmax(0,1fr) 16px;align-items:center;gap:12px;position:relative;width:100%;min-height:102px;padding:10px;margin:0 0 8px;border:1px solid #91adc447;border-radius:12px;background:linear-gradient(120deg,#0b1b2bb8,#0c1d2a70);box-shadow:none;text-align:left;transition:border-color .18s,background .18s,box-shadow .18s}
#account-lobby button.journey-character:hover{border-color:#86c5d9;background:#123447ad}
#account-lobby button.journey-character.selected{border-color:#4de6f0;box-shadow:0 0 14px #02cbe032,inset 0 0 16px #25bed715;background:linear-gradient(120deg,#084359d6,#072334a3)}
#account-lobby .journey-character.selected:before{content:'';position:absolute;top:16px;left:-2px;width:5px;height:30px;background:#62f3fc;border-radius:2px;box-shadow:0 0 12px #06dced}
#account-lobby .journey-portrait{height:74px;width:70px;display:block;overflow:hidden;border:1px solid #c7dce653;border-radius:9px;background:linear-gradient(145deg,#0620329c,#20384890)}
#account-lobby .journey-card-info{min-width:0;display:flex;flex-direction:column;gap:1px}
#account-lobby .journey-card-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:15px;line-height:1.25;font-weight:750;color:#fff;margin-bottom:3px}
#account-lobby .journey-card-level{font-size:13px;color:#ffd26a;font-weight:650}
#account-lobby .journey-card-line{display:flex;align-items:center;gap:5px;color:#b7ccdd;line-height:1.45;font-size:11px;overflow-wrap:anywhere}
#account-lobby .journey-card-line .journey-icon{width:13px;height:13px;color:#a3c6dd}
#account-lobby .selected .journey-card-line:first-of-type{color:#74e7fa}
#account-lobby .journey-character>.journey-icon{width:17px;color:#c5e0ee}
#account-lobby .journey-lock{grid-column:1/-1;font-size:9px;letter-spacing:.6px;color:#ffd27d;border-top:1px solid #ba99503d;padding-top:5px}
#account-lobby .journey-roster-actions{padding:7px 4px 0;flex:none}
#account-lobby button.journey-create{display:flex;width:100%;align-items:center;gap:12px;min-height:42px;background:#0616237a;border:1px dashed #8daeb57a;border-radius:9px;color:#c0d0df;font-size:12px;padding:8px 12px}
#account-lobby .journey-secondary{display:flex;gap:6px;margin-top:8px}
#account-lobby .journey-secondary button{flex:1;min-width:0;font-size:10px;padding:8px 4px;background:#10293885;border-color:#61839945;white-space:normal}
#account-lobby .journey-composition{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0}
#account-lobby .journey-world{position:relative;min-width:0;min-height:0;overflow:hidden}
#account-lobby .journey-identity{position:absolute;left:0;top:15%;width:29%;z-index:5;color:white;text-shadow:0 2px 14px #000,0 1px 3px #000;isolation:isolate}
#account-lobby .journey-identity:before{content:'';position:absolute;inset:-28px -20px -25px -20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 42%,#03101c9c,transparent 73%)}
#account-lobby h2.journey-name{color:#fff;font-size:clamp(32px,3.5vw,64px);line-height:1.06;letter-spacing:.2px;overflow-wrap:anywhere;margin:0 0 12px}
#account-lobby .journey-name-rule{display:block;background:#30e0e4;width:44px;height:3px;margin:0 0 14px}
#account-lobby p.journey-profession{font-size:clamp(17px,1.65vw,28px);line-height:1.2;font-weight:650;margin:0 0 7px}
#account-lobby p.journey-level{font-size:clamp(20px,1.95vw,32px);font-weight:750;line-height:1.25;margin:0 0 9px}
#account-lobby p.journey-city{font-size:clamp(12px,1.08vw,18px);line-height:1.4;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:flex-start;gap:5px;color:#73e4fa;margin:0;overflow-wrap:anywhere}
#account-lobby .journey-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px;margin:26px 0 0;padding-top:15px;border-top:1px solid #a4c2d947;font-size:10px}
#account-lobby .journey-stats dt{color:#c5d6e4;font-size:10px}
#account-lobby .journey-stats dd{color:#fff;font-size:19px;font-weight:700;margin:0;line-height:1.3}
#account-lobby p.journey-blocked{font-size:11px;line-height:1.5;color:#ffe0a0;margin-top:14px}
#account-lobby .journey-party{position:absolute;left:24%;right:9%;top:8%;bottom:2%;pointer-events:none}
#account-lobby .journey-actor{position:absolute;transform:translateX(-50%);width:calc(var(--actor-size)*var(--species-scale,1));height:calc(var(--actor-size)*var(--species-scale,1));display:block}
#account-lobby .journey-actor:before{content:'';position:absolute;width:55%;height:7%;bottom:1.7%;left:22.5%;border-radius:50%;background:#03101965;box-shadow:0 2px 6px #00121936}
#account-lobby .journey-actor.trainer{--actor-size:clamp(190px,17vw,290px);bottom:8%;left:50%;z-index:3}
#account-lobby .journey-actor.companion{--actor-size:clamp(115px,11.5vw,195px)}
#account-lobby .journey-actor.companion-0{left:20%;bottom:5%;z-index:4;--actor-size:clamp(98px,11vw,180px)}
#account-lobby .journey-actor.companion-1{left:55%;bottom:35%;z-index:1}
#account-lobby .journey-actor.companion-2{left:82%;bottom:17%;z-index:2}
#account-lobby .journey-actor.companion-3{left:70%;bottom:0;z-index:4;--actor-size:clamp(100px,10vw,175px)}
#account-lobby .journey-sprite{position:relative;display:block;width:100%;height:100%;min-width:0;min-height:0;isolation:isolate}
#account-lobby .journey-sprite canvas{width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;filter:none;position:absolute;inset:0;z-index:1}
#account-lobby .journey-sprite-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;height:auto;opacity:.6;max-width:60px}
#account-lobby .journey-sprite[data-loaded=true]>.journey-sprite-fallback{display:none}
#account-lobby .journey-sprite[data-loaded=false]>canvas{visibility:hidden}
#account-lobby .journey-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,29%);align-items:center;gap:clamp(22px,3vw,55px);padding-top:8px;min-width:0}
#account-lobby .journey-team{min-width:0}
#account-lobby .journey-team-title{display:flex;align-items:center;gap:9px;color:white;font-size:11px;font-weight:750;letter-spacing:1.5px;margin:0 0 12px;text-shadow:0 1px 8px #000}
#account-lobby .journey-team-title:before{content:'';width:4px;height:12px;border-radius:3px;background:#23d9e7;box-shadow:0 0 10px #18d8eb70}
#account-lobby .journey-team-title>span{flex:1;height:1px;background:linear-gradient(90deg,#50c6d5,transparent)}
#account-lobby .journey-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#account-lobby .journey-slot{display:flex;flex-direction:column;align-items:center;min-width:0;height:clamp(108px,11vw,150px);padding:4px 4px 7px;background:linear-gradient(160deg,#061725bc,#0a2031b5);border:1px solid #9ab4c063;border-radius:7px;color:white;box-shadow:none;text-align:center;transition:transform .18s,border-color .18s}
#account-lobby button.journey-slot:hover{transform:translateY(-3px);background:#112f46d1;border-color:#a9e8f5}
#account-lobby .journey-slot>.journey-sprite{flex:1;min-height:0;width:100%;max-height:100px}
#account-lobby .journey-slot-name{font-size:10px;line-height:1.25;min-height:25px;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;overflow-wrap:anywhere}
#account-lobby .journey-type{vertical-align:middle;margin-right:3px;width:12px;height:12px}
#account-lobby .journey-slot small{font-size:10px;color:#dce6f2;line-height:1.5}
#account-lobby .journey-slot-empty{justify-content:center;gap:12px;color:#9bacba;font-size:10px;border-style:dashed;background:#05142285}
#account-lobby .journey-empty-ring{width:30px;height:30px;border:1px dashed #7a92a566;border-radius:50%}
#account-lobby .journey-entry{text-align:center;min-width:0;padding-top:20px}
#account-lobby button.journey-enter{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px;padding:14px 12px;border:2px solid #6be8ff;border-radius:13px;background:linear-gradient(130deg,#0566af,#0389c7);box-shadow:0 0 17px #00b8fa66,inset 0 0 12px #00bfff60;color:white;font-size:clamp(13px,1.2vw,20px);font-weight:800;line-height:1.3;transition:background .18s,box-shadow .18s,transform .18s}
#account-lobby button.journey-enter:hover:not(:disabled){box-shadow:0 0 23px #00bdffa6,inset 0 0 15px #18d7ff8a;background:linear-gradient(130deg,#087dca,#039ecf)}
#account-lobby button.journey-enter:active:not(:disabled){transform:translateY(1px)}
#account-lobby button.journey-enter:disabled{box-shadow:none;border-color:#698b97;background:#244350;color:#c7d7de;opacity:.8}
#account-lobby .journey-entry-caption,#account-lobby .journey-entry-region{display:block;font-size:9px;color:#b8cadc;letter-spacing:1.5px;line-height:1.8;margin-top:9px}
#account-lobby .journey-entry-region{margin-top:0}
#account-lobby .journey-empty{color:#bdd2df;font-size:14px;line-height:1.7;margin:12px}
@media(min-width:1800px){#account-lobby[data-view=lobby]>.lobby-header{padding-top:26px;padding-bottom:24px}#account-lobby .journey-roster{padding:22px 16px 16px}#account-lobby button.journey-character{min-height:126px;grid-template-columns:85px 1fr 18px;gap:16px;padding:12px}#account-lobby .journey-portrait{width:85px;height:96px}#account-lobby .journey-card-name{font-size:19px}#account-lobby .journey-card-level{font-size:16px}#account-lobby .journey-card-line{font-size:13px}#account-lobby .journey-roster-actions button{font-size:13px}#account-lobby .journey-team-title{font-size:13px}#account-lobby .journey-slot-name,#account-lobby .journey-slot small{font-size:12px}#account-lobby .journey-slot{height:155px}#account-lobby .journey-stats dt{font-size:12px}#account-lobby .journey-stats dd{font-size:24px}}
@media(max-height:750px) and (min-width:1051px){#account-lobby[data-view=lobby]>.lobby-header{min-height:74px;padding-top:10px;padding-bottom:10px}#account-lobby .journey-identity{top:7%}#account-lobby .journey-stats{margin-top:15px;gap:6px 12px}#account-lobby .journey-slot{height:104px}#account-lobby .journey-roster-heading{padding-bottom:8px}#account-lobby .journey-actor.trainer{--actor-size:210px}#account-lobby .journey-actor.companion{--actor-size:140px}#account-lobby .journey-actor.companion-0{--actor-size:110px}#account-lobby .journey-actor.companion-3{--actor-size:120px}}
@media(max-width:1200px){#account-lobby .journey-signature{display:none}#account-lobby .journey-context{gap:10px}#account-lobby .journey-place{min-width:90px}#account-lobby .journey-bottom{gap:18px;grid-template-columns:minmax(0,1fr) 190px}#account-lobby .journey-identity{width:32%}#account-lobby .journey-party{left:31%;right:0}#account-lobby h2.journey-name{font-size:36px}#account-lobby .journey-slots{gap:5px}}
@media(max-width:1050px),(max-height:560px){#account-lobby[data-view=lobby]:not(.embedded){overflow:auto}#account-lobby[data-view=lobby]>.journey-main{flex:none;overflow:visible;grid-template-columns:240px minmax(0,1fr);min-height:620px;padding-bottom:24px}#account-lobby .journey-signature{display:none}#account-lobby .journey-roster{height:620px}#account-lobby .journey-bottom{grid-template-columns:1fr;gap:12px}#account-lobby .journey-entry{padding:0;max-width:340px;justify-self:end;width:100%}#account-lobby .journey-entry-caption,#account-lobby .journey-entry-region{display:none}#account-lobby .journey-world{min-height:370px}#account-lobby .journey-party{left:30%;right:0;bottom:0}#account-lobby .journey-actor.trainer{--actor-size:195px}#account-lobby .journey-actor.companion{--actor-size:130px}#account-lobby .journey-actor.companion-0{--actor-size:90px}#account-lobby .journey-actor.companion-3{--actor-size:105px}#account-lobby .journey-map{display:none}#account-lobby .journey-context{padding:8px 10px}#account-lobby .journey-slot{height:112px}}
@media(max-width:720px){#account-lobby[data-view=lobby]>.lobby-header{padding:14px 14px 8px;flex-wrap:wrap;gap:12px;min-height:0}#account-lobby .journey-brand>img{width:36px;height:36px}#account-lobby .journey-brand strong{font-size:24px}#account-lobby .journey-brand small{font-size:8px}#account-lobby .journey-context{width:100%;order:2;margin:0;gap:8px}#account-lobby .journey-place{flex:1;min-width:0}#account-lobby .journey-place strong{font-size:12px}#account-lobby .journey-account{padding-left:8px}#account-lobby .journey-account-name{font-size:10px;max-width:118px}#account-lobby .journey-wallet{font-size:11px}#account-lobby button.journey-signout{font-size:0;gap:0;padding:8px}#account-lobby[data-view=lobby]>.journey-main{display:flex;flex-direction:column;gap:14px;padding:8px 14px 22px;min-height:0;overflow:visible}#account-lobby .journey-roster{height:auto;max-height:none;padding:12px;flex:none}#account-lobby .journey-roster-heading{padding:0 3px 8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}#account-lobby .journey-eyebrow{display:none}#account-lobby .journey-roster h2{font-size:19px}#account-lobby p.journey-count{margin:0;font-size:10px}#account-lobby .journey-count strong{font-size:12px}#account-lobby .journey-list{display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;flex:none;padding:3px 2px 8px}#account-lobby button.journey-character{flex:0 0 240px;scroll-snap-align:start;min-height:100px;margin:0;grid-template-columns:60px minmax(0,1fr) 14px;gap:8px;padding:8px}#account-lobby .journey-portrait{width:60px;height:70px}#account-lobby .journey-card-name{font-size:14px}#account-lobby .journey-card-level{font-size:12px}#account-lobby .journey-card-line{font-size:10px}#account-lobby .journey-roster-actions{display:flex;flex-wrap:wrap;gap:8px;padding:6px 2px 0}#account-lobby button.journey-create{flex:1 0 100%;min-height:36px;font-size:11px}#account-lobby .journey-secondary{width:100%;margin:0}#account-lobby .journey-composition{display:flex;flex-direction:column;gap:8px;overflow:visible}#account-lobby .journey-world{min-height:320px}#account-lobby .journey-identity{top:10px;width:39%}#account-lobby h2.journey-name{font-size:28px;margin-bottom:8px}#account-lobby .journey-name-rule{margin-bottom:10px}#account-lobby p.journey-profession{font-size:14px}#account-lobby p.journey-level{font-size:20px}#account-lobby p.journey-city{font-size:10px;letter-spacing:.5px}#account-lobby .journey-stats{gap:9px;margin-top:15px;padding-top:10px}#account-lobby .journey-stats dt{font-size:9px}#account-lobby .journey-stats dd{font-size:17px}#account-lobby .journey-party{left:34%;right:-5px;top:10%;bottom:0}#account-lobby .journey-actor.trainer{--actor-size:175px;bottom:7%}#account-lobby .journey-actor.companion{--actor-size:112px}#account-lobby .journey-actor.companion-0{--actor-size:84px;left:15%}#account-lobby .journey-actor.companion-3{--actor-size:94px}#account-lobby .journey-bottom{display:flex;flex-direction:column;gap:14px;padding:0}#account-lobby .journey-team{width:100%}#account-lobby .journey-slots{gap:5px}#account-lobby .journey-slot{height:105px;padding:4px 2px 6px}#account-lobby .journey-slot-name{font-size:9px;min-height:24px}#account-lobby .journey-slot small{font-size:9px}#account-lobby .journey-type{width:10px;height:10px}#account-lobby .journey-entry{max-width:none;width:100%;position:sticky;bottom:0;padding:10px 0;background:linear-gradient(0deg,#05131ff2,#05131f99);z-index:8}#account-lobby button.journey-enter{min-height:48px;font-size:15px}#account-lobby[data-view=lobby]:not(.embedded)>.lobby-scene{background:linear-gradient(90deg,#03111ab3,transparent 85%),linear-gradient(0deg,#031425d9,transparent 55%),url('assets/lobby-cerulean-small-r13.webp') 57% center/cover no-repeat}}
@media(prefers-reduced-motion:reduce){#account-lobby[data-view=lobby] button{transition:none}#account-lobby button.journey-slot:hover{transform:none}}
/* On narrow screens a long name must not push statistics behind the team. */
@media(max-width:720px){#account-lobby .journey-world{display:grid;grid-template-rows:auto 265px;min-height:0;overflow:hidden}#account-lobby .journey-identity{position:relative;top:auto;left:auto;width:100%;padding:6px 0 0}#account-lobby h2.journey-name{font-size:27px;max-width:100%}#account-lobby .journey-name-rule{margin:8px 0 10px}#account-lobby p.journey-profession,#account-lobby p.journey-level{display:inline-block;margin:0 12px 8px 0;font-size:17px}#account-lobby .journey-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;padding-top:10px}#account-lobby .journey-party{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:265px}#account-lobby .journey-actor.companion-2{left:80%}}

/* Center the trainer in the scene; the five teamboard cards remain below. */
#account-lobby .journey-party{left:0;right:0;top:0;bottom:0}
#account-lobby .journey-actor.trainer{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%)}
@media(min-width:721px) and (max-width:1050px){#account-lobby .journey-party{left:29%}}
