/* The public entrance uses the same small game windows as the signed-in home. */
.entry-home,.entry-register { padding-top:22px; padding-bottom:32px; max-width:1180px; }
.entry-page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; font-size:12px; }
.entry-page-heading>span:first-child { display:flex; align-items:center; gap:9px; font-weight:800; letter-spacing:1px; }
.entry-page-heading img,.entry-window-title>img { width:24px; height:24px; object-fit:contain; image-rendering:pixelated; }
.entry-page-note { color:var(--text-dim); }
.entry-board { display:grid; grid-template-columns:310px minmax(0,1fr); gap:18px; align-items:start; }
.entry-window { min-width:0; border:1px solid var(--brand-outline); border-radius:6px; overflow:hidden; background:var(--surface); box-shadow:0 3px 0 var(--brand-outline),inset 0 0 0 1px var(--border); }
.entry-window-title { display:flex; align-items:center; gap:9px; min-height:38px; padding:5px 12px; border-bottom:1px solid var(--brand-outline); background:linear-gradient(to bottom,var(--brand-primary) 0 48%,var(--brand-primary-deep) 48% 100%); color:var(--hy-white); box-shadow:inset 0 1px 0 var(--brand-highlight); }
.entry-window-title h1,.entry-window-title h2 { margin:0; font-size:14px; font-weight:800; line-height:1.3; }
.entry-window-title>a { margin-left:auto; font-size:11px; color:var(--hy-white); white-space:nowrap; }
.entry-window-dots { margin-left:auto; color:var(--brand-highlight); letter-spacing:2px; }
.entry-login-intro { padding:18px 18px 0; font-size:14px; }
.entry-login-intro p { color:var(--text-dim); font-size:12px; margin:4px 0 0; }
.entry-login-form { display:grid; gap:13px; padding:16px 18px 18px; }
.entry-login-form .field,.entry-register-form .field { min-width:0; display:grid; gap:5px; }
.entry-login-form .field__label,.entry-register-form .field__label { font-size:12px; }
.entry-login-form .input,.entry-register-form .input { min-height:40px; height:40px; padding:9px 11px; font-size:14px; border-radius:4px; }
.entry-login-form .password .input,.entry-register-form .password .input { padding-right:42px; }
.entry-login-form .password__ojo,.entry-register-form .password__ojo { min-width:40px; min-height:40px; }
.entry-login-form .checkbox,.entry-register-form .checkbox { font-size:12px; line-height:1.5; }
.entry-login-form .auth__pie,.entry-register-form .auth__pie { font-size:12px; margin:0; text-align:center; line-height:1.6; }
.entry-login-form .auth__pie:last-child { border-top:1px solid var(--border); padding-top:12px; }
.entry-submit { display:flex; align-items:center; justify-content:center; gap:20px; min-height:41px; border:1px solid var(--brand-outline); border-radius:4px; padding:9px 18px; background:linear-gradient(var(--brand-primary),var(--brand-primary-deep)); color:var(--hy-white); box-shadow:inset 0 1px 0 var(--brand-highlight),0 2px 0 var(--brand-outline); font-size:13px; font-weight:800; text-decoration:none; cursor:pointer; }
.entry-submit:hover { filter:brightness(1.12); }
.entry-submit:focus-visible,.entry-home a:focus-visible { outline:2px solid var(--brand-highlight); outline-offset:3px; }
.entry-discover { display:grid; gap:14px; min-width:0; }
.entry-welcome-scene { position:relative; display:flex; align-items:center; min-height:228px; background-size:cover; background-position:center 52%; isolation:isolate; }
.entry-welcome-scene:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--hy-violet-950) 0%,color-mix(in srgb,var(--hy-violet-950) 85%,transparent) 40%,transparent 100%); z-index:-1; }
.entry-welcome-copy { padding:24px; max-width:420px; color:var(--hy-white); }
.entry-welcome-copy>span { font-size:10px; letter-spacing:2px; color:var(--brand-highlight); font-weight:800; }
.entry-welcome-copy h1 { font-size:clamp(25px,2.7vw,36px); line-height:1.12; margin:7px 0 10px; }
.entry-welcome-copy p { font-size:13px; margin:0 0 20px; color:var(--hy-violet-100); }
.entry-welcome-copy .entry-submit { width:fit-content; }
.entry-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.entry-feature { display:flex; align-items:center; gap:10px; min-width:0; padding:12px; border:1px solid var(--border); border-radius:5px; background:var(--surface); }
.entry-feature>img { width:32px; max-height:38px; object-fit:contain; image-rendering:pixelated; flex-shrink:0; }
.entry-feature h2 { margin:0 0 4px; font-size:12px; line-height:1.3; }
.entry-feature p { font-size:11px; color:var(--text-dim); margin:0; line-height:1.4; }
.entry-news-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.entry-news-item { display:flex; align-items:center; gap:11px; padding:14px; min-width:0; text-decoration:none; color:var(--text); }
.entry-news-item+ .entry-news-item { border-left:1px solid var(--border); }
.entry-news-item>img { width:52px; height:46px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.entry-news-item>span:nth-child(2) { min-width:0; }
.entry-news-item small { display:block; font-size:10px; color:var(--accent); margin-bottom:3px; }
.entry-news-item b { font-size:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.entry-news-item>span:last-child { margin-left:auto; color:var(--text-dim); }
.entry-empty { font-size:13px; color:var(--text-dim); padding:16px; margin:0; }
.entry-register { max-width:1020px; }
.entry-register-form { padding:22px; display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; align-items:start; }
.entry-register-form>.field__error { grid-column:1/-1; margin:0; }
.entry-register-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px 12px; }
.entry-register-form .registro__opciones--looks { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.entry-register-form .registro__opciones--looks .registro__opcion { min-height:70px; padding:2px; }
.entry-register-form .registro__opcion .keko { height:64px; width:auto; }
.entry-register-form .registro__opcion { border-radius:4px; min-height:64px; padding:8px; }
.entry-register-choices { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:26px; padding-top:18px; border-top:1px solid var(--border); }
.entry-register-form .registro__salaNombre { font-size:12px; }
.entry-register-form .registro__salaTexto { font-size:11px; }
.entry-register-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px 24px; border-top:1px solid var(--border); padding-top:18px; }
.entry-register-actions .registro__captcha { grid-column:1; min-height:78px; }
.entry-register-actions>.entry-submit { grid-column:2; grid-row:1; min-width:210px; }
.entry-register-actions>.auth__pie { grid-column:1/-1; }
@media(min-width:1050px) { .entry-register-form .registro__opciones--looks { grid-template-columns:repeat(6,minmax(0,1fr)); } .entry-register-looks { align-self:stretch; } .entry-register-form .registro__opciones--looks .registro__opcion { min-height:125px; } .entry-register-form .registro__opcion .keko { height:88px; } }
@media(max-width:900px) { .entry-board { grid-template-columns:280px minmax(0,1fr); gap:14px; } .entry-features { grid-template-columns:1fr; gap:7px; } .entry-feature { padding:9px 12px; } .entry-feature h2 { margin-bottom:2px; } .entry-news-list { grid-template-columns:1fr; } .entry-news-item+.entry-news-item { border-left:0; border-top:1px solid var(--border); } }
@media(max-width:650px) { .entry-home,.entry-register { padding-top:14px; } .entry-board { grid-template-columns:1fr; } .entry-page-note { display:none; } .entry-login-form { grid-template-columns:1fr 1fr; } .entry-login-form>.checkbox,.entry-login-form>.entry-submit,.entry-login-form>.auth__pie,.entry-login-form>.field__error { grid-column:1/-1; } .entry-welcome-scene { min-height:200px; } .entry-register-form { grid-template-columns:1fr; padding:16px; gap:18px; } .entry-register-choices { grid-template-columns:1fr; gap:18px; } .entry-register-actions { grid-template-columns:1fr; gap:14px; } .entry-register-actions>.entry-submit { grid-column:1; grid-row:auto; } .entry-page-heading { flex-wrap:wrap; gap:8px; } }
@media(max-width:380px) { .entry-login-form,.entry-register-fields { grid-template-columns:1fr; } .entry-register-form .registro__opciones--salas { gap:4px; } .entry-register-form .registro__salaTexto { font-size:10px; } .entry-register-actions .registro__captcha { transform:scale(.85); transform-origin:left top; width:117%; min-height:68px; } }
@media(max-width:650px) { body:has(.entry-home) .floaties,body:has(.entry-register) .floaties { position:static; justify-content:center; padding:16px; } }

/* One outer grid: the header, introduction and windows share the same edges. */
.entry-home,.entry-register { width:calc(100% - var(--shell-gutter) * 2); max-width:calc(var(--shell-max) - var(--shell-gutter) * 2); padding:24px 0 36px; position:relative; z-index:1; }
.entry-board { grid-template-columns:minmax(300px,340px) minmax(0,1fr); gap:20px; align-items:stretch; }
.entry-login { display:flex; flex-direction:column; }
.entry-login-form { flex:1; align-content:start; gap:16px; padding:18px 22px 22px; }
.entry-login-intro { padding:20px 22px 0; }
.entry-discover { grid-template-rows:minmax(240px,1fr) auto auto; gap:16px; }
.entry-welcome { display:flex; flex-direction:column; }
.entry-welcome-scene { flex:1; min-height:240px; }
.entry-welcome-copy { padding:28px 32px; max-width:470px; }
.entry-welcome-copy h1 { font-size:clamp(28px,2.8vw,40px); }
.entry-window { border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--border)); border-radius:12px; background:var(--surface-nav); box-shadow:0 8px 28px #08031045,inset 0 0 0 1px var(--border-soft); }
.entry-window-title { min-height:40px; padding:6px 15px; border-bottom-color:var(--brand-shadow); background:linear-gradient(180deg,#9215bc 0 50%,#8112a6 50% 100%); box-shadow:inset 0 1px 0 #c054e5; }
.entry-feature { border-radius:8px; padding:15px; background:var(--surface-nav); transition:border-color .2s,transform .2s; }
.entry-feature:hover { border-color:var(--brand-primary); transform:translateY(-2px); }
.entry-feature h2 { font-size:13px; }
.entry-feature p { font-size:12px; }
.entry-news-item { padding:16px; min-height:76px; transition:background .2s; }
.entry-news-item:hover { background:var(--surface-hover); }
.entry-news-item small { font-size:11px; }
.entry-news-item b { font-size:13px; }
.entry-submit { border-radius:6px; min-height:44px; transition:filter .2s,box-shadow .2s,transform .2s; }
.entry-submit:hover { transform:translateY(-1px); box-shadow:0 0 20px #b251e42b,inset 0 1px 0 var(--brand-highlight); }
.entry-login-form .input,.entry-register-form .input { border-radius:6px; min-height:44px; height:44px; transition:border-color .2s,box-shadow .2s; }
.entry-login-form .input:focus,.entry-register-form .input:focus { border-color:var(--brand-primary); box-shadow:0 0 0 3px #b251e426; }
.entry-register-form { padding:26px; gap:24px 30px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.entry-register-fields { align-content:start; gap:14px 16px; }
.entry-group-title { grid-column:1/-1; margin:0 0 1px; font-size:13px; font-weight:800; line-height:1.5; }
.entry-register-form .registro__grupo legend { margin-bottom:14px; font-size:13px; line-height:1.5; }
.entry-register-looks { display:flex; flex-direction:column; min-width:0; }
.entry-register-looks .registro__opciones { flex:1; }
.entry-register-form .registro__opcion { border-radius:7px; background:var(--surface-sunken); }
.entry-register-form .registro__opcion:has(input:checked) { border-color:var(--brand-primary); box-shadow:0 0 0 2px #b251e433,inset 0 0 22px #9d39db12; }
.entry-register-choices { gap:30px; padding-top:24px; }
.entry-register-actions { grid-template-columns:minmax(0,1fr) minmax(210px,280px); align-items:center; padding-top:22px; gap:14px 30px; }
.entry-register-actions>.checkbox { grid-column:1; }
.entry-register-actions>.entry-submit { grid-column:2; grid-row:1 / span 2; align-self:center; }
.entry-register-actions .registro__captcha { width:fit-content; max-width:100%; }
.entry-register-actions>.auth__pie { padding-top:2px; }
.entry-page-heading { min-height:58px; margin-bottom:18px; padding:10px 16px; border:1px solid #74408e; border-left:3px solid #cf78f7; border-radius:9px; background:linear-gradient(100deg,#291636f2,#191421f5); box-shadow:0 4px 18px #09041230,inset 0 1px 0 #edb3ff12; color:#faf4ff; }
.entry-page-heading>span:first-child { font-size:13px; letter-spacing:.7px; }
.entry-page-heading .entry-page-note { color:#e0cfea; font-size:13px; letter-spacing:0; }
.entry-page-heading>a { color:#edb8ff; font-weight:600; }
.entry-page-heading .entry-motion { color:#e0cfea; border-color:#614476; background:#241a30; }
.entry-login-intro p,.entry-feature p,.entry-empty { color:#c5bdd2; line-height:1.6; }
.entry-login-form .auth__pie,.entry-register-form .auth__pie,.entry-register-form .registro__salaTexto { color:#c5bdd2; }
.entry-news-item small { color:#db9ff8; }
.entry-welcome-copy>span { color:#e6b3ff; display:inline-block; padding:5px 9px; border:1px solid #b66ad565; border-radius:4px; background:#291237d9; }
.entry-welcome-copy p { color:#ede2f6; line-height:1.65; font-size:14px; max-width:330px; }
.entry-welcome-scene:before { background:linear-gradient(90deg,#180921f7 0%,#200d2ad9 38%,#1b0d2266 65%,transparent 100%); }
.entry-feature { position:relative; overflow:hidden; }
.entry-feature:after { content:''; position:absolute; bottom:0; left:15px; right:15px; height:1px; background:linear-gradient(90deg,#b955e288,transparent); }
.entry-feature>img { padding:5px; box-sizing:content-box; background:#8f36b81a; border:1px solid #be76dc30; border-radius:7px; }
.entry-page-note,.entry-page-heading>a { margin-left:auto; }
.entry-motion { border:1px solid var(--border); color:var(--text-muted); border-radius:6px; background:var(--surface-nav); padding:7px 10px; font:inherit; font-size:11px; cursor:pointer; min-height:34px; }
.entry-motion:hover,.entry-motion:focus-visible { border-color:var(--brand-primary); color:var(--text); }
.entry-ambience { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; contain:strict; }
.entry-ambience:before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 78% 12%,#af39f32b,transparent 52%),radial-gradient(ellipse at 12% 85%,#8423d421,transparent 45%); }
.entry-ambience:after { content:''; position:absolute; inset:-20%; background:conic-gradient(from 210deg at 75% 20%,transparent 0deg,#ba6aff0c 22deg,transparent 42deg,#ee7eff09 60deg,transparent 90deg); animation:entry-light 16s ease-in-out infinite alternate; }
.entry-ambience i { position:absolute; left:var(--x); top:var(--y); width:var(--size); height:var(--size); border-radius:1px; background:#e5a5ff; box-shadow:0 0 9px #d48aff70; opacity:0; animation:entry-drift var(--duration) ease-in-out infinite; animation-delay:var(--delay); }
@keyframes entry-light { from { opacity:.4; transform:rotate(-3deg); } to { opacity:.85; transform:rotate(3deg); } }
@keyframes entry-drift { 0%,100% { opacity:0; transform:translate3d(0,18px,0); } 30%,65% { opacity:.45; } 85% { opacity:0; transform:translate3d(12px,-35px,0); } }
.entry-ambience[data-paused=true]:after,.entry-ambience[data-paused=true] i { animation-play-state:paused; }
body:has(.entry-home) .page,body:has(.entry-register) .page,body:has(.entry-home) .footer,body:has(.entry-register) .footer { position:relative; z-index:1; }
@media(max-width:1050px) { .entry-board { grid-template-columns:300px minmax(0,1fr); gap:16px; } .entry-register-form { gap:22px; padding:22px; } .entry-register-choices { gap:22px; } }
@media(max-width:760px) { .entry-board { grid-template-columns:1fr; } .entry-login-form { grid-template-columns:1fr 1fr; } .entry-login-form>.checkbox,.entry-login-form>.entry-submit,.entry-login-form>.auth__pie,.entry-login-form>.field__error { grid-column:1/-1; } .entry-discover { grid-template-rows:auto; } .entry-features { grid-template-columns:repeat(3,minmax(0,1fr)); } .entry-feature { display:grid; align-content:start; padding:12px; } .entry-welcome-copy { padding:24px; } .entry-register-form { grid-template-columns:1fr; } .entry-register-choices { grid-template-columns:1fr 1fr; } .entry-register-form .registro__opciones--looks { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:540px) { .entry-home,.entry-register { padding-top:14px; } .entry-page-heading { gap:8px; flex-wrap:wrap; } .entry-page-heading>a { font-size:11px; margin-left:0; } .entry-motion { margin-left:auto; } .entry-login-form,.entry-register-form { padding:18px; } .entry-login-intro { padding:18px 18px 0; } .entry-register-fields { grid-template-columns:1fr; gap:14px; } .entry-features { grid-template-columns:1fr; gap:8px; } .entry-feature { display:flex; padding:12px 14px; } .entry-register-choices { grid-template-columns:1fr; gap:22px; } .entry-register-form .registro__opciones--looks { grid-template-columns:repeat(3,minmax(0,1fr)); } .entry-register-actions { grid-template-columns:1fr; gap:16px; } .entry-register-actions>.entry-submit { grid-column:1; grid-row:auto; width:100%; } .entry-welcome-scene { min-height:220px; } .entry-welcome-copy h1 { font-size:29px; } .entry-register-form .input,.entry-login-form .input { font-size:16px; } .entry-ambience i:nth-child(n+7) { display:none; } .entry-ambience:after { animation:none; } }
@media(prefers-reduced-motion:reduce) { .entry-ambience i { display:none; } .entry-ambience:after { animation:none; opacity:.4; } .entry-feature,.entry-submit,.entry-login-form .input,.entry-register-form .input { transition:none; } .entry-feature:hover,.entry-submit:hover { transform:none; } }
