.collection-page{max-width:1200px;margin:auto;padding:32px var(--site-gutter) 48px}
.collection-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.gold-balance{margin:0;background:var(--white);padding:9px 16px;border:2px solid var(--black);box-shadow:3px 3px 0 var(--ochre)}
.gold-balance strong{margin-left:8px}
.shop-layout,.admin-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;align-items:start}
.admin-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
.expansion-grid,.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.expansion-grid{margin-top:18px}
.collection-panel{min-width:0;padding:18px;background:var(--white);border:2px solid var(--black);border-top:5px solid var(--green);box-shadow:4px 4px 0 var(--black)}
.collection-panel h2,.collection-panel h3,.shop-layout h2{font:clamp(14px,1.7vw,20px)/1.35 TurboBlock,sans-serif;margin:0 0 10px;overflow-wrap:anywhere}
.collection-panel h3{font-size:14px}
.collection-panel p,.shop-layout p{line-height:1.5}
.collection-panel form{display:grid;gap:8px}
.collection-panel form>label{font-weight:700}
.collection-panel form>input,.collection-panel form>select{width:100%;min-width:0;margin-bottom:6px}
.collection-panel form>select{
  appearance:none;
  padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23171916' stroke-width='2'/%3E%3C/svg%3E");
  background-position:right 12px center;
  background-repeat:no-repeat;
  background-size:14px;
  cursor:pointer;
}
.collection-panel form>select:disabled{opacity:.55;cursor:default}
@media(forced-colors:active){
  .collection-panel form>select{appearance:auto;background-image:none}
}
.collection-panel button{justify-self:start;margin-top:4px}
.collection-panel small{display:block;margin-top:8px}
.collection-panel button:disabled{opacity:.55;cursor:default}
.collection-panel .form-status{margin:4px 0 8px;overflow-wrap:anywhere}
.promo-panel{grid-column:1/-1}
.reward-grid fieldset{min-width:0;padding:8px 12px;border:1px solid var(--line)}
.reward-grid legend{padding:0 4px;font-weight:700}
.reward-options{display:grid;gap:6px;max-height:240px;overflow:auto;padding:5px}
.reward-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-weight:600;cursor:pointer}
.reward-choice[hidden]{display:none}
.reward-choice:hover,.reward-choice:has(input:checked){border-color:var(--green);background:#e8f2e5}
.reward-choice span{min-width:0;overflow-wrap:anywhere}
.reward-options .reward-choice input[type=checkbox]{flex:none;width:18px;height:18px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}
.reward-grid input[type=search]{width:100%;margin:5px 0}
.reward-help{margin:0 0 8px;color:var(--muted);font-size:.9rem}
@media(max-width:750px){
  .shop-layout,.admin-layout,.expansion-grid,.reward-grid{grid-template-columns:1fr}
}
.expansion-actions{display:flex;flex-wrap:wrap;gap:8px}
#expansion-preview{width:min(960px,94vw);max-height:90dvh}
#expansion-preview h2{padding-right:36px;overflow-wrap:anywhere}
#expansion-preview form{position:absolute;top:8px;right:8px}
#expansion-preview form button{width:44px;height:44px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:26px;cursor:pointer}
#expansion-preview-art canvas{display:block;width:auto;height:auto;max-width:100%;max-height:62dvh;margin:auto}
#expansion-preview-status:empty{display:none}

#expansion-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(110px,45%),1fr));gap:12px;margin-top:16px}
#expansion-preview-grid[hidden]{display:none}
.expansion-preview-tile{display:grid;align-content:start;gap:6px;min-width:0;padding:6px;border:1px solid var(--line);background:var(--white);color:var(--ink);text-align:left;cursor:zoom-in}
.expansion-preview-tile:hover{border-color:var(--green)}
.expansion-preview-tile span{overflow-wrap:anywhere}
.expansion-preview-tile canvas{display:block;width:100%;height:auto;background:var(--paper)}
#expansion-preview canvas.preview-unavailable{background:var(--paper) url('/assets/card-back.png') center/contain no-repeat}
#expansion-preview-detail h3{margin:12px 0;text-align:center;overflow-wrap:anywhere}
#expansion-preview-art .foil-frame{width:fit-content;max-width:100%;margin:auto}
#expansion-preview-grid{max-height:72dvh;overflow:auto;padding:4px}
#active-promos{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#active-promos li{padding:10px 12px;border:1px solid var(--line);overflow-wrap:anywhere}
#active-promos code{font-size:1rem;font-weight:700}
#active-promos p{margin:4px 0 0}
#active-promos-status:empty{display:none}

.promo-list-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
