/* macro map pop-up (prototype) - drop-in for Goat's story board */
@font-face{font-family:'MapCinzel';src:url('Cinzel.ttf') format('truetype');font-weight:400 900;font-display:swap}
.bento{position:relative}
.mapbtn{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px 5px 9px;min-height:30px;border-radius:999px;cursor:pointer;
  font:600 11px/1 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.12em;text-transform:uppercase;
  color:#f3d58a;background:linear-gradient(180deg,#14203a,#0b1222);border:1px solid #c9a24a;
  box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 2px rgba(201,162,74,.18);transition:transform .15s,box-shadow .15s,color .15s}
.mapbtn svg{width:14px;height:14px;flex:none}
.mapbtn:hover,.mapbtn:focus-visible{color:#fff3c9;outline:none;transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 2px rgba(201,162,74,.35),0 0 14px rgba(240,200,110,.35)}
@media(pointer:coarse){.mapbtn{min-height:36px;padding:7px 13px 7px 11px}}
body.mp-lock{overflow:hidden}
.mp{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(4,7,14,.82);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.mp.on{display:flex}.mp.vis{opacity:1}
.mp-frame{position:relative;width:96vw;max-width:1800px;height:92vh;
  display:flex;flex-direction:column;background:#0a1020;border:1px solid #c9a24a;border-radius:6px;
  box-shadow:0 0 0 4px #0a1020,0 0 0 5px rgba(201,162,74,.45),0 30px 80px rgba(0,0,0,.7);overflow:hidden}
.mp-bar{flex:none;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;
  background:linear-gradient(180deg,#121b33,#0a1020);border-bottom:1px solid rgba(201,162,74,.55)}
.mp-t{flex:1;min-width:0;font:700 15px/1.1 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.18em;color:#e9c46a;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-t small{font-weight:400;letter-spacing:.1em;color:#b8a57a;margin-left:10px;font-size:11px}
.mp-b{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;min-width:32px;padding:0 10px;cursor:pointer;
  font:600 11px/1 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.12em;text-transform:uppercase;color:#f3d58a;
  background:#0d1630;border:1px solid rgba(201,162,74,.7);border-radius:4px}
.mp-b:hover,.mp-b:focus-visible{background:#18244a;color:#fff3c9;outline:none}
.mp-b.mp-play{background:linear-gradient(180deg,#d9b25a,#a87d2a);color:#0a1020;border-color:#f0d58a}
.mp-b.mp-play:hover{background:linear-gradient(180deg,#f0cd77,#bb8f35);color:#0a1020}
.mp-x{font:400 22px/1 Georgia,serif;width:34px;padding:0}
.mp-view{position:relative;flex:1;min-height:0;overflow:hidden;background:#05080f;touch-action:none;cursor:grab}
.mp-view.drag{cursor:grabbing}
.mp-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.mp-img{position:absolute;left:0;top:0;width:100%;height:100%;user-select:none;-webkit-user-drag:none;max-width:none}
.mp-vid{position:absolute;inset:0;width:100%;height:100%;background:#000;display:none}
.mp.playing .mp-vid{display:block}.mp.playing .mp-zoom{display:none}
.mp-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;white-space:nowrap;padding:4px 10px;border-radius:3px;font:11px/1.3 Georgia,serif;color:#cdbb8e;
  background:rgba(10,16,32,.78);border:1px solid rgba(201,162,74,.35);pointer-events:none;transition:opacity .6s}
.mp.playing .mp-hint{display:none}
.mp-zoom{display:flex;gap:6px}
@media(max-width:600px){.mp-frame{width:100vw;max-width:100vw;height:100%;border-radius:0}.mp-t small{display:none}.mp-b .lbl{display:none}}

@font-face{font-family:'MapBebas';src:url('BebasNeue.ttf') format('truetype');font-display:swap}
/* ---- code-drawn overlay (board coords) ---- */
.mp-ov{position:absolute;inset:0;pointer-events:none}
.mp-lines{position:absolute;left:0;top:0;overflow:visible}
.mp-brat{position:absolute;max-width:none;user-select:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}
.mp-brat.rim{filter:drop-shadow(0 0 1px rgba(240,228,196,.55)) drop-shadow(0 1px 1px rgba(0,0,0,.7))}
.mp-bshadow{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),rgba(0,0,0,0));transform:translate(-50%,-50%)}
.mp-lg{position:absolute;box-sizing:border-box;padding:2.5px;background:#96622e;filter:drop-shadow(2px 3px 2.5px rgba(0,0,0,.6));
  clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
.mp-lg .lg-in{position:relative;height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(90deg,#f0e4c6 0%,#f0e4c6 38%,#d6c49e 50%,#f0e4c6 62%,#f0e4c6 100%);
  clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}
.mp-lg .lg-in::before{content:'';position:absolute;inset:3px;border:1px solid #d6a04e;pointer-events:none}
.lg-tag{font:700 9.2px/1 'MapCinzel','Cinzel',Georgia,serif;color:#342414;letter-spacing:.02em;white-space:nowrap}
.lg-rule{width:40%;height:1px;background:#96622e;margin:2.5px 0 1px}
.lg-num{font:400 30px/1 'MapBebas','Bebas Neue',Impact,'Arial Narrow',sans-serif;color:#a81a16;letter-spacing:.01em;font-variant-numeric:tabular-nums;margin-top:1px}
.lg-cap{font:600 6.2px/1.2 'MapCinzel','Cinzel',Georgia,serif;color:#3e2c18;margin-top:1px;white-space:nowrap}
.lg-asof{font:700 9px/1.2 'MapCinzel','Cinzel',Georgia,serif;color:#281a0c;letter-spacing:.08em;white-space:nowrap;margin-top:1px}
.mp-lg.flip .lg-asof{animation:mpflip .5s ease}
@keyframes mpflip{0%{opacity:.15;transform:translateY(2px)}100%{opacity:1;transform:none}}
.mp-ht{position:absolute;box-sizing:border-box;padding:1.8px;background:#96622e;filter:drop-shadow(1.5px 2px 2px rgba(0,0,0,.6));pointer-events:auto;cursor:help;
  clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);transition:opacity .5s,transform .5s}
.mp-ht .ht-in{position:relative;height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(90deg,#f0e4c6 0%,#f0e4c6 38%,#d6c49e 50%,#f0e4c6 62%,#f0e4c6 100%);
  clip-path:polygon(3px 0,calc(100% - 3px) 0,100% 3px,100% calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,0 calc(100% - 3px),0 3px)}
.mp-ht .ht-in::before{content:'';position:absolute;inset:2px;border:.6px solid #d6a04e;pointer-events:none}
.ht-tag{position:relative;font:700 6.4px/1 'MapCinzel','Cinzel',Georgia,serif;color:#342414;letter-spacing:.06em;white-space:nowrap}
.ht-dot{position:absolute;right:-6px;top:1px;width:3px;height:3px;border-radius:50%;background:#7a6a55;opacity:0}
.mp-ht.offline .ht-dot{opacity:.9}
.ht-num{font:400 15px/1 'MapBebas','Bebas Neue',Impact,sans-serif;color:#a81a16;letter-spacing:.01em;font-variant-numeric:tabular-nums;margin-top:1.5px}
.mp-ht.nomkt .ht-num{font-size:10px;color:#6b4a2a;letter-spacing:.08em}
.ht-cap{font:700 5.6px/1.15 'MapCinzel','Cinzel',Georgia,serif;color:#3e2c18;white-space:nowrap;margin-top:1px}
.ht-asof{font:600 4.4px/1.2 'MapCinzel','Cinzel',Georgia,serif;color:#281a0c;letter-spacing:.05em;white-space:nowrap;margin-top:1px}
.mp-ht.none{display:none}
/* BTC tag + leader power down with the TIME CHAIN and the coin before genesis */
.mp-ht.off{opacity:0;visibility:hidden;transition:opacity .55s .45s,visibility 0s 1s}
.mp-ht.off .ht-in{animation:bcdie .5s steps(1,end) forwards}
.mp-ht.boot .ht-in{animation:bcboot .55s steps(1,end)}
.ht-lead{transition:opacity .55s .45s}.ht-lead.off{opacity:0}
.mp-src{position:absolute;font:400 6.8px/1 'MapCinzel','Cinzel',Georgia,serif;color:#cec0a0;letter-spacing:.06em;white-space:nowrap;text-shadow:0 1px 1px #000}
/* ---- FIAT CLOCK gauge + TIME CHAIN block clock (screen-fixed, bottom-left) ---- */
.mp-deck{flex:none;display:flex;align-items:center;padding:6px 14px;background:linear-gradient(180deg,#0a1020,#121b33);border-top:1px solid rgba(201,162,74,.55)}
.mp.playing .mp-deck,.mp.nohist .mp-deck{display:none}
.mp-tc{position:relative;display:flex;align-items:center;gap:12px;touch-action:none;user-select:none;-webkit-user-select:none}
.mp-dial{width:124px;height:124px;display:block;flex:none;cursor:grab;outline:none;border-radius:50%;-webkit-tap-highlight-color:transparent}
.mp-dial:active{cursor:grabbing}
.mp-dial:focus-visible{box-shadow:0 0 0 2px #0a1020,0 0 0 4px #ffc93c}
.mp-dial .knob{transform-box:view-box;transform-origin:100px 100px;filter:drop-shadow(1px 2px 1.2px rgba(0,0,0,.6))}
.mp-dial .knob.ease{transition:transform .28s cubic-bezier(.3,1.6,.5,1)}
.mp-dial .tk{stroke:#d9a441;stroke-width:.55;stroke-linecap:round}
.mp-dial .tk.yr{stroke-width:.9;stroke:#ffc93c}
.mp-dial .tk.mj{stroke-width:1.6;stroke:#ffd76a}
.mp-dial .tk.est{opacity:.38}
.mp-dial .tk.lv{stroke:#ff3b2f;stroke-width:1.2}
.mp-dial .est-zone{stroke:rgba(200,70,40,.42);stroke-width:2.6;stroke-dasharray:1.2 1.3}
.mp-dial .dl{cursor:pointer}
.mp-dial .dl text{font:400 12.5px 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.04em;fill:#ffd76a}
.mp-dial .dl.est text{fill:#b68a3a}
.mp-dial .dl:hover text{fill:#fff3c9}
.mp-dial .dl-live{fill:#7a1a14}
.mp.live .mp-dial .dl-live{fill:#ff3b2f;filter:drop-shadow(0 0 2px #ff3b2f)}
.mp-dial .g-eng{font:700 6.4px 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.24em;fill:#c9973a;pointer-events:none}
.mp-dial .g-sub{font:400 6px 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.3em;fill:#8a6a32;pointer-events:none}
/* brass date plate inside the gauge face */
.mp-dial .g-plate rect{fill:#120a04;stroke:#b8842e;stroke-width:.7}
.mp-dial .g-plate circle{fill:#b8842e}
.mp-dial .g-date{font:400 10.5px 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.14em;fill:#ffc93c;pointer-events:none}
.mp.est .mp-dial .g-date{fill:#d9a441}
/* right of the gauge: block clock + small LIVE/sound row */
.mp-tside{display:flex;flex-direction:column;gap:6px}
.mp-bc{position:relative;padding:6px 9px 5px;border-radius:4px;background:linear-gradient(180deg,#24170a,#120a04);border:1px solid #b8842e;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 0 3px rgba(201,151,58,.16),0 6px 14px rgba(0,0,0,.55);transition:opacity .5s,transform .5s,visibility 0s}
.mp-bc::before,.mp-bc::after{content:'';position:absolute;top:4px;width:4px;height:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1c4,#b8842e 55%,#4a3110)}
.mp-bc::before{left:4px}.mp-bc::after{right:4px}
.bc-top{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:3px}
.bc-lab{font:400 8.5px/1 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.32em;margin-right:-.32em;color:#c9973a}
.bc-dot{flex:none;width:5px;height:5px;margin-left:-2px;border-radius:50%;background:#6b5a44;opacity:0;transition:opacity .3s}
.mp-bc.offline .bc-dot{opacity:.9}
.bc-seg{display:block;width:118px;height:28px;padding:2px 4px;box-sizing:content-box;background:#070403;border:1px solid #3b2608;border-radius:2px;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.9);color:#f7931a;filter:drop-shadow(0 0 1.5px rgba(247,147,26,.85)) drop-shadow(0 0 4px rgba(247,147,26,.35))}
.bc-seg .sg{stroke-width:1.9;stroke-linecap:round;stroke:currentColor;opacity:.07}
.bc-seg .sg.on{opacity:1}
.bc-note{margin-top:3px;text-align:center;font:400 7.5px/1 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.18em;color:#8a6a32}
.bc-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* board coin cover patch (pre-genesis): opacity is the inverse of the time chain's digits, same timing + flicker */
.mp-coin{position:absolute;max-width:none;pointer-events:none;user-select:none;opacity:0}
.mp-coin.gone{opacity:1;animation:coinout .5s steps(1,end)}
.mp-coin.back{opacity:0;animation:coinin .55s steps(1,end)}
@keyframes coinout{0%{opacity:0}15%{opacity:.75}30%{opacity:.15}45%{opacity:.9}60%{opacity:.55}75%,100%{opacity:1}}
@keyframes coinin{0%{opacity:1}20%{opacity:.4}35%{opacity:.9}55%{opacity:.1}70%{opacity:.6}85%,100%{opacity:0}}
/* before the genesis block the clock powers down: digits sputter out, then the plate fades away (layout kept so LIVE doesn't jump) */
.mp-bc.off{opacity:0;transform:translateY(4px) scale(.97);visibility:hidden;transition:opacity .55s .45s,transform .55s .45s,visibility 0s 1s}
.mp-bc.off .bc-seg{animation:bcdie .5s steps(1,end) forwards}
@keyframes bcdie{0%{opacity:1}15%{opacity:.25}30%{opacity:.85}45%{opacity:.1}60%{opacity:.45}75%,100%{opacity:0}}
.mp-bc.boot .bc-seg{animation:bcboot .55s steps(1,end)}
@keyframes bcboot{0%{opacity:0}20%{opacity:.6}35%{opacity:.1}55%{opacity:.9}70%{opacity:.4}85%,100%{opacity:1}}
.mp-tcs{display:flex;gap:5px;align-items:center}
.mp-live{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:22px;padding:0 8px;cursor:pointer;border-radius:3px;
  font:700 9.5px/1 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.2em;color:#cdbb8e;background:linear-gradient(180deg,#3a2610,#1d1208);border:1px solid rgba(201,151,58,.75)}
.mp-live i{width:7px;height:7px;border-radius:50%;background:#4a1612;box-shadow:inset 0 0 2px #000}
.mp-live:hover,.mp-live:focus-visible{color:#fff3c9;outline:none;border-color:#ffc93c}
.mp.live .mp-live{color:#ffdcd6;border-color:#d9483c;cursor:default}
.mp.live .mp-live i{background:#ff3b2f;box-shadow:0 0 6px 2px rgba(255,59,47,.75),0 0 14px 4px rgba(255,59,47,.35);animation:mppulse 2.2s ease-in-out infinite}
@keyframes mppulse{50%{box-shadow:0 0 3px 1px rgba(255,59,47,.6),0 0 8px 2px rgba(255,59,47,.2)}}
.mp-snd{width:24px;height:22px;padding:0;cursor:pointer;font-size:10.5px;border-radius:3px;background:#1d1208;border:1px solid rgba(201,151,58,.5)}
.mp-badge{position:absolute;top:12px;left:50%;transform:translate(-50%,-6px);padding:5px 14px;border-radius:3px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:4;
  font:700 11px/1 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.22em;color:#f3d58a;background:rgba(10,16,32,.82);border:1px solid rgba(201,162,74,.6);box-shadow:0 4px 14px rgba(0,0,0,.5)}
.mp-badge.on{opacity:1;transform:translate(-50%,0)}
.mp.playing .mp-tc,.mp.playing .mp-badge,.mp.nohist .mp-tc,.mp.nohist .mp-ov{display:none}

/* ---- CRT 'estimated signal' (only while the dialed date is a pre-Sep 2011 estimate) ---- */
.mp-crt{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.mp.est .mp-crt{opacity:1;visibility:visible;transition:opacity .25s}
.mp.playing .mp-crt,.mp.playing .mp-est{display:none}
.crt-noise{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);opacity:.13;mix-blend-mode:screen}
.crt-scan{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px)}
.crt-vig{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.45) 100%)}
.crt-roll{position:absolute;left:0;right:0;height:22%;top:-22%;background:linear-gradient(180deg,transparent,rgba(255,240,200,.07) 45%,rgba(255,240,200,.11) 50%,rgba(0,0,0,.08) 56%,transparent);animation:mproll 6.5s linear infinite}
@keyframes mproll{to{transform:translateY(560%)}}
.mp.est .mp-stage{filter:sepia(.22) saturate(.78) contrast(1.06)}
.mp.est.glitch .mp-stage{filter:sepia(.3) saturate(.5) brightness(.55) contrast(1.4)}
.mp.est.glitch .crt-noise{opacity:.32}
.mp.est.glitch .mp-crt{transform:translateX(3px)}
.mp.burst .crt-noise{opacity:.4;transition:opacity .45s}
/* SMPTE colour bars: flashed briefly when the dial crosses into the estimated era */
.crt-bars{position:absolute;inset:0;opacity:0;display:flex;flex-direction:column}
.crt-bars i,.crt-bars b,.crt-bars u{display:block}
.crt-bars i{flex:67;background:linear-gradient(90deg,#c0c0c0 0 14.29%,#c0c000 0 28.57%,#00c0c0 0 42.86%,#00c000 0 57.14%,#c000c0 0 71.43%,#c00000 0 85.71%,#0000c0 0)}
.crt-bars b{flex:8;background:linear-gradient(90deg,#0000c0 0 14.29%,#131313 0 28.57%,#c000c0 0 42.86%,#131313 0 57.14%,#00c0c0 0 71.43%,#131313 0 85.71%,#c0c0c0 0)}
.crt-bars u{flex:25;background:linear-gradient(90deg,#00214c 0 17.86%,#fff 0 35.71%,#32006a 0 53.57%,#131313 0 76.19%,#090909 0 80.95%,#131313 0 85.71%,#1d1d1d 0 90.48%,#131313 0)}
.crt-bars.on{animation:mpbars .62s steps(1,end) forwards}
.crt-bars.soft{animation:mpbarsoft .9s ease forwards}
@keyframes mpbars{0%{opacity:.82}18%{opacity:0}26%{opacity:.78}62%{opacity:.7}63%{opacity:0}100%{opacity:0}}
@keyframes mpbarsoft{0%{opacity:0}30%{opacity:.35}100%{opacity:0}}
.mp-est{position:absolute;top:12px;right:14px;z-index:4;display:flex;align-items:center;gap:7px;padding:5px 10px 5px 9px;border-radius:3px;pointer-events:none;
  font:400 13px/1 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.22em;color:#ffc93c;background:rgba(18,10,4,.85);border:1px solid rgba(255,201,60,.55);
  box-shadow:0 4px 14px rgba(0,0,0,.5);opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}
.mp-est small{font:400 9px/1 'MapBebas','Bebas Neue',Impact,sans-serif;letter-spacing:.14em;color:#b89a5a;margin-left:2px}
.mp-est i{width:8px;height:8px;border-radius:50%;background:#ff3b2f;box-shadow:0 0 6px rgba(255,59,47,.8);animation:mpblink 1.1s steps(1,end) infinite}
@keyframes mpblink{50%{opacity:.15}}
.mp.est .mp-est{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .mp-coin.gone,.mp-coin.back{animation:none}.mp-coin{transition:opacity .6s}
  .mp-bc.off .bc-seg,.mp-bc.boot .bc-seg,.mp-ht.off .ht-in,.mp-ht.boot .ht-in{animation:none}
  .crt-roll,.mp-est i,.mp.live .mp-live i{animation:none}
  .crt-roll{display:none}.crt-noise{opacity:.08}
  .mp.est.glitch .mp-stage{filter:sepia(.22) saturate(.78) contrast(1.06)}.mp.est.glitch .mp-crt{transform:none}
  .mp-dial .knob.ease{transition:transform .15s ease-out}
}
@media(max-width:600px){
  .mp-dial{width:92px;height:92px}.mp-deck{padding:4px 8px}.mp-tc{gap:8px}.mp-hint{display:none}
  .mp-tside{gap:4px}.mp-bc{padding:5px 6px 4px}.bc-seg{width:88px;height:21px}.bc-note{display:none}.bc-lab{font-size:7.5px}
  .mp-live{height:24px;font-size:10px}.mp-est{top:44px;right:auto;left:50%;font-size:11px;transform:translate(-50%,-6px)}.mp.est .mp-est{transform:translate(-50%,0)}.mp-est small{display:none}
}
@media(max-height:520px){.mp-dial{width:78px;height:78px}.mp-deck{padding:3px 10px}.mp-tside{gap:3px}.mp-bc{padding:4px 6px 3px}.bc-seg{width:84px;height:20px}.bc-note{display:none}.mp-hint{display:none}}
.ht-wti .ht-asof{letter-spacing:.015em}
.ht-silver .ht-asof{letter-spacing:.015em}

/* ---- v9 declutter: legend tab + ghost cards ---- */
.mp-legoff{position:absolute;max-width:none;pointer-events:none;user-select:none}
/* ghosted at rest, full when lit (hover / focus / tap of the landmark, object or card) */
.mp-lg{pointer-events:auto}
.mp-lg.gh,.mp-ht.gh{opacity:.18;transition:opacity .35s ease}
.mp-lead.gh,.ht-lead.gh{opacity:.2;transition:opacity .35s ease}
.mp-lg.gh.lit,.mp-ht.gh.lit,.mp-lead.gh.lit,.ht-lead.gh.lit{opacity:1}
.mp-src{opacity:.3;transition:opacity .35s}.mp-src.lit{opacity:1}
.mp-ht.gh.off,.mp-ht.gh.off.lit{opacity:0}.ht-lead.gh.off,.ht-lead.gh.off.lit{opacity:0}
/* value changed while ghosted (dialing the fiat clock): brief soft glow */
.mp-lg.gh.blip:not(.lit),.mp-ht.gh.blip:not(.lit){animation:ghblip .9s ease}
@keyframes ghblip{0%{opacity:.18}30%{opacity:.62}100%{opacity:.18}}
.mp-hit{position:absolute;pointer-events:auto;cursor:pointer;border-radius:6px;outline:none;-webkit-tap-highlight-color:transparent}
.mp-hit.round{border-radius:50%}
.mp-hit:focus-visible{box-shadow:0 0 0 1.5px #f0d48a,0 0 6px 1px rgba(240,212,138,.6)}
.mp-view.drag .mp-hit,.mp-view.drag .mp-lg,.mp-view.drag .mp-ht{cursor:grabbing}
/* LEGEND tab docked lower-right of the map viewport + pop-up panel */
.mp-legtab{position:absolute;right:10px;bottom:10px;z-index:6;padding:2px;border:0;cursor:pointer;background:#96622e;
  clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% 100%,0 100%,0 5px);filter:drop-shadow(1px 2px 3px rgba(0,0,0,.6))}
.mp-legtab span{display:block;padding:5px 12px 4px;font:700 10px/1 'MapCinzel','Cinzel',Georgia,serif;letter-spacing:.18em;color:#f3d98f;
  background:linear-gradient(#141a2c,#0a0e1a);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% 100%,0 100%,0 4px);box-shadow:inset 0 0 0 1px #d6a04e}
.mp-legtab:hover span,.mp-legtab.open span{color:#fff2c4;background:linear-gradient(#1d2540,#0e1424)}
.mp-legtab:focus-visible{outline:2px solid #f0d48a;outline-offset:2px}
.mp-legend{position:absolute;right:10px;bottom:42px;z-index:7;width:236px;max-width:calc(100% - 20px);max-height:calc(100% - 56px);overflow:auto;
  opacity:0;visibility:hidden;transform:translateY(14px);transform-origin:100% 100%;transition:opacity .28s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s .32s;
  padding:3px;background:#96622e;box-shadow:0 8px 24px rgba(0,0,0,.6)}
.mp-legend.open{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s}
.lgd-in{position:relative;background:#0b0f1c;box-shadow:inset 0 0 0 1px #d6a04e,inset 0 0 0 4px #0b0f1c,inset 0 0 0 5px rgba(214,160,78,.55);padding:12px 16px 12px}
.lgd-h{font:700 19px/1 'MapCinzel','Cinzel',Georgia,serif;color:#f3d98f;text-align:center;letter-spacing:.04em;text-shadow:0 2px 2px #000}
.lgd-rule{position:relative;height:9px;margin:5px 14px 6px}.lgd-rule::before{content:'';position:absolute;left:0;right:0;top:4px;border-top:1px solid #c99a4f}
.lgd-rule i{position:absolute;left:50%;top:1px;width:6px;height:6px;margin-left:-3px;background:#e9c46a;transform:rotate(45deg)}
.lgd-l{list-style:none;margin:0;padding:0}
.lgd-l li{display:flex;gap:9px;align-items:flex-start;margin:3px 0}
.lgd-l b{font:700 15px/1.05 'MapCinzel','Cinzel',Georgia,serif;color:#e9c46a;min-width:10px}
.lgd-l em{display:block;font:600 13.5px/1.05 'MapCinzel','Cinzel',Georgia,serif;font-style:normal;color:#f4ecd8;letter-spacing:.02em}
.lgd-l small{display:block;font:600 10.5px/1.15 'MapCinzel','Cinzel',Georgia,serif;color:#e6dcc4;font-variant:small-caps;letter-spacing:.03em}
.lgd-x{position:absolute;right:5px;top:4px;width:22px;height:22px;border:0;background:none;color:#d6a04e;font:400 18px/1 Georgia,serif;cursor:pointer;border-radius:3px}
.lgd-x:hover{color:#fff2c4}.lgd-x:focus-visible{outline:1.5px solid #f0d48a}
.mp.playing .mp-legtab,.mp.playing .mp-legend{display:none}
@media (max-width:600px){.mp-legtab{right:8px;bottom:8px}.mp-legtab span{font-size:9px;padding:5px 10px 4px}.mp-legend{right:8px;bottom:36px;width:210px}
  .lgd-h{font-size:16px}.lgd-l em{font-size:12px}.lgd-l small{font-size:9.5px}}
@media (prefers-reduced-motion:reduce){
  .mp-legend,.mp-legend.open{transform:none;transition:opacity .15s,visibility 0s .15s}.mp-legend.open{transition:opacity .15s}
  .mp-lg.gh,.mp-ht.gh,.mp-lead.gh,.ht-lead.gh{transition:none}.mp-lg.gh.blip,.mp-ht.gh.blip{animation:none}}

.mp-aus{position:absolute;max-width:none;pointer-events:none;user-select:none}
.mp-silver{position:absolute;max-width:none;pointer-events:none;user-select:none}
.mp-boj{position:absolute;max-width:none;pointer-events:none;user-select:none}

/* [goat-dash edit 2026-10-17] TIME CHAIN block clock is a link to mempool.space */
a.mp-bc{display:block;cursor:pointer;color:inherit;text-decoration:none;-webkit-user-drag:none;user-select:none}a.mp-bc:hover{border-color:#f7931a;box-shadow:0 0 0 1px rgba(247,147,26,.35)}a.mp-bc:focus-visible{outline:2px solid #f7931a;outline-offset:2px}
/* ---- v15 tall-tablet portrait (Project Bot 2026-10-17; JT gave the go 2026-10-18): portrait screens wider than a phone (e.g. 768x1024, 820x1180,
   1024x1366) give the map viewport the board's own 16:9 shape instead of stretching it to 92vh. The board fills the
   width with no empty black bands, the LEGEND tab and hint sit on the map's lower edge, the FIAT CLOCK / TIME CHAIN deck
   sits right under it, and the frame centres. Since the view is no longer taller than 1.1x its width, fitStart() opens
   on the whole board (Americas through Tokyo/BoJ and Australia) like desktop. Phones (<=600px) and landscape untouched. */
@media (min-width:601px) and (orientation:portrait){
  .mp-frame{height:auto;max-height:92vh}
  .mp-view{flex:none;aspect-ratio:16/9}
  .mp.playing .mp-view{aspect-ratio:16/9}
}
