:root {
 --bg: #0d1618;
 --ink: #0d1618;
 --paper: #f1f3ef;
 --muted: #a7b5b9;
 --line: rgba(241, 243, 239, .13);
 --cyan: #66cbd0;
 --lime: #80d4d2;
 --site-width: 1180px;
 --header-height: 76px;
}
body { font-family: Inter, system-ui, sans-serif; letter-spacing: 0; }
.site-header { position: sticky; top: 0; z-index: 40; height: var(--header-height); background: #091115; border-bottom: 1px solid var(--line); }
.site-header-inner { width: min(var(--site-width), calc(100% - 48px)); height: 100%; margin: auto; display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; align-items: center; gap: 24px; }
.site-brand { display: flex; align-items: center; width: 112px; height: 56px; }
.site-brand img { width: 112px; height: 56px; object-fit: contain; }
.site-nav { display: flex; align-items: center; justify-content: center; gap: 24px; height: 100%; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #c2cdd0; font-size: 13px; font-weight: 700; line-height: 1.4; text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; }
.site-nav a:hover, .site-nav a[aria-current] { color: var(--cyan); }
.site-nav a[aria-current] { border-bottom-color: var(--cyan); }
.site-actions { display: flex; align-items: center; gap: 16px; }
.site-languages { display: flex; gap: 2px; }
.site-languages a { display: grid; place-items: center; width: 30px; height: 36px; border-radius: 4px; color: var(--muted); font-size: 11px; font-weight: 650; text-decoration: none; }
.site-languages a:hover, .site-languages a[aria-current] { background: #19353c; color: var(--cyan); }
.site-account { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 36px; padding: 8px 12px; border: 1px solid #40868f; border-radius: 4px; color: var(--paper); font-size: 12px; font-weight: 650; line-height: 1.4; text-decoration: none; }
.site-account:hover { background: #19353c; }
.site-header a:focus-visible { outline: 3px solid #ffd667; outline-offset: 3px; }
.shop-page, .vote-main, .rankings-page { width: min(var(--site-width), calc(100% - 48px)); max-width: none; margin: 0 auto; padding: 44px 0 80px; }
.shop-page h1, .vote-main h1, .rankings-summary h1, .wiki-content h1 { margin: 0 0 12px; font-family: inherit; font-size: 32px; line-height: 1.25; letter-spacing: 0; }
.shop-page h2, .vote-main h2 { font-size: 20px; line-height: 1.4; }
.rankings-summary { margin-bottom: 28px; }
.rankings-summary > p:not(.content-kicker) { color: var(--muted); font-size: 16px; }
.wiki-layout { max-width: var(--site-width); margin: auto; grid-template-columns: 240px minmax(0, 720px) 220px; min-height: calc(100dvh - var(--header-height)); }
.wiki-sidebar, .wiki-toc { top: var(--header-height); height: calc(100dvh - var(--header-height)); }
.wiki-sidebar { padding: 26px 16px 24px 0; }
.wiki-search { flex-shrink: 0; margin: 0 0 16px; }
.wiki-search input { font-size: 12px; }
.wiki-content { padding: 44px 36px 80px; }
.wiki-toc { padding-right: 0; }
.content-footer { background: #091115; }
.portal-hero > .portal-online { margin-bottom: 8px; }
.portal-hero > .portal-online > span:last-child { display: inline; }
.portal-body { grid-template-rows: auto var(--header-height) minmax(0, 1fr); }
.beta-banner { background: #182c32; border-bottom-color: var(--line); }
.beta-badge { background: #80d4d2; color: #092225; letter-spacing: 0; border-radius: 4px; }
.beta-banner p { font-size: 12px; font-weight: 500; }
@media (max-width: 1228px) {
 .wiki-layout { margin-inline: 24px; grid-template-columns: 220px minmax(0, 1fr); }
 .wiki-toc { display: none; }
}
@media (max-width: 900px) {
 :root { --header-height: 112px; }
 .site-header-inner { grid-template-columns: 112px 1fr; grid-template-rows: 60px 52px; gap: 0 16px; }
 .site-actions { justify-self: end; }
 .site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; gap: 12px; }
}
@media (max-width: 800px) {
 .wiki-layout { display: block; margin: 0; }
 .wiki-sidebar { position: static; height: auto; padding: 20px 24px; }
 .wiki-content { padding: 30px 24px 60px; }
 .wiki-search { max-width: 480px; }
}
@media (max-width: 560px) {
 .site-header-inner, .shop-page, .vote-main, .rankings-page { width: calc(100% - 32px); }
 .site-header-inner { grid-template-columns: 100px 1fr; }
 .site-brand, .site-brand img { width: 100px; height: 50px; }
 .site-actions { gap: 8px; }
 .site-languages a { width: 26px; }
 .site-account { min-width: 66px; padding-inline: 8px; }
 .site-nav { justify-content: flex-start; gap: 16px; overflow-x: auto; scrollbar-width: thin; }
 .site-nav a { font-size: 11px; }
 .shop-page, .vote-main, .rankings-page { padding: 30px 0 60px; }
 .shop-page h1, .vote-main h1, .rankings-summary h1, .wiki-content h1 { font-size: 27px; }
 .wiki-content, .wiki-sidebar { padding-inline: 16px; }
}
