/* Public Wiki controls. Loaded only by reader pages, after their page styles. */
body.wiki-interface {
  --ui-gold: #805b20;
  --ui-gold-line: #c4a467;
  --ui-selected: #f8f1e3;
  --ui-hover: #f3f2ef;
  --ui-field: #fbfcfd;
  --ui-focus: #936c27;
  --ui-radius: 8px;
}
html[data-theme="dark"] body.wiki-interface {
  --ui-gold: #d7b879;
  --ui-gold-line: #9f834e;
  --ui-selected: #2e2b24;
  --ui-hover: #272c32;
  --ui-field: #191e23;
  --ui-focus: #d7b879;
}

/* Controls share height and typography; large category cards retain their layout. */
body.wiki-interface :is(.game-button,.game-tabs button,.game-modification-ranks button,
  .catalog-pagination button,.entity-filter-fields button,.item-filter-toggle,
  .entity-filter-options button:not(.item-direction-card),.wiki-tabs-controls button,.article-find button,
  .publication-tabs a,.publication-subtabs a,.pagination a) {
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--ui-radius);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  font: 500 13px/1.4 var(--font-ui);
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms ease,border-color 160ms ease,color 160ms ease;
  box-shadow: 0 1px 2px #00000004;
}
body.wiki-interface :is(.game-button,.game-tabs button,.game-modification-ranks button,
  .catalog-pagination button,.entity-filter-fields button,.item-filter-toggle,
  .entity-filter-options button:not(.item-direction-card),.wiki-tabs-controls button,.article-find button,
  .publication-tabs a,.publication-subtabs a,.pagination a):where(:hover):where(:not(:disabled)) {
  border-color: var(--ui-gold-line);
  background: var(--ui-hover);
  color: var(--color-text);
}
body.wiki-interface :is(.game-tabs button,.game-modification-ranks button,
  .item-filter-toggle,.entity-filter-options button:not(.item-direction-card))[aria-pressed="true"],
body.wiki-interface .wiki-tabs-controls button[aria-selected="true"],
body.wiki-interface :is(.publication-tabs,.publication-subtabs) a.active {
  background: var(--ui-selected);
  border-color: var(--ui-gold-line);
  color: var(--ui-gold);
  box-shadow: inset 0 -2px var(--ui-gold-line);
  font-weight: 700;
}
body.wiki-interface .wiki-tabs-controls button { font-family: var(--wiki-tab-font,var(--font-ui)); }
body.wiki-interface .wiki-tabs-controls button[aria-selected="true"] {
  background: var(--wiki-tab-color,var(--ui-selected));
  color: var(--wiki-tab-ink,var(--ui-gold));
}
body.wiki-interface :is(.game-button,.catalog-pagination button,.article-find button):disabled {
  opacity: .4;
  box-shadow: none;
  cursor: default;
}
body.wiki-interface :is(.game-search,.search,.catalog-search-row) button[type="submit"],
body.wiki-interface .home-cinematic .btn-primary {
  background: #c9a454;
  border-color: #b69042;
  color: #231b0e;
  border-radius: var(--ui-radius);
  font-weight: 700;
}
body.wiki-interface :is(.game-search,.search,.catalog-search-row) button[type="submit"]:hover {
  background: #d6b56d;
  color: #231b0e;
}
body.wiki-interface :is(.game-search input,.game-controls input,.game-controls select,
  .entity-filters select,.catalog-search-row input,.article-find input,
  .concept-page input,.concept-page select,.article-outline-search,.section-post-menu input,
  .search input,.game-acquire-class select) {
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid var(--color-border);
  border-radius: var(--ui-radius);
  background: var(--ui-field);
  color: var(--color-text);
  box-shadow: inset 0 1px 2px #00000003;
  font: 400 13px/1.5 var(--font-ui);
  transition: border-color 160ms ease,box-shadow 160ms ease;
}
body.wiki-interface input::placeholder { color: var(--color-text-muted); opacity: .8; }
body.wiki-interface :is(.game-eyebrow,.item-detail-kicker) { color: var(--ui-gold); }
body.wiki-interface :is(a,button,input,select,summary):focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 3px;
}
body.wiki-interface .item-section-cards button {
  border-radius: 10px;
  transition: background 160ms ease,border-color 160ms ease;
}
body.wiki-interface .item-section-cards button[aria-pressed="true"] {
  background: var(--ui-selected);
  border-color: var(--ui-gold-line);
  box-shadow: inset 0 -2px var(--ui-gold-line);
}
body.wiki-interface .item-choice-grid .item-choice-card { border-radius: 8px; color: var(--color-text); }
body.wiki-interface :is(.item-choice-grid .item-choice-card,.item-direction-card)[aria-pressed="true"] {
  background: var(--ui-selected);
  border-color: var(--ui-gold-line);
  color: var(--ui-gold);
  box-shadow: inset 0 -2px var(--ui-gold-line);
}
body.wiki-interface .item-choice-grid .item-choice-card .item-direction-count { color: var(--color-text-muted); }
body.wiki-interface .item-subnav { border-left-color: var(--ui-gold-line); }
body.wiki-interface .item-subnav>header span { color: var(--ui-gold); }
body.wiki-interface :is(.game-skill-level-controls,.item-header-modification .item-modification-picker) {
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--ui-field);
}
body.wiki-interface :is(.game-skill-level-controls,.item-header-modification .item-modification-picker) :is(button,select) {
  min-height: 38px;
  border-color: transparent!important;
  border-radius: 6px!important;
  background: transparent;
  box-shadow: none;
}
body.wiki-interface :is(.game-skill-level-controls,.item-header-modification .item-modification-picker) button:hover:not(:disabled) {
  background: var(--ui-selected);
  color: var(--ui-gold);
}

/* Contents navigation: one surface, quiet rows, a clear reading position. */
body.wiki-interface :is(#concept-toc,.section-post-menu,.article-outline) {
  box-sizing: border-box;
  padding: 20px 14px 14px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 3px 14px #00000003;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border) transparent;
}
body.wiki-interface #concept-toc { padding-bottom: 6px; }
body.wiki-interface :is(#concept-toc,.section-post-menu,.article-outline)>summary {
  margin: 0 4px 18px;
  padding: 0;
  color: var(--color-text);
  font: 600 23px/1.3 var(--font-editorial);
  list-style: none;
}
body.wiki-interface :is(#concept-toc,.section-post-menu,.article-outline)>summary::-webkit-details-marker { display:none; }
body.wiki-interface #concept-toc>label { gap: 7px; margin-inline: 2px; font-size: 11px; }
body.wiki-interface .article-outline-search { width: 100%; margin: 0 0 14px; box-sizing: border-box; }
body.wiki-interface #concept-links { gap: 2px; margin-top: 16px; padding: 0 0 0 8px; border-left: 1px solid var(--color-border); }
body.wiki-interface #concept-links .concept-nav-group,
body.wiki-interface .section-post-group {
  border: 0;
  border-radius: 6px;
  background: transparent;
  margin-bottom: 2px;
  overflow: visible;
}
body.wiki-interface #concept-links .concept-nav-group:hover,
body.wiki-interface .section-post-group:hover { background: var(--ui-hover); }
body.wiki-interface #concept-links summary>a {
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 9px;
  gap: 10px;
  font-size: 13px;
  line-height: 1.55;
  border-radius: 6px;
}
body.wiki-interface #concept-links .concept-number {
  width: 22px;
  flex-basis: 22px;
  color: var(--color-text-muted);
  opacity: .75;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
body.wiki-interface #concept-links .is-active,
body.wiki-interface .section-post-group.selected { background: var(--ui-selected); }
body.wiki-interface #concept-links .is-active>summary { box-shadow: none; position: relative; }
body.wiki-interface #concept-links .is-active>summary::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 3px;
  background: var(--ui-gold-line);
}
body.wiki-interface #concept-links .is-active>summary>a,
body.wiki-interface #concept-links .is-active .concept-number,
body.wiki-interface .section-post-group a[aria-current] { color: var(--ui-gold); opacity: 1; font-weight: 600; }
body.wiki-interface #concept-links summary:after { padding-inline: 8px; color: var(--color-text-muted); }
body.wiki-interface .concept-subnav { padding: 0 6px 8px 36px; }
body.wiki-interface #concept-links .concept-subnav a { padding: 7px 8px; font-size: 11px; }
body.wiki-interface #concept-links a[aria-current] { background: transparent; }
body.wiki-interface .section-post-group a { min-height: 44px; box-sizing: border-box; padding: 12px; line-height: 1.5; }
body.wiki-interface .section-post-group.selected { box-shadow: inset 3px 0 var(--ui-gold-line); }
body.wiki-interface .article-outline nav { border-left: 1px solid var(--color-border); }
body.wiki-interface .article-outline nav a { min-height: 44px; box-sizing: border-box; border-radius: 0 6px 6px 0; padding: 11px 12px; line-height: 1.5; }
body.wiki-interface .article-outline nav a.is-active { background: var(--ui-selected); border-left-color: var(--ui-gold-line); color: var(--ui-gold); }
body.wiki-interface .article-find { padding: 12px 16px; border-radius: 10px; background: var(--color-surface); }
body.wiki-interface .article-find summary { color: var(--color-text-secondary); font: 500 13px/1.5 var(--font-ui); display: flex; align-items: center; }
body.wiki-interface .concept-layout aside { scrollbar-color: var(--color-border) transparent; }
body.wiki-interface :is(#concept-search,.article-outline-search,.section-post-menu input) {
  padding-left: 35px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23858b92' stroke-width='1.5'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='m10.5 10.5 3.5 3.5'/%3E%3C/svg%3E");
  background-position: 12px center;
  background-repeat: no-repeat;
}
html body.wiki-interface .wiki-menu-toggle {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  color: var(--color-text-secondary);
  background: var(--color-surface);
  min-height: 42px;
  font-weight: 500;
}
html body.wiki-interface .wiki-menu-toggle[aria-expanded="true"] {
  background: var(--ui-selected);
  color: var(--ui-gold);
  border-color: var(--ui-gold-line);
}
body.wiki-interface .header-search { border-radius: 8px; border-color: var(--color-border); background: var(--ui-field); }
body.wiki-interface .header-search:focus-within { border-color: var(--ui-gold-line); box-shadow: 0 0 0 3px color-mix(in srgb,var(--ui-gold-line) 15%,transparent); }

@media(max-width:800px) {
  body.wiki-interface :is(#concept-toc,.section-post-menu,.article-outline) { padding: 14px; border-radius: 10px; }
  body.wiki-interface :is(#concept-toc,.section-post-menu,.article-outline)>summary { font-size: 21px; min-height: 28px; margin-bottom: 14px; }
  body.wiki-interface :is(#concept-toc,.section-post-menu,.article-outline):not([open])>summary { margin-bottom: 0; }
  body.wiki-interface #concept-links summary>a { min-height: 48px; font-size: 13px; }
  body.wiki-interface .publication-tabs a { min-height: 44px; box-sizing: border-box; }
}
@media(prefers-reduced-motion:reduce) {
  body.wiki-interface :is(button,input,select,a) { transition: none; }
}

/* Theme-aware accents on reader cards and progression controls. */
body.wiki-interface .item-record.is-detail .item-detail-kicker,
body.wiki-interface .game-skills-heading a,
body.wiki-interface .game-node-arrow { color:var(--ui-gold); }
body.wiki-interface .item-variant-control a[aria-current="true"] {
  color:var(--ui-gold);
  border-color:var(--ui-gold-line);
  background:var(--ui-selected);
}

body.wiki-interface .game-search button[type="submit"] { color:#231b0e!important; }
