/* Two real book pages: catalogue on the left, original market actions on the right. */
.fgs-shop,.fgs-detail { color: var(--ink); font-family: var(--f-body, Georgia, serif); min-width: 0; }
.fgs-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:8px; border-bottom:1px solid var(--paper-line); }
.fgs-heading h2,.fgs-shop h2 { font: 24px/1.1 var(--f-head, Georgia, serif); margin:0; color:var(--ink); }
.fgs-heading b {font:17px var(--f-pixel,monospace); white-space:nowrap;color:#684814;background:#d8b76f66;border:1px solid #8d672d;padding:5px 8px;box-shadow:inset 0 0 0 2px #fff3c633;}
.fgs-categories {display:flex;gap:12px;flex-wrap:wrap;margin:7px 0;}
.fgs-categories button,.fgs-footer button {background:none;color:var(--ink-soft);padding:4px 0;border:0;border-bottom:2px solid transparent;font:16px var(--f-pixel,monospace);cursor:pointer;}
.fgs-categories button[aria-pressed="true"] {color:var(--ink);border-bottom-color:var(--gilt-deep);}
.fgs-search input {width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--paper-line);padding:6px 0;font:15px var(--f-body,Georgia);border-radius:0;}
.fgs-search input::placeholder {color:var(--ink-soft);opacity:.8;}
.fgs-message {font-size:14px;color:var(--crimson);margin:8px 0;}
.fgs-message:empty {display:none;}
.fgs-items {overflow:auto;scrollbar-color:#8e6b3f55 transparent;}
.fgs-row {display:grid;width:100%;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;background:transparent;border:0;border-bottom:1px solid var(--paper-line);padding:6px;color:var(--ink);font:17px/1.12 var(--f-body,Georgia);text-align:left;cursor:pointer;}
.fgs-row:hover,.fgs-row.is-selected {background:color-mix(in srgb,var(--gilt-deep) 14%,transparent);}
.fgs-row.is-selected {box-shadow:inset 3px 0 var(--gilt-deep);}
.fgs-row small {display:block;color:var(--ink-soft);font:11px/1.25 var(--f-pixel,monospace);margin-top:2px;}
.fgs-row b {font:14px var(--f-pixel,monospace);white-space:nowrap;}
.fgs-icon {display:grid;place-items:center;width:34px;height:34px;font-size:0;overflow:hidden;}
.fgs-icon img {width:100%;height:100%;object-fit:contain;image-rendering:pixelated;}
.fgs-cropped-icon {display:block;width:100%;height:100%;image-rendering:pixelated;}
.fgs-pixel-placeholder {width:18px;height:18px;background:#81613c;box-shadow:6px 0 #b58b4b,0 6px #b58b4b,6px 6px #543c27;image-rendering:pixelated;}
.fgs-footer {border-top:1px solid var(--paper-line);margin-top:10px;padding-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-soft);font-size:13px;}
.fgs-kicker {font:14px var(--f-pixel,monospace);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 8px;}
.fgs-detail .shop-item {display:flex;flex-direction:column;align-items:stretch;gap:9px;background:transparent;border:0;padding:0;opacity:1;}
.fgs-detail .shop-item-body {display:contents;}
.fgs-detail .shop-item-name {order:-2;color:var(--ink);font:28px/1.08 var(--f-head,Georgia);overflow-wrap:anywhere;}
.fgs-detail .shop-item-icon {order:-1;align-self:center;width:92px;height:82px;font-size:0;display:grid;place-items:center;flex:none;overflow:hidden;}
.fgs-detail .shop-item-icon img {width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(4px 6px 0 #56361125);}
.fgs-detail .shop-item-icon .fgs-cropped-icon {filter:drop-shadow(4px 6px 0 #56361125);}
.fgs-detail .shop-item-icon {background:transparent;border:0;box-shadow:none;}
#shop-modal .shop-item-icon img {width:100%;height:100%;object-fit:contain;image-rendering:pixelated;}
#shop-modal .inv-item-icon {display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;overflow:hidden;}
#shop-modal .inv-item-icon img {width:100%;height:100%;object-fit:contain;image-rendering:pixelated;}
#shop-modal .shop-item-icon .fgs-pixel-placeholder,#shop-modal .inv-item-icon .fgs-pixel-placeholder {display:block;width:18px;height:18px;}
.fgs-detail .shop-item-desc,.fgs-detail .shop-item-flavour {color:var(--ink);font:17px/1.35 var(--f-body,Georgia);}
.fgs-detail .shop-item-flavour {color:var(--ink-soft);font-size:15px;}
.fgs-detail .shop-item-meta {color:var(--ink-soft);display:flex;gap:8px;flex-wrap:wrap;}
.fgs-detail .shop-item-meta span {color:var(--ink-soft);background:transparent;}
.fgs-detail .shop-item-actions {display:flex;flex-wrap:wrap;justify-content:stretch;align-items:center;gap:10px;width:100%;}
.fgs-detail .shop-item-actions button {min-height:44px;flex:1;background:#755027;border:1px solid #4c331c;color:#ffedce;font:18px var(--f-pixel,monospace);padding:9px 12px;cursor:pointer;}
.fgs-detail .shop-item-actions button:disabled {background:color-mix(in srgb,var(--ink-soft) 18%,transparent);color:var(--ink-soft);border-color:var(--paper-line);cursor:default;}
.fgs-detail .shop-price {color:var(--ink);font:19px var(--f-pixel,monospace);width:100%;text-align:left;}
.fgs-facts {display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;border-top:1px solid var(--paper-line);padding-top:10px;margin:0;color:var(--ink);font-size:15px;}
.fgs-facts dt {color:var(--ink-soft);font-family:var(--f-pixel,monospace);}
.fgs-facts dd {margin:0;text-align:right;}
.fgs-empty {color:var(--ink-soft);font-size:18px;}
.fgs-shop button:focus-visible,.fgs-detail button:focus-visible,.fgs-search input:focus-visible {outline:3px solid #3d8296;outline-offset:2px;}
.fgs-sr {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}
#view-field-guide .fgs-detail .shop-item-actions {flex-direction:row;align-items:stretch;}
#view-field-guide .fgs-detail .shop-item-actions button {display:block;width:100%;max-width:none;flex:1 1 auto;min-height:44px;font:18px var(--f-pixel,monospace);padding:10px 14px;}
#view-field-guide .fg3-launch-btn {color:var(--ink);}
#view-field-guide .fg3-rounds-action {color:var(--ink);}
#view-field-guide .fg3-rounds-action-btn {color:var(--ink);}
.hth-book-scene-preview #view-field-guide .fg3-page-left,.hth-book-scene-preview #view-field-guide .fg3-tabs {visibility:hidden;}
.hth-book-scene-preview #view-field-guide .fg3-book {background:none;filter:none;}
.hth-book-scene-preview #view-field-guide .fg3-page-right {position:fixed;inset:calc(var(--top-bar-h) + 28px) 20px 28px auto;width:min(370px,36vw);padding:24px;background:#f1d4a6;border:3px solid #957146;box-shadow:0 16px 60px #000b;z-index:4;}
.hth-book-active.hth-book-scene-preview > #wagon-viewport {visibility:visible;pointer-events:none;width:calc(100% - 410px);}
.fgs-preview-back {background:#654621;color:#fff0cb;border:1px solid #937341;padding:9px 15px;min-height:44px;margin-bottom:15px;cursor:pointer;}
@media(max-width:700px){.hth-book-scene-preview #view-field-guide .fg3-page-right {width:calc(100vw - 30px);top:48vh;bottom:12px;}.hth-book-scene-preview > #wagon-viewport {width:100%;bottom:auto;top:var(--top-bar-h);}}
@media (max-width:1100px) { .fgs-row {grid-template-columns:30px minmax(0,1fr) auto;gap:7px;font-size:17px;}.fgs-icon {width:30px;height:34px;}.fgs-detail .shop-item-name {font-size:27px;}.fgs-detail .shop-item-icon {width:100px;height:100px;} }

/* Shelf and reader layout belongs to the shop, never to book geometry. */
.fgs-modes {display:flex;gap:18px;border-bottom:1px solid var(--paper-line);}
.fgs-modes button {font:18px var(--f-body,Georgia);color:var(--ink-soft);background:none;border:0;border-bottom:2px solid transparent;min-height:44px;cursor:pointer;}
.fgs-modes button[aria-pressed="true"] {color:var(--ink);border-bottom-color:var(--gilt-deep);}
.fgs-categories {gap:0 12px;}
.fgs-categories button {min-height:44px;font:15px/1.2 var(--f-body,Georgia);}
.fgs-row {min-height:52px;}
.fgs-row small {font:12px/1.3 var(--f-body,Georgia);}
.fgs-footer button {min-height:44px;font:15px var(--f-body,Georgia);}
.fgs-owned-state,.fgs-reason {font:15px/1.4 var(--f-body,Georgia);color:var(--ink-soft);margin:0;}
.fgs-detail .shop-item {gap:10px;}
.fgs-detail .shop-item-name {margin:0;font-size:26px;}
.fgs-detail .shop-item-desc {margin:0;font-size:16px;}
.fgs-detail .shop-item-icon {width:84px;height:84px;box-sizing:border-box;padding:6px;border-radius:0;overflow:visible;}
.fgs-lore {font:15px/1.4 var(--f-body,Georgia);color:var(--ink-soft);}
.fgs-lore summary {cursor:pointer;min-height:36px;padding-top:7px;}
.fgs-lore p {margin:6px 0;}
.fgs-reader-back {display:none;background:none;border:0;color:var(--ink);font:16px var(--f-body,Georgia);min-height:44px;text-align:left;cursor:pointer;padding:0 0 8px;}
.hth-book-scene-preview #view-field-guide {background:transparent;backdrop-filter:none;}
@media(min-width:861px) {
  .fg3-view:has(>.fgs-shop) {min-height:0;flex:1 1 auto;display:flex;}
  .fgs-shop {display:flex;flex-direction:column;min-height:0;width:100%;height:100%;}
  /* The index gets the page; compact chrome must never squash the search
     field or force an 80px list to overflow a short book. */
  .fgs-shop > :not(.fgs-items) {flex:0 0 auto;}
  .fgs-heading {padding-bottom:6px;}
  .fgs-heading b {font-size:16px;padding:3px 6px;}
  .fgs-modes {gap:16px;}
  .fgs-modes button {min-height:32px;padding:4px 8px;font:16px/1.2 var(--f-body,Georgia);}
  .fgs-categories {margin:4px 0;gap:0 10px;}
  .fgs-categories button {min-height:28px;font-size:14px;}
  .fgs-search input {min-height:30px;padding:4px 0;font:15px/1.2 var(--f-body,Georgia);box-shadow:none;}
  .fgs-items {flex:1 1 0;min-height:0;}
  .fgs-row {min-height:48px;font-size:16px;}
  .fgs-footer {margin-top:4px;padding-top:2px;min-height:30px;}
  .fgs-footer button {min-height:28px;font:14px/1.2 var(--f-body,Georgia);}
}
@media(min-width:861px) and (any-pointer:coarse) {
  .fgs-modes button,.fgs-categories button,.fgs-footer button,.fgs-search input {min-height:44px;}
}
@media(max-width:860px) {
  .hth-shop-active:not(.hth-shop-detail) .fgs-reader-page {display:none;}
  .hth-shop-active.hth-shop-detail .fgs-list-page {display:none;}
  .fgs-reader-back {display:block;}
  .fgs-reader-page {min-height:370px;}
  .fgs-detail .shop-item-name {font-size:27px;}
  .fgs-detail .shop-item-actions {position:sticky;bottom:0;padding:10px 0;background:#dec59b;z-index:1;}
  .hth-book-scene-preview .fgs-list-page {display:none;}
  .hth-book-scene-preview .fgs-reader-page {display:flex !important;}
  .hth-book-scene-preview .fgs-reader-back {display:none;}
}

.fgs-detail .shop-item-meta:empty {display:none;}
.fgs-detail .shop-item-actions {position:sticky;bottom:0;padding-block:8px;background:#ffe4bc;z-index:2;box-shadow:0 -1px var(--paper-line);}

/* Hat progress stays quiet; exact counts open on demand. */
.fgs-journey { margin: .5em 0; padding-block: .5em; }
.fgs-journey-status { margin: 0 0 .35em; font: 15px/1.4 var(--f-body, Georgia); }
.fgs-journey progress { display: block; width: 100%; height: .32em; accent-color: #826130; }
.fgs-journey progress::-webkit-progress-bar { background: #936c3826; border-radius: 2px; }
.fgs-journey progress::-webkit-progress-value { background: #826130; border-radius: 2px; }
.fgs-journey details, .fgs-journey > p:not(.fgs-journey-status) { font: 14px/1.4 var(--f-body, Georgia); }
.fgs-journey summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: .45em; }
.fgs-journey summary::before { content: '▸'; }
.fgs-journey details[open] > summary::before { content: '▾'; }
.fgs-requirements { list-style: none; padding: 0; margin: 0; }
.fgs-requirements li { display: flex; justify-content: space-between; gap: 1em; padding-block: .25em; }
.fgs-requirements li span:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.fgs-journey .fgs-challenge { margin-top: .4em; min-height: 44px; width: 100%; padding: .4em; border: 1px solid #936c3866; border-radius: 4px; color: inherit; background: #936c381c; font: 15px var(--f-body, Georgia); }
.fgs-detail .fgs-journey-card .shop-item-actions { position: static; background: transparent; }

.fgs-journey-track { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .15rem .5rem; margin: .3rem 0 .65rem; }
.fgs-journey-track progress { grid-column: 1 / -1; width: 100%; margin: 0; }
.fgs-core-conditions ul { padding-left: 1.2rem; margin: .5rem 0; }
.fgs-core-conditions li { margin: .3rem 0; overflow-wrap: anywhere; }
