/* $SEED — CRACK IT YOURSELF (fx/crack.css). The page is the cracking tool.
   Stamped steel control plate on the left, the live rig (odometer, gauge, cores, candidate log) on the right.
   Same language as the rest of the site: 3px ink borders, hard offset shadows, safety orange + hazard yellow.
   Every selector below is namespaced (.rig-*, .rv, .ws, .od, .core, .ln, .rf-*) so nothing leaks into the core. */

.rig{padding:10px 0 50px;min-width:0}
.rig-head p{max-width:46em}

/* ---- the box: one steel cabinet, the found panel takes it over ---- */
.rig-box{position:relative;border:3px solid var(--ink);background:var(--plate);box-shadow:6px 6px 0 var(--ink);min-width:0;overflow:hidden;
  transition:box-shadow .3s,border-color .3s}
.rig[data-phase="RUNNING"] .rig-box{border-color:var(--orange-d);box-shadow:6px 6px 0 var(--orange)}
.rig[data-phase="ARMING"] .rig-box{box-shadow:6px 6px 0 var(--yellow)}
.rig[data-phase="CRACKED"] .rig-box{border-color:var(--won);box-shadow:6px 6px 0 var(--won)}
.rig-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-width:0}
.rig-box.found .rig-body{display:none}

/* ---- control plate ---- */
.rig-plate{padding:14px;border-right:3px solid var(--ink);display:flex;flex-direction:column;gap:12px;min-width:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 1px,transparent 1px 3px),var(--plate)}
.rig-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.rig-name b{font-family:var(--stencil);font-weight:900;font-size:26px;line-height:1;letter-spacing:.02em}
.rig-name span{font-size:12px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.rig-name em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;padding:3px 8px;
  border:2px solid var(--ink);background:#fff;color:var(--ink-2);position:relative;padding-left:20px;white-space:nowrap}
.rig-name em::before{content:"";position:absolute;left:7px;top:50%;width:7px;height:7px;margin-top:-4px;border:1px solid var(--ink);background:#8e938f}
.rig-name em[data-phase="ARMING"]{background:var(--yellow);color:var(--ink)}
.rig-name em[data-phase="ARMING"]::before{background:var(--orange);animation:rigBlink .35s steps(2) infinite}
.rig-name em[data-phase="RUNNING"]{background:var(--orange);color:#fff;border-color:var(--orange-d)}
.rig-name em[data-phase="RUNNING"]::before{background:var(--yellow);animation:rigBlink .8s steps(2) infinite}
.rig-name em[data-phase="CRACKED"]{background:var(--won);color:#fff;border-color:var(--won)}
.rig-name em[data-phase="CRACKED"]::before{background:#fff}
.rig-name em[data-phase="EXHAUSTED"],.rig-name em[data-phase="FAULT"],.rig-name em[data-phase="TOO LATE"]{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.rig-name em[data-phase="FAULT"]::before,.rig-name em[data-phase="TOO LATE"]::before{background:var(--orange)}
@keyframes rigBlink{50%{opacity:.2}}

/* vault picker: five stamped tabs */
.rig-vaults{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.rv{position:relative;display:flex;flex-direction:column;gap:5px;padding:8px 8px 8px 9px;min-width:0;cursor:pointer;text-align:left;
  border:2px solid var(--ink);background:#fff;box-shadow:3px 3px 0 var(--ink);transition:transform .1s,box-shadow .1s,background .2s}
.rv:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.rv-cap{font-family:var(--stencil);font-weight:900;font-size:22px;line-height:1;white-space:nowrap}
.rv-bits{display:flex;gap:2px}
.rv-bits i{flex:1;height:7px;border:1px solid var(--ink);background:#fff;min-width:0}
.rv-bits i.on{background:var(--ink)}
.rv-sub{font-size:10px;font-weight:700;color:var(--ink-2);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-led{position:absolute;right:6px;top:6px;width:8px;height:8px;border:1px solid var(--ink);background:#8e938f;border-radius:50%}
.rv-locked{background:repeating-linear-gradient(-45deg,#fff 0 5px,#e5e7e3 5px 10px);color:var(--ink-2);cursor:not-allowed;box-shadow:none;transform:translate(2px,2px)}
.rv-locked .rv-bits i{border-color:var(--mute)}
.rv-dropping{border-color:var(--orange-d);box-shadow:3px 3px 0 var(--orange)}
.rv-dropping .rv-led{background:var(--orange);animation:rigBlink .9s steps(2) infinite}
.rv-open{background:var(--yellow)}
.rv-open .rv-led{background:var(--orange)}
.rv-cracked{background:repeating-linear-gradient(-45deg,var(--plate) 0 6px,#dcdfdb 6px 12px);color:var(--ink-2);cursor:not-allowed;box-shadow:none;transform:translate(2px,2px)}
.rv-cracked .rv-led{background:var(--won);border-color:var(--won)}
.rv-cracked .rv-sub{color:var(--won)}
.rv.sel{background:var(--ink);color:#fff;box-shadow:3px 3px 0 var(--orange);border-color:var(--ink)}
.rv.sel .rv-sub{color:var(--yellow)}
.rv.sel .rv-bits i{border-color:#fff;background:#3a3c3b}
.rv.sel .rv-bits i.on{background:var(--yellow)}
.rv.sel .rv-led{background:var(--orange);border-color:#fff}
.rv-jack .rv-cap{color:var(--orange-d)}
.rv-jack.sel .rv-cap{color:var(--yellow)}

/* the target: address + 12 word slots (known words stamped, missing ones spin while the rig runs) */
.rig-target{border:2px solid var(--ink);background:#fff;padding:10px;min-width:0}
.rig-target-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.rig-target-head span{font-family:var(--stencil);font-weight:900;font-size:24px;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.rig-target-head code{font-size:11px;color:var(--ink-2);background:var(--plate);padding:2px 6px;border:1px solid var(--steel-2)}
.rig-words{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.ws{display:flex;gap:4px;align-items:center;height:30px;padding:0 6px;border:2px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:600;min-width:0;overflow:hidden;
  background:#c9cdc9;box-shadow:inset 2px 2px 0 rgba(0,0,0,.18)}
.ws small{color:var(--mute);font-size:9px;min-width:13px;flex:none}
.ws b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ws.on{background:#fff;box-shadow:2px 2px 0 var(--ink)}
.ws.miss b{color:var(--mute);letter-spacing:.05em}
.ws.miss.dead{background:repeating-linear-gradient(-45deg,#d6d9d5 0 4px,#c9cdc9 4px 8px)}
.rig-words.run .ws.miss{background:var(--ink);box-shadow:none;border-color:var(--ink)}
.rig-words.run .ws.miss small{color:var(--orange)}
.rig-words.run .ws.miss b{color:var(--yellow);letter-spacing:0}

/* the four numbers */
.rig-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.rig-stats div{border:2px solid var(--ink);background:#fff;padding:7px 9px;min-width:0}
.rig-stats small{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);white-space:nowrap}
.rig-stats b{display:block;font-family:var(--stencil);font-weight:900;font-size:24px;line-height:1.05;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.rig-warn{margin:0;font-size:13px;line-height:1.4;color:var(--ink-2);padding:8px 10px;border:2px dashed var(--ink);background:#fff}
.rig-warn.hard{border-style:solid;border-color:var(--orange-d);color:var(--ink);
  background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(-45deg,var(--ink) 0 8px,var(--yellow) 8px 16px) border-box;border-width:4px}

/* controls: worker stepper + the big START */
.rig-controls{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin-top:auto}
.rig-step{display:grid;grid-template-columns:auto auto auto;grid-template-areas:"lbl lbl lbl" "minus n plus";gap:2px 4px;align-items:center;justify-items:center;
  border:2px solid var(--ink);background:#fff;padding:6px 8px;flex:none}
.rig-step small{grid-area:lbl;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.rig-step button{width:34px;height:34px;border:2px solid var(--ink);background:var(--plate);font-weight:900;font-size:20px;line-height:1;cursor:pointer;padding:0;box-shadow:2px 2px 0 var(--ink)}
.rig-step button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.rig-step button:first-of-type{grid-area:minus}
.rig-step button:last-of-type{grid-area:plus}
.rig-step b{grid-area:n;font-family:var(--stencil);font-weight:900;font-size:30px;line-height:1;min-width:34px;text-align:center}
.rig-start{flex:1 1 180px;min-width:0;position:relative;border:3px solid var(--ink);background:var(--orange);color:#fff;cursor:pointer;padding:0;overflow:hidden;
  box-shadow:5px 5px 0 var(--ink);transition:transform .1s,box-shadow .1s,background .25s;text-align:left}
.rig-start:active:not(:disabled){transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.rig-start-face{display:flex;flex-direction:column;gap:2px;padding:10px 14px 11px;position:relative;z-index:1}
.rig-start b{font-family:var(--stencil);font-weight:900;font-size:30px;line-height:.95;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rig-start small{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rig-start::after{ /* hazard stripe on the right edge, moves when arming */
  content:"";position:absolute;right:0;top:0;bottom:0;width:18px;background:repeating-linear-gradient(-45deg,var(--ink) 0 8px,var(--yellow) 8px 16px);
  background-size:23px 23px;opacity:.9}
.rig-start:disabled{background:var(--steel-2);color:var(--ink-2);cursor:not-allowed;box-shadow:none;transform:translate(3px,3px)}
.rig-start:disabled::after{opacity:.35}
.rig-start.arming{background:var(--yellow);color:var(--ink)}
.rig-start.arming::after{animation:rigStripe .5s linear infinite}
.rig-start.stop{background:var(--ink);color:#fff}
.rig-start.stop b{color:var(--yellow)}
.rig-start.stop::after{animation:rigStripe 1.1s linear infinite}
@keyframes rigStripe{to{background-position:0 23px}}

/* ---- the live side ---- */
.rig-live{display:flex;flex-direction:column;gap:12px;padding:14px;min-width:0;background:#d8dbd7;position:relative}
.rig-live::before{ /* riveted top rail */
  content:"";position:absolute;left:0;right:0;top:0;height:6px;pointer-events:none;
  background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 14px);opacity:.3}
.rig-banner{font-weight:800;font-size:13px;line-height:1.35;padding:9px 12px;border:2px solid var(--ink);background:#fff;color:var(--ink);
  box-shadow:3px 3px 0 var(--ink);position:relative;overflow:hidden}
.rig-banner.good{background:var(--yellow)}
.rig-banner.bad{background:var(--orange);color:#fff;border-color:var(--orange-d)}
.rig-banner.in{animation:rigBannerIn .45s cubic-bezier(.2,1.3,.4,1)}
@keyframes rigBannerIn{from{transform:translateY(-10px) scale(.97);opacity:0}}

/* odometer + gauge */
.rig-meter{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:stretch}
.rig-odo{border:2px solid var(--ink);background:var(--plate);padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.rig-odo small,.rig-gauge .g-lo,.rig-gauge .g-hi{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.od{display:inline-flex;gap:2px;padding:4px;background:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink),inset 0 0 0 1px #3a3c3b;
  font-family:var(--mono);font-weight:600;font-size:clamp(22px,6.2vw,34px);line-height:1;align-self:flex-start;max-width:100%}
.od-col{position:relative;display:block;width:.72em;height:1.1em;overflow:hidden;background:#1d1f1e;color:#5c5f5d;flex:none;
  box-shadow:inset 0 3px 3px rgba(0,0,0,.6),inset 0 -3px 3px rgba(0,0,0,.6)}
.od-col::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55)} /* the drum seam */
.od-strip{display:block;font-style:normal;transition:transform .28s cubic-bezier(.2,.9,.3,1.08);will-change:transform}
.od-col.fast .od-strip{transition-duration:.07s;transition-timing-function:linear}
.od-strip b{display:block;height:1.1em;line-height:1.1;text-align:center;font-weight:600}
.od.hot .od-col{color:var(--yellow)}
.rig-odo span{font-family:var(--mono);font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rig-gauge{position:relative;border:2px solid var(--ink);background:#fff;padding:8px 8px 4px;min-width:0}
.rig-gauge svg{display:block;width:100%;height:auto;overflow:visible}
.g-arc{fill:none;stroke:var(--steel-2);stroke-width:12;stroke-linecap:butt}
.g-hot{fill:none;stroke:var(--orange);stroke-width:12}
.g-ticks line{stroke:var(--ink);stroke-width:2}
.g-needle path{fill:var(--orange-d);stroke:var(--ink);stroke-width:1.5}
.g-needle circle{fill:var(--ink);stroke:var(--plate);stroke-width:2}
.g-lo,.g-hi{position:absolute;bottom:4px}
.g-lo{left:10px}
.g-hi{right:10px}

/* progress */
.rig-prog{display:flex;flex-direction:column;gap:5px}
.rig-prog-bar{height:16px;border:2px solid var(--ink);background:#fff;overflow:hidden}
.rig-prog-bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(-45deg,var(--orange) 0 8px,var(--orange-d) 8px 16px);background-size:23px 23px;transition:width .4s linear}
.rig[data-phase="RUNNING"] .rig-prog-bar i{animation:rigStripe .6s linear infinite}
.rig[data-phase="CRACKED"] .rig-prog-bar i{background:var(--won)}
.rig-prog-row{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.rig-prog-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rig-prog-row span:nth-child(2){font-weight:600;color:var(--ink)}
.rig-crowd{font-size:12px;color:var(--ink-2);line-height:1.35}
.rig-crowd b{color:var(--ink)}

/* the core grid: one tile per worker, LED + counter + share bar */
.rig-cores{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}
.core{position:relative;border:2px solid var(--ink);background:var(--plate);padding:7px 8px 8px 24px;min-width:0;display:flex;flex-direction:column;gap:3px;
  transition:background .3s,border-color .3s}
.core .led{position:absolute;left:8px;top:9px;width:9px;height:9px;border:1px solid var(--ink);background:#8e938f;border-radius:50%}
.core b{font-family:var(--stencil);font-weight:900;font-size:16px;line-height:1;letter-spacing:.03em;white-space:nowrap}
.core-n{font-family:var(--mono);font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.core-bar{display:block;height:5px;border:1px solid var(--ink);background:#fff;overflow:hidden}
.core-bar u{display:block;height:100%;width:0;background:var(--ink);text-decoration:none;transition:width .3s}
.core.idle{opacity:.55}
.core.boot{background:#fff;border-color:var(--ink)}
.core.boot .led{background:var(--yellow);animation:rigBlink .25s steps(2) infinite}
.core.boot .core-n{color:var(--orange-d);font-weight:600}
.core.online{background:#fff;border-color:var(--orange-d)}
.core.online .led{background:var(--orange);animation:corePulse 1.1s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.13s)}
.core.online .core-bar u{background:var(--orange)}
.core.done{background:repeating-linear-gradient(-45deg,var(--plate) 0 6px,#dcdfdb 6px 12px);color:var(--ink-2)}
.core.done .led{background:var(--ink)}
.core.fault{background:#fff;border-color:var(--orange-d)}
.core.fault .led{background:var(--orange-d);border-color:var(--orange-d)}
.core.fault .core-n{color:var(--orange-d);font-weight:700;text-transform:uppercase}
@keyframes corePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}

/* candidate log: 16 pooled rows, newest at the top, mono and fast */
.rig-log{border:2px solid var(--ink);background:var(--ink);color:#cfd3cf;font-family:var(--mono);font-size:11px;line-height:18px;height:calc(18px * 16 + 12px);
  padding:6px 8px;overflow:hidden;display:flex;flex-direction:column;position:relative;
  -webkit-mask:linear-gradient(#000 70%,transparent);mask:linear-gradient(#000 70%,transparent)}
.ln{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:8px;height:18px;white-space:nowrap;min-width:0}
.ln span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.ln-n{color:#8e938f;text-align:right;font-variant-numeric:tabular-nums}
.ln-g{color:#e9ebe7}
.ln-r{color:#8e938f}
.ln.ok .ln-g{color:var(--yellow)}
.ln.ok .ln-r{color:var(--orange)}
.ln.sys{grid-template-columns:0 minmax(0,1fr) auto;gap:0 8px}
.ln.sys .ln-g{color:var(--yellow);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.ln.sys .ln-g::before{content:"» ";color:var(--orange)}
.ln:first-child .ln-g{color:#fff}

/* ---- FOUND: the takeover ---- */
.rig-found{position:relative;background:var(--ink);color:#fff;min-width:0;overflow:hidden;
  border-top:6px solid var(--orange)}
.rig-found::before{ /* hazard band across the top */
  content:"";position:absolute;left:0;right:0;top:0;height:14px;background:repeating-linear-gradient(-45deg,var(--ink) 0 10px,var(--yellow) 10px 20px);pointer-events:none}
.rig-found.in .rf-in{animation:rfIn .6s cubic-bezier(.2,1.1,.3,1)}
@keyframes rfIn{from{transform:translateY(18px);opacity:0}}
.rf-sparks{position:absolute;left:0;right:0;top:0;width:100%;height:min(520px,100%);pointer-events:none;z-index:2}
.rf-in{position:relative;z-index:1;padding:34px clamp(14px,4vw,40px) 28px;display:flex;flex-direction:column;gap:18px;max-width:980px;margin:0 auto}
.rf-kick{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}
.rf-kick span:first-child{background:var(--orange);color:#fff;padding:3px 8px;font-weight:700}
.rf-kick time{color:#cfd3cf}
.rf-in h3{font-family:var(--stencil);font-weight:900;font-size:clamp(44px,9vw,110px);line-height:.86;margin:0;text-transform:uppercase;letter-spacing:.005em}
.rf-in h3 em{font-style:normal;color:var(--orange)}
.rf-lede{margin:0;font-size:17px;color:#e9ebe7;max-width:34em}
.rf-words{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rf-words li{display:flex;flex-direction:column;gap:2px;padding:8px 10px 9px;background:#fff;color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--orange);min-width:0;
  animation:rfStamp .55s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--i,0) * 70ms + 120ms)}
.rf-words li small{font-family:var(--mono);font-size:10px;color:var(--mute);font-weight:600}
.rf-words li b{font-family:var(--stencil);font-weight:900;font-size:clamp(22px,5.4vw,36px);line-height:1;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes rfStamp{0%{transform:scale(1.7) rotate(-5deg);opacity:0}60%{transform:scale(.94);opacity:1}100%{transform:scale(1)}}
.rf-act{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:stretch}
.rf-copy{border:3px solid var(--yellow);background:var(--yellow);color:var(--ink);cursor:pointer;padding:12px 18px;text-align:left;display:flex;flex-direction:column;gap:2px;
  box-shadow:5px 5px 0 var(--orange);transition:transform .1s,box-shadow .1s,background .2s;min-width:0}
.rf-copy:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--orange)}
.rf-copy b{font-family:var(--stencil);font-weight:900;font-size:30px;line-height:.95;text-transform:uppercase}
.rf-copy small{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-2)}
.rf-copy.did{background:var(--won);border-color:var(--won);color:#fff;box-shadow:5px 5px 0 var(--yellow)}
.rf-copy.did small{color:#cfe0ff}
.rf-addr{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;border:2px solid #3a3c3b;padding:10px 12px;background:#1d1f1e}
.rf-addr small{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--yellow)}
.rf-addr code{font-size:12px;color:#fff;overflow-wrap:anywhere;line-height:1.35}
.rf-addr a{font-size:12px;font-weight:700;color:var(--orange);text-decoration:underline;align-self:flex-start}
.rf-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;counter-reset:rf}
.rf-steps li{counter-increment:rf;position:relative;padding:12px 12px 12px 48px;border:2px solid #3a3c3b;background:#1d1f1e;min-width:0}
.rf-steps li::before{content:counter(rf,decimal-leading-zero);position:absolute;left:10px;top:8px;font-family:var(--stencil);font-weight:900;font-size:28px;line-height:1;color:var(--orange)}
.rf-steps b{display:block;font-size:14px;margin-bottom:3px;color:#fff}
.rf-steps span{display:block;font-size:13px;color:#cfd3cf;line-height:1.4}
.rf-steps code{font-size:12px;color:var(--yellow)}
.rf-back{align-self:flex-start;background:none;border:2px solid #cfd3cf;color:#cfd3cf;padding:8px 14px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.rf-back:hover{border-color:#fff;color:#fff}

/* ---- responsive ---- */
@media (min-width:1100px){
  .rig-words{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rf-words{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width:900px){
  .rig-body{grid-template-columns:1fr}
  .rig-plate{border-right:0;border-bottom:3px solid var(--ink)}
  .rf-words{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:600px){
  .rig-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rig-meter{grid-template-columns:1fr}
  .rig-gauge{max-width:220px}
  .rig-vaults{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rv-cap{font-size:19px}
  .rf-words{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rf-act{grid-template-columns:1fr}
  .ln{grid-template-columns:52px minmax(0,1fr) auto;gap:6px}
  .ln-r{max-width:92px}
  .rig-log{height:calc(18px * 12 + 12px)}
  .rig-start b{font-size:24px}
}
@media (max-width:400px){
  .rig-words{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rig-vaults{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-words{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rig-plate,.rig-live{padding:12px}
}
/* reduced motion: style.css already stops every animation; keep the drums readable without the roll */
@media (prefers-reduced-motion:reduce){
  .od-strip{transition:none}
  .rf-words li{animation:none;opacity:1}
}
