/* Entry artwork is confined to menus. The tactical HUD stays on the map. */
#webEntry {
 position:fixed;inset:0;z-index:200;overflow:auto;display:grid;align-items:center;
 padding:clamp(24px,4vw,64px);color:#eeeee9;font:15px/1.5 'Segoe UI',sans-serif;
 background:linear-gradient(90deg,#101317e8 0%,#10131759 43%,#101317d9 78%),linear-gradient(0deg,#0b0e12f5 0%,transparent 70%),url('./assets/branding/frontarch-coastal.png');
 background-size:auto,auto,auto 145%;background-position:center,center,right bottom;background-repeat:no-repeat;
}
#webEntry *,#webUpdate *{box-sizing:border-box}
#webEntry[hidden],#webSessionTools[hidden],#webUpdate[hidden]{display:none}
.web-card{width:min(100%,490px);padding:32px;border:1px solid #a7a49c45;background:#191e23f5;border-radius:12px;box-shadow:0 24px 80px #0006}
.web-card img{width:100%;max-height:140px;object-fit:contain}
.web-card h1{font-size:30px;line-height:1.18;letter-spacing:-.8px;margin:14px 0 18px}
.web-card p{color:#b5c4cf}
.web-card small{font-size:12px;color:#9cabb8}
#webEntry button,#webUpdate button{font:inherit;border:1px solid #7a91a44a;border-radius:6px;padding:10px 14px;background:#1c3042;color:#e6edf2;cursor:pointer;transition:background .15s,border-color .15s}
#webEntry button:hover:not(:disabled),#webUpdate button:hover:not(:disabled){background:#2b4255;border-color:#a8bfce80}
#webEntry button:disabled,#webUpdate button:disabled{opacity:.45;cursor:default}
#webEntry button:focus-visible,#webEntry summary:focus-visible,#webUpdate button:focus-visible{outline:2px solid #ebc78d;outline-offset:3px}
#webEntry input:focus-visible{outline:2px solid #d6b57e;outline-offset:1px;border-color:transparent}
#webEntry .web-eyebrow{font-size:10px;font-weight:650;letter-spacing:2.4px;color:#9dbed2;margin:0 0 12px}
.account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,500px);align-items:center;column-gap:clamp(32px,6vw,96px);row-gap:20px;width:min(100%,1160px);margin:auto}
.account-intro{align-self:center;padding-bottom:42px;max-width:520px}
.account-brand{display:block;width:min(100%,380px);height:auto;max-height:128px;object-fit:contain;object-position:left center;margin:0 0 48px}
#webEntry .account-intro .web-eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:#d5dee6}
.account-intro .web-eyebrow span{display:block;width:5px;height:5px;background:#d9a261;border-radius:50%}
#webEntry .account-intro h2{font-size:clamp(28px,3.2vw,44px);font-weight:600;line-height:1.15;letter-spacing:-1.2px;color:#f2f5f7;margin:0 0 18px;text-shadow:0 2px 22px #0008}
.account-intro>p:not(.web-eyebrow){max-width:370px;margin:0;color:#c0ccd6;font-size:15px;line-height:1.7;text-shadow:0 1px 10px #000}
.account-intro-meta{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:26px;font-size:11px;color:#c3cdd4}
.account-intro-meta span{border-left:2px solid #779aaf;padding-left:10px}
.account-footnote{grid-column:1/-1;color:#8093a4;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin:0}
.account-card{width:100%;max-height:calc(100dvh - 96px);overflow:auto;scrollbar-width:thin;scrollbar-color:#455d6d transparent;padding:30px;align-self:center}
.account-card h1{font-size:28px;letter-spacing:-.7px;margin:0 0 8px;font-weight:600}
#webEntry .account-subtitle{font-size:13px;line-height:1.6;margin:0 0 22px;color:#9fb2c3}
.account-tabs{display:flex;gap:0;margin:0 0 28px;padding:4px;background:#101519;border:1px solid #849aaf1f;border-radius:7px}
#webEntry .account-tabs button{flex:1;border-color:transparent;border-radius:4px;background:transparent;padding:9px 10px;font-size:12px;color:#91a8ba}
#webEntry .account-tabs .active{background:#3b3d3c;color:#f0f5f8;border-color:#a5bcc72b;box-shadow:0 1px 5px #0003}
.account-card form label{display:block;font-size:12px;font-weight:500;color:#c9d6df;margin:13px 0}
.account-card form input{display:block;width:100%;height:42px;padding:10px 12px;margin-top:6px;border:1px solid #829db840;border-radius:6px;background:#11181d;color:#f0f5f8;font:14px 'Segoe UI',sans-serif;color-scheme:dark}
.account-card form input:hover{border-color:#8aa7bd7a}
.account-card small{display:block;margin-top:6px;line-height:1.5}
#webEntry .web-play{display:flex;justify-content:center;align-items:center;gap:15px;width:100%;padding:12px 16px;margin-top:22px;border:1px solid #e0be85;background:#d7b57c;color:#282016;font-size:14px;font-weight:650;box-shadow:0 2px 8px #0002}
#webEntry .web-play:hover:not(:disabled){background:#efd4a6;border-color:#efd4a6}
#webEntry .web-play span{font-size:20px;line-height:1}
#webEntry .text-button{border:0;background:transparent;padding:0;color:#b8ccdb;font-size:12px;text-align:left}
#webEntry .text-button:hover:not(:disabled){background:transparent;color:#fff;text-decoration:underline}
.account-form-footer{margin-top:18px}
.account-form-footer small{font-size:11px;color:#849aaa;margin-top:12px}
.account-card .account-status{padding:11px 12px;border:1px solid #deae6750;background:#9e5e191c;border-radius:6px;margin:18px 0 0;font-size:12px;line-height:1.5;color:#efca9b;overflow-wrap:anywhere}
.account-card .account-status:empty{display:none}
.account-status[data-tone=info],.account-card .account-status[data-tone=success]{color:#c4e2ee;background:#6e9db31a;border-color:#9bbfd340}
.password-field{margin:13px 0}
.password-field label{margin:0 0 6px!important}
.password-input{position:relative}
.account-card .password-input input{padding-right:48px;margin-top:0}
#webEntry .password-input .password-eye{position:absolute;right:3px;top:3px;bottom:3px;width:38px;padding:6px;display:grid;place-items:center;border:0;background:transparent;color:#a9c0d0;border-radius:4px}
#webEntry .password-input .password-eye:hover{background:#adc5d619;color:#fff}
.password-eye .eye-slash{display:none}.password-eye[aria-pressed=true] .eye-slash{display:block}
#accountForm:has([name=passwordConfirm]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px}
#accountForm>.web-play{grid-column:1/-1}
#webEntry[data-view=signup] .account-tabs{margin-bottom:18px}
#webEntry[data-view=signup] .account-subtitle{margin-bottom:10px}
#webEntry[data-view=signup] form label,#webEntry[data-view=signup] .password-field{margin:7px 0}
#webEntry[data-view=signup] .web-play{margin-top:14px}
#webEntry[data-view=signup] .account-form-footer{margin-top:12px}
#webEntry[data-view=signup] .account-form-footer small{margin-top:0}
.account-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #7790a333}
.account-heading>div{min-width:0}
#webEntry .account-heading .web-eyebrow{font-size:9px;margin-bottom:5px}
.account-username{display:block;color:#e8f0f6;font-size:18px;font-weight:600;overflow-wrap:anywhere}
.account-heading .account-balance{font-size:16px;font-weight:600;color:#d6e6ef;margin:7px 0 0;font-variant-numeric:tabular-nums}
.account-balance span{font-size:10px;color:#90a5b7;margin-left:6px;font-weight:400}
#webEntry .account-heading .text-button{flex-shrink:0;margin-top:3px;font-size:11px}
.server-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.server-heading h1{font-size:25px}
#webEntry .server-heading .account-subtitle{font-size:12px;margin-bottom:18px}
#webEntry #accountRefresh{font-size:22px;line-height:1;padding:7px 10px;margin-top:0}
#webServers{display:grid;gap:12px}
.web-server{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 18px;border:1px solid #7095af7a;border-radius:8px;background:linear-gradient(125deg,#2a3033,#1a232b)}
.server-info{min-width:0}
.server-info>strong{display:block;font-size:17px;font-weight:600;color:#eef4f8;overflow-wrap:anywhere;margin-top:5px}
.server-status{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:650;letter-spacing:.4px;color:#a7bdca}
.server-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#8296a5}
.web-server[data-state=online] .server-status{color:#a9dec3}.web-server[data-state=online] .server-status::before{background:#86d4b2}
.web-server[data-state=full] .server-status{color:#e7c79b}.web-server[data-state=full] .server-status::before{background:#d8b47b}
.web-server[data-state=offline]{border-color:#8b9dab40;background:#142330}
.web-server .server-detail{font-size:11px;color:#99afbf;margin:7px 0 0;line-height:1.6}
#webEntry .server-join{display:flex;align-items:center;gap:9px;flex-shrink:0;padding:10px 14px;background:#d7b57c;border-color:#e0be85;color:#282016;font-size:13px;font-weight:650}
#webEntry .server-join:hover:not(:disabled){background:#efd4a6;border-color:#efd4a6}
.server-empty{padding:18px;border:1px solid #7b92a349;border-radius:6px;font-size:13px;line-height:1.6}
.web-unlocks{margin-top:24px;padding-top:0;border-top:1px solid #7790a333}
.web-unlocks summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;padding:17px 0 0;color:#b6c9d8;font-size:12px;list-style:none}
.web-unlocks summary::after{content:'+';color:#abc2d0}.web-unlocks[open] summary::after{content:'−'}
.web-unlocks summary>span:nth-child(2){font-size:10px;color:#7f97a8;margin-left:auto}
.unlock-body{display:flex;gap:14px;align-items:center;padding:18px 0 0}
.unlock-body strong{font-size:13px}.unlock-body p,.unlock-body small{font-size:11px;margin:4px 0;color:#92a9ba;line-height:1.5}
#webEntry #accountBuyMedic{flex-shrink:0;font-size:11px;padding:9px 12px}
/* The browser account popover must remain below Ajuda, not across it. */
#webSessionTools{position:fixed;right:16px;top:118px;z-index:9;font:12px/1.5 'Segoe UI',sans-serif;color:#e8f5ee}
.account-game #webSessionTools{top:128px}
#webSessionTools details{margin:0;padding:0;border:0}
#webSessionTools summary{cursor:pointer;list-style:none;border:1px solid #638372;border-radius:8px;padding:8px 12px;background:#142b25ee}
#webSessionTools details>div{position:absolute;right:0;min-width:240px;max-width:calc(100vw - 32px);padding:16px;background:#142b25fa;border:1px solid #638372;border-radius:8px}
#webSessionTools button{display:block;width:100%;margin-top:8px}
#webSessionTools p{margin:0 0 12px}
#webSessionTools [hidden]{display:none}
.account-game #trainingPanel{display:none}
.web-file{display:block;background:#d7b57c;color:#282016;padding:13px 16px;border-radius:8px;font-weight:650;cursor:pointer;margin-top:25px}.web-file input{display:block;margin-top:9px;max-width:100%;font-size:12px}
#webStatus{min-height:48px;font-size:14px}#webRetry{margin-bottom:15px}
#webEntry .web-name{display:block;margin-top:24px;font-size:13px;color:#a7c3b7}
#webName{display:block;box-sizing:border-box;width:100%;padding:12px;margin-top:7px;background:#091a22;color:#f0f4ee;border:1px solid #638372;border-radius:8px;font:16px 'Segoe UI',sans-serif}
#webUpdate{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:#0b1723;color:#e4eef3;font:15px/1.5 'Segoe UI',sans-serif;padding:24px}
#webUpdate .web-card{max-width:490px}#webUpdate progress{width:100%;height:8px;accent-color:#b7d0df}#webUpdate button{margin-top:18px}
#webUpdate [role=status]{font-variant-numeric:tabular-nums;margin-bottom:12px}
#webUpdate .web-update-file{display:block;min-height:36px;margin-top:10px;line-height:1.5;overflow-wrap:anywhere;color:#a9bdcb}
@media(max-width:1050px){
 #webEntry{padding:28px}
 .account-layout{grid-template-columns:minmax(0,1fr) minmax(390px,440px);gap:28px}
 .account-card{padding:24px;max-height:calc(100dvh - 80px)}
 .account-brand{margin-bottom:32px}
 .account-intro>p:not(.web-eyebrow){font-size:13px}
 .account-intro-meta{display:grid;font-size:10px;margin-top:20px}
}
@media(max-height:670px) and (min-width:761px){
 #webEntry{padding:20px 32px}
 .account-layout{row-gap:10px}
 .account-card{max-height:calc(100dvh - 62px);padding:22px 26px}
 .account-tabs{margin-bottom:20px}.account-card h1{font-size:25px}
 #webEntry[data-view=signup] .account-tabs{margin-bottom:12px}
 #webEntry[data-view=signup] .account-card h1{font-size:23px}
 #webEntry[data-view=signup] .account-subtitle{margin-bottom:5px;font-size:12px}
 #webEntry[data-view=signup] form label,#webEntry[data-view=signup] .password-field{margin:5px 0}
 #webEntry[data-view=signup] form input{height:38px}
 #webEntry[data-view=signup] .account-form-footer small{font-size:10px}
 .account-intro{padding-bottom:0}
 .account-brand{margin-bottom:26px}
}
@media(max-width:760px){
 #webEntry{padding:24px 18px;background:linear-gradient(#101317ce,#101317f7),url('./assets/branding/frontarch-coastal.png') right bottom/auto 145% no-repeat}
 .account-layout{display:flex;flex-direction:column;gap:20px;max-width:500px}
 .account-intro{width:100%;padding:0;align-self:auto}
 .account-brand{width:190px;margin:0 0 10px;max-height:64px}
 #webEntry .account-intro .web-eyebrow{margin:0;font-size:9px}
 .account-intro h2,.account-intro>p:not(.web-eyebrow),.account-intro-meta{display:none}
 .account-card{max-height:none;overflow:visible;padding:24px;width:100%}
 .account-footnote{align-self:flex-start}
}
@media(max-width:440px){
 #accountForm:has([name=passwordConfirm]){grid-template-columns:minmax(0,1fr)}
 .account-card{padding:20px}.account-card h1{font-size:24px}
 .web-server{padding:16px 12px;gap:10px}.server-info>strong{font-size:15px}
 #webEntry .server-join{padding:10px}
 .unlock-body{align-items:flex-start;flex-direction:column}
 .account-heading{gap:10px}.account-heading .account-balance span{display:block;margin-left:0}
}
@media(prefers-reduced-motion:reduce){#webEntry button,#webUpdate button{transition:none}}
#returnReport{position:absolute;top:76px;right:16px;z-index:8;width:min(360px,calc(100vw - 32px));padding:16px;background:#182126f5;border:1px solid #7b8b8f;border-radius:10px;box-shadow:0 8px 24px #0005;font-size:13px;line-height:1.5}
#returnReport[hidden]{display:none}
#returnReport button{float:right;margin:-6px -6px 0 8px;padding:4px 10px}
#returnReport p{margin:8px 0}
#returnReport small{color:#b4c2c6}

/* One world: status and one entry action, with the current region made explicit. */
#webWorld{display:grid;gap:12px}.world-entry{flex-wrap:wrap}.world-entry .server-join{white-space:nowrap}.world-scope,.world-progression{font-size:12px;line-height:1.6;color:#adbcc5;margin:16px 0 0}.world-scope strong{color:#e1d6c3}
