:root{
  --grass:#6cc349; --grass-l:#a0e081; --grass-d:#2a641c;
  --sky:#87CEEB; --sky-l:#cfefff; --sky-d:#5ba3c7;
  --dirt:#8b5a2b; --dirt-d:#5c3a1e;
  --wood:#5c3a1e; --wood-l:#a0683a;
  --gold:#F0B90B; --gold-l:#ffc42b; --gold-d:#b88a08;
  --panel:#313131; --panel2:#252525;
  --text:#f5f3ee; --muted:#c9d6dc; --dim:#a0b0b8; --on-sky:#1a2e1a; --on-sky-body:#1f2d3a;
  --ok:#7cff7c; --err:#ff6b6b;
  --pixel:'Press Start 2P',monospace; --body:'Pixelify Sans',system-ui,sans-serif;
  --header-h:76px;
  --ease:steps(4,end);
}
*{box-sizing:border-box;border-radius:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;position:relative;background:linear-gradient(180deg, var(--sky) 0%, var(--sky-l) 100%);color:var(--text);font:400 17px/1.4 var(--body);-webkit-font-smoothing:antialiased;image-rendering:pixelated;font-variant-ligatures:none;font-feature-settings:"liga" 0}
img,canvas{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,h5,h6,summary,button,.btn,.foot,.foot-links a,.foot-docs a,.foot-badge{line-height:1.45}
h1,h2,h3{font-family:var(--pixel);font-weight:400;line-height:1.4;margin:0 0 .5em;letter-spacing:0}
h1,h2,h3,h4,h5,h6{line-height:1.4}
h1{font-size:clamp(1.2rem,4.2vw,2.4rem)}
h2{font-size:clamp(1rem,3vw,1.7rem)}
h3{font-size:.95rem}
p{margin:0 0 1em}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;color:var(--gold)}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:8px 12px;z-index:100;border:3px solid #000;box-shadow:inset 3px 3px 0 var(--gold-l),inset -3px -3px 0 var(--gold-d),4px 4px 0 #0006}
.skip:focus{left:8px}
.soldout-panel{margin-top:.75rem;padding:.75rem 1rem;background:var(--panel);color:var(--text);border:3px solid var(--gold);font:400 .62rem/1.45 var(--pixel);text-transform:uppercase;letter-spacing:.04em;line-height:1.45}
.soldout-panel a{color:var(--gold);text-decoration:underline}
.mint-quota{margin:1rem 0}
.mint-quota-panel{border:3px solid #000;background:var(--panel2);padding:.9rem 1rem;min-height:44px}
.mint-quota-row{display:flex;justify-content:space-between;gap:.5rem;border-bottom:2px solid #000;padding:.35rem 0;font-size:.9rem}
.mint-quota-row:last-child{border-bottom:0}
.mint-quota-label{color:var(--muted);font-weight:500}
.mint-quota-value{color:var(--gold);font-weight:600}
:focus-visible{outline:3px solid #000;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.wrap{width:min(1160px,92vw);margin:0 auto}
.narrow{width:min(800px,92vw)}
.muted{color:var(--muted)}
.eyebrow{font:400 .7rem/1.4 var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:#3a2a00;margin-bottom:1rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.section.alt .eyebrow{color:#fff8e7}
.hero .eyebrow{color:#ffc42b;background:#313131;padding:.25rem .5rem;line-height:1.45}
.hero h1{color:#fff}
.lede{font-size:1.15rem;color:var(--on-sky-body);max-width:46ch}
.tag{font:400 .55rem/1.4 var(--pixel);letter-spacing:.08em;padding:.4em .6em;border:3px solid #1a1a1a;color:#1a1a1a;vertical-align:middle;background:#ffc42b}
.ico{width:16px;height:16px;flex:none}
.ico-lg{width:28px;height:28px;flex:none;color:var(--gold)}
.net-badge{display:inline-flex;align-items:center;gap:.3rem;font:400 .55rem/1.4 var(--pixel);letter-spacing:.08em;padding:.25rem .4rem;border:3px solid #000;background:#d32f2f;color:#fff;min-height:28px}
.net-badge[hidden]{display:none}
.nav{position:fixed;top:var(--nav-top,0px);left:0;right:0;bottom:auto;z-index:50;display:flex;align-items:center;gap:clamp(.3rem,.3vw,.8rem);padding:14px clamp(8px,1.5vw,24px);transition:background .2s,border-color .2s;border-bottom:4px solid transparent;background:var(--sky)}
.brand{font:400 1rem/1.4 var(--pixel);letter-spacing:.06em;text-decoration:none;color:var(--on-sky);text-shadow:3px 3px 0 #0006}
.brand img{height:32px;width:auto;max-width:none;image-rendering:pixelated;display:block}
.brand picture{display:block;line-height:0}
.nav .brand{flex-shrink:0}
.footer .brand{color:var(--text);text-shadow:none}
.nav-links{display:flex;gap:clamp(0px,.3vw,4px);margin-left:auto;flex-wrap:nowrap;white-space:nowrap}
.nav-links a{text-decoration:none;color:#0d2036;font:400 clamp(11px,.75vw,12px)/1.4 var(--pixel);opacity:.95;text-transform:uppercase;white-space:nowrap;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.nav-links a:hover{color:#000}
@media (min-width:1101px){
  .nav-links{flex-wrap:nowrap;white-space:nowrap;gap:0;min-width:0}
  .nav-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-align:center;padding-inline:clamp(.35rem,.6vw,.7rem)}
}
@media (min-width:900px){
  #navLinks a{display:inline-flex;align-items:center;min-height:44px}
}
.nav .menu-btn{display:none}
#menuBtn{min-width:44px;min-height:44px}
.nav-actions{display:flex;align-items:center;gap:clamp(.2rem,.5vw,.6rem)}
#connectBtn .lbl-short{display:none}
@media (min-width:1101px) and (max-width:1250px){
  #connectBtn .lbl-full{display:none}
  #connectBtn .lbl-short{display:inline}
  .nav{gap:.25rem}
  .nav-links{min-width:0}
  .nav-links a{padding-inline:clamp(.2rem,.3vw,.35rem)}
}
#connectBtn{line-height:1.45}
#connectBtn,#langToggle{white-space:nowrap}
#connectBtn .lbl-full,#connectBtn .lbl-short,#langToggle{white-space:nowrap}
#langToggle,#connectBtn{padding:.3rem .5rem}
.footer,.foot,.foot-tagline,.foot-links a,.foot-docs a{line-height:1.45}
.icon-btn{background:var(--panel);border:3px solid #000;color:var(--text);width:44px;height:44px;display:grid;place-items:center;cursor:pointer;box-shadow:inset 3px 3px 0 #4a4a4a,inset -3px -3px 0 #000,4px 4px 0 #0006;border-radius:0}
.icon-btn svg{width:20px;height:20px}
.icon-btn:active{transform:translate(2px,2px);box-shadow:inset 3px 3px 0 #000,inset -3px -3px 0 #4a4a4a,2px 2px 0 #0006}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:400 .75rem/1.4 var(--pixel);padding:.9rem 1.2rem;border:3px solid #000;cursor:pointer;text-decoration:none;min-height:44px;text-transform:uppercase;letter-spacing:.05em;transition:transform .08s steps(2),box-shadow .08s;box-shadow:inset 4px 4px 0 rgba(255,255,255,.35),inset -4px -4px 0 rgba(0,0,0,.35),4px 4px 0 #0006;transform:translate(0,0);border-radius:0}
.btn:hover{transform:translate(-2px,-4px);box-shadow:inset 4px 4px 0 rgba(255,255,255,.35),inset -4px -4px 0 rgba(0,0,0,.35),6px 8px 0 #0006}
.btn:active{transform:translate(2px,4px);box-shadow:inset 4px 4px 0 rgba(0,0,0,.35),inset -4px -4px 0 rgba(255,255,255,.35),1px 1px 0 #0006}
.btn-primary{background:var(--gold);color:#000}
.btn-primary:hover{background:var(--gold-l)}
.btn-ghost{background:var(--panel);color:var(--text)}
.btn-ghost:hover{background:var(--panel2);color:var(--gold)}
.btn-sm{padding:.6rem .9rem;font-size:.6rem;min-height:44px;min-width:44px}
.btn-block{width:100%}
.btn[disabled]{background:#555;color:#d6d0c4;cursor:not-allowed;box-shadow:inset 3px 3px 0 #777,inset -3px -3px 0 #222,3px 3px 0 #0006}
.btn[disabled]:hover{transform:none;box-shadow:inset 3px 3px 0 #777,inset -3px -3px 0 #222,3px 3px 0 #0006}
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;padding:120px 0 72px;background:linear-gradient(180deg,var(--sky) 0%,var(--sky-l) 100%)}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 35%,rgba(0,0,0,.35) 85%),linear-gradient(90deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 60%)}
.hero-cap{position:absolute;right:4vw;top:84px;font:400 .6rem/1.4 var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:#1a3a5a}
.hero-inner{position:relative;width:min(560px,92vw);max-width:560px;margin:0 auto;background:#313131;border:4px solid #000;padding:1.6rem;box-shadow:inset 4px 4px 0 #4a4a4a,inset -4px -4px 0 #000,6px 6px 0 #0006}
.hero .lede{color:#fff;max-width:46ch;font-weight:500}
.hero .tagline{color:#ffc42b}
.tagline{font:400 .9rem/1.4 var(--pixel);color:#ffc42b;text-shadow:2px 2px 0 #0006}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.ticker{border-block:4px solid #000;padding:.8rem 4vw;font:400 .7rem/1.4 var(--pixel);color:#1a2e1a;text-align:center;background:var(--grass);text-shadow:2px 2px 0 rgba(255,255,255,.4)}
.stats{width:min(1160px,92vw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border:4px solid #000;border-top:0;background:var(--panel);box-shadow:6px 6px 0 #0006;border-radius:0}
.stat{padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.35rem;border-right:4px solid #000}
.stat:last-child{border-right:0}
.stat-v{font:400 1rem/1.4 var(--pixel);color:var(--gold);text-shadow:2px 2px 0 #0006}
.stat-l{font:400 .55rem/1.4 var(--pixel);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.section{padding:clamp(64px,9vw,108px) 0}
.section.alt{background:var(--dirt);border-block:4px solid #000}
.section.alt .lede,.section.alt .note,.section.alt .muted,.section.alt .lbl,.section.alt .prose p{color:#fff8e7}
#about:not(.alt) h2,#mint:not(.alt) h2,#world:not(.alt) h2,#roadmap:not(.alt) h2{color:var(--on-sky);text-shadow:2px 2px 0 rgba(255,255,255,.4)}
.section.alt h2{color:#fff8e7;text-shadow:2px 2px 0 rgba(0,0,0,.35)}
#about .eyebrow,#mint:not(.alt) .eyebrow,#world:not(.alt) .eyebrow,#roadmap .eyebrow{color:var(--on-sky)}
body.docs #mint .eyebrow, body.docs #world .eyebrow, body.docs .section.alt .eyebrow{color:#fff8e7}
#about .note,#mint .note,#world .note,#roadmap .note{color:var(--on-sky-body)}
#about > .wrap > .muted,#mint > .wrap > .muted,#world > .wrap > .muted,#roadmap > .wrap > .muted{color:var(--on-sky-body)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}
.prose p{color:var(--on-sky-body);font-size:1.08rem;font-weight:500}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--panel);border:4px solid #000;box-shadow:6px 6px 0 #0006;overflow:hidden;margin-top:3.5rem}
.step{background:var(--panel2);padding:1.6rem 1.4rem;border-right:4px solid #000;border-radius:0}
.step:last-child{border-right:0}
.step .num{font:400 .6rem/1.4 var(--pixel);color:var(--gold);letter-spacing:.08em;display:block;margin-bottom:.8rem}
.step h3{margin-top:.6rem}
.step p{color:var(--muted);font-size:.95rem;margin:0;font-weight:500}
.zones{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.zone{border:4px solid #000;padding:1.4rem;background:var(--panel);display:flex;flex-direction:column;min-height:190px;gap:.5rem;box-shadow:inset 4px 4px 0 #4a4a4a,inset -4px -4px 0 #000,6px 6px 0 #0006;border-radius:0}
.zone p{color:var(--muted);font-size:.95rem;flex:1;font-weight:500}
.zone.locked{opacity:.75;background:var(--panel2)}
.zone.open{border-color:var(--gold)}
.pill{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;font:400 .55rem/1.4 var(--pixel);letter-spacing:.08em;text-transform:uppercase;padding:.45rem .7rem;border:3px solid #000;color:var(--muted);background:var(--panel2)}
.pill-on{border-color:var(--gold);color:var(--gold);background:var(--panel)}
.bicon{display:inline-block;width:20px;height:20px;border:3px solid #000;box-shadow:inset 3px 3px 0 rgba(255,255,255,.4),inset -3px -3px 0 rgba(0,0,0,.4);vertical-align:middle;margin-right:.5rem;flex:none}
.bicon-grass{background:var(--grass)}
.bicon-dirt{background:var(--dirt)}
.bicon-stone{background:#8a8a8a}
.bicon-wood{background:var(--wood-l)}
.bicon-gold{background:var(--gold)}
.mint-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
.card{background:var(--panel);border:4px solid #000;padding:1.6rem;box-shadow:inset 4px 4px 0 #4a4a4a,inset -4px -4px 0 #000,6px 6px 0 #0006;border-radius:0}
.mint-card{margin-top:1.5rem}
.lbl{font:400 .6rem/1.4 var(--pixel);color:var(--muted);display:block;margin-bottom:.5rem;text-transform:uppercase}
label[for="galleryTraitType"],label[for="galleryOwner"],label[for="galleryName"]{color:#fff8e7}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.row.end{justify-content:flex-end;margin-top:1.2rem}
.input{flex:1;min-width:0;background:var(--panel2);border:3px solid #000;color:var(--text);padding:.85rem 1rem;font:400 1rem var(--body);min-height:44px;border-radius:0}
.input:focus{border-color:var(--gold);outline:none;box-shadow:inset 0 0 0 2px var(--gold)}
.hint{font-size:.9rem;color:var(--dim);margin:.6rem 0 0;font-weight:500}
.hint.center{text-align:center}
.checklist{list-style:none;padding:0;margin:1.4rem 0 1rem;display:grid;gap:.6rem}
.checklist li{display:flex;align-items:center;gap:.7rem;color:var(--dim);font-weight:500}
.ck{width:22px;height:22px;border:3px solid #000;display:grid;place-items:center;flex:none;background:var(--panel2);box-shadow:inset 2px 2px 0 #4a4a4a,inset -2px -2px 0 #000;border-radius:0}
.checklist li.ok{color:var(--text)}
.checklist li.ok .ck{background:var(--grass);border-color:#000}
.checklist li.ok .ck::after{content:"";width:9px;height:5px;border:3px solid #000;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.checklist li.no{color:var(--muted)}
.checklist li.no .ck{border-color:#5a5148}
.checklist li.no .ck::after{content:"";width:8px;height:3px;background:#8a857c}
.tier{font:400 .85rem/1.4 var(--body);font-weight:600;margin:0 0 1rem;color:var(--gold)}
.agent-card h3{margin:0}
.agent-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}
.agent-card p{color:var(--muted);font-size:.96rem;font-weight:500}
.prompt{white-space:pre-wrap;background:var(--panel2);border:3px solid #000;padding:1rem;font:400 .82rem/1.55 ui-monospace,Menlo,monospace;color:#e6e0d4;margin:0 0 .8rem;box-shadow:inset 3px 3px 0 #1a1a1a,inset -3px -3px 0 #4a4a4a;border-radius:0}
.spec{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;margin:1.3rem 0 0}
.spec div{border-top:3px solid #000;padding-top:.6rem}
.spec dt{font:400 .6rem/1.4 var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.spec dd{margin:.2rem 0 0;font-size:.95rem;font-weight:500}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.note{font-size:.9rem;color:var(--muted);border-left:4px solid var(--gold);padding-left:.8rem;margin:1rem 0 1.8rem;font-weight:500}
.listings{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.lcard{background:var(--panel);border:4px solid #000;overflow:hidden;display:flex;flex-direction:column;box-shadow:inset 4px 4px 0 #4a4a4a,inset -4px -4px 0 #000,6px 6px 0 #0006;border-radius:0}
.lcard canvas{width:100%;aspect-ratio:1/1;background:var(--panel2)}
.lbody{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.lbody h3{margin:0;font-size:.95rem}
.lprice{font:400 1rem/1.4 var(--pixel);color:var(--gold);text-shadow:2px 2px 0 #0006}
.lmeta{font-size:.82rem;color:#d6d0c4;font-weight:500}
.lbtns{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}
.empty{grid-column:1/-1;text-align:center;padding:1.5rem 1rem;border:4px dashed #000;color:var(--muted);background:var(--panel2);font-weight:500}
.breakdown{display:grid;gap:.5rem;margin:1rem 0;font-size:.98rem}
.breakdown div{display:flex;justify-content:space-between;border-bottom:3px solid #000;padding-bottom:.45rem;font-weight:500}
.breakdown .total{font-weight:600;color:var(--gold);border:0}
.world-frame{border:4px solid #000;overflow:hidden;margin-top:1.5rem;background:#0c0f0d;box-shadow:6px 6px 0 #0006}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.world-citizen-links:focus-within{position:static;width:auto;height:auto;overflow:visible;clip:auto;margin:.75rem 0 0}
.world-citizen-links{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.5rem}
.world-citizen-link{display:flex;align-items:center;min-height:44px;padding:.6rem .8rem;background:var(--panel2);border:3px solid #000;color:var(--text);text-decoration:none;font:400 .7rem/1.4 var(--body)}
.world-citizen-link:focus-visible{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:2px}
.world-count{margin:.75rem 0 0;font:400 .7rem/1.4 var(--pixel);color:var(--text)}
.world-canvas{width:100%;aspect-ratio:16/9}
.world-legend{display:flex;gap:1.2rem;flex-wrap:wrap;padding:.9rem 1.1rem;border-top:4px solid #000;font:400 .6rem/1.4 var(--pixel);background:var(--panel)}
.world-legend span{color:#ffffff}
.world-legend .muted{color:#ffffff}
.lg{display:inline-block;width:12px;height:12px;border:2px solid #000;margin-right:.4rem;vertical-align:-1px}
.lg-plaza{background:var(--gold)}.lg-market{background:var(--wood-l)}.lg-locked{background:#4a4a4a}
.life{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2rem;border:4px solid #000;background:var(--panel);box-shadow:6px 6px 0 #0006}
.life article{border-right:4px solid #000;padding:1.2rem}
.life article:last-child{border-right:0}
.life h3{margin-top:.6rem;font-size:.85rem}
.life p{color:var(--muted);font-size:.9rem;font-weight:500}
.xp-bar{display:flex;margin:1.5rem 0;border:4px solid #000;background:var(--panel);box-shadow:6px 6px 0 #0006;overflow:hidden}
.xp-seg{flex:1;padding:.9rem .5rem;text-align:center;font:400 .55rem/1.4 var(--pixel);color:var(--text);background:var(--panel2);border-right:4px solid #000;text-transform:uppercase}
.xp-seg:last-child{border-right:0}
.xp-seg.done{background:var(--grass);color:#000}
.xp-seg.active{background:var(--gold);color:#000}
.xp-seg.locked{background:var(--panel2);color:var(--dim)}
.roadmap{display:grid;gap:0;margin-top:2rem;border:4px solid #000;background:var(--panel);box-shadow:6px 6px 0 #0006}
.rm{display:grid;grid-template-columns:220px 1fr auto;gap:1.5rem;align-items:start;padding:1.4rem;border-bottom:4px solid #000}
.rm:last-child{border-bottom:0}
.rm h3{margin:0;font-size:.85rem}
.rm ul{margin:0;padding-left:1.1rem;color:var(--muted);font-weight:500}
.st{font:400 .55rem/1.4 var(--pixel);letter-spacing:.06em;text-transform:uppercase;padding:.45rem .7rem;border:3px solid #000;color:var(--muted);background:var(--panel2);white-space:nowrap}
.st-prog{border-color:var(--gold);color:var(--gold);background:var(--panel)}
.st-done{border-color:var(--ok);color:var(--ok);background:var(--panel)}
.err{color:var(--err)}
.faq{margin-top:0;border:4px solid #000;background:var(--panel);box-shadow:6px 6px 0 #0006}
.faq details{border-bottom:3px solid #000}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;padding:1.2rem;display:flex;justify-content:space-between;gap:1rem;font:400 .75rem/1.5 var(--pixel);text-transform:uppercase;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:20px;height:20px;color:var(--gold);transition:transform .1s steps(2);flex:none}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq p{color:var(--muted);margin:0 0 1.2rem;padding:0 1.2rem 1.2rem;max-width:62ch;font-weight:500}
.faq + .faq{margin-top:0;border-top:0;box-shadow:none}
.footer{border-top:4px solid #000;padding:2rem 0 calc(4.5rem + env(safe-area-inset-bottom));background:var(--dirt)}
.footer .muted,.footer a.muted{color:var(--text)}
.foot{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;font:400 .65rem/1.4 var(--pixel);text-transform:uppercase}
.foot-rich{display:flex;flex-direction:column;gap:1rem}
.foot-rule{border:0;border-top:2px solid #000;margin:0;width:100%}
.foot-canvas-wrap{width:100%;height:96px;border:3px solid #000;background:#0c0f0d;overflow:hidden}
#footerCanvas{width:100%;height:100%;display:block}
.foot-brand{display:flex;flex-direction:column;gap:.4rem}
.foot-tagline{font:400 .85rem/1.4 var(--body);color:var(--text);margin:0;max-width:60ch}
.foot-links,.foot-docs{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.foot-links a,.foot-docs a{font:400 .6rem/1.4 var(--pixel);text-transform:uppercase;text-decoration:none;color:var(--text);min-height:44px;display:inline-flex;align-items:center;padding:.25rem .5rem;border:3px solid transparent}
.foot-links a:hover,.foot-docs a:hover{color:#ffe08a;border-color:var(--gold)}
.foot-docs a{font-size:.55rem;color:var(--text)}
.foot-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.foot-docs a{min-width:44px}
.foot-docs a[href$="docs#overview"],.foot-docs a[href$="docs#mint"],.foot-docs a[href$="docs#market"],.foot-docs a[href$="docs#world"],.foot-docs a[href$="docs#contracts"],.foot-docs a[href$="docs#security"],.foot-docs a[href$="docs#terms"]{color:#fff}
.foot-badge{font:400 .6rem/1.4 var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--text);border:3px solid #000;padding:.45rem .7rem;background:var(--panel2);align-self:flex-start}
@media (max-width:700px){
  .foot-links,.foot-docs{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.25rem .5rem}
  .foot-canvas-wrap{height:72px}
}
@media (max-width:600px){
  .foot-links,.foot-docs{display:flex;flex-wrap:wrap;gap:.5rem .6rem;align-items:center;max-width:100%}
  .foot-links a,.foot-docs a{min-height:44px;font-size:.6rem}
}
.modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:1rem}
.modal[hidden]{display:none}
.modal-card{position:relative;width:min(460px,100%);background:var(--panel);border:4px solid #000;padding:1.6rem;box-shadow:inset 4px 4px 0 #4a4a4a,inset -4px -4px 0 #000,8px 8px 0 #0006;animation:pop .15s steps(4);border-radius:0}
.modal-x{position:absolute;top:12px;right:12px;width:44px;height:44px}
.opt{width:100%;display:flex;gap:1rem;align-items:flex-start;text-align:left;background:var(--panel2);border:3px solid #000;color:var(--text);padding:1rem;margin-top:.8rem;cursor:pointer;font:inherit;box-shadow:inset 3px 3px 0 #4a4a4a,inset -3px -3px 0 #000,4px 4px 0 #0006;border-radius:0;min-height:44px}
.opt:hover:not([disabled]){border-color:var(--gold);transform:translate(-2px,-2px)}
.opt[disabled]{opacity:.6;cursor:not-allowed}
.opt small{display:block;color:var(--muted);font-size:.85rem;margin-top:.25rem;line-height:1.45;font-weight:500}
.wallet-options{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}
.wallet-opt img{width:32px;height:32px;image-rendering:pixelated;flex:0 0 32px;border:2px solid #000;background:#000}
.retry-btn{margin-left:.5rem}
.wc-qr{display:flex;justify-content:center;margin:1rem 0}
.wc-qr canvas,.wc-qr img{border:4px solid #000;background:#fff;image-rendering:pixelated}
.wc-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.toast{position:fixed;left:50%;bottom:64px;transform:translateX(-50%);z-index:60;background:var(--gold);color:#000;padding:.75rem 1.1rem;border:3px solid #000;font:400 .65rem/1.45 var(--pixel);text-transform:uppercase;max-width:90vw;box-shadow:6px 6px 0 #0006;line-height:1.45}
.tx-status{margin:.75rem auto;max-width:1200px;padding:.75rem 1rem;border:3px solid #000;background:var(--panel2);color:var(--text);min-height:44px;font:400 .75rem/1.4 var(--body)}
.tx-status[hidden]{display:none}
.tx-status a{color:var(--gold);text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .4s steps(6),transform .4s steps(6)}
.reveal.in{opacity:1;transform:none}
.blockload{display:inline-block;width:18px;height:18px;background:var(--gold);border:3px solid #000;box-shadow:inset 3px 3px 0 var(--gold-l),inset -3px -3px 0 var(--gold-d),4px 4px 0 #0006;animation:blockload 1s steps(4) infinite;vertical-align:middle;margin-right:.5rem}
@keyframes blockload{0%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(0,-6px) rotate(90deg)}50%{transform:translate(0,0) rotate(180deg)}75%{transform:translate(0,6px) rotate(270deg)}100%{transform:translate(0,0) rotate(360deg)}}
.inv-label{font:400 .6rem/1.4 var(--pixel);color:#ffc42b;text-transform:uppercase;border:3px solid #ffc42b;padding:.4rem .6rem;background:#2a2a2a;cursor:pointer;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:900px){
  .nav-links{position:fixed;inset:64px 0 auto;flex-direction:column;gap:0;background:var(--sky-d);border-bottom:4px solid #000;padding:.5rem 4vw 1rem;display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:.9rem 0;border-bottom:3px solid #000;font-size:.7rem;min-height:44px;display:flex;align-items:center}
  .nav{gap:.75rem}
  .nav .menu-btn{display:grid}
  .nav-actions{margin-left:auto;gap:.6rem;flex-wrap:wrap}
  #connectBtn{margin-left:0}
  .two,.mint-grid{grid-template-columns:1fr}
  .steps,.zones,.life{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:4px solid #000}
  .rm{grid-template-columns:1fr;gap:.7rem}
  .xp-bar{flex-wrap:wrap}
  .xp-seg{min-width:50%}
}
/* Header nav: hamburger menu up to 1100px (nav menu only) */
@media (max-width:1100px){
  .nav-links{position:fixed;inset:64px 0 auto;flex-direction:column;gap:0;background:var(--sky-d);border-bottom:4px solid #000;padding:.5rem 4vw 1rem;display:none;flex-wrap:nowrap;white-space:nowrap}
  .nav-links.open{display:flex}
  .nav-links a{padding:.9rem 0;border-bottom:3px solid #000;font-size:.7rem;min-height:44px;display:flex;align-items:center;white-space:nowrap}
  .nav{gap:.75rem}
  .nav .menu-btn{display:grid}
  .nav-actions{margin-left:auto;gap:.6rem;flex-wrap:wrap}
  #connectBtn{margin-left:0}
}
@media (max-width:560px){
  body{font-size:16px}
  .steps,.zones,.life{grid-template-columns:1fr}
  .hero{min-height:80vh}
  .hero-inner{width:calc(100vw - 2rem);max-width:560px;padding:1.2rem}
  #connectBtn{padding:.55rem .8rem;font-size:.55rem}
  .spec{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  h1{font-size:1.1rem}
}
@media (max-width:480px){
  :root{--header-h:72px}
  #connectBtn .lbl-full{display:none}
  #connectBtn .lbl-short{display:inline}
  .net-badge{font-size:.5rem;padding:.3rem .45rem;letter-spacing:.04em;min-height:28px}
  .nav{gap:.5rem;padding:12px 3vw;flex-wrap:nowrap;overflow:hidden}
  .nav-actions{gap:.4rem;flex-wrap:nowrap}
  .brand img{max-width:96px;height:auto}
  #connectBtn,#menuBtn{min-height:44px;min-width:44px}
  .stats{grid-template-columns:1fr 1fr;gap:0}
  .stat{padding:.75rem .55rem;display:flex;flex-direction:column;gap:.5rem;min-height:0}
  .stat-v{font-size:14px;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}
  .stat-l{font-size:.5rem;line-height:1.4;margin-top:.35rem;display:block;word-break:break-word}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:4px solid #000}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
#zones{background:#5c3a1e}
#zones > .wrap > h2{color:#fff}
#zones .eyebrow{color:#fff8e7}
.step:nth-child(2) > .num,.step:nth-child(3) > .num{color:#ffe08a}
.step:nth-child(2) > p,.step:nth-child(3) > p{color:#f5f3ee}
.step:nth-child(3) > h3{color:#fff}
.svg-defs{position:absolute;width:0;height:0}
.rm-offline{font-size:.8rem;padding:1rem 1.4rem}
a.brand{display:inline-flex;align-items:center;min-height:44px;padding:0 .25rem}
a.muted{display:inline-flex;align-items:center;min-height:44px;padding:.25rem .5rem}
.world-toolbar{display:flex;gap:.6rem;margin:1rem 0;flex-wrap:wrap}
.citizen-card{min-height:3rem;font-weight:500}
.citizen-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;max-height:240px;overflow:auto}
.citizen-list-btn{width:100%;text-align:left;background:var(--panel2);border:3px solid #000;color:var(--text);padding:.6rem .8rem;font:400 .7rem/1.4 var(--body);cursor:pointer;min-height:44px}
.citizen-list-btn:hover{border-color:var(--gold)}
.citizen-list-btn:focus-visible{border-color:var(--gold)}
.my-citizen-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:3px solid #000}
.my-citizen-row:last-child{border-bottom:0}
.world-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
@media (max-width:720px){.world-panels{grid-template-columns:1fr}}
/* visually hidden (screen reader only) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ext{font-family:system-ui,sans-serif}
/* treasury display */
.treasury-line{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem}
.treasury-display{font-weight:500}
.treasury-link{color:inherit;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
/* roadmap (rendered by roadmap.js) */
.rm-date{font:400 .6rem/1.4 var(--pixel);color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin:.2rem 0 .6rem;line-height:1.4}
.rm-note{margin-top:1rem;font-size:.8rem;color:var(--on-sky-body)}
/* lore spotlight */
.lore-spotlight{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding:1rem;border:4px solid #000;background:var(--panel);box-shadow:6px 6px 0 #0006}
.lore-spotlight canvas{border:3px solid #000;background:var(--sky);flex:none;max-width:100%}
.lore-spotlight h3{margin:0 0 .4rem;font-size:.85rem}
.lore-spotlight p{margin:0 0 .6rem}
.treasury-tba{color:var(--muted)}
.foot .treasury-tba.muted{color:#fff6df;font-size:12px}
.foot .treasury-link{color:#fff6df;font-size:12px;padding-block:.5rem}
.sale-row{display:flex;align-items:center;gap:.5rem .75rem;flex-wrap:wrap;padding:.35rem 0;border-bottom:3px solid #000}
.sale-row:last-child{border-bottom:0}
.sale-row > span{font-size:.85rem;font-weight:500}
.sale-row a, #recentSales a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.25rem .5rem;text-decoration:underline;color:var(--gold)}
/* For AI Agents card */
#agents .prompt,
#agents pre,
#agents code {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
#agents .agent-card { margin-top: 1.5rem; }
#agents a { color: var(--gold); text-decoration: underline; }

@media (max-width:390px){
  .footer{padding:1rem 0 calc(3rem + env(safe-area-inset-bottom))}
  .foot-rich{gap:.5rem}
  .foot-brand{gap:.25rem}
  .foot-canvas-wrap{height:60px}
  .foot-links,.foot-docs{gap:.25rem .4rem}
  .foot-links a,.foot-docs a{min-height:44px;display:inline-flex;align-items:center;padding:.15rem .35rem}
  .foot-badge{padding:.3rem .5rem}
  .foot-tagline{margin:0}
  .sale-row{gap:.4rem .6rem}
  .sale-row a, #recentSales a{min-width:44px}
}
.activity-search{margin:1.2rem 0}
.activity-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.5rem}
.activity-row{display:flex;align-items:center;gap:.5rem .75rem;flex-wrap:wrap;padding:.6rem .8rem;border:3px solid #000;background:var(--panel);min-height:44px}
.activity-row > span{font-size:.85rem;font-weight:500}
.activity-type{font:400 .6rem/1 var(--pixel);color:var(--gold);text-transform:uppercase;min-width:72px}
.activity-addrs{color:var(--muted)}
.activity-row time{color:var(--dim);font-size:.8rem}
.activity-row a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.25rem .5rem;text-decoration:underline;color:var(--gold)}
.fact-strip{list-style:none;margin:0;padding:.7rem 4vw;font:400 .65rem/1.4 var(--pixel);background:var(--panel);border-block:4px solid #000;color:var(--text);display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;min-height:44px}
.fact-strip li{margin:0;padding:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
@media (max-width:390px){.fact-strip{font-size:.55rem;gap:.3rem .5rem;padding:.6rem 3vw}}
/* X (Twitter) nav link */
.nav-x{align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.4rem;text-decoration:none;color:#0d2036}
.nav-x svg{width:20px;height:20px}
.nav-x:hover{color:#000}
/* X nav link only appears inside the opened mobile menu */
@media (max-width:1100px){
  .nav-links .nav-x{display:none}
  .nav-links.open .nav-x{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:.9rem 0}
}
.x-follow{color:var(--gold);text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
.ciow-share{position:fixed;right:1rem;bottom:1rem;z-index:95;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;max-width:calc(100vw - 2rem);padding:.75rem;background:var(--panel);border:4px solid #000;box-shadow:6px 6px 0 #0006;animation:pop .15s steps(4)}
.ciow-share[hidden]{display:none}
.ciow-share-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.6rem 1rem;background:var(--gold);color:#000;border:3px solid #000;font:400 .65rem/1.4 var(--pixel);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;box-shadow:inset 3px 3px 0 rgba(255,255,255,.35),inset -3px -3px 0 rgba(0,0,0,.35),3px 3px 0 #0006;line-height:1.4}
.ciow-share-close{min-height:44px;min-width:44px;padding:.6rem .9rem;background:var(--panel2);color:var(--text);border:3px solid #000;font:400 .6rem/1.4 var(--pixel);cursor:pointer;text-transform:uppercase;line-height:1.4}
.faq-note{margin-top:1rem;color:#fff8e7;font-weight:500;line-height:1.5}
.faq-note > .x-follow{color:#fff}

/* Contracts section */
.contracts-card { margin-top: 1.5rem; }
.contracts-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.contracts-head h3 { margin: 0; }
.chain-badge { font: 400 .6rem/1.4 var(--pixel); letter-spacing: .08em; text-transform: uppercase; border: 3px solid #000; padding: .45rem .7rem; background: var(--panel2); color: var(--text); display: inline-flex; align-items: center; min-height: 32px; line-height: 1.4; }
.contracts-list { display: grid; gap: .75rem; }
.contract-row { display: grid; gap: .6rem; padding: 1rem; border: 3px solid #000; background: var(--panel2); box-shadow: inset 3px 3px 0 #4a4a4a, inset -3px -3px 0 #000; min-width: 0; }
.contract-row-label { font: 400 .6rem/1.4 var(--pixel); color: var(--gold); letter-spacing: .06em; text-transform: uppercase; line-height: 1.4; }
.contract-addr { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; line-height: 1.5; color: var(--text); background: transparent; word-break: break-all; overflow-wrap: anywhere; white-space: normal; }
#contractAddr a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; word-break: break-all; }
a[href="/llms.txt"], a[href="/skill.md"] { display: inline-flex; align-items: center; min-height: 44px; }
.contract-not-deployed { color: var(--muted); font: 400 .85rem/1.4 var(--body); font-style: italic; line-height: 1.4; }
.contract-row-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.contract-row-actions .btn { min-height: 44px; }
.contracts-disclaimer { margin-top: 1rem; color: var(--muted); font: 400 .75rem/1.4 var(--body); line-height: 1.4; }
#contracts .card { margin-top: 1.5rem; }
.contract-source-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); text-decoration: underline; font: 400 .65rem/1.4 var(--body); line-height: 1.4; }
.contract-source-verified { color: var(--ok); font-weight: 600; }
.mint-rules-card { margin-top: 1.5rem; }
.limits-list { margin: 0 0 1rem; padding-left: 1.2rem; }
.limits-list li { margin-bottom: .4rem; line-height: 1.4; color: var(--text); }
.coming-soon-card { margin-top: 1.5rem; text-align: center; }
.coming-soon-card .btn { min-height: 44px; }

/* Gallery */
.gallery-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem; margin: 1.2rem 0; }
.gallery-controls > div { display: flex; flex-direction: column; }
.gallery-controls select,
.gallery-controls input { width: 100%; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; }
.gcard { background: var(--panel); border: 4px solid #000; overflow: hidden; box-shadow: inset 4px 4px 0 #4a4a4a, inset -4px -4px 0 #000, 6px 6px 0 #0006; border-radius: 0; }
.gcard-btn { width: 100%; display: flex; flex-direction: column; background: transparent; border: 0; padding: 0; cursor: pointer; color: inherit; text-align: left; min-height: 44px; }
.gcard-btn:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
.gcard canvas { width: 100%; aspect-ratio: 1 / 1; background: var(--panel2); display: block; }
.gcard-body { padding: .75rem .8rem .9rem; display: flex; flex-direction: column; gap: .25rem; }
.gcard-body h3 { margin: 0; font-size: .8rem; line-height: 1.4; word-break: break-word; }
.gcard-meta { font: 400 .6rem/1.4 var(--pixel); color: var(--gold); letter-spacing: .06em; }
.gcard-owner { font-size: .75rem; color: var(--muted); font-weight: 500; word-break: break-all; }
.gallery-more { display: flex; justify-content: center; margin-top: 1.2rem; }
.gallery-more .btn { min-height: 44px; }
/* gallery rarity labels */
.spec dd { overflow-wrap: anywhere; word-break: break-word; }
@media (max-width: 390px) {
  .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
  .gallery-controls { grid-template-columns: 1fr; }
  .gcard-body h3 { font-size: .7rem; }
}

@media (max-width: 390px) {
  .contracts-head { gap: .5rem; }
  .chain-badge { font-size: .5rem; padding: .3rem .45rem; min-height: 28px; }
  .contract-row { padding: .75rem; }
  .contract-addr { font-size: .72rem; }
  .contract-row-actions .btn { min-height: 44px; font-size: .55rem; padding: .5rem .7rem; }
}

/* Leaderboard */
.leaderboard-tabs { display: flex; gap: .5rem; margin: 1.2rem 0; flex-wrap: wrap; }
.leaderboard-tab { font: 400 .65rem/1.4 var(--pixel); text-transform: uppercase; letter-spacing: .05em; padding: .7rem 1rem; border: 3px solid #000; background: var(--panel2); color: var(--text); cursor: pointer; min-height: 44px; min-width: 44px; box-shadow: inset 3px 3px 0 #4a4a4a, inset -3px -3px 0 #000, 4px 4px 0 #0006; }
.leaderboard-tab.is-active { background: var(--gold); color: #000; }
.leaderboard-tab:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
.leaderboard-panel[hidden] { display: none; }
.leaderboard-list { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-direction: column; gap: .5rem; }
.leaderboard-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem .8rem; padding: .7rem .8rem; border: 3px solid #000; background: var(--panel); min-height: 44px; }
.leaderboard-row.is-you { border-color: var(--gold); background: var(--panel2); }
.leaderboard-row.lb-named { grid-template-columns: auto auto 1fr auto; }
.lb-rank { font: 400 .6rem/1.4 var(--pixel); color: var(--gold); min-width: 2.2rem; }
.lb-addr { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; min-width: 0; }
.lb-addr a { color: var(--text); text-decoration: underline; word-break: break-all; display: inline-flex; align-items: center; min-height: 44px; }
.lb-you { font: 400 .55rem/1.4 var(--pixel); text-transform: uppercase; padding: .25rem .5rem; border: 2px solid var(--gold); color: var(--gold); background: var(--panel); }
.lb-count { font: 400 .6rem/1.4 var(--pixel); color: var(--muted); white-space: nowrap; }
.lb-art { width: 48px; height: 48px; image-rendering: pixelated; border: 2px solid #000; background: var(--panel2); flex: none; }
.lb-info { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.lb-name-btn { background: transparent; border: 0; padding: 0; color: var(--text); font: 400 .9rem/1.4 var(--body); font-weight: 600; text-align: left; cursor: pointer; min-height: 44px; word-break: break-word; }
.lb-name-btn:hover { color: var(--gold); }
.lb-meta { font-size: .8rem; color: var(--muted); font-weight: 500; word-break: break-word; }
.lb-actions { display: flex; align-items: center; }
.lb-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: .25rem .5rem; text-decoration: underline; color: var(--gold); }
@media (max-width: 390px) {
  .leaderboard-row { grid-template-columns: auto 1fr; }
  .leaderboard-row .lb-count { grid-column: 1 / -1; justify-self: start; }
  .leaderboard-row.lb-named { grid-template-columns: auto auto 1fr; }
  .leaderboard-row.lb-named .lb-actions { grid-column: 1 / -1; justify-self: start; }
  .lb-art { width: 40px; height: 40px; }
  .lb-rank { min-width: 1.8rem; }
}

/* Team & status */
.team-card { margin-top: 1.5rem; }
.team-note { color: var(--muted); font-weight: 500; font-size: .95rem; }
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 1rem; margin-top: 1rem; }
.team-member { background: var(--panel); border: 4px solid #000; overflow: hidden; box-shadow: inset 4px 4px 0 #4a4a4a, inset -4px -4px 0 #000, 6px 6px 0 #0006; border-radius: 0; }
.team-member-btn { width: 100%; display: flex; flex-direction: column; background: transparent; border: 0; padding: 0; cursor: pointer; color: inherit; text-align: left; min-height: 44px; }
.team-member-btn:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
.team-member canvas { width: 100%; aspect-ratio: 1 / 1; background: var(--panel2); display: block; }
.team-member-body { padding: .6rem .7rem .7rem; display: flex; flex-direction: column; gap: .2rem; }
.team-member-name { font: 400 .6rem/1.4 var(--pixel); color: var(--gold); letter-spacing: .06em; }
.team-member-role { font-size: .75rem; color: var(--muted); font-weight: 500; word-break: break-word; }
.team-status-card { margin-top: 1.5rem; }
.team-contract-list { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .5rem; }
.team-contract-list li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem .8rem; border: 3px solid #000; background: var(--panel2); min-height: 44px; flex-wrap: wrap; min-width: 0; }
.team-contract-list li span:first-child { font: 400 .6rem/1.4 var(--pixel); color: var(--gold); text-transform: uppercase; letter-spacing: .06em; }
.team-contract-addr { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .75rem; line-height: 1.5; color: var(--text); word-break: break-all; overflow-wrap: anywhere; }
.team-contract-list a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: .25rem .5rem; text-decoration: underline; color: var(--ok); font: 400 .6rem/1.4 var(--pixel); text-transform: uppercase; white-space: nowrap; }
.team-follow { display: flex; justify-content: center; margin-top: 1.5rem; }
@media (max-width: 390px) {
  .team-grid { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
  .team-contract-list li { flex-direction: column; align-items: flex-start; }
  .team-contract-list a { min-height: 44px; }
}
/* Market tools */
.market-tools-controls { display: grid; gap: .75rem; margin: 1rem 0; padding: 1rem; background: var(--panel); border: 4px solid #000; box-shadow: inset 4px 4px 0 #4a4a4a, inset -4px -4px 0 #000, 6px 6px 0 #0006; border-radius: 0; }
.market-tools-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; }
.market-tools-row > div { display: flex; flex-direction: column; }
.market-tools-row select, .market-tools-row input { width: 100%; }
.market-tools-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.market-tools-actions .btn { min-height: 44px; }
#mtStatus { min-height: 44px; display: inline-flex; align-items: center; }
.mt-sweep-list { display: grid; gap: .4rem; margin: .75rem 0; }
.mt-sweep-row { padding: .6rem .8rem; border: 3px solid #000; background: var(--panel2); font-size: .9rem; font-weight: 500; line-height: 1.4; }
.mt-sweep-total { font: 400 .85rem/1.4 var(--pixel); color: var(--gold); margin: .75rem 0; }
.mt-sweep-progress { display: grid; gap: .4rem; margin: .75rem 0; }
.mt-sweep-progress-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem .8rem; border: 3px solid #000; background: var(--panel2); min-height: 44px; }
.mt-sweep-status { font: 400 .6rem/1.4 var(--pixel); text-transform: uppercase; padding: .3rem .6rem; border: 2px solid #000; background: var(--panel); line-height: 1.4; }
.status-confirmed { color: var(--ok); border-color: var(--ok); }
.status-failed { color: var(--err); border-color: var(--err); }
.status-skipped { color: var(--muted); border-color: var(--muted); }
@media (max-width: 390px) {
  .market-tools-row { grid-template-columns: 1fr; }
  .market-tools-controls { padding: .75rem; }
  .mt-sweep-progress-row { flex-direction: column; align-items: flex-start; }
}
.lang-btn { min-height: 44px; min-width: 44px; line-height: 1.4; }

/* Language toggle extras (mobile menu + footer) */
@media (max-width: 1250px) {
  #langToggle { display: none; }
}
@media (min-width: 1101px) {
  .nav-links .lang-toggle { display: none; }
}
.nav-links .lang-toggle { width: 100%; justify-content: center; margin-top: .5rem; }
.footer .lang-toggle { align-self: flex-start; }
.lang-toggle:focus-visible { outline: 3px solid #000; outline-offset: 3px; }

/* Anti-phishing banner (top, in flow) */
.ciow-phish-banner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .5rem .75rem;
  background: var(--panel2, #252525);
  color: var(--text, #f5f3ee);
  border-bottom: 4px solid #000;
  font: 400 .75rem/1.4 var(--body, system-ui, sans-serif);
  line-height: 1.4;
  max-width: 100vw;
  overflow: hidden;
}
.ciow-phish-text {
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.ciow-phish-close {
  flex: 0 0 auto;
  min-height: 44px;
  min-width: 44px;
  display: grid;
  place-items: center;
  background: var(--panel, #313131);
  color: var(--text, #f5f3ee);
  border: 3px solid #000;
  cursor: pointer;
  font: 400 1.1rem/1.4 var(--body, system-ui, sans-serif);
  line-height: 1.4;
  padding: 0;
}
.ciow-phish-banner[hidden] { display: none !important; }
.ciow-phish-close:hover { border-color: var(--gold, #F0B90B); color: var(--gold, #F0B90B); }
.ciow-phish-close:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
@media (max-width: 390px) {
  .ciow-phish-banner { padding: .4rem .6rem; font-size: .75rem; }
  .ciow-phish-close { min-height: 44px; min-width: 44px; }
}

/* Docs page: non-alt (light blue) sections need dark text for WCAG AA */
body.docs .section:not(.alt) h2 { color: #1a1a1a; text-shadow: none; }
body.docs .section:not(.alt) a { color: #3b2a14; }
body.docs .section:not(.alt) .contract-addr { color: #3b2a14; }
body.docs #contracts a { display: inline-flex; align-items: center; min-height: 44px; }

/* Docs page: brown .alt sections need light text for WCAG AA on var(--dirt) (#8b5a2b) */
body.docs .section.alt h2 { color: #fff8e7; text-shadow: 2px 2px 0 rgba(0,0,0,.35); }
body.docs .section.alt .eyebrow { color: #fff8e7; }
body.docs .section.alt p { color: #fff8e7; }
body.docs .section.alt a:not(.btn) { color: #fff8e7; }
body.docs .section.alt code { color: #fff8e7; }

/* Docs: provenance section long formulas/hashes must wrap, no horizontal overflow */
body.docs #provenance .prose p,
body.docs #provenance code,
body.docs #provenance pre {
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: pre-wrap;
  max-width: 100%;
}
body.docs #provenance pre {
  overflow-x: auto;
}
/* Docs: general prose code wrap */
body.docs .prose code {
  overflow-wrap: anywhere;
}

/* 404 page: light-blue .section (only child of main, non-docs) needs dark text */
body:not(.docs) main > .section:only-child h1,
body:not(.docs) main > .section:only-child h2 { color: #1a1a1a; text-shadow: none; }
body:not(.docs) main > .section:only-child p { color: #1a1a1a; }
body:not(.docs) main > .section:only-child a:not(.btn) { color: #3b2a14; }
body:not(.docs) main > .section:only-child p a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding-inline: .25rem;
}

/* Nav World BETA badge spacing */
#navLinks a{gap:8px}
@media (min-width:1101px){
  .nav-links a .tag{margin-left:8px;margin-right:8px;padding:.3em .45em}
}

/* Header offset for non-hero pages */
body.docs main#main,
main#main:has(> section:only-child) { padding-top: var(--header-h); }

/* Anchor scroll offset for headings with ids */
h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] { scroll-margin-top: var(--header-h); }
