/* Drill Pad - Terraria underground cut vertically. 4 px grid, ink outlines, one accent (rig yellow). */
:root{
  --night:#1B1424;--deep:#1A110C;--ink:#2A1A10;--soil:#8B5A2B;--soil2:#6B4220;--clay:#B5653A;--stone:#7D7F86;--stone2:#5A5C63;
  --gold:#FFC93C;--gold2:#E59A1C;--dia:#5FE3F0;--dia2:#2FA9C4;--mantle:#24181C;--lava:#FF8A1E;--lava2:#FFC23A;--steel:#C9CED6;--steel2:#8A929E;
  --rig:#FFB627;--rigd:#E07A10;--rigl:#FFD46B;--cream:#FFE9C2;--muted:#B9A79A;--lime:#9BE148;--panel:#20150E;
  --rul:72px;--rbh:76px;--s:4;--t:5;
  --fd:'Pixelify Sans',system-ui,sans-serif;--fl:'Micro 5','Pixelify Sans',system-ui,sans-serif;--fn:'Chivo Mono',ui-monospace,monospace;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--rbh) + 12px)}
body{margin:0;background:var(--deep);color:var(--cream);font:16px/1.5 var(--fn);overflow-x:hidden;min-height:100vh}
img{image-rendering:pixelated;image-rendering:crisp-edges;display:block}
a{color:var(--rig)}
a,button,[role=button],[onclick],summary,label,.ca,select,.tube,.slot{cursor:pointer}
button{font:inherit;color:inherit}
.num{font-family:var(--fn);font-variant-numeric:tabular-nums;font-weight:600}
.lab{font-family:var(--fl);font-size:28px;line-height:1;letter-spacing:.02em;color:var(--muted);display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:8px;top:0;z-index:99;background:var(--rig);color:var(--ink);padding:8px 12px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip:focus{width:auto;height:auto;clip-path:none}
:focus-visible{outline:4px solid var(--rig);outline-offset:2px}
[hidden]{display:none!important}

/* ---------------------------------------------------------------- buttons, plates, slots, panels */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:6px 22px 10px;border:4px solid var(--ink);text-decoration:none;
  font:700 26px/1 var(--fd);letter-spacing:-.01em;color:var(--ink);background:var(--rig);box-shadow:inset 0 -6px 0 var(--rigd),inset 0 4px 0 var(--rigl),0 4px 0 var(--ink);
  transition:transform .06s steps(1),box-shadow .06s steps(1);white-space:nowrap;user-select:none}
.btn:hover{background:#FFC24A}
.btn:active,.btn.busy{transform:translateY(4px);box-shadow:inset 0 -2px 0 var(--rigd),inset 0 4px 0 var(--rigl),0 0 0 var(--ink)}
.btn.big{min-height:60px;font-size:30px;padding:8px 28px 12px}
.btn[disabled]{filter:grayscale(.8);opacity:.6;cursor:not-allowed}
.plate{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:2px 16px 4px;text-decoration:none;color:var(--ink);
  border:12px solid transparent;border-image:url(/assets/art/plate.png) 6 fill / 12px / 0 stretch;image-rendering:pixelated;
  font:28px/1 var(--fl);white-space:nowrap;background:none;transition:transform .06s steps(1);user-select:none}
.plate>*{margin:-10px 0}
.plate:hover{filter:brightness(1.08)}
.plate:active,.plate.copied{border-image-source:url(/assets/art/plate-pressed.png);transform:translateY(2px)}
.plate.big{min-height:60px;padding:0 22px}
.plate .xg{width:18px;height:18px}
.plate .num{font-size:14px}
.plate.ca b{font:28px/1 var(--fl)}
.plate.ca .cl{font:24px/1 var(--fl);color:var(--soil2)}
.plate.ca .cbtn{background:none;border:0;padding:0 0 0 4px;margin:-10px 0}
.plate.ca.ca-off{color:#4A4F57}
.plate.ca.ca-off .num{font:24px/1 var(--fl);font-weight:400}
.plate.ca.copied .cl{color:var(--ink)}
.slot{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:0 10px;border:16px solid transparent;
  border-image:url(/assets/art/slot.png) 8 fill / 16px / 0 stretch;image-rendering:pixelated;background:none;color:var(--cream);font:28px/1 var(--fl);user-select:none}
.slot>*,.slot{line-height:1}
.slot.on,.slot[aria-selected=true]{border-image-source:url(/assets/art/slot-active.png);color:var(--rig)}
.slot:hover{color:var(--rig)}
.slots{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.slots .unit{font:24px/1 var(--fl);color:var(--muted);margin-left:6px}
.panel{position:relative;z-index:3;background:var(--panel);background-clip:padding-box;border:16px solid transparent;
  border-image:url(/assets/art/frame.png) 8 / 16px / 0 stretch;image-rendering:pixelated;padding:12px}
.st{font:700 64px/0.95 var(--fd);letter-spacing:-.02em;margin:0;color:var(--cream)}
.st .num{font-size:.5em;color:var(--rig);vertical-align:middle}
.st.sm{font-size:36px;margin:8px 0 12px}
.shead{display:inline-block;position:relative;z-index:3;background:var(--ink);padding:14px 18px 16px;margin-bottom:20px;max-width:640px}
.ss{font:30px/1 var(--fl);color:var(--cream);margin:10px 0 0}

/* ---------------------------------------------------------------- rig bar (sticky buy panel) */
.rigbar{position:sticky;top:0;z-index:50;background:url(/assets/art/tile-steel.png) 0 0/120px 120px;border-bottom:4px solid var(--ink)}
.rigbar .hz{height:10px;background:url(/assets/art/hazard.png) 0 -8px/94px 26px repeat-x;border-bottom:4px solid var(--ink)}
.rbin{display:flex;align-items:center;gap:14px;padding:8px 16px;min-height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand .mk{width:40px;height:40px;background:var(--lime);border:4px solid var(--ink);display:grid;place-items:center}
.brand .mk img{width:28px;height:auto;image-rendering:auto}
.brand .bn{font:700 26px/1 var(--fd);color:var(--ink);letter-spacing:-.02em}
.rnav{display:flex;gap:4px}
.rnav a{font:26px/1 var(--fl);color:var(--ink);text-decoration:none;padding:10px 8px}
.rnav a:hover,.rnav a[aria-current]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.rbuy{display:flex;align-items:center;gap:8px;margin-left:auto;background:var(--ink);padding:4px;border:4px solid var(--ink)}
.selw{position:relative}
.sel{display:grid;grid-template-columns:auto 56px auto;align-items:center;gap:8px;height:44px;padding:0 10px;background:#140C08;border:0;color:var(--cream);min-width:170px}
.sel .st{font:700 15px/1 var(--fn)}
.sel .sg{display:block;height:12px;background:#3A2818;border:2px solid #4A3626;overflow:hidden}
.sel .sg i{display:block;height:100%;background:var(--rig);transform-origin:0 0;transform:scaleX(0)}
.sel .sd{font-size:13px;color:var(--rig)}
.sel:disabled{cursor:default}
.selpop{position:absolute;top:calc(100% + 8px);left:-4px;width:300px;max-height:60vh;overflow:auto;z-index:60;background:var(--panel);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);padding:4px}
.opt{display:grid;grid-template-columns:72px 1fr auto;grid-template-rows:auto auto;gap:2px 10px;width:100%;text-align:left;background:none;border:0;padding:8px;color:var(--cream)}
.opt:hover,.opt:focus-visible,.opt.on{background:#2E1F14}
.opt b{font-size:14px}.opt .od{font-size:12px;color:var(--rig)}
.opt em{grid-column:2/4;font:22px/1 var(--fl);font-style:normal;color:var(--muted)}
.opt .og{align-self:center;height:10px;background:#3A2818;overflow:hidden}.opt .og i{display:block;height:100%;background:var(--rig);transform-origin:0 0}
.selpop .none{margin:8px;font:24px/1 var(--fl)}
.amt{display:flex;align-items:center;height:44px;background:#140C08;padding:0 10px;gap:6px}
.amt input{width:64px;height:40px;background:none;border:0;color:var(--cream);font-size:16px;outline:none}
.amt i{font:22px/1 var(--fl);font-style:normal;color:var(--muted)}
.drillb{min-height:44px;font-size:24px;padding:4px 18px 8px;box-shadow:inset 0 -6px 0 var(--rigd),inset 0 4px 0 var(--rigl)}
.drillb:active,.drillb.busy{box-shadow:inset 0 -2px 0 var(--rigd),inset 0 4px 0 var(--rigl)}
.rlinks{display:flex;align-items:center;gap:6px}
.rlinks .plate{min-height:40px;font-size:26px}
.wb.on .bl{font:600 13px/1 var(--fn)}

/* ---------------------------------------------------------------- ruler (left, navigation) */
.ruler{position:fixed;left:0;top:var(--rbh);bottom:0;width:var(--rul);z-index:40;background:var(--deep);border-right:4px solid var(--ink)}
.rtrack{position:absolute;inset:8px 6px 8px 6px;display:flex;flex-direction:column}
.rb{position:relative;display:flex;align-items:flex-start;justify-content:center;text-decoration:none;border-bottom:2px solid var(--ink);opacity:.7;min-height:0}
.rb i{font:22px/1 var(--fl);font-style:normal;color:var(--cream);background:var(--ink);padding:1px 4px 3px;margin-top:3px}
.rb.here{opacity:1}
.rb.hit{box-shadow:inset -4px 0 0 var(--rig)}
.rb.soil{flex:5;background:url(/assets/art/tile-soil.png) 0 0/40px}.rb.clay{flex:10;background:url(/assets/art/tile-clay.png) 0 0/40px}
.rb.stone{flex:30;background:url(/assets/art/tile-stone.png) 0 0/40px}.rb.gold{flex:15;background:url(/assets/art/tile-gold.png) 0 0/40px}
.rb.dia{flex:15;background:url(/assets/art/tile-diamond-ore.png) 0 0/40px}.rb.mantle{flex:10;background:url(/assets/art/tile-mantle.png) 0 0/40px}
.rb.core{flex:10;background:url(/assets/art/tile-lava.png) 0 0/40px}
.rb.soil i{font-size:18px}
.rmark{position:absolute;left:-6px;top:0;width:20px;height:22px;z-index:2;will-change:transform}
.rcoin{position:absolute;left:-6px;right:-10px;height:4px;background:var(--rig);z-index:1;margin-top:-2px}
.rcoin b{position:absolute;right:-2px;top:6px;font-size:11px;background:var(--ink);color:var(--rig);padding:1px 3px}

/* ---------------------------------------------------------------- shaft (fixed pipe + drill head) */
.shaft{position:fixed;inset:0;z-index:2;pointer-events:none}
.pipe{position:absolute;left:calc(50% + var(--rul) / 2);top:0;height:calc(50vh - 20px);width:calc(13px * var(--s));margin-left:calc(-6.5px * var(--s));
  background:url(/assets/art/pipe.png) 0 0/calc(13px * var(--s)) calc(36px * var(--s)) repeat-y}
.bit{position:absolute;left:calc(50% + var(--rul) / 2);top:calc(50vh - 20px - 8px * var(--s));width:calc(17px * var(--s));height:calc(40px * var(--s));transform:translateX(-50%)}
.bit.f2{transform:translateX(-50%) scaleX(-1)}

/* ---------------------------------------------------------------- hero: the surface */
main{position:relative;display:block}
.home main{padding-left:0}
.hero{position:relative;z-index:3;min-height:max(640px,calc(100svh - var(--rbh)));background:var(--night);overflow:hidden}
.stars{position:absolute;left:0;top:0;width:4px;height:4px;background:var(--cream);opacity:.8;
  box-shadow:12vw 8vh 0 #FFE9C2,22vw 22vh 0 #B9A79A,31vw 6vh 0 #FFE9C2,44vw 15vh 0 #B9A79A,58vw 4vh 0 #FFE9C2,67vw 19vh 0 #FFE9C2,76vw 9vh 0 #B9A79A,86vw 24vh 0 #FFE9C2,93vw 12vh 0 #B9A79A,8vw 34vh 0 #B9A79A,38vw 38vh 0 #FFE9C2,82vw 40vh 0 #B9A79A,62vw 33vh 0 #B9A79A,96vw 52vh 0 #FFE9C2,18vw 50vh 0 #B9A79A}
.hground{position:absolute;left:0;right:0;top:70%;bottom:0;background:url(/assets/art/grass.png) 0 0/calc(34px * var(--s)) calc(19px * var(--s)) repeat-x,url(/assets/art/tile-soil.png) 0 calc(14px * var(--s))/120px 120px}
.hground::after{content:"";position:absolute;inset:0;background:url(/assets/art/tile-soil.png) 0 0/120px;opacity:0}
.hpipe{position:absolute;left:calc(50% + var(--rul) / 2);top:calc(35px * var(--s) - 2px);bottom:0;width:calc(13px * var(--s));margin-left:calc(-6.5px * var(--s));z-index:2;
  background:url(/assets/art/pipe.png) 0 0/calc(13px * var(--s)) calc(36px * var(--s)) repeat-y}
.rigimg{position:absolute;z-index:2;left:calc(50% + var(--rul) / 2);top:calc(70% - 122px * var(--s));width:calc(157px * var(--s));height:calc(157px * var(--s));transform:translateX(-50%)}
.hname{position:absolute;z-index:4;left:calc(var(--rul) + 4vw);top:12%;max-width:44vw}
.wm{font:700 clamp(84px,10.5vw,184px)/.86 var(--fd);letter-spacing:-.02em;margin:0;color:var(--rig)}
.wm br+*{color:var(--cream)}
.hl{font:clamp(34px,3.2vw,52px)/1 var(--fl);margin:18px 0 22px;color:var(--cream)}
.hbtns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hplate{position:absolute;z-index:4;right:4vw;top:22%;width:300px;display:grid;gap:14px}
.hn b{display:block;font-size:34px;color:var(--cream);line-height:1.05}
.hn b i{font-style:normal;font-size:18px;color:var(--muted)}
.hn:first-child b{color:var(--rig)}

/* ---------------------------------------------------------------- strata bands */
.band{position:relative;padding:96px 0;background-size:120px 120px;image-rendering:pixelated;cursor:url(/assets/art/cur-pick.png) 4 4,auto}
.band.soil{background-image:url(/assets/art/tile-soil.png);padding-top:72px}
.band.clay{background-image:url(/assets/art/tile-clay.png);min-height:80vh}
.band.stone{background-image:url(/assets/art/tile-stone.png);min-height:150vh}
.band.gold{background:url(/assets/art/tile-gold.png) 0 0/120px repeat-x,url(/assets/art/cave.png) center/cover var(--stone2);padding-top:160px;min-height:100vh}
.band.dia{background-image:url(/assets/art/tile-diamond-ore.png);min-height:90vh}
.band.mantle{background-image:url(/assets/art/tile-mantle.png);padding:96px 0 64px}
.band.core{background:url(/assets/art/tile-lava.png) 0 100%/120px repeat-x,url(/assets/art/core.png) center/cover var(--mantle);min-height:100vh;padding-bottom:180px}
.bin{position:relative;margin-left:var(--rul);padding:0 4vw;max-width:calc(1320px + var(--rul))}
.tabs{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:3;margin-bottom:12px}
.rack{min-height:220px;display:inline-block;min-width:min(520px,100%);max-width:100%}
.tubes{display:flex;flex-wrap:wrap;gap:22px 26px;align-items:flex-end}
.tube{display:grid;justify-items:center;gap:2px;background:none;border:0;padding:6px 4px;color:var(--cream);min-width:90px}
.tg{position:relative;display:block;width:calc(13px * var(--t));height:calc(36px * var(--t))}
.tg img{width:100%;height:100%}
.tglass{position:absolute;z-index:1;left:calc(2px * var(--t));top:calc(8px * var(--t));width:calc(9px * var(--t));height:calc(20px * var(--t));overflow:hidden}
.tl{position:absolute;left:0;right:0;background-size:40px 40px;image-rendering:pixelated}
.tl.l0{background-image:url(/assets/art/tile-soil.png)}.tl.l1{background-image:url(/assets/art/tile-clay.png)}.tl.l2{background-image:url(/assets/art/tile-stone.png)}
.tl.l3{background-image:url(/assets/art/tile-gold.png)}.tl.l4{background-image:url(/assets/art/tile-diamond-ore.png)}.tl.l5{background-image:url(/assets/art/tile-mantle.png)}
.tm{position:absolute;left:0;right:0;height:var(--t);margin-top:calc(-1px * var(--t));background:var(--rig)}
.tube .tt{font:700 15px/1.2 var(--fn);margin-top:6px}
.tube .td{font-size:13px;color:var(--rig)}
.tube .tly{font:22px/1 var(--fl);color:var(--muted)}
.tube.on .tg{outline:4px solid var(--rig);outline-offset:6px}
.tube.on .tt{color:var(--rig)}
.tube:hover .tg{transform:translateY(-4px)}
.tube .tg{transition:transform .1s steps(2)}
.rempty{display:flex;align-items:center;gap:28px;padding:8px}
.rempty .tg{opacity:.8}
.rp{font:34px/1.05 var(--fl);margin:0 0 16px;max-width:420px}
.clay .bin{display:flex}
.card{margin-left:auto;width:min(600px,100%)}
.cempty{font:30px/1.1 var(--fl);margin:8px}
.chead{display:flex;gap:22px;align-items:flex-start}
.tg.big{--t:4;flex:none}
.cid{min-width:0}
.cn{font:700 52px/1 var(--fd);margin:4px 0 2px;color:var(--rig);overflow-wrap:anywhere}
.cnm{font:28px/1 var(--fl);margin:0 0 12px;color:var(--cream)}
.cdepth{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:18px 0 10px;padding-top:14px;border-top:4px solid var(--ink)}
.cdepth .lab{width:100%}
.cdepth b{font-size:48px;line-height:1}.cdepth b i{font-size:20px;font-style:normal;color:var(--muted)}
.ly{font:30px/1 var(--fl);padding:2px 8px 4px;background:var(--ink);color:var(--cream)}
.ly.l3{color:var(--gold)}.ly.l4{color:var(--dia)}.ly.l6{color:var(--lava)}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}
.cgrid dt{font:22px/1 var(--fl);color:var(--muted)}
.cgrid dd{margin:4px 0 0;font-size:15px}
.burst{margin:12px 0;padding:10px;background:#140C08}
.chunks{display:flex;flex-wrap:wrap;gap:3px;margin:8px 0}
.chunks i{width:12px;height:12px;background:#3A2818;border:2px solid #4A3626}
.chunks i.on{background:var(--rig);border-color:var(--rigd)}
.bl2{font-size:13px;color:var(--cream)}
.cq{font:24px/1 var(--fl);color:var(--rig);margin:6px 0}
.cnote{font:24px/1.05 var(--fl);color:var(--muted);margin:10px 0}
.cbtns{display:flex;flex-wrap:wrap;gap:8px}
.carow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.carow .lab{font-size:24px}
.cachip{display:inline-flex;align-items:center;gap:8px;min-height:36px;background:#140C08;border:2px solid #4A3626;color:var(--cream);padding:2px 10px}
.cachip .num{font-size:13px}.cachip .cl{font:22px/1 var(--fl);color:var(--rig)}
.cachip.copied{border-color:var(--rig)}
.carow .lk{font:22px/1 var(--fl);padding:8px 4px;color:var(--rig)}

/* stone: DEMO */
.stonein{display:flex;flex-direction:column;align-items:flex-start}
.demo{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto auto;gap:16px 28px;width:min(620px,46%);position:sticky;top:calc(var(--rbh) + 40px)}
.demo .tag{position:absolute;top:-6px;right:-6px;background:var(--rig);color:var(--ink);font:26px/1 var(--fl);padding:2px 8px 4px}
.dcol{grid-row:1/3;position:relative;height:340px;background:#140C08;border:4px solid var(--ink);overflow:hidden}
.dfill{position:absolute;left:0;right:0;top:0;height:100%;background:url(/assets/art/tile-stone.png) 0 0/40px;transform-origin:0 0;transform:scaleY(0);opacity:.95}
.dhwm{position:absolute;left:0;right:0;top:0;border-top:4px dashed var(--rig)}
.dhwm i{position:absolute;right:2px;top:2px;font:20px/1 var(--fl);font-style:normal;color:var(--rig);background:var(--ink);padding:0 3px}
.dbit{position:absolute;left:50%;top:0;width:34px;height:80px;margin-left:-17px}
.dlines{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.dlines li{font:28px/1.05 var(--fl);color:var(--cream)}
.dlines b{font-weight:400;color:var(--rig)}
.dread{display:flex;gap:18px;font-size:14px;color:var(--muted)}.dread b{color:var(--cream)}
.still .dfill{transform:scaleY(.86)}.still .dhwm{transform:translateY(300px)}.still .dbit{transform:translateY(256px)}

/* gold + diamonds */
.goldrow{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.cartbox{width:min(420px,100%);display:flex;gap:18px;align-items:flex-end}
.cartart{position:relative;width:186px;height:180px;flex:none}
.cartimg{position:absolute;inset:0;width:186px;height:180px}
.nuggets{position:absolute;inset:0;z-index:1}
.ng{position:absolute;width:33px;height:36px;opacity:0;transform:translateY(-120px)}
.ng.on{opacity:1;transform:none}
.cartbox.in .ng.on{animation:drop .5s steps(5) both;animation-delay:calc(var(--i) * 90ms)}
@keyframes drop{from{transform:translateY(-140px);opacity:0}to{transform:none;opacity:1}}
.cread b,.dread2 b,.erupt b{display:block;font-size:26px;line-height:1.1;color:var(--gold);margin:6px 0}
.cread p,.dread2 p,.erupt p{margin:0;font:26px/1.05 var(--fl);color:var(--cream)}
.cread p.num,.dread2 p.num,.erupt p.num{font:13px/1.4 var(--fn)}
.split{margin-left:auto;width:min(560px,100%)}
.slots4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.s4{display:grid;justify-items:center;align-content:center;min-height:96px;border:16px solid transparent;border-image:url(/assets/art/slot.png) 8 fill / 16px / 0 stretch;padding:0 4px;text-align:center}
.s4.on{border-image-source:url(/assets/art/slot-active.png)}
.s4 b{font-size:22px;color:var(--cream)}.s4.on b{color:var(--rig)}
.s4 i{font:20px/1 var(--fl);font-style:normal;color:var(--muted)}
.honest{font:26px/1.05 var(--fl);margin:8px 0 0}.honest.pad{color:var(--muted)}
.diarow{margin-left:auto;width:min(620px,100%);display:flex;gap:24px;align-items:flex-end}
.fall{position:relative;width:240px;height:280px;flex:none;overflow:hidden;--fall:0}
.gem{position:absolute;top:-30px;left:calc(var(--x) * 2px);width:29px;height:27px;
  transform:translate(calc(clamp(0, var(--fall) * 2.2 - var(--i) / 22, 1) * (105px - var(--x) * 2px)),calc(clamp(0, var(--fall) * 2.2 - var(--i) / 22, 1) * 250px));
  opacity:calc(1 - clamp(0, (var(--fall) * 2.2 - var(--i) / 22 - .85) * 7, 1))}
.flame{position:absolute;left:96px;bottom:0;width:48px;height:68px}
.still .gem{display:none}
.dread2 b{color:var(--dia)}

/* mantle + core */
.corein{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;padding-top:60px}
.tipcart{position:absolute;right:8vw;top:-40px;z-index:3}
.tcart{width:124px;height:120px;transform-origin:70% 90%}
.erupt{width:min(520px,100%)}
.erupt b{color:var(--lava2)}
.fuel{margin-left:auto;width:min(460px,100%);display:grid;gap:12px}
.fuel .fs,.fuel .fto{margin:0;font:26px/1.05 var(--fl)}.fuel .fto{color:var(--muted)}
.fuel .btn{justify-self:start}

/* coin notch across the page + undrilled strata dimmed */
.notch{position:absolute;left:0;right:0;top:0;z-index:2;height:0;border-top:4px dashed var(--rig);pointer-events:none}
.notch .nl{position:absolute;left:calc(var(--rul) + 12px);top:4px;font-size:12px;background:var(--ink);color:var(--rig);padding:2px 6px}
.notch::after{content:"";position:absolute;left:0;right:0;top:0;height:var(--dh,0px);background:rgba(10,6,4,.4);z-index:-1;pointer-events:none}

/* ending */
.ending{position:relative;z-index:3;min-height:max(640px,100svh);background:url(/assets/art/ending.png) center bottom/cover var(--night);display:flex;flex-direction:column;justify-content:space-between;padding:12vh 4vw 0 calc(var(--rul) + 4vw)}
.eplate{align-self:flex-start;max-width:720px}
.ew{font:700 clamp(56px,7vw,110px)/.9 var(--fd);color:var(--rig);margin:0}
.el{font:34px/1 var(--fl);margin:12px 0 18px}
.ebtns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.efoot,.fin{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;background:var(--ink);margin:0 -4vw 0 calc(-1 * (var(--rul) + 4vw));padding:14px calc(4vw) 18px calc(var(--rul) + 4vw)}
.efoot nav,.fin nav{display:flex;flex-wrap:wrap;gap:4px 16px}
.efoot a,.fin a{font:26px/1 var(--fl);color:var(--cream);text-decoration:none;padding:6px 0}
.efoot a:hover,.fin a:hover{color:var(--rig)}
.fine{font:22px/1.1 var(--fl);color:var(--muted)}.fine a.num{font:12px var(--fn);color:var(--rig);display:inline-block;padding:10px 0}
.foot{margin-top:64px}.foot .fin{margin:0;padding:18px 4vw}
.fwm{font:700 30px/1 var(--fd)!important;color:var(--rig)!important}

/* ---------------------------------------------------------------- inner pages */
.inner{background:var(--deep)}
.ipage{max-width:1240px;margin:0 auto;padding:48px 4vw 24px}
.ipage.soilbg,.inner.nf{background:none}
body.inner{background:var(--deep) url(/assets/art/tile-soil.png) 0 0/120px fixed}
body.inner::before{content:"";position:fixed;inset:0;background:rgba(14,9,6,.55);pointer-events:none;z-index:0}
body.inner>*{position:relative;z-index:1}
body.inner .rigbar{position:sticky;z-index:50}
.ihead{background:var(--ink);display:inline-block;padding:14px 18px 16px;margin-bottom:22px}
.lform{display:grid;gap:18px}
.ipage:has(.lform){display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.ipage:has(.lform) .ihead{grid-column:1/3;justify-self:start}
.lgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:grid;gap:6px}.fld.wide,.fld.pic{grid-column:1/3}
.fld>span{font:26px/1 var(--fl);color:var(--muted)}.fld i{font-style:normal;color:#7E6E62}
.fld input{height:48px;background:#140C08;border:4px solid var(--ink);color:var(--cream);font:15px var(--fn);padding:0 12px;outline:none}
.fld input:focus{border-color:var(--rig)}
.fld.pic input{position:absolute;opacity:0;width:1px;height:1px}
.pickbtn{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.picv{font:22px/1 var(--fl);font-weight:400;color:var(--muted)}
.prev{width:44px;height:44px;object-fit:cover;border:4px solid var(--ink);image-rendering:auto}
.mrow{border:0;padding:0;margin:0}.mrow legend{font:26px/1 var(--fl);color:var(--muted);padding:0;margin-bottom:8px}.mrow legend i{font-style:normal;color:#7E6E62}
.lfoot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding-top:14px;border-top:4px solid var(--ink)}
.lsum{font-size:14px;color:var(--cream);margin:0}
.lerr{color:var(--lava);font:26px/1.05 var(--fl);margin:0}
.lnote{font:24px/1.05 var(--fl);color:var(--muted);margin:0}
.lays{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.lays li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;background:#140C08;border-left:12px solid var(--soil)}
.lays li b{font:28px/1 var(--fl);font-weight:400}.lays li .num{font-size:13px;color:var(--rig)}.lays li i{grid-column:1/3;font:22px/1 var(--fl);font-style:normal;color:var(--muted)}
.lays .l1{border-color:var(--clay)}.lays .l2{border-color:var(--stone)}.lays .l3{border-color:var(--gold)}.lays .l4{border-color:var(--dia)}.lays .l5{border-color:#4A2A2E}.lays .l6{border-color:var(--lava)}
.mempty p,.mnone{font:30px/1.05 var(--fl)}
.mhead{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:22px}
.mhead p{font:24px/1.05 var(--fl);color:var(--muted);margin:6px 0 0;max-width:460px}
.mbig{font-size:44px;color:var(--rig)}
.mrow2{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}
.mrow2 p{margin:4px 0 8px;font-size:13px}.mrow2 .mn{font:26px var(--fl)}
.mx{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-content:start}.mx .lab{font-size:22px}
.killer{font:44px/1.05 var(--fl);margin:0 0 26px;max-width:900px}.killer b{font-size:34px;color:var(--rig)}
.lcounts{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:24px}
.lc{display:grid;gap:2px}.lc b{font-size:34px}.lc i{font:20px/1 var(--fl);font-style:normal;color:var(--muted)}
.lc.l3 b{color:var(--gold)}.lc.l4 b{color:var(--dia)}.lc.l6 b{color:var(--lava)}
.srow{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:10px}.srow span{font:26px var(--fl)}.srow span.num{font:13px var(--fn)}
.docs .dsec{margin-bottom:20px}
.docs p,.docs li{font:28px/1.1 var(--fl);max-width:900px}
.docs b{font-weight:400;color:var(--rig)}
.docs .num{font-size:15px}
.docs a.num{font-size:13px;overflow-wrap:anywhere}
.nfp{display:grid;justify-items:center;gap:20px;padding:8vh 16px}
.nfart img{width:min(864px,92vw);height:auto;aspect-ratio:144/96}
.nfbox{text-align:center;display:grid;gap:18px;justify-items:center}

/* ---------------------------------------------------------------- toasts + tooltips */
.tstack{position:fixed;right:16px;bottom:16px;z-index:80;display:grid;gap:8px;width:min(420px,calc(100vw - 32px))}
.toast{display:grid;grid-template-columns:1fr auto;gap:4px 10px;background:var(--panel);border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink);padding:10px 12px;border-left:12px solid var(--steel2)}
.toast.ok{border-left-color:var(--rig)}.toast.err{border-left-color:var(--lava)}
.toast .tt{font:26px/1.05 var(--fl)}.toast a{grid-column:1;font:22px/1 var(--fl)}
.toast .tx{grid-row:1/3;grid-column:2;background:none;border:0;font-size:24px;color:var(--muted);min-width:40px;min-height:40px}
.tipt{position:fixed;z-index:90;max-width:280px;background:var(--steel);color:var(--ink);border:4px solid var(--ink);padding:4px 8px 6px;font:24px/1.05 var(--fl);pointer-events:none}

/* ---------------------------------------------------------------- phones */
@media (max-width:1100px){
  .hplate{top:auto;bottom:6%;right:4vw;width:280px}
  .demo{width:min(620px,100%)}
}
@media (max-width:760px){
  :root{--rul:44px;--s:2;--t:4}
  .rbin{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;padding:6px 10px}
  .brand .bn,.rnav{display:none}
  .rlinks{justify-self:end;gap:4px}
  .rlinks .plate{min-height:40px;padding:0 8px;font-size:22px;border-width:10px}
  .rlinks .plate.ca .num{font-size:11px}
  .rlinks .pp{font-size:20px}
  .rbuy{grid-column:1/3;margin:0;width:100%}
  .sel{min-width:0;grid-template-columns:auto 1fr;flex:1}.sel .sd{display:none}
  .selw{flex:1;min-width:0}
  .amt{width:96px}.amt input{width:44px}
  .selpop{width:min(320px,calc(100vw - 24px))}
  .rb i{display:none}
  .rmark{left:-4px;width:14px;height:15px}
  .rcoin b{display:none}
  .hero{min-height:max(620px,calc(100svh - var(--rbh)))}
  .hname{left:calc(var(--rul) + 14px);right:12px;top:24px;max-width:none}
  .wm{font-size:clamp(60px,19vw,84px)}
  .hl{font-size:32px;margin:12px 0 14px}
  .hbtns .btn.big{min-height:52px;font-size:24px;padding:6px 16px 10px}
  .hplate{left:calc(var(--rul) + 12px);right:12px;width:auto;bottom:14px;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px}
  .hn .lab{font-size:20px}.hn b{font-size:17px}.hn b i{display:none}
  .band{padding:56px 0}
  .bin{padding:0 12px}
  .st{font-size:44px}.ss{font-size:26px}
  .shead{padding:10px 12px 12px}
  .tubes{gap:14px 10px}.tube{min-width:72px}
  .chead{gap:14px}.cn{font-size:40px}
  .cgrid{grid-template-columns:1fr 1fr}
  .cdepth b{font-size:38px}
  .demo{grid-template-columns:80px 1fr;gap:12px}.dcol{height:260px}.dlines li{font-size:24px}
  .still .dhwm{transform:translateY(220px)}.still .dbit{transform:translateY(176px)}
  .goldrow{flex-direction:column}
  .cartbox{flex-direction:column;align-items:flex-start}
  .slots4{grid-template-columns:1fr 1fr}
  .diarow{flex-direction:column;align-items:flex-start}
  .fall{width:240px;height:220px}
  .tipcart{right:12px;top:-20px}.tcart{width:93px;height:90px}
  .ending{padding:8vh 12px 0 calc(var(--rul) + 12px)}
  .efoot,.fin{margin:0 -12px 0 calc(-1 * (var(--rul) + 12px));padding:12px 12px 16px calc(var(--rul) + 12px)}
  .ipage:has(.lform){grid-template-columns:1fr}.ipage:has(.lform) .ihead{grid-column:1}
  .lgrid{grid-template-columns:1fr}.fld.wide,.fld.pic{grid-column:1}
  .lcounts{grid-template-columns:repeat(2,1fr)}
  .killer{font-size:34px}
  .docs p,.docs li{font-size:24px}
}
@media (max-width:360px){ .rlinks .wb{display:none} }
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.plate.ca.ca-off [data-ca-short]{font:26px/1 var(--fl)!important;font-weight:400!important;color:#4A4F57}
@media (max-width:760px){
  .rlinks{grid-row:1;grid-column:2}
  .rbuy{grid-row:2}
  .plate.ca.ca-off [data-ca-short]{font-size:22px!important}
}
/* wallet picker (kit/wallet.js dialog) */
.dlg{border:4px solid var(--ink);background:var(--panel);color:var(--cream);padding:24px;box-shadow:0 6px 0 var(--ink);max-width:min(420px,calc(100vw - 24px));font-family:var(--fn)}
.dlg::backdrop{background:rgba(10,6,4,.6)}
.dlg h2{margin:0 0 14px;font:700 28px var(--fd)}
.dlg-x{position:absolute;right:8px;top:8px;width:40px;height:40px;border:4px solid var(--ink);background:var(--steel);color:var(--ink);font-size:22px}
.wp-list{display:grid;gap:8px}
.wp-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border:4px solid var(--ink);background:#140C08;color:var(--cream);text-align:left;font:26px/1 var(--fl)}
.wp-item:hover{border-color:var(--rig)}
.wp-dot{width:32px;height:32px;background:url(/assets/art/nugget.png) center/22px 24px no-repeat}
.wp-get{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:14px}
.wp-off{margin-top:14px;background:var(--steel);color:var(--ink);border:4px solid var(--ink);padding:6px 12px}
.wp-err{color:var(--lava)}
.wp-cur .mono,.dlg .mono{font-size:13px}
@media (max-width:1360px) and (min-width:761px){ .rnav{display:none} }
@media (max-width:1100px) and (min-width:761px){ .brand .bn{display:none} .sel{min-width:130px} }
@media (max-width:760px){ .rb{min-height:32px} .ruler{width:44px} .rtrack{inset:8px 4px 8px 2px} .rlinks .plate.ca .num{font-size:11px} }
@media (max-width:340px){ .rlinks .plate{padding:0 4px;border-width:8px} .cachip{padding:2px 6px} .cbtns .plate{font-size:22px;padding:0 8px} }

/* how it works: the rig film (own player) */
.film{background:var(--deep)}
.player{position:relative;max-width:1040px;margin:24px auto 0;background:var(--panel);border:8px solid var(--ink);box-shadow:0 0 0 4px var(--steel2),0 10px 0 4px var(--ink);padding:14px}
.vp-scr{position:relative;background:var(--ink);aspect-ratio:16/9}
.vp-scr video{display:block;width:100%;height:100%;object-fit:contain;background:var(--deep);cursor:pointer}
.vp-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.vp-big:hover{transform:translate(-50%,calc(-50% - 2px))}.vp-big:active{transform:translate(-50%,calc(-50% + 4px))}
.vp-tri{display:inline-block;width:0;height:0;border-left:14px solid currentColor;border-top:9px solid transparent;border-bottom:9px solid transparent}
.vp-pp.on .vp-tri{width:14px;height:16px;border:0;border-left:5px solid currentColor;border-right:5px solid currentColor}
.vp-bar{display:flex;align-items:center;gap:10px;margin-top:16px}
.vp-bar .btn{font-size:20px;min-height:44px;padding:4px 14px 8px}.vp-pp{width:56px;padding:4px 0!important}
.vp-tl{position:relative;flex:1;min-width:64px;height:30px;background:#120b07;border:4px solid var(--ink);cursor:pointer;touch-action:none}
.vp-fill{position:absolute;left:0;top:0;bottom:0;max-width:100%;background:var(--rig)}
.vp-k{position:absolute;top:-10px;width:14px;height:46px;margin-left:-7px;background:var(--cream);border:4px solid var(--ink)}
.vp-t{min-width:120px;text-align:center;background:#120b07;border:4px solid var(--ink);padding:8px;font:600 14px/1.2 var(--fn)}
.vp-vol{display:flex;align-items:stretch;cursor:pointer}
.vp-vol button{position:relative;width:16px;height:44px;padding:0;background:transparent;border:0;cursor:pointer}
.vp-vol button::before{content:"";position:absolute;left:2px;right:2px;bottom:4px;background:#3a2a1c;border:3px solid var(--ink)}
.vp-vol button:nth-child(1)::before{height:14px}.vp-vol button:nth-child(2)::before{height:20px}.vp-vol button:nth-child(3)::before{height:26px}.vp-vol button:nth-child(4)::before{height:32px}
.vp-vol button.on::before{background:var(--rig)}
.player:fullscreen{display:flex;flex-direction:column;justify-content:center;padding:18px;max-width:none;margin:0}
.player:fullscreen .vp-scr{max-height:calc(100vh - 100px);margin:0 auto;width:min(100%,calc((100vh - 100px)*16/9))}
@media (max-width:640px){.vp-vol,.vp-m,.vp-fs{display:none}.vp-t{min-width:0;font-size:12px}.player{padding:8px}.vp-bar{gap:6px}}
@media (max-width:380px){
  .sel{grid-template-columns:minmax(0,1fr);gap:0;padding:0 8px;overflow:hidden}
  .sel .sg{display:none}
  .sel .st{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .amt{width:84px;padding:0 6px;gap:4px;flex:none}.amt input{width:40px}
}
