/* Shared menu surfaces. Keep hidden states, scrolling, stacking and gameplay
   interactions in their own controllers; reserve space for the stone frame. */
body.medieval-game :is(dialog,.interface-panel,#dialog,#bank-panel,#loot-panel,#equipment-panel,
  #skill-panel,#tavern-panel,#vendor-panel,#healer-panel,#artisan-panel,#magic-panel,
  #conversation-panel,#options-panel,#community-panel,#account-panel,#faith-book,
  #quest-detail-panel,#welcome-panel,#guest-review-panel,#research-choices,
  #fieldcraft-panel,.player-trade-panel,.player-duel-panel,.quantity-dialog,
  .manager-research-dialog) {
  color:var(--game-paper,#e4d1ac);
  background:var(--game-panel,#29231b);
  border-color:var(--game-border,#8e7045);
  border-radius:3px;
  box-shadow:0 14px 42px #0008,inset 0 0 0 1px #c3a16a18;
  scrollbar-color:#96794d #211c16;
}
body.medieval-game dialog::backdrop { background:#100d09b8; }
body.medieval-game .interface-panel {
  border-image-source:url('/site-art/button-frame.webp');
  border-image-slice:24;
  border-image-width:6px;
  border-image-repeat:stretch;
}

/* Header surfaces stay opaque where the existing menus make them sticky. */
body.medieval-game :is(#quest-detail-panel>header,#conversation-panel>header,
  #community-panel>nav,.options-heading,.player-trade-panel>header,
  .player-trade-panel>footer,.magic-pagination,#skill-recipes .recipe-pages) {
  background:var(--game-panel,#29231b);
  border-color:var(--game-border,#8e7045);
}
body.medieval-game .interface-panel>.interface-heading {
  background:var(--game-panel,#29231b);
  box-shadow:0 -30px 0 var(--game-panel,#29231b),0 1px 0 #69573c;
}
body.medieval-game :is(.bank-heading,.equipment-heading,.tavern-heading,
  .artisan-heading,.magic-heading,.community-heading,.options-heading,
  .creator-heading) {
  border-color:var(--game-border,#8e7045);
}
body.medieval-game :is(.bank-heading,.equipment-heading,.tavern-heading,
  .artisan-heading,.magic-heading,.community-heading,.options-heading,
  .creator-heading) h2,
body.medieval-game :is(#quest-detail-name,#welcome-title,#dialog-speaker,
  #community-body h3,.quantity-dialog h2,.player-trade-panel h2,
  .player-trade-panel h3,#options-panel .options-section h3) {
  color:var(--game-gold,#dfb87b);
  font-family:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
}
body.medieval-game :is(.bank-heading>div>span,.equipment-heading>div>span,
  .tavern-heading small,.magic-heading small,.community-heading>div>span,
  .options-heading>div>span,.creator-heading>span,.welcome-eyebrow) {
  color:var(--game-gold,#dfb87b);
}
body.medieval-game :is(.bank-instructions,.bank-note,#bank-item-name,
  #equipment-panel>p,.tavern-intro,.tavern-offer small,.magic-note,
  .quantity-available,.community-audit,#welcome-description,.welcome-note,
  .welcome-footnote,#options-panel .options-section>p,#dialog p) {
  color:var(--game-muted,#c6b593);
}

/* Bank and shop chrome only; slots, durability and drag feedback are untouched. */
body.medieval-game #bank-panel .bank-tools {
  background:var(--game-raised,#352a1e);
  border-color:var(--game-border,#8e7045);
}
body.medieval-game #bank-panel .bank-tools>summary {
  color:var(--game-paper,#e4d1ac);
}
body.medieval-game :is(.bank-summary,.bank-row,.tavern-offer,#tavern-balance,
  #vendor-balance,.vendor-summary,.player-offer-grid,.community-row,
  #community-body>section,.membership-facts,.membership-tools-content) {
  border-color:#69573c;
}
body.medieval-game :is(.bank-summary,#tavern-balance,#vendor-balance) {
  color:var(--game-gold,#dfb87b);
}
body.medieval-game #bank-panel .bank-scroll,
body.medieval-game :is(#bank-grid,#artisan-recipes,#magic-scroll,
  #skill-recipes .recipe-book-list) {
  scrollbar-color:#96794d transparent;
}
body.medieval-game :is(.vendor-summary,.player-offer-item) {
  background:#211c16;
}
body.medieval-game .player-offer-item small { color:var(--game-muted,#c6b593); }
body.medieval-game #player-trade-panel #trade-final-confirm {
  background:#5a4825;
  border-color:#d8b966;
  color:#ffe3a6;
}

/* Selected tabs retain their existing dimensions and interaction attributes. */
body.medieval-game :is(#bank-panel .bank-tabs button[aria-pressed=true],
  #vendor-panel .vendor-tabs .selected,#magic-panel .magic-tabs .selected,
  #reaping-panel .discovery-journal-tabs button[aria-pressed=true],
  #options-tabs button[aria-selected=true],#community-panel nav .selected,
  #artisan-panel .catalog-nav button[aria-pressed=true],
  #skill-panel .catalog-nav button[aria-pressed=true],
  #magic-panel .catalog-nav button[aria-pressed=true]) {
  color:#fff0cc;
  background-color:var(--game-button-active);
  background-image:var(--game-button-stone-active);
  background-size:auto,256px 256px;
  border-color:var(--game-gold,#dfb87b);
  box-shadow:inset 0 -2px #dfb87b;
}

/* Crafting detail keeps explicit red/green requirements; no generic small/p
   color rule is used because those elements also carry gameplay feedback. */
body.medieval-game :is(.artisan-recipe,.recipe-book-row,#skill-recipes,
  .magic-card,.magic-heading,.research-focused,#soul-enchanting) {
  border-color:#69573c;
}
body.medieval-game :is(.artisan-recipe strong,.recipe-book-row strong,
  .magic-card h3,#soul-enchanting summary,.research-focused summary) {
  color:var(--game-gold,#dfb87b);
}
body.medieval-game :is(.artisan-recipe,.recipe-book-row) small:not(.recipe-missing):not(.recipe-supplied) {
  color:var(--game-muted,#c6b593);
}
body.medieval-game :is(#artisan-panel,#skill-panel,#magic-panel) button.catalog-favorite[aria-pressed=true] {
  color:#f1d38c;
  border-color:#ab915d;
  background-color:var(--game-button-active);
  background-image:var(--game-button-stone-active);
  background-size:auto,256px 256px;
}
body.medieval-game :is(#artisan-panel,#skill-panel,#soul-enchanting)
  :is(.recipe-missing,.recipe-knowledge.recipe-missing,.recipe-workstation.recipe-missing) {
  color:#ffaaa2;
}
body.medieval-game :is(#artisan-panel,#skill-panel,#soul-enchanting) .recipe-supplied {
  color:#bdcda5;
}
body.medieval-game :is(#soul-enchanting,.magic-preview) {
  background:var(--game-raised,#352a1e);
  border-color:var(--game-border,#8e7045);
}
body.medieval-game .magic-preview[data-valid=false] {
  color:#ffb4a3;
  border-color:#c78268;
}

/* The faith books keep each deity's own accent and favorite state. */
body.medieval-game #faith-book { border-color:var(--deity-color,var(--game-border,#8e7045)); }
body.medieval-game #faith-book h2 { color:var(--deity-color,var(--game-gold,#dfb87b)); }
body.medieval-game :is(#faith-book-rites,#faith-rites) :is(.faith-rite-controls,.faith-rite-rules) {
  background:#211c16;
  border-color:#69573c;
}
body.medieval-game :is(#faith-book-rites,#faith-rites) .faith-rite-list article {
  background:var(--game-raised,#352a1e);
  border-color:#69573c;
  border-left-color:var(--deity-color,var(--game-border,#8e7045));
}
body.medieval-game :is(#faith-book-rites,#faith-rites) :is(.faith-rite-intro,
  .faith-rite-count,.faith-rite-cost,.faith-rite-target,.faith-rite-rules) {
  color:var(--game-muted,#c6b593);
}
body.medieval-game :is(#faith-book-rites,#faith-rites) .faith-rite-list h4 {
  color:var(--game-paper,#e4d1ac);
}
body.medieval-game :is(#faith-book-rites,#faith-rites) .faith-favorite[aria-pressed=true] {
  color:#ffe0a0;
  background-color:var(--game-button-active);
  background-image:var(--game-button-stone-active);
  background-size:auto,256px 256px;
  border-color:var(--game-gold,#dfb87b);
}

/* Quest status and document colors intentionally remain semantic. */
body.medieval-game :is(.quest-catalog,.quest-card) { color:var(--game-paper,#e4d1ac); }
body.medieval-game :is(.quest-catalog fieldset,.quest-group,.quest-group .quest-group) {
  border-color:#69573c;
}
body.medieval-game :is(.quest-group>summary,.quest-card h3,.quest-reward) {
  color:var(--game-gold,#dfb87b);
}
body.medieval-game :is(.quest-filters label,.quest-status-legend,.quest-card li small) {
  color:var(--game-muted,#c6b593);
}
body.medieval-game .quest-list-entry {
  background:var(--game-raised,#352a1e);
  border-color:var(--game-border,#8e7045);
}
body.medieval-game .quest-list-entry:hover {
  background-color:var(--game-button-hover);
  background-image:var(--game-button-stone-hover);
  background-size:auto,256px 256px;
}
body.medieval-game :is(#quest-journal,#skill-quest-catalog,.quest-catalog) button.quest-list-entry.quest-status-unstarted {
  color:#ff9d96;
}
body.medieval-game :is(#quest-journal,#skill-quest-catalog,.quest-catalog) button.quest-list-entry.quest-status-started {
  color:#ffe28b;
}
body.medieval-game :is(#quest-journal,#skill-quest-catalog,.quest-catalog) button.quest-list-entry.quest-status-completed {
  color:#a0e6a9;
}
body.medieval-game .quest-document {
  background:#e4d2a8;
  color:#322d23;
  border-color:#a48a5c;
}
body.medieval-game .quest-document :is(p,summary,th,td) { color:#322d23; }
body.medieval-game .quest-tutorial {
  background:var(--game-raised,#352a1e);
  border-color:var(--game-border,#8e7045);
}

/* Community and membership panels use quiet inset cards, retaining all price,
   checkout, moderation, report and confirmation content. */
body.medieval-game #community-panel :is(.membership-card,.membership-prices>div,
  .membership-tools,.community-confirm) {
  background:var(--game-raised,#352a1e);
  border-color:var(--game-border,#8e7045);
}
body.medieval-game #community-panel :is(.membership-heading h3,
  .membership-plans h3,.membership-prices strong,.membership-tools summary strong,
  .membership-founder) {
  color:var(--game-gold,#dfb87b);
}
body.medieval-game #community-panel :is(.membership-caption,.membership-note,
  .membership-prices small,.membership-tools summary small,.membership-facts dt) {
  color:var(--game-muted,#c6b593);
}
body.medieval-game #community-panel .membership-crest {
  background:#211c16;
  color:var(--game-gold,#dfb87b);
  border-color:var(--game-border,#8e7045);
}

/* Wood interiors and quiet stone frames continue the HUD's material palette. */
body.medieval-game :is(dialog,.interface-panel,#dialog,#bank-panel,#loot-panel,#equipment-panel,
  #skill-panel,#tavern-panel,#vendor-panel,#healer-panel,#artisan-panel,#magic-panel,
  #conversation-panel,#options-panel,#community-panel,#account-panel,#faith-book,
  #quest-detail-panel,#welcome-panel,#guest-review-panel,#research-choices,
  #fieldcraft-panel,.player-trade-panel,.player-duel-panel,.quantity-dialog,
  .manager-research-dialog) {
  background-image:var(--game-wood);
  background-size:auto,512px 512px;
}
body.medieval-game .interface-panel {
  border-image-source:var(--game-stone);
  border-image-repeat:round;
}
body.medieval-game .quest-document {
  background-image:url('/site-art/paper-grain.webp');
  background-size:512px 512px;
}

/* A readable quest sheet rests inside the wooden journal surround. */
body.medieval-game #quest-detail-body { padding:18px 22px 22px; }
body.medieval-game #quest-detail-body>.quest-card {
  padding:18px 22px;
  color:#32291c;
  background:#e4d2a8 url('/site-art/paper-grain.webp') repeat;
  background-size:512px 512px;
  border:1px solid #a48a5c;
  box-shadow:0 3px 10px #0005,inset 0 0 0 3px #f6e9c633;
  overflow-wrap:anywhere;
}
body.medieval-game #quest-detail-body>.quest-card>:first-child { margin-top:0; }
body.medieval-game #quest-detail-body>.quest-card>:last-child { margin-bottom:0; }
body.medieval-game #quest-detail-body .quest-card :is(h3,.quest-reward) { color:#63421e; }
body.medieval-game #quest-detail-body .quest-card :is(.quest-stage,.muted,small) { color:#65543a; }
body.medieval-game #quest-detail-body .quest-card li { border-color:#806b4440; }
body.medieval-game #quest-detail-body .quest-card .done { color:#36502d; }
body.medieval-game #quest-detail-body .quest-directions { border-color:#806b44; }
@media(max-width:650px) {
  body.medieval-game #quest-detail-body { padding:12px; }
  body.medieval-game #quest-detail-body>.quest-card { padding:14px; }
}

/* Include small context menus and dynamic dialogs, not just the large panels.
   Actual border space prevents sticky headings and buttons covering the stone. */
body.medieval-game :is(dialog,[role=dialog],.interface-panel,[role=menu],#dialog,#context,#map-layers-panel,
  .quest-tracker,.pets-panel,.housing-panel,.player-party-panel,#newcomer-intro,#newcomer-world-guide,
  #tutorial-welcome,#manager-performance-hud,#manager-visibility-hud) {
  color:var(--game-paper);
  background-color:var(--game-panel);
  background-image:var(--game-wood);
  background-size:auto,512px 512px;
  background-clip:padding-box;
  border:5px solid transparent;
  border-image:var(--game-stone) 24 / 5px / 0 round;
  border-radius:0;
}
body.medieval-game :is(.item-options-heading,.map-layer-heading,.interface-panel>.interface-heading,
  #quest-detail-panel>header,#conversation-panel>header,.player-trade-panel>header,.player-trade-panel>footer) {
  background-color:var(--game-panel);
  background-image:var(--game-wood);
  background-size:auto,512px 512px;
}
body.medieval-game #npc-relationship-panel button {
  border-width:1px;
  border-style:solid;
  padding:7px 10px;
  min-height:34px;
}
body.medieval-game.compact-ui #npc-relationship-panel button { min-height:44px; }

/* Keep native disclosure semantics while making expandable tools obvious. */
body.medieval-game :is(.research-focused,#bank-panel .bank-tools,#soul-enchanting)>summary {
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:38px;
  padding:9px 12px;
  border:1px solid #8b9b70;
  border-radius:3px;
  color:var(--game-paper);
  background-color:var(--game-button);
  background-image:var(--game-button-stone);
  background-size:auto,256px 256px;
  box-shadow:inset 0 1px #dfebbd20,inset 0 -2px #07150d66;
  cursor:pointer;
  list-style:none;
  font-weight:bold;
}
body.medieval-game :is(.research-focused,#bank-panel .bank-tools,#soul-enchanting)>summary::-webkit-details-marker { display:none; }
body.medieval-game :is(.research-focused,#bank-panel .bank-tools,#soul-enchanting)>summary::after { content:'▸';font-size:16px;flex:none; }
body.medieval-game :is(.research-focused,#bank-panel .bank-tools,#soul-enchanting)[open]>summary::after { content:'▾'; }
body.medieval-game :is(.research-focused,#bank-panel .bank-tools,#soul-enchanting)>summary:hover {
  border-color:var(--game-gold);
  background-image:var(--game-button-stone-hover);
}
body.medieval-game.compact-ui :is(.research-focused,#bank-panel .bank-tools,#soul-enchanting)>summary { min-height:44px; }
/* Home work opens above the private scene, with its own scrollable recipe list. */
body.homestead-open :is(#artisan-panel,#reaping-panel) { z-index: 36; }
.housing-workshops { display: grid; gap: 6px; }
.housing-workshops h3,.housing-workshops p { margin: 4px 0; }
/* Small action bars and older ID-specific controls share the same cached stone
   tile. Background-only rules preserve their sizes and interaction states. */
body.medieval-game :is(#bank-panel #bank-tools-toggle,#world-log #chat-filters-open,
  #healer-panel #healer-treat,#aid-bag-panel #aid-bag-apply,
  #options-panel #audio-enable,#options-panel #audio-test,#options-panel #audio-reset,
  #world-map-panel #world-map-local,#minimap-resize,#movement-hints-close,
  #newcomer-toggle,#manor-guide-toggle,#game-update-reminder,
  #tutorial-welcome button,#game-update-notice button,.magic-ready button,
  #item-use-bar button,#compact-view button,.quest-tracker-guide) {
  background-image:var(--game-button-stone);
  background-size:auto,256px 256px;
  background-position:center;
}
body.medieval-game :is(#bank-panel #bank-tools-toggle,#world-log #chat-filters-open,
  #healer-panel #healer-treat,#aid-bag-panel #aid-bag-apply,
  #options-panel #audio-enable,#options-panel #audio-test,#options-panel #audio-reset,
  #world-map-panel #world-map-local,#minimap-resize,#movement-hints-close,
  #newcomer-toggle,#manor-guide-toggle,#game-update-reminder,
  #tutorial-welcome button,#game-update-notice button,.magic-ready button,
  #item-use-bar button,#compact-view button,.quest-tracker-guide):enabled:hover {
  background-image:var(--game-button-stone-hover);
}
body.medieval-game #world-map-panel #world-map-local[aria-pressed=true] {
  background-image:var(--game-button-stone-active);
}
body.medieval-game .magic-ready #magic-auto[aria-pressed=true] {
  background-image:linear-gradient(#514760cc,#514760cc),url('/site-art/stone-panel.webp');
}
body.medieval-game .housing-tools {
  background-color:var(--game-panel);
  background-image:var(--game-wood);
  background-size:auto,512px 512px;
  border-right:5px solid transparent;
  border-image:var(--game-stone) 24 / 5px / 0 round;
}
