:root{--portal-max:1240px;--portal-radius:22px;--portal-gap:1.15rem;--portal-panel:linear-gradient(180deg,rgba(24,39,55,.94),rgba(12,23,34,.96));--portal-border:rgba(145,184,216,.20);--portal-shadow:0 22px 60px rgba(0,0,0,.26)}
.site-main{min-height:60vh}.portal-page{max-width:var(--portal-max);padding-top:1.5rem;padding-bottom:4rem}
.portal-shell-bar{position:sticky;top:var(--header-height,72px);z-index:900;border-bottom:1px solid var(--portal-border);background:color-mix(in srgb,var(--tg-bg-elevated,#080c12) 94%,transparent);backdrop-filter:blur(16px)}
.portal-shell-bar-inner{display:flex;align-items:center;gap:1rem;min-height:54px}.portal-shell-name{white-space:nowrap;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tg-text-muted,#a8bac9)}
.portal-subnav{display:flex;gap:.35rem;flex-wrap:wrap;margin:0;padding:.45rem 0;border:0;max-width:none}.portal-subnav a{padding:.48rem .72rem;border-radius:999px;color:var(--tg-text-muted,#b8c7d4);text-decoration:none;font-weight:700;font-size:.9rem}.portal-subnav a:hover,.portal-subnav a.active{color:var(--tg-text,#fff);background:rgba(255,255,255,.08)}
.portal-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:2rem;min-height:390px;padding:clamp(2rem,6vw,4.8rem);overflow:hidden;border:1px solid var(--portal-border);border-radius:28px;background:radial-gradient(circle at 85% 18%,rgba(47,156,255,.18),transparent 34%),linear-gradient(135deg,rgba(15,31,47,.98),rgba(6,14,23,.98));box-shadow:var(--portal-shadow)}
.portal-hero:before{content:"";position:absolute;inset:auto -10% -45% 35%;height:80%;background:radial-gradient(circle,rgba(243,194,79,.09),transparent 68%);pointer-events:none}.portal-hero-copy{position:relative;z-index:1}.portal-hero h1{max-width:850px;margin:.2rem 0 .9rem;font-size:clamp(2.7rem,7vw,5.8rem);line-height:.98;letter-spacing:-.04em}.portal-hero p:not(.eyebrow){max-width:760px;font-size:clamp(1rem,2vw,1.22rem);line-height:1.65}.portal-hero-mark{display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:32px;background:rgba(255,255,255,.04);font-size:clamp(4rem,9vw,7rem);font-weight:900;color:rgba(255,255,255,.12);box-shadow:inset 0 0 40px rgba(255,255,255,.03)}
.portal-tife .portal-hero{background:radial-gradient(circle at 85% 18%,rgba(53,255,160,.13),transparent 34%),linear-gradient(135deg,rgba(13,36,31,.98),rgba(6,14,20,.98))}.portal-exploration .portal-hero{background:radial-gradient(circle at 85% 18%,rgba(243,194,79,.14),transparent 34%),linear-gradient(135deg,rgba(39,29,18,.98),rgba(9,14,20,.98))}
.portal-section{margin-top:clamp(2.5rem,6vw,4.5rem)}.portal-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--portal-gap);margin:1.5rem 0}.portal-card{display:flex;flex-direction:column;min-height:230px;padding:1.45rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-panel);box-shadow:0 14px 34px rgba(0,0,0,.16);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.portal-card:hover{transform:translateY(-4px);border-color:rgba(47,156,255,.55);box-shadow:0 24px 44px rgba(0,0,0,.25)}.portal-card h2,.portal-card h3{margin:.45rem 0 .65rem}.portal-card p{flex:1;line-height:1.6}.portal-card-kicker{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--gold,#f3c24f)}
.portal-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--portal-gap);margin:1.25rem 0 0}.portal-quick-grid a{display:flex;flex-direction:column;gap:.28rem;padding:1rem 1.15rem;border:1px solid var(--portal-border);border-radius:16px;background:rgba(255,255,255,.035);text-decoration:none}.portal-quick-grid span{color:var(--tg-text-muted,#aebdcc);font-size:.9rem}
.portal-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--portal-gap);margin:2rem 0}.portal-status-grid div{padding:1rem 1.15rem;border:1px solid var(--portal-border);border-radius:16px;background:rgba(255,255,255,.035)}.portal-status-grid span,.portal-status-grid strong{display:block}.portal-status-grid span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tg-text-muted,#aebdcc)}.portal-status-grid strong{margin-top:.25rem;font-size:1.15rem}
.portal-module-grid .portal-card{min-height:250px}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
@media(max-width:980px){.portal-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-hero{grid-template-columns:1fr}.portal-hero-mark{display:none}.portal-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.portal-shell-bar{position:relative;top:auto}.portal-shell-bar-inner{align-items:flex-start;flex-direction:column;padding-top:.7rem;padding-bottom:.7rem}.portal-subnav{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:.2rem}.portal-subnav a{white-space:nowrap}.portal-page{padding-top:1rem}.portal-hero{min-height:auto;padding:2rem 1.25rem;border-radius:20px}.portal-card-grid,.portal-quick-grid,.portal-status-grid{grid-template-columns:1fr}.portal-card{min-height:0}.hero-actions .btn{width:100%;text-align:center}}
/* v13.0.5 homepage and Game Portal alignment */
.portal-home .portal-hero{background:radial-gradient(circle at 85% 18%,rgba(137,109,255,.16),transparent 34%),linear-gradient(135deg,rgba(27,23,49,.98),rgba(7,14,24,.98))}
.portal-home .portal-destination-grid{margin-top:clamp(2.5rem,6vw,4.5rem)}
.portal-card-link{display:block;margin-top:1rem;color:var(--gold,#f3c24f)}
.portal-home .portal-card h2,.portal-game .portal-card h2{font-size:1.55rem}
.portal-home .portal-card-grid,.portal-game .portal-card-grid{align-items:stretch}
.portal-home .portal-section:last-child,.portal-game .portal-module-grid:last-child{margin-bottom:0}

/* v13.0.11 branded portal logos */
.portal-hero-logo{padding:0;overflow:hidden;background:rgba(3,10,18,.52)}
.portal-hero-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:.4rem;filter:drop-shadow(0 12px 24px rgba(0,0,0,.34))}
.portal-destination-card{position:relative;padding-top:1.25rem}
.portal-card-logo{display:block;width:112px;height:112px;margin:0 auto .75rem;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.32));transition:transform .2s ease}
.portal-destination-card:hover .portal-card-logo{transform:scale(1.045)}
.portal-destination-card .portal-card-kicker,.portal-destination-card h2{text-align:center}
@media(max-width:760px){.portal-card-logo{width:96px;height:96px}}


/* v13.0.12 featured game cover art */
.portal-game-grid{align-items:stretch}
.portal-featured-game{padding:0;overflow:hidden;min-height:0}
.portal-game-cover{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-bottom:1px solid var(--portal-border);background:linear-gradient(145deg,rgba(18,34,50,.98),rgba(5,11,18,.98));text-decoration:none}
.portal-game-cover>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .24s ease,filter .24s ease}
.portal-featured-game:hover .portal-game-cover>img{transform:scale(1.035);filter:brightness(1.06)}
.portal-game-cover>em{position:absolute;left:.8rem;bottom:.8rem;padding:.35rem .58rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(3,9,15,.82);backdrop-filter:blur(8px);color:#fff;font-size:.7rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.portal-game-cover-fallback{object-fit:contain!important;padding:18%;opacity:.78}
.portal-game-cover>span{position:absolute;left:0;right:0;bottom:3.15rem;text-align:center;color:var(--tg-text-muted,#aebdcc);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.portal-featured-game-body{display:flex;flex:1;flex-direction:column;padding:1.25rem 1.35rem 1.4rem}
.portal-featured-game-body h3{margin:.4rem 0 .62rem;font-size:1.35rem}
.portal-featured-game-body h3 a{color:inherit;text-decoration:none}
.portal-featured-game-body h3 a:hover{color:var(--gold,#f3c24f)}
.portal-featured-game-body p{flex:1}
@media(max-width:980px){.portal-game-cover{aspect-ratio:16/10}}
@media(max-width:760px){.portal-game-cover{aspect-ratio:16/10}.portal-featured-game-body{padding:1.1rem}}

/* v13.0.13 TIFE Adventure Library cover art */
.tife-adventure-browser{align-items:stretch}
.portal-adventure-card{padding:0;overflow:hidden;min-height:0}
.portal-adventure-cover{background:radial-gradient(circle at 50% 18%,rgba(53,255,160,.13),transparent 42%),linear-gradient(145deg,rgba(13,36,31,.98),rgba(5,12,17,.98))}
.portal-adventure-card:hover .portal-adventure-cover>img{transform:scale(1.035);filter:brightness(1.06)}
.portal-adventure-card .catalog-stats{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.3rem;color:var(--tg-text-muted,#aebdcc);font-size:.82rem}
.portal-adventure-card .portal-featured-game-body{min-height:245px}
@media(max-width:980px){.tife-adventure-browser .portal-game-cover{aspect-ratio:3/4}}
@media(max-width:760px){.tife-adventure-browser .portal-game-cover{aspect-ratio:16/10}.portal-adventure-card .portal-featured-game-body{min-height:0}}
