body{margin:0;background:#0d1117;color:#dce8f5;font-family:Arial,Helvetica,sans-serif;line-height:1.55}.site-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#080c12;border-bottom:1px solid #244666;flex-wrap:wrap}.brand{font-size:22px;font-weight:800;color:#fff;text-decoration:none}.brand span{color:#4cc9ff}nav a{color:#dce8f5;text-decoration:none;margin:0 8px}.wrap{max-width:1120px;margin:auto;padding:28px}.hero,.article,.card{background:#141f2b;border:1px solid #244666;border-radius:16px;padding:20px;margin:16px 0}.hero{background:radial-gradient(circle at top,#143455,#0d1117)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.btn,button{display:inline-block;background:#1169a8;color:#fff;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;margin:4px;cursor:pointer}.gold{background:#b8891c}.red{background:#9f2d2d}.gray{background:#364759}input,textarea,select{width:100%;box-sizing:border-box;background:#09131d;color:#dce8f5;border:1px solid #244666;border-radius:8px;padding:10px;margin:4px 0 12px}.badge{display:inline-block;background:#1b3147;border-radius:999px;padding:4px 8px;margin:2px}.notice{padding:12px;border-radius:10px}.ok{background:#123a24}.err{background:#421719}footer{text-align:center;color:#8ea3b8;padding:30px;border-top:1px solid #244666}
.menu-toggle{display:none;background:#1169a8;color:#fff;border:0;border-radius:8px;padding:9px 12px}
.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.menu-group{position:relative;display:inline-block}
.menu-group>button{background:transparent;color:#dce8f5;border:0;padding:9px 10px;border-radius:8px;cursor:pointer;font:inherit}
.menu-group>button:hover,.main-nav>a:hover{background:#102235;color:#ffcc55}
.submenu{display:none;position:absolute;top:100%;left:0;background:#0a1017;border:1px solid #244666;border-radius:10px;min-width:190px;z-index:50;box-shadow:0 12px 30px rgba(0,0,0,.35);padding:8px}
.submenu a{display:block;margin:0;padding:9px 10px;border-radius:7px;white-space:nowrap}
.menu-group:hover .submenu,.menu-group:focus-within .submenu{display:block}
@media(max-width:800px){
  .menu-toggle{display:inline-block}
  .main-nav{display:none;width:100%;padding-top:12px;align-items:stretch}
  body.nav-open .main-nav{display:flex;flex-direction:column}
  .main-nav>a,.menu-group>button{display:block;width:100%;text-align:left}
  .menu-group{display:block}
  .submenu{position:static;display:block;box-shadow:none;border:0;background:#101925;margin-left:12px}
}

.brand img{display:block;width:min(470px,58vw);height:auto;object-fit:contain;background:#020508;border-radius:8px}.about-page{--panel:#121d29;--line:#28445e}.about-hero{position:relative;overflow:hidden;text-align:center;padding:64px 28px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 50% 0,#1b4e78 0,#101a25 45%,#0b1119 100%);box-shadow:0 30px 70px rgba(0,0,0,.28)}.about-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#63d8ff 1px,transparent 1px);background-size:42px 42px;opacity:.08;pointer-events:none}.about-wordmark{position:relative;z-index:1;width:min(720px,92vw);height:auto;object-fit:contain;border-radius:12px;background:#020508;filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}.about-hero h1{position:relative;z-index:1;font-size:clamp(2.2rem,6vw,4.6rem);line-height:1.02;max-width:900px;margin:16px auto}.about-hero .lead{position:relative;z-index:1;max-width:760px;margin:0 auto 24px;color:#b9cce0;font-size:1.16rem}.hero-actions{position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#e4b744;font-size:.78rem;font-weight:800}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:22px 0}.stat-grid article{background:linear-gradient(180deg,#172737,#101821);border:1px solid var(--line);border-radius:14px;padding:20px 12px;text-align:center}.stat-grid strong{display:block;font-size:2rem;color:#64d8ff}.stat-grid span{display:block;color:#94a9bd;font-size:.82rem}.about-section{margin:26px 0;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.about-section.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start}.about-section h2,.about-two-column h2{margin-top:0;font-size:clamp(1.7rem,3vw,2.5rem)}.about-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.studio-card{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px}.studio-card>img,.cover-placeholder{width:100%;height:190px;object-fit:cover;background:linear-gradient(135deg,#1c4c72,#9b7422);display:grid;place-items:center;font-weight:900;font-size:4rem}.studio-card>div:last-child{padding:20px}.pipeline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0}.pipeline span{background:#0a1520;border:1px solid #31526f;border-radius:999px;padding:10px 14px}.pipeline b{color:#e4b744}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tech-grid span{padding:18px;background:#0b1520;border:1px solid #28445e;border-radius:12px;text-align:center;font-weight:700}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.timeline article{border-left:3px solid #d6a62d;padding:10px 14px;background:#0b1520;border-radius:0 12px 12px 0}.timeline strong,.timeline span{display:block}.timeline strong{font-size:1.5rem;color:#62d8ff}.about-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.about-two-column>section{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.compact-item{padding:14px 0;border-bottom:1px solid #28445e}.compact-item h3{margin:6px 0}.copyright-panel{border-color:#86691f;background:linear-gradient(135deg,#191a18,#181711)}.about-cta{text-align:center;padding:44px 24px;border-radius:20px;background:linear-gradient(135deg,#173f5e,#4b3d16);margin:28px 0}.about-cta>strong{font-size:2rem;color:#fff}.about-cta h2{font-size:2.4rem;margin:8px 0 18px}@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(3,1fr)}.about-card-grid{grid-template-columns:1fr 1fr}.timeline,.tech-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.brand img{display:block;width:min(470px,58vw);height:auto;object-fit:contain;background:#020508;border-radius:8px}.about-section.split,.about-two-column{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.about-card-grid,.timeline,.tech-grid{grid-template-columns:1fr}.about-hero{padding:42px 18px}.about-section{padding:22px}}

/* v6.24 public account navigation */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-account-actions{display:flex;gap:8px;margin-left:8px}.nav-login,.nav-register{padding:9px 15px;border-radius:8px}.nav-login{border:1px solid #2a587c}.nav-register{background:linear-gradient(180deg,#1595ff,#0068d9);border:1px solid #1595ff;color:#fff!important;font-weight:700}.submenu-right{left:auto;right:0}.account-summary{padding:10px;border-bottom:1px solid #244666;margin-bottom:6px}.account-summary strong,.account-summary small{display:block}.account-summary small{color:#9bb0c4;margin-top:4px}.subscription-indicator{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.subscription-active{color:#72ed91;border:1px solid #238b49;background:#082d17}.subscription-expired{color:#ff9b9b;border:1px solid #8f2b2b;background:#321010}.admin-account-link{color:#ffd76d!important}.menu-toggle{display:none}@media(max-width:900px){.menu-toggle{display:inline-flex;padding:10px 14px;background:#0a68c8;color:#fff;border:1px solid #1595ff;border-radius:8px}.main-nav{display:none;width:100%;flex-direction:column;align-items:stretch}body.nav-open .main-nav{display:flex}.main-nav>a,.menu-group,.menu-group>button,.nav-account-actions{width:100%}.submenu,.submenu-right{display:none;position:static;width:100%;min-width:0;box-shadow:none}.menu-group.open .submenu{display:block}.nav-account-actions{margin-left:0;flex-direction:column}.nav-account-actions>a{width:100%}}


/* v6.31.12 notification preferences */
.notification-choice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px;
  margin:10px 0;
  border:1px solid var(--tg-border-soft);
  border-radius:10px;
  background:var(--tg-surface-raised);
}

.notification-choice input{
  width:auto;
  min-height:auto;
  margin-top:4px;
}

.notification-choice span{
  display:grid;
  gap:4px;
}

.notification-choice small{
  color:var(--tg-text-secondary);
}


/* v6.32.1 community edition */
.community-profile-hero{display:flex;gap:24px;align-items:center}
.community-avatar{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:var(--tg-surface-raised);border:2px solid var(--tg-primary);font-size:2.4rem;font-weight:900;overflow:hidden;flex:0 0 auto}
.community-avatar img{width:100%;height:100%;object-fit:cover}
.community-avatar.small{width:56px;height:56px;font-size:1.3rem}
.community-player-grid,.community-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.community-player-card,.community-game-card{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid var(--tg-border-soft);border-radius:12px;background:var(--tg-surface-raised);text-decoration:none;color:var(--tg-text)}
.community-collection-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;padding:16px;border:1px solid var(--tg-border-soft);border-radius:12px}
.community-collection-actions h2{width:100%;margin:0 0 5px}
.community-collection-actions form{display:inline}
@media(max-width:650px){.community-profile-hero{align-items:flex-start;flex-direction:column}}


/* v7.1.4 encyclopedia museum */
.encyclopedia-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:12px;border:1px solid var(--tg-border-soft);border-radius:12px;background:var(--tg-surface-raised)}
.encyclopedia-tabs a{text-decoration:none;padding:8px 12px;border-radius:8px}
.encyclopedia-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.encyclopedia-media-grid figure{margin:0;padding:12px;border:1px solid var(--tg-border-soft);border-radius:10px;background:var(--tg-surface-raised)}
.encyclopedia-media-grid img{width:100%;height:180px;object-fit:cover;border-radius:8px}
.encyclopedia-media-grid figcaption{margin-top:8px}


/* v7.2.0 encyclopedia search graph */
.encyclopedia-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.encyclopedia-search-results{display:grid;gap:12px}
.encyclopedia-search-card{display:grid;gap:6px;padding:14px;border:1px solid var(--tg-border-soft);border-radius:12px;text-decoration:none;background:var(--tg-surface-raised)}
.knowledge-graph{position:relative;min-height:620px;border:1px solid var(--tg-border-soft);border-radius:14px;background:var(--tg-surface-raised);overflow:auto}
.graph-node{position:absolute;transform:translate(-50%,-50%);padding:10px 14px;border-radius:999px;text-decoration:none;border:1px solid var(--tg-border-soft);background:var(--tg-surface)}
.graph-game{font-weight:800}
.graph-edge-list{position:absolute;left:20px;bottom:20px;right:20px;max-height:180px;overflow:auto;padding:16px 28px;background:var(--tg-surface);border-radius:10px}


/* v8.5.1 navigation cleanup */
.submenu-heading{display:block;padding:8px 10px 5px;color:#7fa6c8;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.submenu-columns{display:none;grid-template-columns:repeat(4,minmax(165px,1fr));gap:8px;min-width:min(760px,calc(100vw - 32px));padding:12px}
.menu-group-wide:hover .submenu-columns,.menu-group-wide:focus-within .submenu-columns,.menu-group-wide.open .submenu-columns{display:grid}
.menu-group.open>.submenu{display:block}
.menu-group>button[aria-expanded="true"]{background:#102235;color:#ffcc55}
@media(max-width:1100px){.submenu-columns{grid-template-columns:repeat(2,minmax(180px,1fr));min-width:min(430px,calc(100vw - 32px))}}
@media(max-width:900px){
 .submenu-heading{padding-left:12px}
 .submenu-columns,.menu-group-wide:hover .submenu-columns,.menu-group-wide:focus-within .submenu-columns{display:none;grid-template-columns:1fr;min-width:0}
 .menu-group-wide.open .submenu-columns{display:grid}
 .submenu-columns>div{border-top:1px solid #20374e;padding-top:4px}
 .main-nav{max-height:calc(100vh - 90px);overflow:auto;padding-bottom:18px}
}

/* Game browser cover art. The cover is capped to a fixed 120px height and
   scales down proportionally (width follows the aspect ratio), centred in a
   panel inside the tile. The cap makes the artwork read as a thumbnail on
   every screen size, including phones where the grid collapses to a single
   full-width column. The lettered placeholder uses the same height so tiles
   stay even. */
.grid>.card{min-width:0}
.game-cover-link{display:flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;margin:0 0 14px;padding:10px;border-radius:14px;overflow:hidden;background:#0b1520;border:1px solid rgba(255,255,255,.12)}
.game-cover-art{display:block;width:auto;height:auto;max-width:100%;max-height:120px;border-radius:8px}
.card .game-art{display:grid;place-items:center;width:100%;height:120px;border-radius:8px;font-family:Orbitron,"Segoe UI",sans-serif;font-size:2.4rem;font-weight:900;letter-spacing:.14em;color:#eefcff;text-shadow:0 0 18px rgba(0,216,255,.35);background:radial-gradient(circle at 28% 18%,rgba(243,194,79,.32),transparent 30%),linear-gradient(135deg,rgba(0,216,255,.22),rgba(47,125,255,.08) 50%,rgba(243,194,79,.12))}
.game-cover-link:hover .game-cover-art,.game-cover-link:hover .game-art{filter:brightness(1.08)}

/* Game detail page cover. Larger than the 120px browser thumbnail but still
   height-capped so tall box art cannot dominate the hero; scales down
   proportionally and stays centred at every width. */
.game-detail-cover{display:flex;justify-content:center;box-sizing:border-box;max-width:100%;margin:0 0 18px;padding:12px;border-radius:14px;background:#0b1520;border:1px solid rgba(255,255,255,.12)}
.game-detail-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:360px;border-radius:8px}
