/* crawlipede v4 · calm tech. Loaded last; overrides burrow.css/style.css.
   near-black, hairlines, mono + sans, one accent per side (spider violet / crawlipede green), solana gradient used sparingly,
   slow ease-in-out motion, soft fades (no slams). */
:root{
  --bg:#07080b;--bg2:#0b0d12;--panel:#0b0d12;--line:rgba(140,155,180,.12);--line2:rgba(140,155,180,.2);
  --tx:#c9d1dc;--ink0:#e6edf3;--dim:#7d8796;--dim2:#4f5866;
  --web:#b49bff;--bur:#4df5a0;--acid:#4df5a0;--amber:#d9b46a;--r:#ff6b6b;
  --sol:linear-gradient(90deg,#9945ff,#14f195);
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Inter",ui-sans-serif,system-ui,sans-serif;--disp:"Inter",ui-sans-serif,system-ui,sans-serif;
  --ease:cubic-bezier(.65,0,.35,1)
}
html,body{background:var(--bg)}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);padding-bottom:30px}
a{color:var(--bur)}
::selection{background:rgba(77,245,160,.3);color:#fff}
/* top bar */
.bar{background:rgba(7,8,11,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:8px 20px;gap:8px}
.bar::after{display:none}
.brand b{font:600 15px/1 var(--mono);letter-spacing:-.01em;color:var(--ink0)}
.brand img{filter:none}
.chip{font:400 11.5px var(--mono);border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:4px;padding:3px 8px}
.chip em{color:var(--tx);font-style:normal}
.ticker{background:transparent;color:var(--ink0);border-color:var(--line2)}
.sol-chip svg{opacity:.9}
.live{font:400 11.5px var(--mono);color:var(--dim)}
/* hero */
.surface{position:relative;padding:0 0 46px;background:var(--bg);overflow:hidden;min-height:0;height:auto}
.grid-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(140,155,180,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(140,155,180,.06) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask:radial-gradient(ellipse 80% 90% at 40% 30%,#000 30%,transparent 80%);mask:radial-gradient(ellipse 80% 90% at 40% 30%,#000 30%,transparent 80%);animation:gridIn 1.6s var(--ease) both}
@keyframes gridIn{from{opacity:0}to{opacity:1}}
.surface-in{grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(28px,5vw,80px);padding:clamp(40px,7vh,84px) 32px 0;align-items:start}
.surface .prompt{margin:0 0 22px;font:400 13px var(--mono);color:var(--tx)}
.surface .prompt b{color:var(--bur);font-weight:500}
.surface .prompt .cur{color:var(--bur);animation:blink 1.4s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.surface .wordmark{margin:0;font:200 clamp(56px,8.4vw,128px)/.95 var(--mono);letter-spacing:-.04em;color:var(--ink0);text-shadow:0 0 40px rgba(77,245,160,.08);font-variation-settings:normal}
.surface .wordmark span{color:var(--bur);text-shadow:0 0 24px rgba(77,245,160,.35)}
.surface .tagline{margin:26px 0 0;max-width:34em;font:400 15px/1.65 var(--sans);color:var(--dim);text-shadow:none}
.surface .tagline b{display:block;margin-bottom:8px;font:500 clamp(18px,1.7vw,22px)/1.3 var(--mono);color:var(--ink0);letter-spacing:-.01em}
.hero-sol{display:flex;align-items:center;gap:8px;margin:16px 0 0;font:400 12px var(--mono);color:var(--dim)}
.hero-sol span{color:var(--tx);font-variant-numeric:tabular-nums}
.ca-row{display:flex;flex-wrap:wrap;align-items:stretch;margin-top:22px;border:1px solid var(--line2);border-radius:4px;font:400 12.5px var(--mono);max-width:560px}
.ca-row>span{padding:9px 12px}
.ca-row .k{color:var(--dim);border-right:1px solid var(--line)}
.ca-row .v{color:var(--ink0);flex:1}
.ca-row .n{color:var(--dim);border-left:1px solid var(--line);font-size:11px}
.surface .cta-row{margin-top:20px;gap:10px}
.btn{font:500 13px var(--mono);border-radius:4px;border:1px solid var(--line2);background:transparent;color:var(--tx);box-shadow:none;transition:background .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease)}
.btn:hover{border-color:var(--dim);background:rgba(140,155,180,.06)}
.btn.primary{background:var(--ink0);color:#07080b;border-color:var(--ink0);box-shadow:none}
.btn.primary:hover{background:#fff}
.btn.dig{background:transparent;border-color:var(--line2);color:var(--tx)}
.how-link{font:400 12px var(--mono);color:var(--dim)}
.start-here .sh-label{font-family:var(--mono)!important;color:var(--dim)!important}
.start-here path{stroke:var(--dim)!important}
/* battle hero: a quiet data panel */
.battle-hero{background:rgba(11,13,18,.82);border:1px solid var(--line2);border-radius:6px;padding:0;box-shadow:0 30px 80px -50px #000;backdrop-filter:blur(6px)}
.battle-hero::before{display:none}
.bh-top{padding:10px 14px;border-bottom:1px solid var(--line);font:400 11.5px var(--mono);color:var(--dim)}
#bhCount{color:var(--ink0)}
.side-cards{grid-template-columns:1fr 1fr;gap:0}
.vs{display:none}
.side-card{border:0;border-radius:0;background:transparent!important;padding:16px 14px 14px;gap:6px;transition:background .8s var(--ease)}
.side-card+.vs+.side-card{border-left:1px solid var(--line)}
.side-card.s-spider{--tc:var(--web)}.side-card.s-crawl{--tc:var(--bur)}
.side-card.lead{box-shadow:inset 0 2px 0 var(--tc);background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 7%,transparent),transparent 70%)!important}
.side-card.lead::after{content:"leading";position:static;transform:none;background:none;color:var(--tc);font:400 10px var(--mono);letter-spacing:.1em;padding:0;order:-1}
.sc-av{height:112px;filter:none}
.sc-av svg,.sc-av canvas{animation:none}
.side-card h3{font:500 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tc)}
.sc-style{font:400 11px/1.45 var(--mono);color:var(--dim)}
.sc-score b{font:300 34px/1 var(--mono);color:var(--ink0);letter-spacing:-.02em}
.sc-score small{font:400 10.5px var(--mono);color:var(--dim)}
.sc-meta{font:400 10.5px var(--mono);color:var(--dim2)}
.sc-pick{border-radius:4px;font:500 12px var(--mono);border:1px solid color-mix(in srgb,var(--tc) 55%,transparent);color:var(--tc);transition:background .5s var(--ease),color .5s var(--ease)}
.sc-pick:hover{background:color-mix(in srgb,var(--tc) 10%,transparent)}
.sc-pick.on{background:var(--tc);color:#07080b}
.sc-pick:active{transform:none}
.tug{height:4px;margin:0 14px;border:0;background:rgba(140,155,180,.12);border-radius:2px}
.tug .tug-s{background:var(--web);border-radius:2px 0 0 2px}
.tug .tug-c{background:var(--bur);border-radius:0 2px 2px 0}
.tug i,.tug-knot{transition-duration:1.6s;transition-timing-function:var(--ease)}
.tug-knot{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:var(--ink0);border:0;box-shadow:0 0 0 3px #07080b,0 0 12px rgba(230,237,243,.5)}
.tug.big{height:6px;margin:18px 0 14px}
.tug.big .tug-knot{width:12px;height:12px;margin:-6px 0 0 -6px}
.tug.nudge .tug-knot{animation:nudge 1.4s var(--ease)}
@keyframes nudge{30%{box-shadow:0 0 0 3px #07080b,0 0 22px 4px rgba(230,237,243,.55)}}
.tug-lbl{margin:10px 14px 0;font:400 11.5px var(--mono);color:var(--tx)}
.bh-mine{margin:6px 14px 14px;font:400 12px/1.5 var(--sans);color:var(--dim)}
.portrait{display:block}
/* winner banner + status bar */
.win-banner{background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 12px var(--mono);color:var(--dim);padding:8px 16px}
.win-banner b{font:500 12px var(--mono);letter-spacing:.06em}
.win-banner.w-spider,.win-banner.w-crawlipede{background:transparent}
.win-banner .wb-k{color:var(--dim)}
.statusbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:16px;align-items:center;padding:5px 16px;background:rgba(7,8,11,.94);border-top:1px solid var(--line);font:400 11px var(--mono);color:var(--dim);font-variant-numeric:tabular-nums}
.statusbar b{font-weight:400;color:var(--tx)}
.statusbar a{color:var(--tx)}
.statusbar .grow{flex:1}
.sb-live{display:inline-flex;align-items:center;gap:6px;color:var(--bur)}
.sb-live i{width:6px;height:6px;border-radius:50%;background:var(--bur);box-shadow:0 0 8px var(--bur);animation:breathe 3s var(--ease) infinite}
@keyframes breathe{50%{opacity:.35}}
/* tabs: numbered, terminal-like */
.tabs{background:rgba(7,8,11,.92);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.tabs-in{gap:0;padding:0 16px}
.tabs a{border-radius:0;padding:11px 16px;font:400 12.5px var(--mono);color:var(--dim);border:0;border-right:1px solid var(--line)}
.tabs a i{opacity:.55}
.tabs a:hover{background:rgba(140,155,180,.05);color:var(--tx)}
.tabs a.on,.tabs a[data-tab="battle"].on{background:rgba(77,245,160,.08);color:var(--ink0);box-shadow:inset 0 -1px 0 var(--bur)}
.tabs a.tab-ext{border-right:0}
.tabpanel.dig-in{animation:fadeUp .7s var(--ease) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* panels */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:none}
.ph{padding:10px 16px;border-bottom:1px solid var(--line)}
.pt{font:500 13px var(--mono);letter-spacing:0;color:var(--ink0)}
.tn{color:var(--dim)}
.tag{border:1px solid var(--line2);color:var(--dim);border-radius:3px;font:400 10.5px var(--mono)}
.state{font:400 11px var(--mono)}
.sec-h{font:300 clamp(28px,3.4vw,44px)/1.1 var(--sans);letter-spacing:-.03em;color:var(--ink0)}
.sec-h em{background:none;color:var(--bur);-webkit-text-fill-color:currentColor}
h1,h2,h3{font-family:var(--sans)}
.rd-h{font:500 12.5px var(--mono);color:var(--ink0)}
.tbl th{font:400 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.tbl td{border-color:var(--line)}
.bts b{font:200 clamp(40px,5.4vw,72px)/.95 var(--mono)}
.bts.s-spider{color:var(--web)}.bts.s-crawl{color:var(--bur)}
.bt-cd b{font:400 22px var(--mono);color:var(--ink0)}
.bt-me{border-radius:6px;border-color:var(--line);background:transparent}
.bt-me b{font:400 22px var(--mono)}
.bdg{border-radius:3px;font:400 11px var(--mono)}
.hchip{border-radius:4px;background:transparent}
.fair{border:1px solid var(--line);border-radius:6px;background:transparent}
.fair-t th:nth-child(2),.fair-t td:nth-child(2){color:var(--web)}.fair-t th:nth-child(3),.fair-t td:nth-child(3){color:var(--bur)}
.stamp.called{font:500 10.5px var(--mono);color:var(--amber);border:1px solid currentColor;border-radius:3px;padding:2px 6px;transform:none;filter:none;animation:fade .8s var(--ease) both}
.kb{border-radius:3px}
.kb.k-spider{color:var(--web)}.kb.k-crawlipede{color:var(--bur)}
.sp-opt{border-radius:6px;background:transparent}
.sp-opt b{font:500 13px var(--mono);letter-spacing:.1em}
.sp-opt[data-pick="spider"]{--tc:var(--web)}.sp-opt[data-pick="crawlipede"]{--tc:var(--bur)}
/* signals: dark specimen cards, soft fades */
.signals{background:var(--panel)}
.signals .sig-intro p{color:var(--dim)}
.spec-tabs{border-radius:4px;background:transparent}
.spec-tabs button{border-radius:3px;font:400 12px var(--mono)}
.spec-tabs button[aria-selected="true"]{background:rgba(140,155,180,.12);color:var(--ink0)}
.pin-n{background:var(--line2);color:var(--ink0)}
.spec-grid{gap:16px}
.spec{color:var(--tx);background:#0a0c10;border:1px solid var(--line);border-radius:6px;box-shadow:none;transform:none!important;padding:16px 16px 12px;transition:border-color .8s var(--ease),background .8s var(--ease);animation:none!important;overflow:hidden}
.spec:hover{border-color:var(--line2)}
.spec::before{display:none}
.tack{display:none}
.spec header img,.spec .sig-ph{width:34px;height:34px;border:1px solid var(--line2);background:#11141b;color:var(--tx)}
.spec .sig-ph{font:500 12px var(--mono)}
.spec .sig-nm b{font:500 17px/1.1 var(--mono);color:var(--ink0)}
.spec .sig-nm small{color:var(--dim)}
.spec .sig-mint{background:transparent;border:1px solid var(--line);color:var(--dim)}
.spec-label{border-color:var(--line);border-style:solid;color:var(--dim);font:400 10px var(--mono)}
.crew-row{background:transparent;border:1px solid var(--line);border-radius:4px}
.crew-row .cr{background:#0e1117;width:26px;height:26px}
.crew-row .cr i{background:var(--bur);color:#07080b}
.spec:not(.in) .crew-row .cr i{transform:none}
.spec.in:not(.quiet) .crew-row .cr i{animation:fade .8s var(--ease) both;animation-delay:calc(var(--i) * .15s)}
.stamps{gap:6px;min-height:28px}
.stamp{font:500 11px/1 var(--mono)!important;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border:1px solid currentColor;border-radius:3px;transform:none!important;mix-blend-mode:normal;box-shadow:none;-webkit-mask:none!important;mask:none!important}
.spec .stamp.t-good,.stamps.mini .t-good{color:var(--bur)}.spec .stamp.t-bad,.stamps.mini .t-bad{color:var(--r)}.spec .stamp.t-mid,.stamps.mini .t-mid{color:var(--amber)}.spec .stamp.t-unk,.stamps.mini .t-unk{color:var(--dim)}
.spec.in:not(.quiet) .stamp,.stamps.mini .stamp{animation:fade 1s var(--ease) both!important;animation-delay:calc(.3s + var(--i) * .25s)!important}
@keyframes fade{from{opacity:0}to{opacity:1}}
.spec .prob{color:var(--dim)}
.spec .prob .pbar{height:4px;background:rgba(140,155,180,.14)}
.spec .prob .pbar i{background:var(--tx)}
.spec .prob b{color:var(--ink0);font-weight:500}
.spec .side.s-up,.spec .r-win{color:var(--bur)}.spec .side.s-down,.spec .r-loss{color:var(--r)}.spec .r-pend{color:var(--amber)}
.spec .sig-call{color:var(--tx)}
.spec .sig-call .k{color:var(--dim)}
.spec .sig-sum{color:var(--dim);font-style:normal}
.ev-top li,.spec .ev li{color:var(--tx)}
.ctag{background:#0e1117;color:var(--tx);border-radius:3px}
.spec details{border-color:var(--line);border-style:solid}
.spec summary{color:var(--dim)}
.spec .facts,.spec .facts dd{color:var(--tx)}
.spec .facts a,.spec a:not(.sig-mint){color:var(--bur)}
.pin{color:var(--dim);border:1px solid var(--line);border-radius:4px}
.pin:hover{background:rgba(140,155,180,.06)}
.pin.on{background:rgba(77,245,160,.1);color:var(--bur);border-color:rgba(77,245,160,.4)}
.spec.fossil{background:#0a0c10;filter:saturate(.5) opacity(.8)}
/* the crew reading a card: fields fade in one crawler at a time, a soft scan line, verdict fades in last */
.spec.reading .stamps,.spec.reading .prob,.spec.reading .sig-sum,.spec.reading .ev-top,.spec.reading .sig-call{opacity:0;transition:opacity 1s var(--ease)}
.spec.reading .crew-row .cr{opacity:.2;transition:opacity .9s var(--ease)}
.spec.reading.step-1 .crew-row .cr:nth-child(1),.spec.reading.step-2 .crew-row .cr:nth-child(2),.spec.reading.step-3 .crew-row .cr:nth-child(3),.spec.reading.step-4 .crew-row .cr:nth-child(4){opacity:1}
.spec.reading.step-1 .sig-call,.spec.reading.step-3 .prob{opacity:.55}
.spec.scan::after{content:"";position:absolute;left:0;right:0;top:0;height:44%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(77,245,160,.07) 70%,rgba(77,245,160,.22) 99%,transparent);animation:scan 2.6s var(--ease) infinite}
@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(240%)}}
.spec.judged{border-color:rgba(77,245,160,.3)}
.spec.judged .stamps .stamp{animation:fade 1.2s var(--ease) both!important;animation-delay:calc(var(--i) * .35s)!important}
.spec.judged .prob,.spec.judged .sig-sum,.spec.judged .ev-top,.spec.judged .sig-call{animation:fade 1.2s var(--ease) both .6s}
/* crew panels */
.bp{border-radius:6px;background:#0a0c10;border:1px solid var(--line);box-shadow:none}
.bp .av{background:#0e1117;box-shadow:inset 0 0 0 1px var(--line)}
.bp-id b{font:500 14px var(--mono);color:var(--c)}
.bp .rar{border-radius:3px;font:400 9.5px var(--mono)}
.bp .term{background:#06070a;border-color:var(--line);border-radius:4px}
.bp[data-state="reading"] .led{animation:breathe 1.6s var(--ease) infinite}
.brain-strip{border-radius:6px;background:#0a0c10;border:1px solid var(--line)}
.brain-strip .bs-k{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#07080b;background:var(--sol);border-radius:3px}
.brain-strip.wait .bs-v{animation:breathe 2.4s var(--ease) infinite}
.brain-strip.done{border-color:rgba(77,245,160,.25);box-shadow:none}
/* misc sections */
.newhere{border-color:var(--line);background:transparent}
.steps li{background:transparent}
.arena{background:radial-gradient(260px 180px at 50% 50%,rgba(77,245,160,.06),transparent 70%),#08090d}
.arena::after{box-shadow:inset 0 0 0 1px var(--line)}
.bedrock{margin-top:60px;padding:50px 22px 50px;background:transparent;border-top:1px solid var(--line)}
.bedrock::before{display:none}
.br-mark{font:200 clamp(44px,8vw,110px)/.9 var(--mono);color:transparent;-webkit-text-stroke:1px rgba(140,155,180,.25)}
.br-d{color:var(--dim);font:400 11px var(--mono)}
.br-nav a{border-radius:3px;font:400 12px var(--mono)}
.agents-cv{position:fixed;inset:0;z-index:45;pointer-events:none}
.hide-sm{}
@media (max-width:980px){.surface-in{grid-template-columns:1fr}.battle-hero{max-width:640px}}
@media (max-width:640px){
  .surface-in{padding:28px 16px 0}
  .surface .wordmark{font-size:clamp(46px,14.5vw,72px)}
  .surface .tagline{font-size:14px;margin-top:18px}
  .ca-row .n{display:none}
  .side-card{padding:12px 8px}
  .sc-av{height:84px}
  .sc-av canvas{width:84px!important;height:84px!important}
  .sc-score b{font-size:26px}
  .tabs a{padding:10px 12px;font-size:12px}
  .statusbar .hide-sm{display:none}
  .statusbar{gap:12px}
}
@media (prefers-reduced-motion:reduce){.grid-bg,.spec.scan::after,.sb-live i,.surface .prompt .cur{animation:none}.tug i,.tug-knot{transition:none}}
