/* Entrada: noche, luz y espacio. Reglas aisladas del HUD y las ventanas del juego. */
#landing { display:block; overflow-y:auto; padding:clamp(24px,5vw,72px); background:linear-gradient(90deg,rgba(15,12,35,.5),rgba(15,12,35,.22) 48%,rgba(15,12,35,.94) 78%),linear-gradient(0deg,#141128 0%,transparent 50%,rgba(20,17,40,.86)); }
#landing.hidden { display:none; }
.entry-layout { max-width:1240px; min-height:calc(100% - 12px); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) 410px; gap:clamp(32px,6vw,96px); align-items:center; }
.entry-world { color:#fff6e6; align-self:stretch; display:flex; flex-direction:column; padding:12px 0; }
.entry-brand { display:flex; align-items:center; gap:14px; font:700 52px var(--f-px); letter-spacing:-2px; color:#fff0cc; text-shadow:0 3px #7b573d; margin-bottom:clamp(32px,6vh,80px); }
.entry-eyebrow { font:800 10px var(--f-ui); letter-spacing:.19em; color:#b68a55; margin:0 0 14px; }
.entry-world .entry-eyebrow { color:#edc68f; }
.entry-world h1 { font:800 clamp(32px,3.3vw,48px)/1.15 var(--f-ui); letter-spacing:-1.5px; margin:0 0 18px; text-shadow:0 2px 12px #141128; }
.entry-world h1 em { font-style:normal; color:#efcb91; }
.entry-intro { max-width:410px; margin:0; font-size:16px; line-height:1.7; color:#ddd5e9; text-shadow:0 2px 6px #141128; }
.entry-caption { display:flex; gap:12px; align-items:center; margin-top:auto; padding-top:100px; font-size:10px; font-weight:800; letter-spacing:.15em; }
.entry-star { font-size:30px; color:#edc68f; }
.entry-caption small { display:block; margin-top:4px; font-size:13px; font-weight:600; letter-spacing:0; color:#c2b7d2; }
.entry-features { display:flex; gap:22px; padding:24px 0 0; margin:22px 0 0; border-top:1px solid #a79abc38; list-style:none; }
.entry-features li { display:flex; align-items:center; gap:8px; font-size:12px; color:#dfd5e9; }
#landing .landing-card { width:100%; max-height:none; overflow:visible; padding:0; border:1px solid #d6c2a2; border-radius:12px; clip-path:none; background:#fff8eb; box-shadow:0 20px 60px #08061570,inset 0 3px #ffe4ac; text-align:left; }
#landing .landing-body { padding:32px 32px 12px; }
.entry-panel-mark { color:#b5844c; font-size:24px; margin-bottom:16px; }
#authTitle { font:800 26px/1.2 var(--f-ui); letter-spacing:-.6px; margin:0 0 8px; color:#2b2344; }
.entry-description { font-size:14px; line-height:1.5; color:#756a80; margin:0 0 26px; }
#landing .tabs { display:flex; padding:4px; gap:4px; background:#eee5d7; border:0; border-radius:7px; margin-bottom:24px; }
#landing .tab { flex:1; min-height:44px; border:0; border-radius:5px; font:800 13px var(--f-ui); background:transparent; color:#756a80; padding:8px; box-shadow:none; clip-path:none; }
#landing .tab.active { color:#322943; background:#fffaf0; box-shadow:0 2px 4px #30204012; }
#authForm>label { display:block; font:800 12px var(--f-ui); margin:18px 0 8px; color:#493f57; }
#authForm input:not([type=checkbox]) { width:100%; min-height:48px; font:600 16px var(--f-ui); background:#fffdf8; border:1px solid #c9bdcd; border-radius:6px; clip-path:none; box-shadow:inset 0 2px 3px #33224405; padding:12px; color:#30233d; }
#authForm input::placeholder { color:#908599; font-size:14px; }
#landing :focus-visible { outline:3px solid #8468ad; outline-offset:3px; }
.entry-password { position:relative; }
#authForm .entry-password input { padding-right:80px; }
#passwordToggle { position:absolute; right:3px; top:3px; min-height:42px; padding:0 12px; background:transparent; border:0; font:800 11px var(--f-ui); color:#655274; cursor:pointer; }
#landing .entry-hint { color:#7a6d80; font-size:12px; line-height:1.5; margin:10px 0 0; }
#landing [hidden] { display:none !important; }
#landing .terms-checks { margin-top:16px; }
#landing .check { min-height:44px; align-items:center; font-size:12px; line-height:1.5; }
#landing .check input { min-width:20px; width:20px; height:20px; accent-color:#665084; }
#landing a { color:#68527c; text-underline-offset:3px; }
#authError:empty { display:none; }
#authError { padding:10px; border-left:3px solid #b74862; background:#f9e8e9; font-size:13px; }
#landing #authSubmit { min-height:50px; margin-top:24px; width:100%; border:1px solid #c38c42; border-bottom:3px solid #9b6837; border-radius:6px; clip-path:none; background:linear-gradient(#f9d797,#efbd70); color:#473022; font:900 15px var(--f-ui); box-shadow:inset 0 1px #ffeac3; text-shadow:none; }
#landing #authSubmit:hover { background:#ffdc9b; }
#landing #authSubmit:disabled { opacity:.65; cursor:wait; }
#landing .entry-security { text-align:center; font-size:11px; margin-top:12px; }
#landing .online-count { font:700 11px var(--f-ui); text-align:center; color:#6e627d; margin:20px 0 8px; }
.entry-footer { border-top:1px solid #e8ddca; text-align:center; padding:18px 24px; font-size:11px; color:#8b7e8e; }
.entry-footer p { display:flex; justify-content:center; gap:24px; margin:10px 0 0; }
@media(max-width:900px) { .entry-layout { grid-template-columns:minmax(0,1fr) 370px; gap:30px; } .entry-features { flex-direction:column; gap:12px; } #landing .landing-body { padding:26px; } }
@media(max-width:700px) { #landing { padding:24px 18px max(24px,env(safe-area-inset-bottom)); background:linear-gradient(#15112bea,#211937b8 45%,#15112bf5); } .entry-layout { display:block; max-width:420px; } .entry-world { padding:0; } .entry-brand { justify-content:center; margin:0 0 18px; font-size:42px; } .entry-brand canvas { width:32px!important; height:32px!important; } .entry-world>.entry-eyebrow,.entry-world h1,.entry-intro,.entry-caption,.entry-features { display:none; } #landing .landing-body { padding:24px; } .entry-panel-mark { display:none; } #authTitle { font-size:25px; } .entry-description { margin-bottom:20px; } #landing .landing-card { margin:0; } }
@media(prefers-reduced-motion:reduce) { #landing *,#landing *::before { animation:none!important; transition:none!important; } }
#landing #authForm { gap:0; }
#landing #authForm>label:first-child { margin-top:0; }

/* Segunda muestra: insignia original y marcos de menú con acentos de latón. */
.entry-brand { gap:18px; font-size:64px; line-height:1; letter-spacing:-2px; margin-bottom:42px; }
.entry-emblem { width:64px; height:80px; flex:none; image-rendering:pixelated; }
.entry-brand small { display:block; margin-top:12px; font:800 9px var(--f-ui); letter-spacing:.23em; color:#c8b8d8; text-shadow:none; }
.entry-world h1 { font-size:clamp(30px,3vw,42px); max-width:600px; }
.entry-intro { max-width:390px; font-size:15px; }
#landing .landing-card { position:relative; border:1px solid #a18a70; border-radius:3px; box-shadow:0 22px 60px #08061580,0 0 0 5px #292139,0 0 0 6px #a18a704d; background:linear-gradient(#fff8eb,#f6eddd); }
#landing .landing-card::before,#landing .landing-card::after { content:''; position:absolute; width:14px; height:14px; pointer-events:none; border-color:#f5cf87; border-style:solid; }
#landing .landing-card::before { top:-6px; left:-6px; border-width:2px 0 0 2px; }
#landing .landing-card::after { bottom:-6px; right:-6px; border-width:0 2px 2px 0; }
.entry-panel-heading { display:flex; gap:10px; align-items:center; margin-bottom:20px; }
.entry-panel-heading .entry-panel-mark { display:block; margin:0; font-size:18px; }
.entry-panel-heading .entry-eyebrow { margin:0; color:#786044; font-size:9px; letter-spacing:.14em; }
.entry-panel-line { height:1px; flex:1; background:#d4bea0; }
#landing .tabs { background:transparent; border-bottom:1px solid #cbbca5; border-radius:0; padding:0; gap:16px; }
#landing .tab { border-radius:0; color:#756879; border-bottom:3px solid transparent; margin:0 0 -1px; padding:8px 0; }
#landing .tab.active { background:transparent; box-shadow:none; border-color:#a16c37; color:#352640; }
#landing .tab:hover { color:#3b294e; background:#e9dbcb55; }
#landing #authSubmit { border-radius:3px; transition:background .15s,box-shadow .15s; }
#landing #authSubmit:hover:not(:disabled) { box-shadow:inset 0 1px #fff2d9,0 3px 10px #b5783426; }
#landing #authSubmit:active:not(:disabled) { border-bottom-width:1px; padding-top:2px; }
.entry-footer { padding:6px 24px; background:#e7dcc94d; }
.entry-footer p { margin:0; }
.entry-footer a { display:inline-flex; align-items:center; min-height:44px; }
#landing .online-count { margin:16px 0 4px; }
@media(min-width:1000px) { .entry-layout { gap:72px; } .entry-world { padding-top:0; } .entry-features { gap:28px; } }
@media(max-width:700px) {
 #landing { padding:16px 18px max(18px,env(safe-area-inset-bottom)); }
 .entry-brand { font-size:42px; gap:12px; margin-bottom:22px; }
 .entry-emblem { width:32px; height:40px; }
 .entry-brand small { font-size:7px; letter-spacing:.15em; margin-top:7px; }
 #landing .landing-body { padding:20px 22px 10px; }
 .entry-panel-heading { margin-bottom:12px; }
 #authTitle { font-size:24px; }
 .entry-description { margin-bottom:14px; font-size:13px; }
 #landing .tabs { margin-bottom:18px; }
 #authForm>label { margin:14px 0 6px; }
 #landing #authSubmit { margin-top:16px; }
 #landing .terms-checks { margin-top:10px; }
 #landing .online-count { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { #landing #authSubmit { transition:none; } }
.entry-footer .entry-version { display:block; padding-top:8px; line-height:1.5; color:#7d6f82; }
.entry-beta { display:inline-block; vertical-align:top; margin-left:10px; padding:4px 7px; border:1px solid #edc68f; border-radius:3px; font:900 10px var(--f-ui); letter-spacing:.12em; text-transform:uppercase; color:#2b2344; background:#efcb91; text-shadow:none; }
