/* Keep document sizing intrinsic; carousels and tables own their horizontal scroll. */
html { scrollbar-gutter:stable; }
body { overflow-wrap:break-word; }
:where(main,section,header,footer,.hood-showcase,.hood-side,.vault-copy,.vault-stats,.community-copy,.setup-panel) { min-width:0; }
:where(.metrics,.hood-side,.vault-metrics,.tiers,.token-grid,.vault-layout,.upgrade-preview-row) > * { min-width:0; }
.metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vault-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tiers { grid-template-columns:repeat(5,minmax(0,1fr)); }
.table-wrap,.upgrades-section .catalog { min-width:0; max-width:100%; overscroll-behavior-x:contain; }
.chart { min-width:0; max-width:100%; grid-template-columns:minmax(0,1fr); }
.chart > :is(.chart-controls,.tooltip) { min-width:0; max-width:100%; width:100%; }
.chart-heading > * { min-width:0; }
.card-label,.latest-title,.round-status { flex-wrap:wrap; }
.leader-row > span { min-width:0; overflow-wrap:anywhere; }
.hero-title-line { white-space:normal; }
.header .hero-navigation { min-width:0; }
.hero--approved .hero-copy { min-width:0; }
.footer .logo img { max-width:140px; }
.footer p { min-width:0; overflow-wrap:anywhere; }
@media(min-width:761px) and (max-width:1050px) {
  .vault-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vault-stats { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .hero-header .hero-navigation { gap:12px; }
  .hero--approved .hero-copy h1 { font-size:clamp(36px,4.75vw,52px); }
  .tiers { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tier:last-child { grid-column:auto; }
}
@media(max-width:760px) {
  html { scroll-padding-top:16px; scrollbar-gutter:auto; }
  .hero--approved .hero-copy { padding-inline:clamp(18px,5vw,28px); }
  .hero--approved .hero-copy h1 { font-size:clamp(29px,8.1vw,58px); overflow-wrap:normal; }
  .hero--approved .hero-action { min-height:52px; }
  .section:not(.footer) { padding:52px clamp(16px,5vw,32px); }
  .section h2 { font-size:clamp(36px,9vw,62px); overflow-wrap:normal; }
  .hood-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hood-showcase .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .hood-showcase .metric,.hood-showcase .metric+.metric { padding:12px 8px; }
  .hood-showcase .metric dd { font-size:clamp(23px,7vw,32px); }
  .hood-showcase .metric dt { overflow-wrap:anywhere; }
  .vault-copy h2 { font-size:clamp(42px,11vw,66px); }
  .vault-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vault-metrics .metric { min-height:0; padding:16px 12px; }
  .catalog-card { flex-basis:84%; }
  .catalog-card > svg { height:220px; }
  .tiers { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tier:last-child { grid-column:1/-1; }
  .tier-range,.tier-numbers { overflow-wrap:anywhere; }
  .tier-numbers { flex-wrap:wrap; }
  .chart > svg { min-width:0; width:100%; min-height:0; }
  .chart { overflow:hidden; padding:10px 4px; touch-action:pan-y; }
  .chart .price-axis { font-size:20px; }
  .chart-controls { min-height:44px; }
  .chart-type button,.segmented button,.text-button,.retry { min-height:44px; }
  .token-grid .metric dd { font-size:clamp(21px,6.5vw,27px); }
  .supply-card,.chart-card { padding:18px; }
  .community-art { height:clamp(240px,70vw,340px); }
  .community-copy h2 { font-size:clamp(38px,10vw,64px); }
  .community-section blockquote { transform:none; font-size:clamp(25px,6.5vw,32px); }
  .footer { padding:28px 5%; gap:16px; }
}
@media(max-width:420px) {
  .hood-side { grid-template-columns:minmax(0,1fr); }
  .hood-side .card:first-of-type { grid-column:auto; }
  .hero--approved .hero-actions { grid-template-columns:minmax(0,1fr); gap:10px; }
  .hero--approved .hero-action { font-size:15px; }
  .hero-scene { height:clamp(280px,85vw,360px); }
  .tier-art svg { height:125px; }
  .tier-name { font-size:24px; }
  .tier-numbers { flex-direction:column; gap:5px; }
  .tier-numbers b { text-align:left; }
}
@media(pointer:coarse) { .button,.carousel-controls button,.menu-toggle { min-height:44px; } }

/* The Hood overview puts the room price and signed last-round results first. */
.latest-room-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; margin:20px 0 24px; }
.latest-room-summary .room-id { margin:0 0 4px; overflow-wrap:anywhere; }
.latest-mint-price { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.latest-mint-price strong { font-size:clamp(24px,2.6vw,34px); line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.latest-mint-price .fine { text-align:right; }
.last-round-label { margin-bottom:16px; }
.trader-group h4 { margin:16px 0 4px; font:700 11px/1.4 var(--font-body, sans-serif); text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.trader-group .leader-row { grid-template-columns:20px 32px minmax(0,1fr) auto; gap:10px; padding:14px 0; }
.trader-group .leader-row strong { font-variant-numeric:tabular-nums; white-space:nowrap; }
.trader-place { color:var(--muted); font-size:14px; }
.more-round-losses summary { cursor:pointer; padding:12px 0; font-size:13px; min-height:44px; }
@media(min-width:421px) and (max-width:760px) { .hood-side .card { grid-column:auto; } }
@media(max-width:600px) { .hood-side { grid-template-columns:minmax(0,1fr); } }
@media(max-width:360px) {
  .latest-room-summary { gap:10px; }
  .latest-mint-price strong { font-size:24px; }
  .latest-mint-price .fine { max-width:110px; }
  .trader-group .leader-row { grid-template-columns:16px 26px minmax(0,1fr) auto; gap:7px; font-size:14px; }
  .trader-group .leader-row img { width:26px; height:26px; }
}

/* Give equipment controls explicit colors, including on phones using dark mode. */
.upgrades-section .catalog-toolbar { color-scheme:light; }
.upgrades-section .category-tabs button {
  min-height:44px; padding:10px 14px; border:1.5px solid #8d7c60; border-radius:8px;
  background:#f0e7d6; color:#24271f; font-size:12px; font-weight:700; line-height:1.25;
  box-shadow:0 2px 0 #d5c3a3; transition:background-color .15s,border-color .15s,transform .15s;
}
.upgrades-section .category-tabs button[aria-pressed="true"] {
  background:#0a0d0b; color:#fffaf2; border-color:#0a0d0b; box-shadow:0 2px 0 #63533a;
}
.upgrades-section .category-tabs button:not([aria-pressed="true"]):hover { background:#e5d4b3; border-color:#665638; }
.upgrades-section .carousel-controls { flex-shrink:0; }
.upgrades-section .carousel-controls button {
  display:grid; place-items:center; width:48px; height:48px; min-width:48px; min-height:48px;
  padding:0; border:1.5px solid #0a0d0b; border-radius:12px; background:#0a0d0b; color:#fffaf2;
  font-size:26px; font-weight:700; line-height:1; box-shadow:0 3px 0 #d5c3a3;
}
.upgrades-section .carousel-controls button:hover { background:#2f352a; border-color:#2f352a; }
.upgrades-section .catalog-toolbar button:active { box-shadow:none; transform:translateY(2px); }
.upgrades-section .catalog-toolbar button:focus-visible { outline:3px solid #0a0d0b; outline-offset:3px; }
@media(max-width:760px) {
  .upgrades-section .catalog-toolbar { flex-wrap:wrap; gap:14px; }
  .upgrades-section .category-tabs { flex:1 1 100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .upgrades-section .category-tabs button { padding:10px 8px; }
  .upgrades-section .carousel-controls { margin-left:auto; gap:10px; }
}
