/* THE MARKET — same ledger as the desk, one screen with a different job.
   Inherits everything from desk2.css; this file only adds what the book needs. */

.mk-hero{border-bottom:1px solid var(--ink);background:var(--soft);padding:clamp(34px,6vw,64px) clamp(16px,4vw,48px)}
.mk-in{max-width:1240px;margin:0 auto}
.mk-hero h1{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(30px,5.4vw,52px);
  line-height:1.04;margin:14px 0 0;letter-spacing:-.01em}
.mk-lead{font-size:15.5px;line-height:1.65;color:var(--body);max-width:56ch;margin:16px 0 0;text-wrap:pretty}
.mk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:clamp(16px,3vw,40px);margin-top:clamp(24px,4vw,38px);
  border-top:1px solid var(--rule);padding-top:20px}

.mk-body{padding:clamp(26px,4vw,44px) clamp(16px,4vw,48px);max-width:1240px;margin:0 auto}
.mk-state{padding:26px 0}
.mk-note{max-width:60ch;margin:14px 0 0}

/* The book. Wider tiles than the desk grid — a price needs room and must never wrap. */
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px;margin-top:18px}
.mk-card{border:1px solid var(--rule);background:#fff;display:flex;flex-direction:column}
.mk-card:hover{box-shadow:5px 5px 0 #EAF4EC}
.mk-card-art{width:100%;aspect-ratio:1;border-bottom:1px solid var(--rule);
  background:#F4F1E8 center/100% 100% no-repeat;image-rendering:pixelated}
.mk-card-b{padding:9px 10px 11px;display:flex;flex-direction:column;gap:7px}
.mk-id{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.06em;color:var(--mute)}
.mk-px{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:16px;
  font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1}
.mk-px small{font-size:9px;letter-spacing:.08em;color:var(--faint);font-weight:400;display:block;margin-top:2px}
.mk-btn{border:1px solid var(--ink);background:var(--ink);color:#fff;font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;letter-spacing:.06em;padding:10px;cursor:pointer;font-weight:600;width:100%;min-height:40px}
.mk-btn:hover{background:var(--green);border-color:var(--green)}
.mk-btn[disabled]{background:#F7F5EE;color:var(--faint);border-color:var(--rule);cursor:not-allowed}
.mk-btn.ghost{background:#fff;color:var(--ink)}
.mk-btn.ghost:hover{background:#F4F1E8;color:var(--ink);border-color:var(--ink)}
.mk-mine{border:2px solid var(--gold)}
.mk-yours{font-family:'IBM Plex Mono',monospace;font-size:7.5px;font-weight:700;letter-spacing:.08em;
  background:var(--gold);color:#12141C;padding:1px 4px;align-self:flex-start}

.mk-empty{border:1px solid var(--rule);background:var(--soft);padding:34px 24px;margin-top:18px;text-align:center}
.mk-empty h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:22px}
.mk-empty p{font-size:14px;color:var(--body);margin:8px 0 0}

/* Selling. The price box is the only input on the page, so it gets real weight. */
.mk-price{margin-top:22px;max-width:420px;display:flex;flex-direction:column;gap:9px}
#s-price{border:1px solid var(--ink);background:#fff;padding:14px 15px;font-family:'IBM Plex Mono',monospace;
  font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);width:100%}
#s-price:focus{outline:2px solid var(--green);outline-offset:1px}
.cta.wide{width:100%;text-align:center;border:none}
.cta[disabled]{background:#F7F5EE;color:var(--faint);cursor:not-allowed}

.mk-foot-note{border-top:1px solid var(--ink);background:var(--soft);padding:clamp(28px,4vw,48px) clamp(16px,4vw,48px)}
.mk-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,3vw,40px);margin-top:18px}
.mk-cols h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:19px;margin-bottom:7px}
.mk-cols p{font-size:14px;line-height:1.65;color:var(--body);margin:0}
.mk-addrs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:26px;
  border-top:1px solid var(--rule);padding-top:18px}
.mk-addrs>div{display:flex;flex-direction:column;gap:3px}
.mk-addrs span:last-child{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--mute);word-break:break-all}

.fail{border-left:2px solid var(--red);background:#FBEDEA;padding:13px 15px;margin-top:16px;font-size:14px;line-height:1.6}
.flash{border-left:2px solid var(--green);background:#EAF4EC;padding:13px 15px;margin-top:16px;font-size:14px;line-height:1.6}
.foot{border-top:1px solid var(--ink);padding:22px clamp(16px,4vw,48px);display:flex;justify-content:space-between;
  gap:14px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.1em;color:var(--faint)}
