/* The game is revealed only after its first complete rendered frame. */
body.game-not-ready *{visibility:hidden}
body.game-not-ready #entry-screen,body.game-not-ready #entry-screen *,body.game-not-ready #loading,body.game-not-ready #loading *{visibility:visible}
body.entry-active #loading{display:none}
body.game-not-ready #loading{position:fixed;inset:0;z-index:1000}
.entry-screen{overflow-y:auto;padding:28px 18px;background:radial-gradient(ellipse at 50% 18%,#25241d 0,#090a0c 48%,#090a0c 100%)}
.entry-card{width:min(450px,100%);padding:24px 28px;border-color:var(--surface-border);background:linear-gradient(155deg,var(--floating),var(--floating));box-shadow:0 24px 80px #0007;gap:0}
.entry-card .loading-mark{width:46px;height:56px;font-size:35px;line-height:53px;margin-bottom:4px;border-radius:4px 4px 20px 20px}
.entry-card h1{margin:10px 0 2px;font-size:24px;letter-spacing:2px}.entry-card #entry-description{margin:5px 0 16px;font-size:12px}
.entry-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0 0 10px;gap:5px;font-size:11px;text-align:center;color:var(--muted)}.entry-steps li{border-bottom:2px solid var(--line);padding:7px 0}.entry-steps [aria-current=step]{color:var(--gold);border-color:var(--gold)}
.entry-card #entry-status{min-height:0;margin:0;color:var(--gold);font-size:12px}.entry-card #entry-status:empty{display:none}
.entry-card #entry-id-step label,.entry-card #entry-confirm-row label{display:block;margin:13px 0 7px}.entry-card input{width:100%;background:var(--field);color:#f1f0e8;border:1px solid var(--line);border-radius:7px;min-height:44px}.entry-card #account-id-help{display:block;text-align:left;margin:5px 0 0;line-height:1.6}
.entry-auth-tabs{display:flex;gap:5px;background:var(--field);padding:4px;border-radius:8px}.entry-card .entry-auth-tabs button{margin:0;flex:1;padding:9px;background:transparent;border-color:transparent;color:var(--muted)}.entry-card .entry-auth-tabs [aria-pressed=true]{background:var(--selection);border-color:var(--surface-border);color:var(--gold)}
.entry-card .entry-policy{margin-top:18px;padding:13px 15px;border:1px solid var(--surface-border);border-radius:8px;background:var(--selection)}.entry-policy strong{font-size:12px;color:var(--gold)}.entry-card .entry-policy p{margin:6px 0;text-align:left;font-size:11px;line-height:1.7;color:#deddd4}.entry-card .entry-policy small{display:block;text-align:left;line-height:1.7;font-size:10px;color:var(--muted)}
.entry-card #entry-character-step h2,.entry-card #entry-discord-title{text-align:center;font-size:16px;color:var(--gold);margin:14px 0 4px}.entry-card #entry-characters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.entry-card #entry-characters button{margin:0;min-width:0;padding:8px 4px;border-color:var(--line);background:var(--field);border-radius:9px;transition:border-color .15s,background .15s}.entry-card #entry-characters [aria-checked=true]{border-color:var(--gold);background:var(--selection);box-shadow:0 0 0 1px var(--gold)}.entry-card #entry-characters canvas{width:100%;height:auto;max-width:120px}.entry-card #entry-characters span{display:block;font-size:11px;color:#deddd4;margin-top:3px}.entry-card.choosing-character{width:min(560px,100%)}
.entry-card #enter-town{min-height:46px;margin-top:16px;background:var(--gold);border-color:var(--gold);font-weight:bold}.entry-card #entry-back{margin-top:8px;padding:8px;background:transparent;border-color:var(--line);color:var(--muted)}.entry-card #entry-error{margin:8px 0;min-height:0;text-align:left}.entry-card #entry-error:empty{display:none}
@media(max-width:520px){.entry-screen{padding:14px 12px;align-items:flex-start}.entry-card{margin:auto 0;padding:20px 18px}.entry-card #entry-characters{gap:6px}.entry-card .entry-policy{padding:11px 12px}}
@media(prefers-reduced-motion:reduce){.entry-card #entry-characters button{transition:none}}

.entry-card #enter-town{color:#090a0c}.entry-card #enter-town:hover{background:#ffe071}.entry-card #entry-description,.entry-card #entry-id-step label{color:var(--muted)}

.authentication-badge,.game-master-badge{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;text-align:center;width:2.65em;height:1.5em;vertical-align:.08em;margin-right:.35em;padding:0;border:1px solid #9b7c40;border-radius:1px;background:#302817;color:var(--gold);font:inherit;font-size:.8em;line-height:1;white-space:nowrap}.authentication-badge.is-verified{border-color:#427f59;background:#163225;color:#87e2aa}.authentication-badge.is-trial{border-color:#747265;background:#22231e;color:#c9c4b4}.entry-card .entry-policy[hidden]{display:none}
.entry-authentication-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.entry-card #entry-discord-unlink,.entry-card #entry-discord-certify{margin:0;padding:7px 12px;border-color:var(--surface-border);background:transparent;color:var(--muted);font-size:11px}.entry-card #entry-discord-unlink:hover,.entry-card #entry-discord-certify:hover{color:var(--gold);background:var(--selection)}.entry-card #entry-discord-unlink[hidden],.entry-card #entry-discord-certify[hidden]{display:none}.entry-card #entry-discord-invite{color:var(--gold);overflow-wrap:anywhere}
.entry-unlink-dialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:24px;border:1px solid var(--surface-border);border-radius:10px;background:var(--floating);color:#deddd4;box-shadow:0 24px 80px #0009}.entry-unlink-dialog::backdrop{background:#000b}.entry-unlink-dialog h2{margin:0 0 12px;font-size:18px;color:var(--gold)}.entry-unlink-dialog p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.entry-unlink-dialog #entry-unlink-account{color:var(--muted)}.entry-unlink-dialog .entry-unlink-policy{padding:10px 12px;background:var(--selection);border-radius:6px}.entry-unlink-dialog #entry-unlink-error{color:#f08b73}.entry-unlink-dialog #entry-unlink-error:empty{display:none}.entry-unlink-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.entry-unlink-buttons button{min-height:38px;padding:8px 15px;border:1px solid var(--surface-border);border-radius:5px;background:var(--field);color:var(--muted)}.entry-unlink-buttons #entry-unlink-confirm{background:var(--gold);border-color:var(--gold);color:#090a0c}.entry-unlink-buttons button:disabled{opacity:.5}
#loading-discord-invite{color:var(--gold);font-size:12px;line-height:1.8;overflow-wrap:anywhere;padding:0 16px}#loading-discord-invite[hidden]{display:none}
