:root{
  --bg:#070302; --ink:#ffe9b8; --ember:#ff6a00; --flame:#ffb300; --hot:#fff3a0; --blood:#c4170c; --char:#1a0905; --dim:#9a6a44;
  --px:"Press Start 2P", ui-monospace, monospace; --sk:"Silkscreen", ui-monospace, monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);overflow-x:hidden}
body{font-family:var(--sk);font-size:16px;line-height:1.5;-webkit-font-smoothing:none}
img,canvas{display:block;max-width:100%}
.pixel{image-rendering:pixelated;image-rendering:crisp-edges}
a{color:var(--flame)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* HERO */
.hero{position:relative;width:100%;max-width:1536px;margin:0 auto;aspect-ratio:1536/772;overflow:hidden;background:#000 url(data:image/webp;base64,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) center/cover no-repeat;image-rendering:pixelated}
.hero img{width:100%;height:100%;object-fit:cover}
/* flicker = a glow layer fading (compositor-only), not a filter re-run over the whole image */
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 70%,rgba(255,170,40,.22),rgba(255,90,0,.08) 60%,transparent 80%);mix-blend-mode:screen;opacity:0;will-change:opacity}
.hero.live::after{animation:flicker 2.2s infinite steps(1)}
@keyframes flicker{0%{opacity:.2}12%{opacity:.75}20%{opacity:0}48%{opacity:.5}61%{opacity:1}70%{opacity:.25}88%{opacity:.6}}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .fireStrip{top:auto;height:20%;bottom:0;mix-blend-mode:screen}
.hero-cta{position:absolute;left:74.5%;top:70%;width:23.5%;height:27%;border-radius:40%;display:block;outline:none}
.hero-cta:hover,.hero-cta:focus-visible{box-shadow:0 0 40px 18px rgba(255,140,0,.55),inset 0 0 40px rgba(255,240,150,.35);animation:pulse .3s infinite alternate}
@keyframes pulse{to{box-shadow:0 0 60px 26px rgba(255,90,0,.7),inset 0 0 60px rgba(255,255,200,.45)}}

/* FURNACE */
.furnace{max-width:1100px;margin:0 auto;padding:56px 16px 40px;position:relative}
.kicker{font-family:var(--px);font-size:clamp(10px,2.4vw,13px);color:var(--dim);letter-spacing:.08em;text-align:center}
h2{font-family:var(--px);font-size:clamp(18px,5vw,38px);line-height:1.25;text-align:center;margin:14px 0 8px;color:var(--flame);
   text-shadow:0 0 0 #000,3px 3px 0 var(--blood),6px 6px 0 #3a0703,0 0 22px rgba(255,120,0,.6)}
.sub{text-align:center;color:#e9c08a;max-width:620px;margin:0 auto 34px;font-size:clamp(13px,3.4vw,17px)}

.machine{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,5vw,64px);align-items:center;position:relative}
.machine.shake{animation:shake .09s infinite}
@keyframes shake{0%{transform:translate(var(--s),0)}25%{transform:translate(0,calc(var(--s)*-1))}50%{transform:translate(calc(var(--s)*-1),var(--s))}75%{transform:translate(var(--s),var(--s))}100%{transform:translate(0,0)}}
.frame{border:4px solid var(--ember);box-shadow:0 0 0 4px #000,0 0 0 8px #5a1a05,0 0 40px rgba(255,90,0,.35);background:#000;position:relative}
.skull canvas{width:100%;height:auto;aspect-ratio:207/214}
.altar{aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;
       background:repeating-linear-gradient(45deg,#0d0503 0 10px,#130805 10px 20px)}
.altar.drag{border-color:var(--hot);box-shadow:0 0 0 4px #000,0 0 0 8px var(--flame),0 0 60px rgba(255,200,0,.6)}
.altar canvas#nft{position:absolute;inset:0;width:100%;height:100%}
.altar canvas#altarFire{position:absolute;left:0;right:0;bottom:0;width:100%;height:50%;mix-blend-mode:screen}
.altar .prompt{position:relative;text-align:center;font-family:var(--px);font-size:clamp(8px,2.2vw,12px);line-height:1.8;color:var(--dim);padding:10px}
.altar .prompt b{display:block;color:var(--flame);font-size:clamp(10px,2.8vw,15px);margin-bottom:8px;font-weight:400}
.altar.fed .prompt{display:none}
.tag{position:absolute;left:8px;top:8px;font-family:var(--px);font-size:9px;background:#000;color:var(--flame);padding:4px 6px;border:2px solid var(--ember);z-index:2}

.controls{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:16px}
.btn{font-family:var(--px);font-size:11px;padding:13px 14px;background:#1d0a05;color:var(--flame);border:3px solid var(--ember);cursor:pointer;box-shadow:4px 4px 0 #000}
.btn:hover{background:#2c0f06;color:var(--hot)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #000}
.burn{font-family:var(--px);font-size:clamp(18px,5.4vw,34px);padding:22px clamp(18px,5vw,48px);color:#2a0400;border:none;cursor:pointer;
      background:linear-gradient(#fff6a8,#ffc21a 35%,#ff7a00 70%,#d42a00);box-shadow:0 0 0 4px #000,0 0 0 8px var(--blood),8px 10px 0 8px #000,0 0 50px rgba(255,120,0,.7);
      text-shadow:2px 2px 0 rgba(255,255,255,.5);max-width:100%;position:relative}
.burn:not(:disabled){animation:throb 1s infinite}
@keyframes throb{50%{box-shadow:0 0 0 4px #000,0 0 0 8px var(--blood),8px 10px 0 8px #000,0 0 80px rgba(255,160,0,.95)}}
.burn:not(:disabled):hover{filter:brightness(1.15) saturate(1.3);animation:throb .25s infinite}
.burn:disabled{filter:grayscale(.85) brightness(.55);cursor:not-allowed}
.status{font-family:var(--px);font-size:10px;color:var(--dim);text-align:center;min-height:1.5em;line-height:1.8}
.small{font-size:12px;color:#7d5a3d;text-align:center}
.link{background:none;border:none;color:var(--flame);font-family:var(--sk);font-size:15px;text-decoration:underline;cursor:pointer}

.steps{max-width:1100px;margin:0 auto;padding:30px 16px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{border:3px solid #3a1206;background:#0e0503;padding:18px}
.step h3{font-family:var(--px);font-size:12px;color:var(--flame);margin-bottom:10px;line-height:1.6}
.step p{color:#d9b083;font-size:14px}
@media (max-width:700px){.steps{grid-template-columns:1fr}}
footer{text-align:center;padding:30px 16px 50px;color:#6d4a30;font-size:13px;border-top:3px solid #1f0b05}
footer img{width:120px;margin:0 auto 14px;border:3px solid var(--ember)}

/* FX + BANNER */
#fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:50}
#flash{position:fixed;inset:0;background:#fff7d0;opacity:0;pointer-events:none;z-index:60}
#flash.go{animation:flash .9s ease-out}
@keyframes flash{0%{opacity:1}100%{opacity:0}}
#banner{position:fixed;inset:0;z-index:55;display:none;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:16px;
        background:radial-gradient(ellipse at 50% 60%,rgba(120,20,0,.75),rgba(5,0,0,.96) 70%)}
#banner.on{display:flex}
#banner .wrap{width:min(100%,1100px);animation:slam .55s cubic-bezier(.2,1.6,.4,1) both,quake .12s .55s infinite}
@keyframes slam{0%{transform:scale(2.6) rotate(-4deg);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes quake{0%,100%{transform:translate(0,0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}
#bannerCanvas{width:100%;height:auto}
#bannerFloor{position:absolute;left:0;right:0;bottom:0;width:100%;height:30vh;pointer-events:none;mix-blend-mode:screen}
#banner .again{position:relative;z-index:2}
#banner .ashnote{position:relative;z-index:2;font-family:var(--px);font-size:10px;color:#ffcf7a;text-align:center;line-height:1.8;text-shadow:2px 2px 0 #000}
@media (prefers-reduced-motion:reduce){.machine.shake,#banner .wrap{animation:none}.hero img{animation:none}}

.altar{cursor:default}
.altar .prompt button{margin-top:10px}

/* TOP BAR */
[id]{scroll-margin-top:calc(var(--tb) + 10px)}
:root{--tb:58px}
body{padding-top:var(--tb)}
.topbar{position:fixed;top:0;left:0;right:0;height:var(--tb);z-index:45;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;
  background:rgba(7,3,2,.97);border-bottom:3px solid #3a1206;box-shadow:0 6px 24px rgba(0,0,0,.6)}
.topbar .left,.topbar .right{display:flex;align-items:center;gap:10px;min-width:0}
.snd{font-family:var(--px);font-size:9px;padding:9px 10px;background:#120705;color:var(--dim);border:3px solid #3a1206;cursor:pointer;white-space:nowrap}
.snd[aria-pressed=true]{color:var(--flame);border-color:#7a2a08}
.snd .m{display:none}
.navlink{font-family:var(--px);font-size:9px;color:var(--ink);text-decoration:none;padding:9px 10px;border:3px solid #5a1a05;background:#120705;white-space:nowrap}
.navlink:hover,.navlink[aria-current=page]{color:var(--hot);border-color:var(--ember)}
.navlink .m{display:none}
.brand{font-family:var(--px);font-size:11px;color:var(--flame);text-decoration:none;text-shadow:2px 2px 0 var(--blood);white-space:nowrap}
.ptsBox{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;border:3px solid var(--ember);background:#1a0804;padding:5px 12px;box-shadow:0 0 18px rgba(255,100,0,.35),inset 0 0 12px rgba(255,120,0,.15);line-height:1.1}
.ptsBox b{font-family:var(--px);font-weight:400;font-size:16px;color:var(--hot);text-shadow:2px 2px 0 var(--blood),0 0 10px rgba(255,170,0,.6);white-space:nowrap}
.ptsBox span{font-family:var(--px);font-size:7px;color:var(--ember);margin-top:4px;white-space:nowrap}
.pm{position:relative}
.pmBtn{display:flex;align-items:center;gap:8px;font-family:var(--px);font-size:9px;padding:10px 10px;background:#120705;color:var(--ink);border:3px solid #5a1a05;cursor:pointer;max-width:34vw}
.pmBtn .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmBtn .caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--flame);flex:none}
.pmBtn .dot{width:8px;height:8px;background:var(--hot);box-shadow:0 0 8px var(--flame);flex:none;animation:throb .8s infinite}
.pmMenu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#0b0402;border:3px solid var(--ember);box-shadow:0 0 0 3px #000,0 12px 40px rgba(0,0,0,.7);display:none;flex-direction:column;z-index:46}
.pm.open .pmMenu{display:flex}
.pmMenu button{font-family:var(--px);font-size:9px;line-height:1.6;text-align:left;padding:13px 14px;background:none;color:var(--ink);border:none;border-bottom:2px solid #2a0e05;cursor:pointer}
.pmMenu button:hover{background:#1d0a05;color:var(--hot)}
.pmMenu .hot{color:#2a0400;background:linear-gradient(#fff6a8,#ffc21a 40%,#ff6a00)}
.pmMenu .who{font-family:var(--px);font-size:8px;color:var(--dim);padding:12px 14px;border-bottom:2px solid #2a0e05;line-height:1.7;word-break:break-all}
@media (max-width:640px){
  :root{--tb:52px}
  .topbar{padding:0 10px;gap:6px}
  .brand{display:none}
  .snd{font-size:8px;padding:8px 7px}
  .snd .d{display:none}.snd .m{display:inline}
  .navlink{font-size:8px;padding:8px 7px}
  .navlink .d{display:none}.navlink .m{display:inline}
  .ptsBox{padding:4px 8px}
  .ptsBox b{font-size:12px}
  .pmBtn{font-size:8px;padding:9px 8px;max-width:30vw}
  .topbar .btn{font-size:8px;padding:9px 8px}
}

/* WAIT PILL: flipping pixel hourglass shown whenever the page is waiting */
.wait{position:fixed;left:50%;top:calc(var(--tb) + 10px);transform:translateX(-50%);z-index:47;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);
  padding:8px 14px 8px 10px;background:rgba(11,4,2,.95);border:3px solid var(--ember);box-shadow:0 0 0 3px #000,0 0 24px rgba(255,100,0,.45);pointer-events:none;
  font-family:var(--px);font-size:9px;line-height:1.6;color:#ffcf7a;transition:opacity .15s}
.wait[hidden]{display:flex!important;opacity:0}
.wait span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg{width:20px;height:28px;flex:none;animation:hgflip 1.8s infinite;image-rendering:pixelated}
.hg .ts,.hg .bs{transform-box:fill-box;transform-origin:50% 100%}
.hg .ts{animation:hgtop 1.8s infinite linear}
.hg .bs{animation:hgbot 1.8s infinite linear}
.hg .st{animation:hgstream .2s infinite steps(2)}
@keyframes hgflip{0%,78%{transform:rotate(0)}100%{transform:rotate(180deg)}}
@keyframes hgtop{0%{transform:scaleY(1)}78%,100%{transform:scaleY(0)}}
@keyframes hgbot{0%{transform:scaleY(.05)}78%,100%{transform:scaleY(1)}}
@keyframes hgstream{50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.hg,.hg .ts,.hg .bs,.hg .st{animation:none}}

/* WALLET */
.walletbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin:-10px auto 30px;max-width:100%}
.chip{font-family:var(--px);font-size:10px;line-height:1.7;border:3px solid #5a1a05;background:#120705;padding:9px 12px;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip em{font-style:normal;color:var(--flame)}
.btn.small{font-size:9px;padding:9px 10px}

/* STASH */
.stash{max-width:1100px;margin:0 auto;padding:10px 16px 40px}
.stash[hidden]{display:none}
.stashHead{display:flex;flex-wrap:wrap;gap:12px;align-items:end;justify-content:space-between;margin-bottom:16px}
.stashHead h2{text-align:left;margin:0;font-size:clamp(16px,4vw,26px)}
.stake{font-family:var(--px);font-size:10px;color:#ffcf7a;line-height:1.8}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.tab{font-family:var(--px);font-size:9px;padding:9px 10px;background:#120705;color:var(--dim);border:3px solid #3a1206;cursor:pointer}
.tab[aria-pressed=true]{color:var(--hot);border-color:var(--ember);background:#2c0f06}
.filters input,.filters select{font-family:var(--sk);font-size:14px;padding:8px 10px;background:#120705;color:var(--ink);border:3px solid #3a1206;min-width:0}
.filters input{flex:1 1 160px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
@media (max-width:520px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.card{position:relative;display:block;width:100%;background:#0e0503;border:3px solid #3a1206;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit;content-visibility:auto;contain-intrinsic-size:auto 230px;transition:transform .08s}
.card:hover{border-color:#7a2a08;transform:translateY(-2px)}
.card .art{position:relative;aspect-ratio:1;background:#1a0905 repeating-linear-gradient(45deg,#160704 0 6px,#1d0a05 6px 12px);overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s}
.card img.ok{opacity:1}
.card .noart{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--px);font-size:9px;color:var(--dim);padding:8px;text-align:center}
.card .meta{padding:7px 8px 9px}
.card .nm{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.card .col{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dim)}
.badge{position:absolute;top:6px;left:6px;font-family:var(--px);font-size:8px;padding:4px 5px;background:#000c;border:2px solid #5a1a05;color:#ffcf7a;z-index:2}
.badge.base{color:#8fb6ff;border-color:#1d3f8a}
.pts{position:absolute;right:6px;bottom:6px;font-family:var(--px);font-size:9px;padding:5px 6px;z-index:2;color:#2a0400;background:linear-gradient(#fff6a8,#ffb300 50%,#ff6a00);box-shadow:2px 2px 0 #000}
.pts.base{background:#2a1208;color:#c99a6b}
.pts.whale{animation:whale .5s infinite alternate}
@keyframes whale{to{box-shadow:2px 2px 0 #000,0 0 14px 4px rgba(255,200,0,.9)}}
.copies{position:absolute;top:6px;right:6px;font-family:var(--px);font-size:8px;background:#000c;color:var(--ink);padding:4px 5px;z-index:2}
.card.locked{cursor:not-allowed;opacity:.55;filter:grayscale(.7)}
.card.locked:hover{transform:none;border-color:#3a1206}
.lockTag{position:absolute;inset:auto 6px 6px 6px;font-family:var(--px);font-size:7px;line-height:1.6;text-align:center;background:#000d;color:#8fb6ff;border:2px solid #1d3f8a;padding:5px;z-index:2}
.nameTag{position:absolute;left:6px;right:6px;top:34px;font-family:var(--px);font-size:7px;line-height:1.5;text-align:center;background:#000c;color:#ffcf7a;padding:4px;z-index:2}
.card.sel{border-color:var(--hot);box-shadow:0 0 0 3px var(--ember),0 0 26px rgba(255,120,0,.75)}
.card.sel .art::after{content:"MARKED FOR FIRE";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--px);font-size:10px;line-height:1.6;color:var(--hot);background:radial-gradient(rgba(120,20,0,.35),rgba(0,0,0,.6));text-shadow:2px 2px 0 #000;padding:10px}
.pager{display:flex;justify-content:center;align-items:center;gap:8px;padding:14px 0;font-family:var(--px);font-size:10px;color:var(--dim);flex-wrap:wrap}
.pager .pgl{min-width:140px;text-align:center;color:#ffcf7a}
.pager .btn:disabled{opacity:.35;cursor:default}
.empty{font-family:var(--px);font-size:10px;line-height:1.9;color:var(--dim);text-align:center;padding:30px 10px}

/* TRAY */
.tray{position:fixed;left:0;right:0;bottom:0;z-index:40;transform:translateY(120%);transition:transform .2s;background:rgba(11,4,2,.96);border-top:3px solid var(--ember);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;box-shadow:0 -10px 40px rgba(255,80,0,.25)}
.tray.on{transform:none}
.tray .thumbs{display:flex;gap:4px}
.tray .thumbs img{width:34px;height:34px;object-fit:cover;border:2px solid var(--ember);image-rendering:pixelated}
.tray .sum{font-family:var(--px);font-size:10px;line-height:1.8;color:var(--ink)}
.tray .sum b{color:var(--flame);font-weight:400}
.tray .burn{font-size:14px;padding:13px 16px;animation:throb 1s infinite}
@media (max-width:520px){.tray .thumbs{display:none}}

/* BOARD */
.board{max-width:1100px;margin:0 auto;padding:40px 16px 60px}
.ticker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 30px}
.tile3{border:3px solid #3a1206;background:#0e0503;padding:14px;text-align:center}
.tile3 b{display:block;font-family:var(--px);font-weight:400;font-size:clamp(13px,3.6vw,22px);color:var(--flame);text-shadow:3px 3px 0 var(--blood);margin-bottom:8px;word-break:break-word}
.tile3 span{font-family:var(--px);font-size:8px;color:var(--dim);line-height:1.6}
@media (max-width:620px){.ticker{grid-template-columns:1fr}}
h3.sec{font-family:var(--px);font-size:clamp(12px,3vw,16px);color:var(--flame);margin:30px 0 14px;line-height:1.5}
.whales{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:820px){.whales{grid-template-columns:repeat(2,minmax(0,1fr))}}
.whale{position:relative;border:3px solid var(--ember);background:#000;cursor:pointer;padding:0;color:inherit;text-align:left;font:inherit;box-shadow:0 0 22px rgba(255,90,0,.35)}
.whale .art{aspect-ratio:1;position:relative;overflow:hidden}
.whale canvas{width:100%;height:100%;image-rendering:pixelated;filter:sepia(.35) saturate(1.5) contrast(1.15)}
.whale .art::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(255,70,0,.65),transparent 60%);mix-blend-mode:screen;animation:glow 1.4s infinite alternate}
@keyframes glow{to{opacity:.55}}
.whale .meta{padding:8px}
.whale .v{font-family:var(--px);font-size:11px;color:var(--hot)}
.whale .by{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.whale .n{position:absolute;top:6px;left:6px;font-family:var(--px);font-size:9px;background:#000;color:var(--flame);padding:4px 5px;border:2px solid var(--ember);z-index:2}
.rows{display:flex;flex-direction:column;gap:6px}
.row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:3px solid #2a0e05;background:#0d0503;cursor:pointer;color:inherit;font:inherit;text-align:left;width:100%}
.row:hover{border-color:var(--ember)}
.row.me{border-color:#ffcf7a;background:#1d0a05}
.row .r{font-family:var(--px);font-size:14px;color:var(--dim)}
.row.top1 .r{color:var(--hot);text-shadow:0 0 12px rgba(255,200,0,.9)}
.row.top1{border-color:var(--flame);box-shadow:0 0 30px rgba(255,140,0,.35)}
.row .who{min-width:0}
.row .who b{display:block;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .who span{font-family:var(--px);font-size:8px;color:var(--ember)}
.row .p{font-family:var(--px);font-size:11px;color:var(--flame);text-align:right;line-height:1.7}
.row .p small{display:block;font-size:8px;color:var(--dim)}
.ensb{font-family:var(--px);font-size:7px;color:#8fb6ff;border:1px solid #1d3f8a;padding:1px 3px;margin-left:6px;vertical-align:middle}
.crown{color:var(--hot);margin-right:4px}

/* DIALOGS */
dialog{background:#0b0402;color:var(--ink);border:4px solid var(--ember);box-shadow:0 0 0 4px #000,0 0 60px rgba(255,90,0,.5);width:min(560px,calc(100vw - 24px));max-width:none;padding:22px;margin:auto}
dialog::backdrop{background:rgba(0,0,0,.82)}
dialog h4{font-family:var(--px);font-size:14px;line-height:1.5;color:var(--flame);margin-bottom:12px}
dialog p{font-size:14px;color:#e2bd90;margin-bottom:12px}
dialog .acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px}
dialog input[type=text]{width:100%;font-family:var(--sk);font-size:17px;padding:12px;background:#120705;color:var(--ink);border:3px solid #5a1a05}
.wl{display:flex;flex-direction:column;gap:8px}
.wl button,.wl a{display:flex;gap:12px;align-items:center;font-family:var(--px);font-size:10px;padding:12px;background:#120705;color:var(--ink);border:3px solid #3a1206;cursor:pointer;text-decoration:none}
.wl img{width:28px;height:28px}
.plan{font-family:var(--px);font-size:9px;line-height:2;color:#ffcf7a;background:#120705;border:3px solid #3a1206;padding:12px;margin:10px 0;max-height:40vh;overflow:auto}
#profileDlg{width:min(1040px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:0}
.pf{padding:22px}
.pfHead{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}
.pfHead h4{font-size:clamp(14px,4vw,22px);margin:0;word-break:break-word}
.pfHead .t{font-family:var(--px);font-size:9px;color:var(--ember);margin-top:8px;line-height:1.6}
.pfStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
@media (max-width:760px){.pfStats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ash{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
@media (max-width:520px){.ash{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ashTile{position:relative;aspect-ratio:1;border:2px solid #3a1206;background:#000;overflow:hidden}
.ashTile canvas{width:100%;height:100%;image-rendering:pixelated;filter:sepia(.55) saturate(1.5) brightness(.75) contrast(1.25);transition:filter .2s}
.ashTile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(255,70,0,.6),rgba(120,10,0,.15) 55%,transparent 75%);mix-blend-mode:screen;animation:glow 1.3s infinite alternate;pointer-events:none}
.ashTile:hover canvas{filter:none}
.ashTile .cap{position:absolute;left:0;right:0;bottom:0;padding:4px 5px;font-family:var(--px);font-size:7px;line-height:1.5;color:var(--hot);background:linear-gradient(transparent,#000d);z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.close{position:sticky;top:0;float:right;margin:10px;z-index:3}
.note{font-size:12px;color:#7d5a3d}
.pullChip{font-family:var(--px);font-size:10px;padding:11px 12px;color:#2a0400;border:none;cursor:pointer;background:linear-gradient(#fff6a8,#ffc21a 40%,#ff6a00);box-shadow:0 0 0 3px #000,0 0 22px rgba(255,170,0,.8);animation:throb .8s infinite}
.pullNote{font-family:var(--px);font-size:9px;color:#ffcf7a;line-height:1.7}
#revealDlg{width:min(980px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;text-align:center}
#revealDlg h4{font-size:clamp(13px,3.6vw,20px);text-shadow:3px 3px 0 var(--blood)}
.reveal{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0}
.reveal .rv{flex:0 1 200px;min-width:0}
@media (max-width:520px){.reveal{gap:10px}.reveal .rv{flex-basis:calc(50% - 5px)}}
.rv{border:3px solid var(--ember);background:#000;box-shadow:0 0 30px rgba(255,120,0,.45);text-align:left}
.rv canvas{width:100%;aspect-ratio:1;display:block;image-rendering:pixelated}
.rv .m{padding:8px}
.rv .m b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv .m span{display:block;font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv .m a{font-family:var(--px);font-size:8px}
.bannerTxs{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bannerTxs a{font-family:var(--px);font-size:8px;color:#ffcf7a}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
@media (max-width:480px){.tiers{grid-template-columns:1fr}}
.tier{font-family:var(--px);font-size:11px;line-height:1.9;padding:16px 12px;border:3px solid var(--ember);background:#120705;color:var(--ink);cursor:pointer;text-align:center}
.tier b{display:block;font-weight:400;font-size:18px;color:var(--hot);text-shadow:2px 2px 0 var(--blood)}
.tier em{display:block;font-style:normal;font-size:8px;color:#8fd18f}
.tier:hover:not(:disabled){background:#2c0f06;box-shadow:0 0 22px rgba(255,140,0,.5)}
.tier:disabled{opacity:.4;cursor:not-allowed}
.tier.best{background:linear-gradient(#2c1206,#120705);border-color:var(--hot)}
.prizes{max-width:1100px;margin:0 auto;padding:40px 16px 30px}
.pvBar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin:0 0 22px}
.pvState{font-family:var(--px);font-size:10px;padding:10px 12px;border:3px solid #3a1206;background:#120705;color:var(--dim)}
.pvState.open{color:#2a0400;border-color:#000;background:linear-gradient(#fff6a8,#ffc21a 40%,#ff6a00);animation:throb 1s infinite}
.pvTiers{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.pvTier{font-family:var(--px);font-size:9px;line-height:1.7;padding:9px 12px;border:3px solid var(--ember);background:#1a0804;color:var(--ink);text-align:center}
.pvTier b{display:block;font-weight:400;font-size:13px;color:var(--hot)}
.pvMe{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.pvMe .bal{font-family:var(--px);font-size:10px;color:#ffcf7a}
.pvGrid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.pvGrid .pvItem{flex:0 0 110px}
@media (max-width:520px){.pvGrid{gap:8px}.pvGrid .pvItem{flex-basis:calc(33.33% - 6px)}}
.pvItem{position:relative;aspect-ratio:1;border:3px solid #5a1a05;background:#000;overflow:hidden}
.pvItem img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.2) contrast(1.05)}
.pvItem .cap{position:absolute;left:0;right:0;bottom:0;padding:4px 5px;font-family:var(--px);font-size:7px;line-height:1.5;color:var(--hot);background:linear-gradient(transparent,#000d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pvItem .x{position:absolute;top:4px;right:4px;font-family:var(--px);font-size:7px;background:#000c;padding:3px 4px}
.pvItem::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 18px rgba(255,90,0,.45);pointer-events:none}
.pvItem.crate{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#1d0a05 0 8px,#2a0e05 8px 16px);border-color:var(--ember);animation:crate 1.6s infinite}
.pvItem.crate .q{font-family:var(--px);font-size:clamp(22px,4vw,34px);color:var(--hot);text-shadow:3px 3px 0 var(--blood),0 0 14px rgba(255,170,0,.8)}
.pvItem.crate.more .q{font-size:clamp(12px,2.4vw,18px)}
.pvItem.crate .cap{text-align:center}
@keyframes crate{0%,100%{box-shadow:inset 0 0 14px rgba(255,90,0,.35)}50%{box-shadow:inset 0 0 26px rgba(255,170,0,.75),0 0 14px rgba(255,90,0,.4)}}
@media (prefers-reduced-motion:reduce){.pvItem.crate{animation:none}}
.rv.crate .box{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#1d0a05 0 8px,#2a0e05 8px 16px);animation:rattle .18s infinite}
.rv.crate .box span{font-family:var(--px);font-size:42px;color:var(--hot);text-shadow:3px 3px 0 var(--blood),0 0 18px rgba(255,170,0,.9)}
@keyframes rattle{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(2px,-1px) rotate(1deg)}50%{transform:translate(-2px,1px) rotate(-1deg)}75%{transform:translate(1px,2px) rotate(.5deg)}}
.pts.pricing{background:#2a1208;color:#c99a6b;animation:shimmer 1s infinite}
@keyframes shimmer{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.rv.crate .box,.pts.pricing{animation:none}}
.pvGrid .pvItem.fire{flex:0 0 clamp(90px,22vw,150px);animation:firecycle 2.4s infinite linear}
.pvItem.fire .q{font-size:clamp(28px,6vw,48px);color:#fff6c0;text-shadow:3px 3px 0 rgba(60,0,0,.8),0 0 18px rgba(255,240,180,.9)}
@keyframes firecycle{
  0%,100%{background:#7a0a00;border-color:#c4170c;box-shadow:0 0 22px rgba(196,23,12,.7),inset 0 0 22px rgba(0,0,0,.45)}
  25%{background:#c4170c;border-color:#ff4a00;box-shadow:0 0 26px rgba(255,74,0,.75),inset 0 0 22px rgba(0,0,0,.35)}
  50%{background:#ff6a00;border-color:#ffb300;box-shadow:0 0 30px rgba(255,140,0,.85),inset 0 0 20px rgba(0,0,0,.25)}
  75%{background:#ffb300;border-color:#fff3a0;box-shadow:0 0 34px rgba(255,200,0,.9),inset 0 0 18px rgba(120,20,0,.35)}
}
@media (max-width:520px){.pvGrid .pvItem.fire{flex-basis:calc(33.33% - 6px)}}
@media (prefers-reduced-motion:reduce){.pvItem.fire{animation:none;background:#c4170c}}
/* sections below the fold are not rendered (or animated) until scrolled near */
.steps,.prizes,.board,footer{content-visibility:auto;contain-intrinsic-size:auto 700px}
/* ---- paint budget: nothing animates while hidden, and glows avoid blend-mode repaints ---- */
.wait[hidden] .hg,.wait[hidden] .hg *{animation:none}
.tray:not(.on) .burn{animation:none}
.hero .fireStrip{mix-blend-mode:normal}
.hero::after{mix-blend-mode:normal;background:radial-gradient(ellipse at 50% 70%,rgba(255,170,40,.16),rgba(255,90,0,.06) 60%,transparent 80%)}
.whale .art::after,.ashTile::after{mix-blend-mode:normal;background:linear-gradient(to top,rgba(255,70,0,.42),transparent 60%);will-change:opacity}
.altar canvas#altarFire{mix-blend-mode:normal}
/* phone top bar: points without the rank line; nav links move into the profile menu when connected */
.pmMenu .mobileOnly{display:none}
@media (max-width:640px){
  .ptsBox span{display:none}
  .ptsBox{padding:6px 8px}
  .topbar .right{flex:1;justify-content:flex-end;min-width:0}
  .topbar .pm{min-width:0;flex:0 1 auto}
  .pmBtn{max-width:none;min-width:0}
  body.connected .topbar .navlink{display:none}
  .pmMenu .mobileOnly{display:block}
  .pmMenu{max-width:calc(100vw - 20px)}
}
.wait{z-index:44}
