/* Illustrated game portal: approved character art and quiet Ki motion. */
.browser-portal .portal-navigation{border-bottom:3px solid #608c9b;box-shadow:inset 0 -1px #c3d3c7,0 5px #061826;position:relative;z-index:2}
.browser-portal .portal-hero{grid-template-columns:minmax(0,1fr) 390px;gap:28px;padding-top:40px;background:radial-gradient(ellipse at 75% 0,#214e5b,transparent 70%)}
.browser-portal .portal-welcome{border-radius:0;border:2px solid #628997;box-shadow:inset 0 0 0 4px #061722,0 5px #061a26;min-height:610px;background-position:center,32% 32%;isolation:isolate}
.portal-welcome:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 32% 32%,#faf3b225,transparent 45%);animation:portal-ki-glow 5s ease-in-out infinite alternate}
.portal-welcome:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#fff4c6 0 1px,transparent 2px),radial-gradient(circle,#bcecf0 0 1px,transparent 2px);background-size:83px 127px,171px 223px;opacity:.4;animation:portal-ki-rise 12s linear infinite}
.browser-portal .portal-headline{padding-top:175px}.browser-portal .portal-headline h1{font-style:italic;font-weight:900;text-shadow:2px 3px #071b2c,0 0 28px #041b2c;letter-spacing:-1.5px}
.browser-portal .hero-kicker{font-size:11px;padding:8px 12px;align-self:flex-start;background:#061b2bc9;border-left:3px solid #eabb6e}
.browser-portal .hero-badges{padding:10px 14px;gap:8px;background:#081d2bec}.hero-badges a{display:flex;align-items:center;gap:8px;flex:1;min-width:125px;font-size:9px;font-weight:800;color:#e6e4ce}.hero-badges img{width:32px;height:38px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 2px #000)}
.browser-portal .play-card{position:relative;border-radius:0;border:2px solid #78a0aa;border-top:4px solid #b6d0c9;box-shadow:0 0 0 2px #071722,inset 0 0 0 3px #274a59,0 7px #061a27;background:#112f3b}
.browser-portal .play-card:before,.browser-portal .play-card:after{content:'';position:absolute;top:5px;width:6px;height:6px;border:1px solid #afcfc8;background:#153444;box-shadow:1px 1px #020b14;z-index:3;pointer-events:none}.browser-portal .play-card:before{left:5px}.browser-portal .play-card:after{right:5px}
.browser-portal .play-heading{position:relative;min-height:148px;padding:18px 16px 10px;gap:12px;background:linear-gradient(115deg,#112937,#204657 66%,#173544);border-bottom:1px solid #60828a;overflow:hidden;isolation:isolate}
.play-heading:before{content:'';position:absolute;width:200px;height:200px;left:-35px;top:-20px;border:1px solid #88c6c53d;border-radius:50%;box-shadow:0 0 0 15px #85bac00b,0 0 0 30px #85bac00b;z-index:-1}
.browser-portal .play-heading .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.1em;color:#b1d6d4}.browser-portal .play-heading h2{font-size:30px;line-height:1.05;font-style:italic;color:#f9e6b9;text-shadow:2px 3px #071a28;letter-spacing:-.5px}
.browser-portal .play-glyph{position:relative;width:106px;height:124px;flex:0 0 106px;background:transparent;border:0;border-radius:0;isolation:isolate;overflow:visible}
.play-glyph img{width:112px;height:128px;max-width:none;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(2px 3px #05131d);z-index:1}
.play-glyph i{position:absolute;inset:6px -3px 5px;background:radial-gradient(ellipse,#fde59a80,transparent 65%);filter:blur(3px);animation:portal-ki-glow 2.4s ease-in-out infinite alternate}
.play-glyph b{position:absolute;bottom:0;right:0;z-index:2;width:24px;height:24px;border-radius:50%;border:2px solid #ffda82;background:#e99527;color:#27313b;font-size:17px;line-height:24px;text-align:center;box-shadow:2px 2px #071927}
.browser-portal .play-description{font-size:12px;margin:15px 22px 4px;color:#bbd3d6}.browser-portal .play-footer{padding:12px 22px;background:#0a2432;font-size:11px}
.browser-portal :is(.button,.nav-play,.ticker-filters button,.news-filters button,.gallery-tabs button,.system-tabs button,.hero-discover){position:relative;border-radius:0;border:1px solid #9babb0;background:linear-gradient(#325363 0 48%,#173441 49%);box-shadow:inset 0 2px #dce8d62e,inset 0 -3px #06151f,0 2px #061723;color:#e2e7d8;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);transition:filter .18s,translate .18s}
.browser-portal :is(.button,.nav-play){background:linear-gradient(#fbd08b 0 45%,#d99b50 46%);border-color:#ffe6b2;color:#182b37;text-shadow:0 1px #ffeabd;font-weight:850;padding:15px 20px}
.browser-portal .hero-discover{display:inline-flex;padding:10px 18px;border-color:#839e9f}.browser-portal :is(.button,.nav-play,.hero-discover):hover{filter:brightness(1.13);translate:0 -2px}.browser-portal :is(.ticker-filters,.news-filters) button[aria-pressed=true]{background:linear-gradient(#635633,#35342a);border-color:#d5bb78;color:#ffe3a3}
.browser-portal .portal-shortcuts{background:#112b3a;border:1px solid #6a8995;box-shadow:inset 0 0 0 3px #081c29}.browser-portal .portal-shortcuts a{transition:background .2s,translate .2s}.browser-portal .portal-shortcuts a:hover{background:#224658;translate:3px 0}
.browser-portal :is(.ticker-panel,.news-panel){border-radius:0;border:2px solid #63818b;box-shadow:0 4px #071c29}.browser-portal .board-heading{background:linear-gradient(#294655,#183443);border-bottom:2px solid #7b999a}
@keyframes portal-ki-rise{to{background-position:0 -127px,0 -223px}}
@keyframes portal-ki-glow{from{opacity:.4;scale:.95}to{opacity:1;scale:1.04}}
@media(max-width:1000px){.browser-portal .portal-hero{grid-template-columns:1fr 350px;gap:20px}.browser-portal .play-heading h2{font-size:27px}.browser-portal .play-glyph{width:92px;flex-basis:92px}.play-glyph img{width:100px}.browser-portal .portal-headline h1{font-size:38px}}
@media(max-width:760px){.browser-portal .portal-hero{grid-template-columns:1fr;padding:20px 18px;gap:24px}.browser-portal .portal-welcome{min-height:480px}.browser-portal .portal-headline{padding-top:150px}.browser-portal .play-card{width:100%;box-sizing:border-box}.browser-portal .play-heading{padding-inline:24px;justify-content:center}.browser-portal .hero-badges{gap:12px}.hero-badges a{min-width:130px}.browser-portal .play-heading h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.portal-welcome:before,.portal-welcome:after,.play-glyph i{animation:none}.browser-portal :is(a,button){transition:none}}