/* Hummingbird Market on the Keelan River (LOCAL ONLY). DOM/SVG/CSS parallax world. Images + palette come from the generated
   <style id="mk-skin"> (web/data/market-skin.json via tools/build_market.py). Animations: transform/opacity only. */
@view-transition { navigation: auto; }
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:var(--night);color:var(--text);font-family:var(--f-ui)}
.mk{--cx:0;--s:.9}
.mk:not(.mk--list){overflow:hidden;height:100%;overscroll-behavior:none}
a{color:var(--gold)}
.mk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mk-skip{position:fixed;left:12px;top:-60px;z-index:60;background:var(--gold);color:var(--night);padding:10px 14px;border-radius:8px;font-weight:600;transition:top .15s}
.mk-skip:focus{top:12px}
:focus-visible{outline:3px solid var(--turq);outline-offset:3px}

/* header (standard KR nav, compact) */
.mk-header{position:fixed;top:0;left:0;right:0;z-index:30;background:linear-gradient(rgba(11,10,26,.92),rgba(11,10,26,.55) 70%,rgba(11,10,26,0));pointer-events:none}
.mk-header .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 20px;pointer-events:auto}
.mk-header .logo-img{height:40px;width:auto;display:block}
.mk-header .nav-links{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
.mk-header .nav-links a{color:var(--text);text-decoration:none;font-size:15px;opacity:.85}
.mk-header .nav-links a[aria-current]{color:var(--gold);opacity:1}
.mk-header .btn-nav{border:1px solid var(--gold);padding:6px 12px;border-radius:999px;color:var(--gold)!important}
.mk-header .nav-toggle{display:none}
@media (max-width:760px){.mk-header .nav-links li:not(:has(.btn-nav)){display:none}.mk-header .logo-img{height:32px}}

/* stage + parallax layers: one camera variable (--cx, world px) drives every layer */
.mk-stage{position:fixed;inset:0;overflow:clip;background:var(--night);touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.mk-stage:focus-visible{outline:3px solid var(--turq);outline-offset:-3px}
.mk-par{position:absolute;left:0;top:0;pointer-events:none;will-change:transform;
  transform:translate3d(calc(var(--cx) * var(--f) * var(--s) * -1px),0,0);background-repeat:repeat-x}
.mk-sky{--f:var(--L-sky-f);height:100%;width:calc(100% + var(--W) * var(--f) * var(--s) * 1px);
  background-size:calc(var(--L-sky-tw) * var(--s) * 1px) calc(var(--L-sky-h) * var(--s) * 1px);background-color:var(--night)}
.mk-far{--f:var(--L-far-f);top:calc(var(--L-far-top) * var(--s) * 1px);height:calc(var(--L-far-h) * var(--s) * 1px);
  width:calc(100% + var(--W) * var(--f) * var(--s) * 1px);background-size:calc(var(--L-far-tw) * var(--s) * 1px) 100%;opacity:.9}
.mk-mid{--f:var(--L-mid-f);top:calc(var(--L-mid-top) * var(--s) * 1px);height:calc(var(--L-mid-h) * var(--s) * 1px);
  width:calc(100% + var(--W) * var(--f) * var(--s) * 1px);background-size:calc(var(--L-mid-tw) * var(--s) * 1px) 100%}
.mk-fgt,.mk-fgb{--f:var(--L-fg_top-f);width:calc(100% + var(--W) * var(--f) * var(--s) * 1px);z-index:4}
.mk-fgt{height:calc(var(--L-fg_top-h) * var(--s) * .7px);background-size:calc(var(--L-fg_top-tw) * var(--s) * .7px) 100%}
.mk-fgb{top:auto;bottom:0;height:calc(var(--L-fg_bottom-h) * var(--s) * .5px);background-size:calc(var(--L-fg_bottom-tw) * var(--s) * .5px) 100%;background-position:0 100%}
.mk-mist{--f:.9;top:calc(380 * var(--s) * 1px);height:calc(300 * var(--s) * 1px);width:calc(100% + var(--W) * var(--f) * var(--s) * 1px);overflow:hidden;opacity:.55;z-index:3}
.mk-mist--b{--f:1.2;top:calc(690 * var(--s) * 1px);height:calc(240 * var(--s) * 1px);opacity:.35}
.mk-mist i{position:absolute;inset:0 auto 0 0;width:calc(100% + var(--L-mist-tw) * var(--s) * 1px);background-repeat:repeat-x;
  background-size:calc(var(--L-mist-tw) * var(--s) * 1px) 100%;animation:mk-drift 48s linear infinite;will-change:transform}
.mk-mist--b i{animation-duration:64s;animation-direction:reverse}
@keyframes mk-drift{to{transform:translate3d(calc(var(--L-mist-tw) * var(--s) * -1px),0,0)}}

/* the world: world px, scaled to the viewport height */
.mk-world{position:absolute;left:0;top:0;width:calc(var(--W) * 1px);height:calc(var(--H) * 1px);transform-origin:0 0;will-change:transform;
  transform:translate3d(calc(var(--cx) * var(--s) * -1px),0,0) scale(var(--s));z-index:2}
.mk-world>*{position:absolute}
.mk-seg{top:0;height:100%;pointer-events:none;background-repeat:repeat}
.mk-ground{left:0;top:0;pointer-events:none}
.mk-grass{fill:none;stroke:var(--violet);stroke-opacity:.55;stroke-width:3}
.mk-trail-path{fill:none;stroke:var(--copper);stroke-opacity:.32;stroke-width:20;stroke-linecap:round;stroke-linejoin:round}
.mk-trail-path--side{stroke-dasharray:2 26;stroke-width:12;stroke-opacity:.6;stroke:var(--gold)}
.mk-water{left:0;width:calc(var(--W) * 1px);pointer-events:none;background:#0e1640;overflow:hidden}
.mk-water i{position:absolute;left:0;top:0;height:100%;width:calc(var(--W) * 1px + 512px);background-repeat:repeat;will-change:transform}
.mk-water__tex{animation:mk-flow 30s linear infinite}
.mk-water__glint{opacity:.5;animation:mk-flow 17s linear infinite,mk-shimmer 3.4s ease-in-out infinite alternate}
.mk-water__glint--b{left:-256px!important;top:40px!important;opacity:.45;animation:mk-flowr 23s linear infinite,mk-shimmer 2.6s ease-in-out -1s infinite alternate}
@keyframes mk-flow{to{transform:translate3d(-512px,0,0)}}
@keyframes mk-flowr{from{transform:translate3d(-512px,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes mk-shimmer{from{opacity:.15}to{opacity:.6}}
.mk-riverglow{left:0;top:0;pointer-events:none;fill:none;stroke:var(--turq);stroke-width:14;opacity:.75;animation:mk-pulse 4.5s ease-in-out infinite alternate;will-change:opacity}
.mk-riverglow__line{stroke-width:2.5;stroke:#9ff5ef}
@keyframes mk-pulse{from{opacity:.45}to{opacity:1}}
.mk-gate{width:320px;height:260px;transform:translate(-50%,-100%);background:no-repeat center/contain;pointer-events:none}
.mk-gate--front{z-index:7}
.mk-landing{width:300px;height:110px;transform:translate(-50%,-40%);background:no-repeat center/contain;pointer-events:none}
.mk-landing::after{content:"";position:absolute;left:10%;right:10%;top:-40%;bottom:-20%;border-radius:50%;background:radial-gradient(closest-side,rgba(201,169,98,.35),transparent);animation:mk-flicker 4s ease-in-out infinite}
.mk-landing--stillwater::after{background:radial-gradient(closest-side,rgba(79,198,211,.35),transparent)}
.mk-landing--bloom::after{background:radial-gradient(closest-side,rgba(194,76,225,.35),transparent)}

/* bridges */
.mk-bridge{width:calc(130px * var(--w));transform:translateX(-50%);pointer-events:none}
.mk-bridge i{position:absolute;inset:0}
.mk-bridge__deck{background-repeat:repeat;background-size:64px 32px;clip-path:polygon(24% 0,76% 0,100% 100%,0 100%);box-shadow:inset 0 0 30px rgba(0,0,0,.6)}
.mk-bridge__rail{background:var(--copper)}
.mk-bridge__rail--l{clip-path:polygon(21% 0,25% 0,3% 100%,-1% 100%)}
.mk-bridge__rail--r{clip-path:polygon(75% 0,79% 0,101% 100%,97% 100%)}
.mk-bridge--lantern-bridge .mk-bridge__rail{background:var(--gold)}
.mk-bridge--copper-bridge .mk-bridge__deck{background-color:var(--copper);background-blend-mode:multiply}
.mk-bridge .mk-lantern{position:absolute;inset:auto}

/* lanterns (sprite from skin, halo from palette) */
.mk-lantern{width:22px;height:33px;margin:-33px 0 0 -11px;background:no-repeat center/contain;pointer-events:none}
.mk-lantern::after{content:"";position:absolute;left:50%;top:55%;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,196,120,.55),rgba(255,150,70,.18) 38%,rgba(255,150,70,0) 68%);animation:mk-flicker 3.1s ease-in-out var(--d,0s) infinite;will-change:opacity,transform}
@keyframes mk-flicker{0%,100%{opacity:.85;transform:scale(1)}22%{opacity:.55;transform:scale(.93)}40%{opacity:1;transform:scale(1.05)}63%{opacity:.7}81%{opacity:.95;transform:scale(.98)}}

/* booths */
.mk-booth{width:260px;height:220px;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;
  transform:translate(-50%,-100%) scale(var(--sc));transform-origin:50% 100%;z-index:1}
.mk-booth>*{position:absolute;pointer-events:none}
.mk-booth__frame{inset:0;width:100%;height:100%}
.mk-booth__awning{inset:0;background:repeating-linear-gradient(90deg,var(--b1) 0 26px,var(--b2) 26px 52px);-webkit-mask-size:100% 100%;mask-size:100% 100%}
.mk-booth__awning::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.2),rgba(0,0,0,.35))}
.mk-booth__sign{left:50%;top:47%;transform:translate(-50%,-50%);font-family:var(--bfont),var(--f-display);font-size:22px;line-height:1.05;text-align:center;
  max-width:200px;color:#fff;background:var(--b3);border:2px solid var(--b1);border-radius:6px;padding:5px 10px;box-shadow:0 0 14px color-mix(in srgb,var(--b1) 70%,transparent)}
.mk-booth--open .mk-booth__sign{background:rgba(11,10,26,.8);border-style:dashed;color:var(--gold);font-size:20px}
.mk-booth__stamp{right:6px;top:16px;transform:rotate(12deg);font:700 15px/1 var(--f-ui);letter-spacing:.12em;color:#fff;background:#c0392b;border:2px solid #fff;padding:4px 7px;border-radius:4px}
.mk-booth__glow{left:-30%;right:-30%;bottom:-30px;height:120px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--b1) 60%,transparent),transparent);opacity:.45;transition:opacity .3s,transform .3s}
.mk-booth:hover .mk-booth__glow,.mk-booth:focus-visible .mk-booth__glow,.mk-booth.is-near .mk-booth__glow{opacity:1;transform:scale(1.12)}
.mk-booth:focus-visible{outline:4px solid var(--turq);outline-offset:8px;border-radius:10px}

/* labels: bloom as the bird passes (class toggles + transitions) */
.mk-label{transform:translate(-50%,-50%) scale(.86);font:600 30px/1.05 var(--f-display);color:var(--text);white-space:nowrap;text-align:center;pointer-events:none;
  opacity:.34;text-shadow:0 2px 8px #000;transition:opacity .4s,transform .5s cubic-bezier(.2,1.7,.4,1),text-shadow .5s;z-index:3}
.mk-label small{display:block;margin-top:4px;font:600 13px/1.2 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:0;transition:opacity .4s}
.mk-label--river{font-style:italic;font-size:40px;letter-spacing:.06em;color:#bff7f2;opacity:.42}
.mk-label--area{font-size:46px;opacity:.26;color:var(--muted)}
.mk-label--booth{opacity:0;font-size:28px;transform:translate(-50%,-30%) scale(.7)}
.mk-label.is-bloom{opacity:1;transform:translate(-50%,-50%) scale(1.04);text-shadow:0 0 18px var(--turq),0 0 6px var(--gold),0 2px 6px #000}
.mk-label.is-bloom small{opacity:1}

/* the bird: position/tilt from JS (transform), wings + bob from CSS */
.mk-bird{left:0;top:0;width:0;height:0;z-index:6;pointer-events:none;will-change:transform;view-transition-name:kr-bird}
.mk-bird__shadow{position:absolute;left:-50px;top:-12px;width:100px;height:24px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);animation:mk-shadow 1.7s ease-in-out infinite}
.mk-bird__bob{position:absolute;left:var(--bird-left);top:calc(var(--bird-top) - 78px);width:var(--bird-w);height:var(--bird-h);animation:mk-bob 1.7s ease-in-out infinite}
.mk-bird__face{position:absolute;inset:0;transition:transform .16s cubic-bezier(.3,1.9,.5,1);transform-origin:var(--bird-ax) var(--bird-ay)}
.mk-bird.is-right .mk-bird__face{transform:scaleX(-1)}
.mk-bird__face img{position:absolute;inset:0;width:100%;height:100%}
.mk-bird__wing{transform-origin:var(--wing-ox) var(--wing-oy);animation:mk-flap .1s linear infinite alternate}
.mk-bird__blur{opacity:.3;animation:mk-blur .07s steps(2,jump-none) infinite alternate}
.mk-bird.is-flying .mk-bird__wing{animation-duration:.055s}
.mk-bird.is-flying .mk-bird__blur{animation-duration:.045s}
@keyframes mk-flap{from{transform:scaleY(1)}to{transform:scaleY(-.3) scaleX(.96)}}
@keyframes mk-blur{from{opacity:.15}to{opacity:.8}}
@keyframes mk-bob{0%,100%{transform:translate3d(0,-7px,0)}50%{transform:translate3d(0,7px,0)}}
@keyframes mk-shadow{0%,100%{transform:scale(.82);opacity:.7}50%{transform:scale(1);opacity:1}}
.mk-dot{left:0;top:0;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;opacity:0;pointer-events:none;z-index:5;
  background:radial-gradient(circle,#fff 0,var(--c,var(--gold)) 30%,transparent 70%)}
.mk-dot:nth-child(3n){--c:var(--turq)}.mk-dot:nth-child(3n+1){--c:var(--violet)}
.mk-dot.a{animation:mk-dotA .85s ease-out forwards}.mk-dot.b{animation:mk-dotB .85s ease-out forwards}
@keyframes mk-dotA{from{opacity:.95;transform:translate3d(var(--x),var(--y),0) scale(1)}to{opacity:0;transform:translate3d(var(--x),calc(var(--y) + 26px),0) scale(.15)}}
@keyframes mk-dotB{from{opacity:.95;transform:translate3d(var(--x),var(--y),0) scale(1)}to{opacity:0;transform:translate3d(var(--x),calc(var(--y) + 26px),0) scale(.15)}}

/* fireflies: screen space */
.mk-flies{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.mk-flies i{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fff 0,var(--hue) 32%,transparent 70%);
  animation:mk-fly var(--t) ease-in-out var(--d) infinite;will-change:transform,opacity}
@keyframes mk-fly{0%,100%{transform:translate3d(0,0,0);opacity:.1}25%{transform:translate3d(46px,-34px,0);opacity:1}50%{transform:translate3d(-22px,-70px,0);opacity:.25}75%{transform:translate3d(34px,-22px,0);opacity:.95}}
@media (max-width:600px){.mk-flies i:nth-child(n+15){display:none}}

/* HUD, tip */
.mk-hud{position:fixed;top:64px;left:20px;z-index:7;pointer-events:none;max-width:calc(100% - 40px)}
.mk-title{margin:0;font:600 clamp(24px,3vw,38px)/1.05 var(--f-display);color:var(--text);text-shadow:0 0 16px rgba(79,198,211,.45),0 2px 10px #000}
.mk-title span{display:block;margin-top:6px;font:500 15px/1.3 var(--f-ui);color:var(--muted);text-shadow:0 1px 6px #000}
.mk-hud__links{margin:8px 0 0;pointer-events:auto;font-size:14px}
.mk-hud__links a{color:var(--gold);text-shadow:0 1px 6px #000}
.mk-tip{position:absolute;left:50%;bottom:118px;transform:translate(-50%,8px);margin:0;padding:8px 16px;border-radius:999px;background:rgba(11,10,26,.88);
  border:1px solid rgba(201,169,98,.6);font-size:15px;opacity:0;transition:opacity .25s,transform .3s cubic-bezier(.2,1.6,.4,1);z-index:8;pointer-events:none;white-space:nowrap}
.mk-tip.is-on{opacity:1;transform:translate(-50%,0)}

/* minimap (plain DOM) */
.mk-map{position:fixed;left:16px;bottom:16px;z-index:12;width:min(460px,calc(100% - 32px));background:rgba(12,10,28,.92);border:1px solid rgba(201,169,98,.4);
  border-radius:14px;padding:8px 12px 10px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.mk-map__toggle{background:none;border:0;color:var(--gold);font:600 13px var(--f-ui);letter-spacing:.12em;text-transform:uppercase;padding:4px 0;cursor:pointer}
.mk-mini{position:relative;height:52px;margin-top:2px;cursor:pointer}
.mk-mini svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mk-mini path{vector-effect:non-scaling-stroke;fill:none}
.mk-mini__river{fill:rgba(79,198,211,.35)!important;stroke:var(--turq);stroke-width:1.2}
.mk-mini__path{stroke:var(--copper);stroke-width:1.5;stroke-opacity:.8}
.mk-mini__path--side{stroke-dasharray:2 3}
.mk-mini__bridge{stroke:var(--gold);stroke-width:2.5}
.mk-mini__place{width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--turq)}
.mk-mini i{position:absolute;display:block}
.mk-mini__booth{width:7px;height:7px;margin:-3px;border-radius:2px;background:var(--copper)}
.mk-mini__view{top:0;bottom:0;border:1px solid rgba(245,238,220,.45);border-radius:4px;left:0;width:10%}
.mk-mini__here{width:12px;height:12px;margin:-6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 3px #fff;top:50%}
.mk-map__body{margin-top:8px;max-height:min(52vh,420px);overflow:auto}
.mk-map__title{margin:0 0 6px;font:600 20px var(--f-display)}
.mk-map__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mk-map h2{margin:6px 0 4px;font:600 12px var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mk-map ul{list-style:none;margin:0;padding:0}
.mk-map li button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:6px;color:var(--text);font:500 14px/1.25 var(--f-ui);padding:5px 6px;cursor:pointer}
.mk-map li button:hover,.mk-map li button:focus-visible{background:rgba(79,198,211,.16);color:#fff}
.mk-map li button small{color:#ff9b8a;font-size:11px;letter-spacing:.08em}
.mk-map__foot{margin:8px 0 0;font-size:14px}
@media (max-width:600px){.mk-map{left:8px;right:8px;bottom:8px;width:auto}.mk-map__cols{grid-template-columns:1fr 1fr}.mk-map__cols>div:last-child{grid-column:1/-1}.mk-tip{bottom:104px;font-size:14px}}

/* storefront panel */
.mk-panel{position:fixed;right:16px;top:70px;bottom:16px;z-index:20;width:min(430px,calc(100% - 32px));overflow:auto;overscroll-behavior:contain;padding:22px 22px 18px;
  color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--b3,#222) 35%,#0d0b1c),#0b0a1a 60%);border:1px solid color-mix(in srgb,var(--b1) 70%,transparent);
  border-top:6px solid var(--b1);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 34px color-mix(in srgb,var(--b1) 35%,transparent)}
.mk-panel:focus{outline:none}.mk-panel:focus-visible{outline:2px solid var(--turq);outline-offset:2px}
.mk-panel:not([hidden]){animation:mk-pop .34s cubic-bezier(.2,1.5,.4,1)}
@keyframes mk-pop{from{opacity:0;transform:translate3d(24px,0,0) scale(.94)}}
.mk-panel__x{position:absolute;right:10px;top:8px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--text);font-size:26px;line-height:1;cursor:pointer}
.mk-panel__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 40px 10px 0}
.mk-chip{font:600 11px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.mk-chip--flag{background:var(--gold);color:var(--night);border-color:var(--gold)}
.mk-chip--sample{background:#c0392b;color:#fff;border-color:#fff}
.mk-chip--where{color:var(--turq);border-color:rgba(79,198,211,.5)}
.mk-panel h2{margin:0 0 6px;font:400 34px/1.05 var(--bfont,var(--f-display)),var(--f-display);color:#fff}
.mk-panel__line{margin:0 0 8px;color:var(--gold);font-weight:600}
.mk-panel__blurb{margin:0 0 14px;color:var(--muted);line-height:1.5;font-size:15px}
.mk-items{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mk-item{background:rgba(255,255,255,.05);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.mk-item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#15102a}
.mk-item__ph{display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1;font-size:13px;color:var(--muted);text-align:center;padding:8px;background:repeating-linear-gradient(45deg,#15102a 0 10px,#1b1535 10px 20px)}
.mk-item__ph b{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.mk-item__t{display:block;padding:7px 8px 0;font-weight:600;font-size:14px}
.mk-item__c{display:block;padding:2px 8px 8px;font-size:12px;color:var(--muted)}
.mk-panel__micro{margin:0 0 4px;font-style:italic;color:var(--text)}
.mk-panel__prov{margin:0 0 12px;font-size:12px;color:var(--muted);letter-spacing:.04em}
.mk-panel__actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.mk-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--gold);color:var(--night);font:600 15px var(--f-ui);text-decoration:none;border:1px solid var(--gold);cursor:pointer}
.mk-btn--ghost{background:transparent;color:var(--gold)}
@media (max-width:600px){.mk-panel{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:74vh;padding:18px}
  .mk-panel:not([hidden]){animation-name:mk-sheet}.mk-panel h2{font-size:28px}}
@keyframes mk-sheet{from{opacity:0;transform:translate3d(0,40px,0)}}
.mk-noscript{position:fixed;left:50%;top:40%;transform:translateX(-50%);z-index:40;background:var(--night);padding:16px;border:1px solid var(--gold);border-radius:12px}

/* list view: a normal page */
.mk--list{background:radial-gradient(1200px 500px at 50% -10%,rgba(194,76,225,.35),transparent),var(--night)}
.mk--list .mk-header{position:sticky;background:rgba(11,10,26,.95)}
.mk-list{max-width:1120px;margin:0 auto;padding:30px 20px 60px}
.mk-list h1{font:600 clamp(34px,5vw,56px)/1.05 var(--f-display);margin:10px 0 12px}
.mk-list>h2,.mk-list section h2{font:600 28px var(--f-display);margin:34px 0 14px}
.mk-list__lead{font-size:18px;line-height:1.55;max-width:720px}
.mk-list__small{color:var(--muted)}
.mk-list__booths{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.mk-panel--list{position:static;width:auto;inset:auto;overflow:visible;animation:none}
.mk-list__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mk-list ul{line-height:1.7;padding-left:18px}
@media (max-width:700px){.mk-list__cols{grid-template-columns:1fr}}

/* reduced motion: static illustrated map, instant travel, no particles or glides */
@media (prefers-reduced-motion:reduce){
  .mk *,.mk *::before,.mk *::after{animation:none!important;transition:none!important}
  .mk-flies,.mk-dot,.mk-bird__blur,.mk-bird__shadow{display:none}
  .mk-mist{opacity:.3}
  .mk-label{opacity:.7}.mk-label--booth{opacity:0}.mk-label.is-bloom{opacity:1}
}
.mk.mk-rm *,.mk.mk-rm *::before,.mk.mk-rm *::after{animation:none!important;transition:none!important}
.mk.mk-rm .mk-flies,.mk.mk-rm .mk-dot,.mk.mk-rm .mk-bird__blur{display:none}
