/* Entry presentation only. The shared application shell owns viewport and navigation. */
#game-entry,#published-games{min-width:0;min-height:0;width:100%}
.entry-root{flex:1;display:grid;align-content:center;height:100%;max-width:1160px;margin:auto}
.neural-entry{width:min(100%,960px);height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(200px,1fr) auto auto;justify-items:center;align-items:center;gap:12px;margin:auto;padding:12px 24px}
.neural-intro{text-align:center;align-self:start;max-width:680px}
.entry-eyebrow{display:block;color:var(--color-primary-ink);font-size:.85rem;font-weight:700;letter-spacing:.04em;margin-bottom:6px}
.neural-intro h1{font-size:clamp(1.9rem,3.3vw,2.75rem);margin:0;overflow-wrap:anywhere}
.neural-intro p{color:var(--color-muted-ink);font-size:.95rem;line-height:1.6;margin:10px 0 0}
.neural-art{position:relative;display:grid;place-items:center;width:min(100%,720px);height:100%;min-height:200px;max-height:540px;min-width:0;border-radius:32px;text-decoration:none;-webkit-tap-highlight-color:transparent}
.brain-launch{cursor:pointer;isolation:isolate;touch-action:manipulation}
.neural-network{width:100%;height:100%;min-height:0;overflow:visible;pointer-events:none;animation:neural-cycle 18s ease-in-out infinite}
.brain-surface{stroke:none}
.brain-edge-glow{fill:none;stroke-width:12;stroke-opacity:.07}
.brain-outline{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;animation:brain-contour 8s ease-in-out infinite}
.brain-stem{stroke-width:1.8;opacity:.55}
.brain-fold{fill:none;stroke:var(--neural-primary);stroke-width:1.5;stroke-linecap:round;opacity:.23}
.neural-connection{fill:none;stroke:var(--neural-primary);stroke-width:1.4;stroke-opacity:.26;animation:neural-connect 10s ease-in-out infinite;animation-delay:var(--phase)}
.neural-central{animation:brain-central 2.6s ease-in-out infinite}
.neural-signal{fill:var(--neural-secondary);opacity:.9}
.neural-halo{fill:var(--neural-primary);opacity:calc(.1 * var(--neural-intensity,1))}
.neural-core{fill:var(--neural-primary)}
.neural-neuron{animation:neural-breathe 8s ease-in-out infinite;animation-delay:var(--phase)}
.brain-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:clamp(68px,9vw,96px);height:clamp(68px,9vw,96px);border-radius:50%;background:var(--neural-primary,#5B5FF8);border:2px solid #fff;outline:1px solid var(--neural-secondary,#19C2D8);box-shadow:0 6px 25px #4549ce35;transform:translate(-50%,-50%);animation:brain-play-breathe 2.6s ease-in-out infinite;pointer-events:none}
.brain-play::before,.brain-play::after{content:'';position:absolute;inset:-7px;border:2px solid var(--neural-secondary,#19C2D8);border-radius:50%;opacity:0;animation:brain-play-ring 2.6s ease-out infinite}
.brain-play::after{animation-delay:1.3s;border-color:var(--neural-primary,#5B5FF8)}
.brain-play svg{width:38%;height:38%;fill:#fff;margin-left:5%;pointer-events:none}
.brain-launch:focus-visible{outline:3px solid var(--color-focus,#4549CE);outline-offset:3px}
.neural-scene.is-paused *,.neural-scene.is-paused *::before,.neural-scene.is-paused *::after{animation-play-state:paused!important}
.brain-launch[aria-disabled=true],.neural-play[aria-disabled=true]{cursor:wait}
.neural-scene.is-activating .brain-outline{stroke-width:4;stroke-opacity:1}
.neural-scene.is-activating .neural-central{stroke-width:2.5;stroke-opacity:.8;animation:none}
.neural-scene.is-activating .brain-play{box-shadow:0 0 34px #19c2d870}
.neural-play{display:flex;align-items:center;justify-content:center;gap:14px;width:min(100%,520px);text-align:center;min-height:58px;padding:14px 24px;border-radius:18px;font:800 clamp(1rem,2vw,1.15rem) var(--font-body);background:var(--neural-primary,#5B5FF8);color:#fff;text-decoration:none;box-shadow:0 8px 22px #5b5ff829;transition:transform 180ms ease,box-shadow 180ms ease}
.neural-play::before{content:'▶';font-size:.95rem}
.neural-play[aria-disabled=true]{opacity:.8}
.entry-metrics{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;font-size:.83rem;color:var(--color-muted-ink);align-self:start}
.entry-change{font-weight:700;color:var(--color-primary-ink);justify-self:center}
.entry-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin-top:24px}
.entry-game-option{display:grid;align-content:start;gap:14px;text-align:left;padding:26px;min-height:180px;border:1px solid var(--color-border);border-radius:24px;background:white;color:var(--color-text);box-shadow:var(--shadow-soft);transition:transform 180ms ease,border-color 180ms ease}
.entry-game-option strong{font:700 1.5rem var(--font-heading)}
.entry-game-option span{font-size:.95rem;line-height:1.7;color:var(--color-muted-ink)}
.entry-game-symbol{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;color:var(--color-primary-ink);background:var(--color-primary-soft);font:800 1.1rem var(--font-body);margin:0}
.catalog>#published-games{grid-column:1/-1}
.entry-guest .app-nav,.entry-guest .desktop-context,.entry-guest .header-tools>.performance-link,.entry-guest .desktop-only{display:none!important}
.entry-guest #game-entry{display:grid;align-content:center;justify-items:center;text-align:center;gap:18px}
.entry-access{background:radial-gradient(ellipse at 100% 0,#19c2d810,transparent 45%),#fff}
.entry-access .auth-tabs{display:grid;grid-template-columns:1fr 1fr}
.entry-access .auth-tabs button{min-height:48px}
.entry-access-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-heading)}
.entry-access .dialog-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.entry-access .dialog-heading h2{grid-column:1;grid-row:2}
.entry-access #player-close{grid-column:2;grid-row:1/3}
.entry-access-language{display:flex;justify-content:flex-end;margin-bottom:12px}
[data-app-page=home] #account-status:empty{display:none}
.desktop-layout [data-app-page=home] .app-content{display:flex;flex-direction:column;padding:12px;min-height:0;overflow:auto}
.desktop-layout.entry-guest .app-shell{grid-template-columns:minmax(0,1fr)}
.desktop-layout.entry-guest .app-shell>.site-header,.desktop-layout.entry-guest .app-shell>.app-content{grid-column:1}
@keyframes neural-connect{0%,100%{stroke-opacity:.18}45%{stroke-opacity:.5}}
@keyframes neural-breathe{0%,100%{opacity:.48}40%{opacity:1}}
@keyframes neural-cycle{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes brain-contour{0%,100%{stroke-opacity:.65}50%{stroke-opacity:1}}
@keyframes brain-central{0%,100%{stroke-opacity:.18}30%{stroke-opacity:.65}}
@keyframes brain-play-breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(1.045)}}
@keyframes brain-play-ring{0%{transform:scale(.95);opacity:.4}85%,100%{transform:scale(1.48);opacity:0}}
@media(hover:hover) and (pointer:fine){.brain-launch:hover .brain-outline{stroke-width:3.5}.brain-launch:hover .brain-play{box-shadow:0 0 32px #5b5ff84a}.neural-play:hover{transform:translateY(-2px);box-shadow:0 12px 28px #5b5ff83b}.entry-game-option:hover{transform:translateY(-3px);border-color:var(--color-primary)}}
@media(max-width:900px),(pointer:coarse){.neural-entry{grid-template-rows:auto minmax(160px,1fr) auto auto;gap:9px;padding:10px 4px;max-width:680px}.neural-intro h1{font-size:clamp(1.8rem,7vw,2.5rem)}.entry-eyebrow{font-size:.76rem;margin:0 0 5px}.neural-intro p{font-size:.88rem;line-height:1.5;margin:8px auto 0}.neural-art{min-height:160px;max-height:420px}.brain-play{width:72px;height:72px}.neural-play{min-height:54px;padding:12px 18px}.entry-metrics{font-size:.78rem}.entry-root{align-content:stretch}.entry-guest .site-header{min-height:48px}.entry-game-option{min-height:150px;padding:22px}}
@media(max-height:640px) and (max-width:900px){.neural-entry{gap:6px;padding-block:6px;grid-template-rows:auto minmax(145px,1fr) auto auto}.neural-intro p{font-size:.83rem}.neural-play{min-height:50px}.neural-art{min-height:145px}.brain-play{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.neural-entry *,.neural-entry *::before,.neural-entry *::after{animation:none!important;transition:none!important}.brain-play::before,.brain-play::after{opacity:0}}

.brain-launch:active .brain-play{box-shadow:0 0 34px #19c2d870}.neural-play:active{transform:scale(.985)}

.entry-mode{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:.85rem}.entry-mode select{max-width:180px;min-height:40px}
/* Distinct game emblems: Math Pulse's calculation reactor and GeoPulse's exploration globe. */
.game-identity-art{display:block;width:100%;height:100%;min-height:0;overflow:visible;pointer-events:none}.game-identity-scene{background:transparent}.identity-wire{fill:none;stroke:#5b5ff8;stroke-width:1.5;stroke-opacity:.18;stroke-linecap:round;stroke-linejoin:round}.identity-trace{fill:none;stroke:#19c2d8;stroke-width:2;stroke-opacity:.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 9;animation:identity-flow 18s linear infinite}.identity-node{fill:var(--neural-secondary);animation:identity-glow 5s ease-in-out infinite}.identity-float{animation:identity-float 7s ease-in-out infinite;animation-delay:var(--identity-phase,0s)}.identity-orbit{fill:none;stroke:#008577;stroke-width:1;stroke-opacity:.22;stroke-dasharray:4 8;animation:identity-flow 35s linear infinite}.identity-orbit-outer{stroke:#d99435;stroke-opacity:.3;stroke-dasharray:2 10;animation-direction:reverse}.identity-route{fill:none;stroke:#19c2d8;stroke-width:2;stroke-linecap:round;stroke-dasharray:5 7;animation:identity-flow 20s linear infinite}.game-identity-scene .brain-play{width:clamp(72px,9vw,100px);height:clamp(72px,9vw,100px);border-width:3px;outline-color:#fff9;box-shadow:0 7px 30px #182c5540,0 0 0 9px #ffffff24}.identity-geo .brain-play{background:linear-gradient(145deg,#008577,#005e64)}.identity-math .brain-play{background:linear-gradient(145deg,#7073ff,#3d40b9)}.entry-game-option .entry-game-logo{width:64px;height:64px;background:transparent;border-radius:0;box-shadow:none;padding:0;object-fit:contain}.game-identity-scene.is-activating .identity-emblem{filter:brightness(1.12)}
@keyframes identity-flow{to{stroke-dashoffset:-160}}@keyframes identity-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes identity-glow{0%,100%{opacity:.45}50%{opacity:1}}
@media(hover:hover) and (pointer:fine){.game-identity-scene:hover .brain-play{box-shadow:0 9px 32px #182c5550,0 0 0 12px #ffffff30}}
@media(max-width:900px),(pointer:coarse){.game-identity-scene .brain-play{width:72px;height:72px}.entry-game-option .entry-game-logo{width:56px;height:56px}}
@media(max-height:640px) and (max-width:900px){.game-identity-scene .brain-play{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.game-identity-art *{animation:none!important}.game-identity-scene.is-activating .identity-emblem{filter:none}}
/* The central Start is the focal action, independent of each game's logo palette. */
.game-identity-scene.identity-math .brain-play,.game-identity-scene.identity-geo .brain-play{width:clamp(100px,12vw,132px);height:clamp(100px,12vw,132px);background:linear-gradient(145deg,#fff0b6,#ffc26a 60%,#ffa84a);border:5px solid #fff;outline:2px solid #ffb74a;box-shadow:0 8px 32px #7e420d45,0 0 0 10px #ffcf7026;animation:identity-start-call 2.2s ease-in-out infinite;will-change:transform}.game-identity-scene .brain-play svg{width:44%;height:44%;fill:#303369;filter:drop-shadow(0 1px 1px #fff8)}.game-identity-scene .brain-play::before,.game-identity-scene .brain-play::after{inset:-13px;border-width:3px;border-color:#ffbd59;animation:identity-start-ring 2.2s ease-out infinite}.game-identity-scene .brain-play::after{animation-delay:1.1s;border-color:var(--neural-primary)}@keyframes identity-start-call{0%,100%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(1.1)}}@keyframes identity-start-ring{0%{transform:scale(.98);opacity:.7}85%,100%{transform:scale(1.65);opacity:0}}@media(max-width:900px),(pointer:coarse){.game-identity-scene.identity-math .brain-play,.game-identity-scene.identity-geo .brain-play{width:98px;height:98px}}@media(max-height:640px) and (max-width:900px){.game-identity-scene.identity-math .brain-play,.game-identity-scene.identity-geo .brain-play{width:84px;height:84px}}@media(prefers-reduced-motion:reduce){.game-identity-scene .brain-play,.game-identity-scene .brain-play::before,.game-identity-scene .brain-play::after{animation:none!important;will-change:auto}.game-identity-scene .brain-play::before,.game-identity-scene .brain-play::after{opacity:0}}
.neural-entry:not(.has-daily-pending){grid-template-rows:auto minmax(145px,1fr) auto}.entry-daily-pending{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;margin:1px 0 0;padding:7px 12px;border:1px solid #eed8b7;border-radius:999px;background:#fff7e9;color:#82521b;font-size:.78rem;font-weight:650;line-height:1.4;text-align:center;align-self:start}.entry-daily-indicator{font-size:1rem;line-height:1;color:#a66b1c;flex-shrink:0}


@media(max-width:900px){
 #game-entry .neural-entry,#game-entry .brain-launch{touch-action:pan-y pinch-zoom}
 .entry-slide-next{animation:entry-slide-next .22s ease-out}
 .entry-slide-previous{animation:entry-slide-previous .22s ease-out}
}
@keyframes entry-slide-next{from{opacity:.65;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes entry-slide-previous{from{opacity:.65;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.entry-slide-next,.entry-slide-previous{animation:none}}
