/* Shared presentation layer. Keep game, account and moderation behavior independent. */
:root {
  color-scheme: dark;
  --bg: #0d0b14;
  --ink: #f5f2fb;
  --muted: #b9b2c8;
  --quiet: #a49bb6;
  --purple: #bb91f5;
  --purple2: #d6b8ff;
  --line: #30293e;
  --surface: #17131f;
  --surface-raised: #201a2c;
  --focus: #d6b8ff;
}
html { height: auto; min-height: 100%; scroll-padding-top: 24px; }
body { height: auto; min-height: 100vh; overflow: auto; font-size: 16px; line-height: 1.6; background: var(--bg); }
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
[hidden] { display: none !important; }
a { text-underline-offset: 4px; }
:focus-visible { outline: 3px solid var(--focus) !important; outline-offset: 4px; }
input:focus-visible, textarea:focus-visible { outline-offset: 2px; }
.icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 20px; vertical-align: middle; color: currentColor; }
svg.icon { overflow: visible; }
.skip-link { position: fixed; z-index: 100; left: 20px; top: -90px; padding: 12px 20px; border-radius: 8px; background: #e1caff; color: #211333; font-weight: 700; }
.skip-link:focus { top: 14px; }
.clipboard-copy { position: fixed; inset: 0 auto auto 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
main:focus { outline: none; }
.scene { background: var(--bg); }
.scene-image { animation: none; }
.grain, .scene-glow { display: none; }
.stats-scene .scene-image { opacity: .16; filter: saturate(.5) brightness(.5); }
.stats-scene .scene-vignette { background: linear-gradient(180deg, #100d18a6, #0d0b14 680px); }
.stats-page { background: var(--bg); }
.stats-shell, .admin-page .stats-shell, .wiki-directory-shell, .wiki-article-shell {
  width: min(1280px, 100%); margin-inline: auto; padding: 0 36px 28px; gap: 32px;
}
.stats-shell > *, .store-shell > * { min-width: 0; }
.store-shell { align-items: stretch; }
.store-shell > * { width: 100%; }
.site-header {
  width: 100%; min-height: 94px; display: flex; align-items: center; justify-content: space-between;
  gap: 24px; border-bottom: 1px solid var(--line); padding-block: 18px;
}
.site-header .brand { font-size: 23px; gap: 11px; letter-spacing: -.045em; }
.site-header .brand-skull { width: 37px; height: 37px; background: linear-gradient(145deg,#776383,#252030); }
.site-header .brand em { color: #c89dfb; }
.site-nav { display: flex; align-items: center; gap: 6px; }
.site-nav a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 15px; border-radius: 9px; color: #c1b8cf; font-size: 14px; font-weight: 600; }
.site-nav a:hover { color: #fff; background: #231a31; }
.site-nav a[aria-current="page"] { color: #e1c8ff; background: #2a1e3b; }
.site-nav .icon { width: 18px; height: 18px; flex-basis: 18px; }
.header-play { display: inline-flex; align-items: center; gap: 8px; padding: 10px 15px; min-height: 44px; border: 1px solid #58406f; border-radius: 9px; color: #e5d3fc; font-size: 14px; font-weight: 650; background: #23172f; }
.header-play:hover { background: #352244; border-color: #bb91f5; }
.site-footer { width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 32px; border-top: 1px solid var(--line); color: var(--quiet); }
.site-footer > div { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.footer-brand { font-size: 18px; font-weight: 800; color: #e8dcf7; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.site-footer nav a { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 13px; min-height: 36px; }
.site-footer a:hover { color: #ead7ff; text-decoration: underline; }
.site-footer p { width: 100%; margin: 0; font-size: 12px; color: var(--quiet); }
.panel, .store-card { background: var(--surface); border: 1px solid var(--line); box-shadow: 0 10px 30px #00000012; backdrop-filter: none; border-radius: 16px; }
.panel { padding: 26px; }
.stats-title small, .store-eyebrow, .wiki-hero > small { color: #c6a9e9; font-size: 12px; font-weight: 750; letter-spacing: .12em; }
.stats-title h1, .store-hero h1, .wiki-hero h1, .landing-intro h1 { font-family: inherit; font-weight: 800; line-height: 1.08; letter-spacing: -.045em; }
.stats-title h1 { font-size: clamp(38px, 5.2vw, 66px); }
.stats-title h1 span, .wiki-hero h1 span, .landing-intro h1 span { color: #c6a0f4; }
.stats-title p { margin: 18px 0 0; font-size: 16px; line-height: 1.75; color: var(--muted); max-width: 60ch; }
.stats-hero { width: 100%; margin: 24px auto 0; gap: 28px; grid-template-columns: minmax(0,1fr) minmax(280px,400px); }
.muted-copy, .profile-empty p { font-size: 15px; line-height: 1.75; color: var(--muted); }
.lookup-status, .stats-note, .purchase-note { font-size: 13px; color: var(--muted); line-height: 1.65; }
.panel-head { flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.panel-head h2, .panel-head h3, .leaderboard-page-panel .panel-head h2 { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; letter-spacing: .07em; color: #ede4f7; }
.panel-head span { color: var(--quiet); font-size: 11px; letter-spacing: .04em; }
.lookup, .leader-search, .purchase-row, .admin-login-row { gap: 10px; }
.lookup { position: relative; border-radius: 12px; border-color: var(--line); background: #15111e; padding: 7px; }
.lookup input, .leader-search input, .purchase-row input, .admin-login input, .admin-player-search input, .admin-note {
  font-size: 16px; line-height: 1.5; color: var(--ink); padding: 13px 15px; background: #100d17; border-color: #4a3c5b; border-radius: 9px;
}
input::placeholder, textarea::placeholder { color: #a99dbb; opacity: 1; }
.lookup button, .leader-search button, .purchase-row button, .admin-login button, .admin-controls button, .admin-detail button, .admin-player-search button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px;
  padding: 12px 17px; border-radius: 9px; background: #bc92ef; color: #21132f; font-size: 12px; font-weight: 800; letter-spacing: .025em;
}
.lookup button:hover, .leader-search button:hover, .purchase-row button:hover, .admin-controls button:hover { background: #d2b2fa; transform: none; box-shadow: none; }
.lookup button .icon, .purchase-row button .icon { width: 18px; height: 18px; flex-basis: 18px; }
.suggestions { top: calc(100% + 7px); border-color: #5b4375; background: #1b1426; border-radius: 10px; }
.suggestion-option { padding: 14px; min-height: 48px; }
.suggestion-option strong { font-size: 15px; }
.suggestion-option span { color: var(--muted); font-size: 11px; }

/* Home: spacious hero, clear destinations and restrained animation. */
.landing-page .menu { display: flex; flex-direction: column; width: min(1400px,100%); margin-inline: auto; padding: 0 36px 28px; gap: 26px; }
.landing-content { width: 100%; padding: 24px 0 0; }
.landing-intro { max-width: 840px; margin-bottom: 36px; }
.landing-intro > small { font-size: 12px; letter-spacing: .15em; color: #d3b7f3; }
.landing-news { display: flex; width: fit-content; max-width: 100%; align-items: center; gap: 10px; margin-bottom: 22px; padding: 5px 14px 5px 5px; border: 1px solid #5b4675; border-radius: 999px; background: #1c1424cc; color: #e6dcf2; font-size: 14px; text-decoration: none; transition: border-color .18s, background .18s; }
.landing-news b { flex: none; padding: 3px 10px; border-radius: 999px; background: #b58ae0; color: #1a0f26; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.landing-news span { min-width: 0; }
.landing-news .icon { flex: none; width: 16px; height: 16px; color: #c9a6ee; transition: transform .18s; }
.landing-news:hover, .landing-news:focus-visible { border-color: #a77acf; background: #271b33; }
.landing-news:hover .icon, .landing-news:focus-visible .icon { transform: translateX(3px); }
.landing-intro h1 { margin: 16px 0 20px; font-size: clamp(42px,5.6vw,80px); }
.landing-intro p { color: #d0c6dc; font-size: 17px; line-height: 1.8; max-width: 64ch; }
.landing-page .scene-image { filter: saturate(.7) brightness(.38); transform: none; background-position: center 35%; }
.landing-page .scene-image::after { background: linear-gradient(90deg,#0d0b14ed,#0d0b1444),linear-gradient(0deg,#0d0b14,transparent); }
.landing-page .choices { border: 0; background: none; box-shadow: none; backdrop-filter: none; gap: 14px; overflow: visible; }
.landing-page .choice { min-height: 244px; padding: 24px; border: 1px solid #57436d; border-radius: 15px; background: #1c1424e8; transition: border-color .18s,background .18s; }
.landing-page .choice-play { background: linear-gradient(140deg,#54326c,#2e203f); border-color: #a77acf; }
.landing-page .choice-stats { border-color: #34515d; }
.landing-page .choice-store { border-color: #674263; }
.landing-page .choices:has(.choice:hover) .choice:not(:hover) { filter: none; }
.landing-page .choice:hover, .landing-page .choice:focus-visible { border-color: #d1a8ff; background: #32213f; }
.landing-page .choice::after, .landing-page .choice::before { display: none; }
.landing-page .choice-number { top: 22px; left: 24px; color: #d9b8fb; }
.landing-page .choice-number .icon { width: 30px; height: 30px; }
.landing-page .choice-stats .choice-number { color: #8cd8dc; }
.landing-page .choice-store .choice-number { color: #e5adda; }
.landing-page .choice-arrow { top: 19px; right: 19px; border: none; color: #c9b9d9; }
.landing-page .choice:hover .choice-arrow { transform: translateX(3px); background: transparent; }
.landing-page .choice-content small { font-size: 10px; letter-spacing: .09em; color: #cfbddf; margin-bottom: 10px; }
.landing-page .choice-content strong { font-family: inherit; font-size: clamp(30px,3vw,43px); font-weight: 800; letter-spacing: -.035em; line-height: 1.12; }
.landing-page .choice-sub { font-size: 14px; color: #cfc3dc; margin-top: 10px; }
.landing-page .choice:hover .choice-content strong, .landing-page .choice:hover .choice-sub { transform: none; text-shadow: none; }
.landing-highlights { gap: 22px; margin-top: 30px; }
.landing-highlights > a { padding: 22px 0 16px; background: none; gap: 10px; align-content: start; }
.landing-highlights > a:hover { background: none; }
.landing-highlights span { display: flex; align-items: center; gap: 9px; font-size: 12px; letter-spacing: .06em; color: #c8a6e8; }
.landing-highlights strong { font-size: 20px; }
.landing-highlights small { font-size: 14px; line-height: 1.75; color: #c5b9d3; }
.landing-page .status { font-size: 11px; color: #bcb0ca; gap: 10px; margin-bottom: 8px; }
.landing-page .status > a { font-size: 11px; }
.status-dot { animation: none; background: #a88bc8; }
.toast { z-index: 30; border-color: #72518c; background: #21162f; }
.toast b { font-size: 12px; }
.toast small { color: #d5c4e4; font-size: 14px; }
.toast-check { color: #9bdfb3; background: #224435; }

/* Field guide: one ordered navigation, concise cards and comfortable article text. */
.wiki-directory-shell, .wiki-article-shell { gap: 0; }
.wiki-directory-hero, .wiki-article-hero { width: 100%; margin: 44px 0 28px; }
.wiki-directory-hero > small { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.wiki-hero-count { font-size: 10px; color: #c9b1e2; border-color: #493858; background: #241a31; letter-spacing: .05em; }
.wiki-directory-hero h1 { font-size: clamp(36px,4.7vw,60px); margin: 18px 0; max-width: 900px; line-height: 1.12; }
.wiki-directory-hero > p { font-size: 16px; color: var(--muted); max-width: 74ch; margin-bottom: 24px; }
.wiki-search { width: min(740px,100%); grid-template-columns: 24px minmax(0,1fr) auto auto; gap: 12px; background: #191320; border-color: #554165; border-radius: 12px; padding: 15px 18px; box-shadow: none; }
.wiki-search > .icon { color: #c9a5ec; }
.wiki-search input { font-size: 16px; line-height: 1.65; }
.wiki-search input::placeholder { color: #afa1bf; }
.wiki-search kbd { color: #baaccb; border-color: #554165; min-width: 25px; }
.wiki-search-status { font-size: 12px; color: #b9a9c9; grid-column: 2/-1; }
.search-clear { display: grid; place-items: center; background: transparent; color: #d5c2e6; padding: 6px; border-radius: 6px; }
.search-clear:hover { background: #3c294d; }
.wiki-start-panel { border-radius: 13px; margin: 0 0 38px; padding: 0; }
.wiki-start-panel > a { position: relative; padding: 22px; gap: 9px; border-color: var(--line); }
.wiki-start-panel > a > .icon { display: none; }
.wiki-start-panel small { font-size: 10px; letter-spacing: .08em; color: #bba6cf; }
.wiki-start-panel strong { display: flex; align-items: center; gap: 9px; font-size: 18px; }
.wiki-start-panel strong .icon { color: #bfa1df; }
.wiki-start-panel span { font-size: 14px; color: var(--muted); max-width: none; line-height: 1.7; }
.wiki-start-panel b { font-size: 12px; color: #d0aff4; margin-top: 10px; }
.wiki-library-layout, .wiki-article-layout { display: grid; grid-template-columns: 256px minmax(0,1fr); gap: 32px; width: 100%; align-items: start; margin: 0 0 48px; }
.guide-navigation { position: sticky; top: 24px; min-width: 0; }
.guide-navigation > summary { display: none; }
.wiki-sidebar { position: static; max-height: calc(100svh - 48px); overflow-y: auto; padding: 16px 12px; scrollbar-width: thin; scrollbar-color: #544064 transparent; background: #15111d; }
.wiki-sidebar-home { display: flex; align-items: center; gap: 9px; padding: 9px 10px; font-size: 14px; color: #e0c9f7; border: 0; margin: 0 0 10px; }
.wiki-sidebar-home[aria-current="page"] { background: #2d1f3e; }
.guide-count { margin-left: auto; padding: 1px 7px; border-radius: 5px; font-size: 11px; background: #362646; color: #d5b9ee; }
.sidebar-search { display: flex; align-items: center; gap: 6px; padding: 7px 8px; border: 1px solid #3b2e4b; border-radius: 8px; margin: 0 4px 22px; }
.sidebar-search > .icon { width: 16px; height: 16px; flex-basis: 16px; color: #b29bc6; }
.sidebar-search input { min-width: 0; width: 100%; padding: 3px 0; background: none; border: 0; color: var(--ink); font-size: 13px; }
.sidebar-search button { background: none; color: #c6aedc; display: grid; place-items: center; padding: 3px; }
.sidebar-search button .icon { width: 17px; height: 17px; }
.wiki-sidebar-group { margin: 20px 0 0; gap: 3px; }
.wiki-sidebar-group > strong { display: flex; gap: 8px; align-items: baseline; margin: 0 9px 5px; color: #b6a7c7; font-size: 11px; letter-spacing: .035em; font-weight: 700; text-transform: none; }
.wiki-sidebar-group > strong > span { font-size: 10px; color: #9885ae; font-variant-numeric: tabular-nums; }
.wiki-sidebar-group > a { display: flex; gap: 9px; align-items: center; min-height: 38px; padding: 8px 10px; border-radius: 7px; color: #c6bdd1; font-size: 13px; line-height: 1.45; border: 1px solid transparent; }
.wiki-sidebar-group > a .icon { width: 17px; height: 17px; flex-basis: 17px; color: #a893bf; }
.wiki-sidebar-group > a:hover { background: #241a30; color: #fff; }
.wiki-sidebar-group > a[aria-current="page"] { background: #30203f; border-color: #65427f; color: #f0dcff; }
.wiki-sidebar-group > a[aria-current="page"] .icon { color: #d4a7ff; }
.wiki-directory-content { gap: 36px; }
.wiki-category { display: block; scroll-margin-top: 24px; }
.wiki-category-head { margin-bottom: 16px; gap: 12px; align-items: center; }
.wiki-category-head > span { width: 42px; height: 42px; border-radius: 12px; background: #251a33; border-color: #49325d; color: #cbabed; }
.wiki-category-head small { font-size: 10px; color: #aa94bf; letter-spacing: .1em; }
.wiki-category-head h2 { margin: 1px 0 4px; font-size: 23px; line-height: 1.25; }
.wiki-category-head p { max-width: none; font-size: 13px; color: var(--muted); line-height: 1.6; }
.wiki-card-grid { gap: 12px; }
.wiki-card { padding: 19px; min-height: 164px; gap: 12px; grid-template-columns: 34px minmax(0,1fr) 16px; border-color: var(--line); background: #17131f; backdrop-filter: none; border-radius: 12px; }
.wiki-card:hover { background: #241a30; border-color: #775192; transform: translateY(-2px); }
.wiki-card-icon { background: #271b34; border-color: #463052; color: #c9a3ee; }
.wiki-card-icon .icon { width: 19px; height: 19px; }
.wiki-card small { font-size: 9px; letter-spacing: .07em; color: #bba2cf; }
.wiki-card h3 { font-size: 16px; line-height: 1.4; margin: 6px 0; color: #f2e9fc; }
.wiki-card p { font-size: 14px; line-height: 1.7; color: #bdb1cd; }
.wiki-card > b { color: #af91c9; }
.wiki-card > b .icon { width: 16px; height: 16px; }
.wiki-empty { padding: 36px; background: #17121f; border-color: #614676; text-align: center; color: var(--muted); }
.wiki-empty > .icon { width: 36px; height: 36px; color: #c59ce9; }
.wiki-empty h2 { font-size: 24px; color: var(--ink); }
.wiki-empty button { background: #bd94ee; color: #21122e; padding: 12px 20px; border-radius: 9px; font-weight: 750; }
.wiki-crumbs { width: 100%; margin: 25px 0 0; font-size: 13px; color: var(--muted); gap: 8px; }
.wiki-crumbs .icon { width: 12px; height: 12px; flex-basis: 12px; color: #8e7c9e; }
.wiki-crumbs span:last-child { color: #d1bedf; }
.wiki-article-hero { margin: 22px 0 32px; padding-left: 288px; }
.wiki-article-hero h1 { font-size: clamp(32px,3.8vw,48px); line-height: 1.16; margin: 12px 0 16px; }
.wiki-article-hero > p { max-width: 66ch; color: var(--muted); font-size: 16px; line-height: 1.75; margin-top: 16px; }
.reading-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #b5a6c3; font-size: 12px; }
.reading-meta .icon { width: 16px; height: 16px; flex-basis: 16px; }
.reading-meta span { margin-inline: 4px; color: #836c99; }
.wiki-reading { gap: 22px; }
.article-contents { padding: 20px 24px; border: 1px solid #41314f; border-radius: 12px; background: #1c1426; }
.article-contents > strong { display: flex; align-items: center; gap: 9px; color: #dbc1f2; font-size: 13px; }
.article-contents ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 24px; list-style: none; margin: 12px 0 0; padding: 0; }
.article-contents a { display: block; color: #bfb0ce; font-size: 13px; padding-block: 5px; line-height: 1.5; }
.article-contents a:hover, .article-contents a[aria-current="location"] { color: #eddaff; text-decoration: underline; }
.wiki-reading > .wiki-section { padding: clamp(24px,3vw,40px); background: #17131f; border-color: var(--line); }
.wiki-reading .wiki-section h2 { margin: 38px 0 16px; font-size: 24px; line-height: 1.35; letter-spacing: -.025em; scroll-margin-top: 28px; }
.wiki-reading .wiki-section h2:first-child { margin-top: 0; }
.wiki-reading .wiki-section h3 { font-size: 19px; line-height: 1.5; margin-top: 28px; }
.wiki-reading .wiki-section > p, .wiki-reading .wiki-section > ul, .wiki-reading .wiki-section > ol { max-width: 70ch; font-size: 16px; line-height: 1.85; color: #d0c6dd; }
.wiki-reading .wiki-section > p { margin: 0 0 20px; }
.wiki-reading .wiki-section > ul, .wiki-reading .wiki-section > ol { padding-left: 24px; margin-block: 20px; }
.wiki-reading .wiki-section li { padding-left: 5px; margin-block: 10px; }
.wiki-reading .wiki-section li::marker { color: #b990e2; font-weight: 700; }
.wiki-reading .wiki-section strong { color: #f3eafb; }
.wiki-reading .wiki-section a { color: #d2aff7; text-decoration: underline; }
.wiki-reading .wiki-section code { display: inline; padding: 2px 6px; background: #2a1d39; border-color: #4b315f; border-radius: 5px; color: #e0bfff; font-size: .88em; overflow-wrap: anywhere; }
.wiki-reading .wiki-callout { max-width: none; margin-top: 26px; padding: 20px 22px; background: #241932; border-left: 3px solid #bf91ee; color: #cdbbdd; font-size: 15px; line-height: 1.8; }
.wiki-reading .wiki-callout strong { font-size: 15px; }
.wiki-pager { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.wiki-pager-link { padding: 20px; border-color: var(--line); background: #191320; border-radius: 12px; gap: 10px; }
.wiki-pager-link small { display: flex; gap: 8px; align-items: center; font-size: 11px; letter-spacing: .03em; color: #b69dca; }
.wiki-pager-link small .icon { width: 16px; height: 16px; flex-basis: 16px; }
.wiki-pager-link strong { color: #e4d2f3; font-size: 15px; line-height: 1.5; }
.wiki-pager-next small { justify-content: end; }
.wiki-shell .site-footer { margin-top: 8px; }

/* Public profiles, rankings and store. */
.leaderboard-page-panel, .stats-content, .leaderboard-panel { width: 100%; }
.leaderboard-page-panel { margin-bottom: 24px; }
.leader-search { width: 100%; }
.leader-link { grid-template-columns: 44px minmax(0,1fr) auto; padding: 18px 14px; gap: 16px; border-radius: 9px; }
.leader-row { border-color: var(--line); }
.leader-row b { color: #b0a0bf; font-size: 14px; font-variant-numeric: tabular-nums; }
.leader-link .leader-identity strong { color: #eaddf6; font-size: 16px; }
.leader-link .leader-identity small { color: #b4a3c4; font-size: 12px; }
.leader-link .leader-total { color: #d7b1f7; font-size: 15px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; text-align: right; }
.leader-top-1 { background: linear-gradient(90deg,#4d3b1d5e,transparent); }
.stats-content { gap: 18px; margin-bottom: 26px; }
.profile-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.stat-card { min-height: 155px; padding: 23px; border-color: var(--line); background: var(--surface); backdrop-filter: none; border-radius: 13px; }
.stat-card:hover { transform: none; background: #201829; border-color: #654678; }
.stat-card span { display: flex; align-items: center; gap: 8px; color: #c1adcf; font-size: 11px; letter-spacing: .06em; }
.stat-card strong { font-family: inherit; font-size: clamp(26px,3vw,38px); line-height: 1.5; font-weight: 750; letter-spacing: -.04em; overflow-wrap: anywhere; }
.stat-card small { color: #b2a1c1; font-size: 12px; }
.player-strip { background: linear-gradient(100deg,#2a1c39,#17131f); border-color: #44324f; backdrop-filter: none; }
.player-ident h2 { font-size: 24px; overflow-wrap: anywhere; }
.player-ident p { color: #bfaaca; font-size: 12px; letter-spacing: .04em; }
.player-rank { font-size: 11px; color: #e1c3fa; letter-spacing: .06em; }
.stats-lower { gap: 18px; }
.skill-row { padding: 15px; border-color: var(--line); background: #1e1728; }
.skill-row span { color: #ddcfe8; font-size: 14px; }
.skill-row > span { display: flex; align-items: center; gap: 7px; }
.skill-row > span .icon { width: 17px; height: 17px; flex-basis: 17px; color: #bf95e7; }
.skill-row strong { color: #cba4f3; font-size: 13px; }
.skill-row small { color: #b6a5c5; font-size: 12px; }
.island-profile strong { font-size: 20px; }
.island-profile p { font-size: 14px; color: var(--muted); }
.leader-name-link, .leader-row span, .leader-row strong { font-size: 14px; }
.profile-empty { width: 100%; padding: 56px 24px; background: var(--surface); border-color: var(--line); margin: 10px auto 40px; }
.empty-mark .icon { width: 48px; height: 48px; color: #bf95ea; }
.profile-empty h2 { font-size: 26px; margin: 15px 0 10px; }
.store-hero { margin: 30px auto 0; }
.store-hero h1 { margin: 20px 0; font-size: clamp(40px,7vw,86px); }
.store-hero h1 span { text-shadow: none; }
.store-hero p { font-size: 17px; color: var(--muted); }
.store-shell > .store-card { width: min(900px,100%); align-self: center; padding: clamp(24px,4vw,44px); background: linear-gradient(135deg,#281b35,#17121f 70%); border-color: #614477; }
.store-card-head small { font-size: 11px; letter-spacing: .1em; color: #bca5cf; }
.store-card-head h2 { display: flex; align-items: center; gap: 12px; font-size: 34px; line-height: 1.3; }
.store-card-head h2 .icon { width: 28px; height: 28px; flex-basis: 28px; color: #d3a9fa; }
.store-price { font-size: 13px; white-space: normal; color: #e4c9fc; border-color: #735486; max-width: 220px; }
.store-description { color: #cebedc; font-size: 16px; line-height: 1.8; }
.perk-list { gap: 20px; margin: 28px 0; }
.perk-list li { font-size: 15px; color: #ded1e9; gap: 12px; }
.perk-list li span { color: #bfa0e7; }
.purchase-form { border-color: #43304f; padding-top: 26px; }
.purchase-form label { font-size: 12px; color: #d5c4e3; letter-spacing: .055em; }
.purchase-row input { border: 1px solid #604476; min-height: 48px; }
.purchase-result { font-size: 14px; line-height: 1.75; }
.store-foot { color: #bba6cc; font-size: 10px; letter-spacing: .06em; border-color: #44324f; flex-wrap: wrap; }
.store-help { font-size: 14px; color: var(--muted); margin: 0 auto 30px; }

/* Staff tools: dense enough to work in, large enough to read. */
.admin-hero { grid-template-columns: 1fr; margin: 22px 0 0; }
.admin-hero .stats-title h1 { font-size: clamp(38px,5vw,62px); }
.admin-panel { margin: 0 0 24px; padding: 30px; }
.admin-panel h2 { display: flex; align-items: center; gap: 10px; font-size: 24px; line-height: 1.3; }
.admin-panel h2 .icon { color: #c499ee; }
.admin-lead { color: #ccc0d8; font-size: 16px; line-height: 1.8; max-width: 70ch; }
.admin-token { margin: 24px 0 16px; padding: 16px 18px; background: #100d17; border: 1px solid var(--line); border-radius: 10px; }
.admin-token summary { color: #d2bcdf; font-size: 14px; letter-spacing: normal; }
.admin-login { margin-top: 20px; }
.admin-login label, .admin-player-search label, .admin-note-label { color: #c5b8d0; font-size: 13px; letter-spacing: .02em; }
.admin-help { color: #b9a7c9; font-size: 13px; line-height: 1.7; }
.admin-heading small { color: #c9a6e8; font-size: 12px; letter-spacing: .055em; }
.admin-heading h2 { margin: 8px 0 0; }
.admin-secondary, .admin-detail .admin-secondary { display: inline-flex; gap: 8px; align-items: center; justify-content: center; font-size: 12px; letter-spacing: .025em; color: #ddcee9; background: #271c34; border: 1px solid #513c63; padding: 10px 14px; min-height: 44px; }
.admin-tabs { gap: 4px; margin: 26px 0 22px; flex-wrap: wrap; border-color: #483451; }
.admin-tabs button { display: inline-flex; align-items: center; gap: 8px; padding: 13px 15px; font-size: 13px; letter-spacing: .01em; color: #bcaac9; }
.admin-tabs button[aria-current="page"] { color: #e1c6fc; background: #291d39; border-radius: 8px 8px 0 0; }
.admin-controls { gap: 14px; margin: 20px 0; flex-wrap: wrap; }
.admin-controls label { color: #c8b8d4; font-size: 13px; letter-spacing: normal; gap: 9px; }
.admin-controls select, .admin-actions select { font-size: 14px; border-color: #513b63; background: #17101f; color: #ebdff4; min-height: 44px; }
.admin-columns { gap: 20px; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); }
.admin-columns > div { min-width: 0; }
.admin-flag-list { gap: 10px; }
.admin-flag-list li, .admin-detail { padding: 18px; border-color: #3e2e4b; background: #120e1a; }
.admin-flag-list li { overflow-wrap: anywhere; }
.admin-flag-list button { padding: 10px 14px; min-height: 44px; border: 1px solid #63467a; border-radius: 8px; background: #2c1e39; color: #e4cef6; font-size: 12px; font-weight: 750; }
.admin-flag-list button:hover { background: #453055; border-color: #bf91ec; }
.admin-flag-list time, .admin-flag-meta { color: #b7a5c6; font-size: 12px; line-height: 1.6; }
.admin-flag-list li.admin-flag-hot { border-left: 3px solid #e9a57f; border-color: #9b6653; }
.admin-detail h3 { font-size: 20px; }
.admin-detail h4 { font-size: 13px; letter-spacing: .04em; margin-top: 24px; color: #d6b9ea; }
.admin-detail p { color: #cabbda; font-size: 14px; line-height: 1.8; }
.admin-detail pre { font-size: 13px; line-height: 1.8; background: #211621; border: 1px solid #3d293d; }
.admin-pagination { flex-wrap: wrap; }
.admin-pagination span { color: #b5a1c6; font-size: 12px; letter-spacing: .02em; }
.admin-note { font-size: 15px; line-height: 1.7; min-height: 100px; border: 1px solid #503763; }
.admin-timeline li { font-size: 13px; line-height: 1.75; color: #cbbbda; padding: 12px 14px; }
.admin-timeline time { font-size: 11px; color: #b9a4c9; }
.admin-timeline strong { font-size: 13px; }
.admin-stats li strong { font-size: 22px; }

@media (max-width: 1050px) {
  .stats-shell, .admin-page .stats-shell, .wiki-directory-shell, .wiki-article-shell { padding-inline: 24px; }
  .site-header { gap: 16px; }
  .header-play { display: none; }
  .site-nav a { padding-inline: 12px; }
  .wiki-library-layout, .wiki-article-layout { grid-template-columns: 230px minmax(0,1fr); gap: 24px; }
  .wiki-article-hero { padding-left: 254px; }
  .wiki-card-grid { grid-template-columns: 1fr; }
  .wiki-card { min-height: 125px; }
  .stats-hero { grid-template-columns: 1fr; }
  .lookup-wrap, .leader-search { max-width: 560px; }
  .profile-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-page .choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-page .choice { min-height: 215px; border: 1px solid #57436d; }
}
@media (max-width: 760px) {
  .stats-shell, .admin-page .stats-shell, .wiki-directory-shell, .wiki-article-shell, .landing-page .menu { padding: 0 20px 24px; }
  .site-header { min-height: 0; flex-wrap: wrap; gap: 14px; padding-block: 20px 15px; }
  .site-header .brand { font-size: 22px; }
  .site-nav { width: 100%; gap: 4px; justify-content: space-between; }
  .site-nav a { justify-content: center; flex: 1; padding: 9px 8px; gap: 6px; font-size: 13px; }
  .site-nav .icon { width: 17px; height: 17px; flex-basis: 17px; }
  .site-footer { gap: 18px; padding-top: 24px; }
  .site-footer nav { gap: 8px 18px; }
  .site-footer p { line-height: 1.8; }
  .wiki-directory-hero, .wiki-article-hero { margin: 28px 0; padding: 0; }
  .wiki-directory-hero h1 { font-size: clamp(34px,8vw,52px); }
  .wiki-directory-hero > p, .wiki-article-hero > p { font-size: 15px; }
  .wiki-hero-count { font-size: 9px; }
  .wiki-search { padding: 12px; gap: 8px; }
  .wiki-search kbd { display: none; }
  .wiki-start-panel { grid-template-columns: 1fr; margin-bottom: 24px; }
  .wiki-start-panel > a { padding: 14px 18px; gap: 5px; }
  .wiki-start-panel > a > span { display: none; }
  .wiki-start-panel strong { font-size: 16px; }
  .wiki-start-panel small { font-size: 11px; }
  .wiki-library-layout, .wiki-article-layout { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .guide-navigation { position: static; border: 1px solid #4a345c; border-radius: 12px; background: #1c1426; overflow: hidden; }
  .guide-navigation > summary { display: flex; list-style: none; align-items: center; gap: 10px; cursor: pointer; padding: 17px; color: #dfc8f4; font-size: 14px; font-weight: 650; }
  .guide-navigation > summary::-webkit-details-marker { display: none; }
  .guide-navigation > summary .icon:last-child { margin-left: auto; transition: transform .2s; }
  .guide-navigation[open] > summary .icon:last-child { transform: rotate(180deg); }
  .wiki-sidebar { display: block; max-height: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 16px; }
  .wiki-sidebar-group { display: grid; margin: 22px 0 0; max-height: none; overflow: visible; border: 0; padding: 0; }
  .wiki-sidebar-group > strong { font-size: 12px; }
  .wiki-sidebar-group > a { font-size: 14px; min-height: 44px; }
  .sidebar-search { padding: 10px; }
  .sidebar-search input { font-size: 16px; }
  .wiki-directory-content { gap: 30px; }
  .wiki-category-head p { font-size: 14px; }
  .wiki-card { min-height: 0; padding: 20px; }
  .wiki-card h3 { font-size: 17px; }
  .wiki-card small { font-size: 10px; }
  .wiki-article-hero h1 { font-size: clamp(32px,7vw,44px); }
  .wiki-reading > .wiki-section { padding: 24px; }
  .article-contents { padding: 20px; }
  .article-contents ol { grid-template-columns: 1fr; gap: 3px; }
  .article-contents a { font-size: 14px; padding-block: 7px; }
  .wiki-reading .wiki-section > p, .wiki-reading .wiki-section > ul, .wiki-reading .wiki-section > ol { font-size: 16px; line-height: 1.8; }
  .wiki-reading .wiki-section h2 { font-size: 23px; }
  .wiki-pager-link { padding: 16px; }
  .wiki-pager-link strong { font-size: 14px; }
  .landing-content { padding: 6px 0 0; }
  .landing-intro h1 { font-size: clamp(40px,9vw,62px); margin-block: 17px; }
  .landing-intro p { font-size: 16px; }
  .landing-page .choices { gap: 12px; }
  .landing-page .choice { min-height: 210px; padding: 20px; border: 1px solid #57436d; }
  .landing-page .choice-number { left: 20px; top: 20px; }
  .landing-page .choice-arrow { right: 10px; top: 16px; }
  .landing-page .choice-content strong { font-size: 32px; }
  .landing-page .choice-sub { font-size: 13px; }
  .landing-page .choice-content small { font-size: 9px; }
  .landing-highlights { grid-template-columns: 1fr; margin-top: 20px; gap: 4px; }
  .landing-news { border-radius: 16px; font-size: 13px; line-height: 1.4; }
  .landing-highlights > a { padding: 20px 0; }
  .landing-page .status { font-size: 10px; }
  .stats-title h1 { font-size: clamp(36px,8vw,54px); }
  .stats-hero { margin-top: 0; gap: 22px; }
  .stats-title p { font-size: 15px; }
  .stats-lower { grid-template-columns: 1fr; }
  .admin-columns { grid-template-columns: 1fr; }
  .admin-panel, .panel { padding: 22px; }
  .wiki-start-panel { padding: 0; }
  .admin-tabs { gap: 5px; }
  .admin-tabs button { padding: 12px; }
  .admin-controls label { width: 100%; justify-content: space-between; }
  .admin-controls select { min-width: 0; width: 70%; }
  .admin-heading { align-items: start; flex-wrap: wrap; }
  .admin-flag-list button { grid-column: 1; }
  .store-hero { margin-top: 0; }
  .store-hero h1 { font-size: clamp(38px,9vw,64px); }
  .store-eyebrow { font-size: 10px; line-height: 1.8; }
  .store-card-head { flex-wrap: wrap; gap: 14px; }
  .perk-list { grid-template-columns: 1fr; }
  .purchase-row { flex-direction: column; }
  .store-foot { flex-direction: column; gap: 8px; }
  .leader-link { grid-template-columns: 28px minmax(0,1fr) minmax(0,1fr); gap: 10px; padding: 15px 2px; }
  .leader-link .leader-total { font-size: 13px; }
  .leader-link .leader-identity strong { font-size: 14px; overflow-wrap: anywhere; }
}
@media (max-width: 420px) {
  .stats-shell, .admin-page .stats-shell, .wiki-directory-shell, .wiki-article-shell, .landing-page .menu { padding-inline: 14px; }
  .site-nav a { font-size: 12px; padding-inline: 5px; }
  .site-nav .icon { width: 15px; height: 15px; flex-basis: 15px; }
  .wiki-reading > .wiki-section { padding: 20px; }
  .wiki-pager { grid-template-columns: 1fr; }
  .wiki-pager-next { text-align: left; }
  .wiki-pager-next small { justify-content: start; }
  .landing-page .choice { padding: 16px; min-height: 218px; }
  .landing-page .choice-number { left: 16px; }
  .landing-page .choice-content strong { font-size: 29px; }
  .landing-page .choice-content small { font-size: 8px; }
  .stat-card { padding: 16px; }
  .stat-card span { letter-spacing: 0; font-size: 10px; gap: 6px; }
  .stat-card span .icon { width: 16px; height: 16px; flex-basis: 16px; }
  .admin-login-row { flex-direction: column; }
  .admin-token { padding: 13px; }
  .leader-search { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html, .wiki-page { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  body { background: white; color: black; }
  .scene, .site-header, .site-footer, .guide-navigation, .wiki-pager, .skip-link { display: none; }
  .wiki-article-hero { padding: 0; }
  .wiki-article-layout { display: block; }
  .wiki-reading > .wiki-section, .article-contents { background: white; border-color: #ccc; }
  .wiki-reading .wiki-section > p, .wiki-reading .wiki-section > ul, .wiki-reading .wiki-section > ol, .wiki-reading .wiki-section strong, .wiki-hero h1 { color: black; }
}

/* Very narrow phones: the address card gets a full row so the address is never cut off. */
@media (max-width: 380px) {
  .landing-page .choice-play, .landing-page .choice-store { grid-column: 1 / -1; min-height: 150px; }
}
