/* Crawler Terminal: sign-in, invite and home screens (Stage 2 mockups Main, Invite, Home; C-15, C-16, C-17, C-18, C-20).
   Standalone: the creator screen keeps creator.css. Same colors and fonts. */
:root{
  color-scheme: dark;
  --bg:#04060c; --ink:#e6f3ff; --ink2:#c9dcea; --muted:#a9bccd; --dim:#8fa6bd; --cyan:#3de1ff; --amber:#ffb547;
  --amber-ink:#1a1003; --gold-text:#ffd99c; --ok:#5dffa8; --bad:#ff5d6c; --pink:#ff78be;
  --f-head:'Chakra Petch', 'Segoe UI', sans-serif; --f-body:Barlow, 'Segoe UI', sans-serif; --f-mono:'JetBrains Mono', Consolas, monospace;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px}
button,input{font:inherit;color:inherit}
a{color:var(--cyan)}a:hover{color:#9cf0ff}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* background */
.bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.stars{position:absolute;inset:-50%;background-image:radial-gradient(1.2px 1.2px at 30px 40px,#cfe9ff 50%,transparent 51%),radial-gradient(1px 1px at 120px 160px,#8fb6d8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 210px 80px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 300px 260px,#6f93b5 50%,transparent 51%),radial-gradient(1px 1px at 380px 30px,#a9c9e6 50%,transparent 51%);background-size:420px 300px;opacity:.6;animation:drift 140s linear infinite}
@keyframes drift{to{transform:translate3d(-420px,-150px,0)}}
.planet{position:absolute;width:1200px;height:1200px;border-radius:50%;right:-420px;bottom:-860px;background:radial-gradient(circle at 42% 28%,#173a57 0%,#0b1a2b 42%,#04070d 70%);box-shadow:0 0 140px 30px rgba(61,225,255,.16),inset 0 34px 70px rgba(61,225,255,.32)}
.planet.left{right:auto;left:-460px;bottom:-880px;background:radial-gradient(circle at 58% 28%,#173a57 0%,#0b1a2b 42%,#04070d 70%)}
.planet::after{content:"";position:absolute;inset:-2px;border-radius:50%;border-top:2px solid rgba(140,240,255,.75);filter:blur(1px)}
.flare{position:absolute;right:16%;bottom:330px;width:520px;height:2px;background:linear-gradient(90deg,transparent,rgba(160,245,255,.9),transparent);filter:blur(.5px);opacity:.7}
.floorgrid{position:absolute;left:-50%;right:-50%;bottom:-6%;height:46%;background-image:linear-gradient(rgba(61,225,255,.20) 1px,transparent 1px),linear-gradient(90deg,rgba(61,225,255,.20) 1px,transparent 1px);background-size:90px 90px;transform:perspective(700px) rotateX(72deg);transform-origin:bottom;-webkit-mask-image:linear-gradient(to top,#000 5%,transparent 80%);mask-image:linear-gradient(to top,#000 5%,transparent 80%);animation:floormove 7s linear infinite}
@keyframes floormove{to{background-position:0 90px,0 0}}
.horizon{position:absolute;left:0;right:0;bottom:40%;height:220px;background:radial-gradient(ellipse at 50% 100%,rgba(61,225,255,.16),transparent 70%)}
.scan{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 45%,transparent 45%,rgba(0,0,0,.8) 100%)}

/* shared bits */
.page{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px clamp(16px,4vw,56px)}
.brand{display:flex;align-items:center;gap:12px;font:600 13px var(--f-mono);letter-spacing:.22em;color:#cfeeff}
.brand b{color:var(--cyan);font-weight:600}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(61,225,255,.28);background:rgba(61,225,255,.05);font:500 12px var(--f-mono);letter-spacing:.12em;color:#bfe6ff;text-transform:uppercase;width:max-content;max-width:100%}
.chip.gold{border-color:rgba(255,181,71,.55);background:rgba(255,181,71,.08);color:var(--gold-text)}
.chip.red{border-color:rgba(255,93,108,.7);background:rgba(255,93,108,.12);color:#ffd5da}
.chip.grey{border-color:rgba(201,214,227,.35);background:rgba(201,214,227,.05);color:#d3dde6}
.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pulse 1.8s ease-in-out infinite}
.dot.red{background:var(--bad);box-shadow:0 0 12px var(--bad)}
.dot.pink{background:var(--pink);box-shadow:0 0 10px var(--pink)}
@keyframes pulse{50%{opacity:.35}}
.kicker{font:600 13px var(--f-mono);letter-spacing:.24em}
.title{margin:0;font-family:var(--f-head);font-weight:700;letter-spacing:.05em;line-height:.9;color:#eef9ff;text-shadow:0 0 28px rgba(61,225,255,.45),0 0 2px #fff}
.title.flick{animation:flicker 7s steps(1) infinite}
@keyframes flicker{0%,96%,100%{opacity:1;transform:none}97%{opacity:.75;transform:translateX(2px) skewX(-4deg)}98%{opacity:1;transform:translateX(-1px)}}
.quote{position:relative;padding:18px 20px 18px 22px;background:linear-gradient(90deg,rgba(255,181,71,.10),rgba(255,181,71,0) 70%)}
.quote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--amber);box-shadow:0 0 14px var(--amber)}
.quote .who{display:flex;align-items:center;gap:10px;font:600 12px var(--f-mono);letter-spacing:.2em;color:#ffcf85;margin-bottom:8px}
.quote p{margin:0;font-size:21px;line-height:1.4;color:#f3f8fc}
.wave{display:inline-flex;gap:2px;align-items:center;height:14px}
.wave i{display:block;width:2px;height:3px;background:currentColor;animation:wave 1.1s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}.wave i:nth-child(4){animation-delay:.45s}.wave i:nth-child(5){animation-delay:.6s}
@keyframes wave{0%,100%{height:3px}50%{height:14px}}
.stat{display:flex;flex-direction:column;gap:4px}
.stat span:first-child{font:500 12px var(--f-mono);letter-spacing:.18em;color:var(--dim)}
.stat span:last-child{font:600 22px var(--f-head);letter-spacing:.06em}
.foot{padding:0 clamp(16px,4vw,56px) 40px;font:500 12px var(--f-mono);letter-spacing:.18em;color:var(--dim)}

/* the sign-in card */
.frame{position:relative;padding:1px;background:linear-gradient(135deg,rgba(61,225,255,.95),rgba(61,225,255,.18) 45%,rgba(255,181,71,.6));clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px)}
.frame.gold{background:linear-gradient(135deg,rgba(255,181,71,.85),rgba(61,225,255,.2) 50%,rgba(61,225,255,.9))}
.inner{background:rgba(5,11,20,.9);backdrop-filter:blur(10px);clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:22px}
.inner h2{margin:0;font:600 34px/1.05 var(--f-head);letter-spacing:.03em}
.cardhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.lbl{display:block;font:600 12px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#9fd9ef;margin-bottom:8px}
.inp{width:100%;min-height:52px;background:rgba(61,225,255,.05);border:1px solid rgba(61,225,255,.28);color:#eef9ff;font:500 18px var(--f-body);padding:12px 16px;outline:none;border-radius:0;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:border-color .2s,background .2s}
.inp::placeholder{color:#6f8aa3}
.inp:focus{border-color:var(--cyan);background:rgba(61,225,255,.10)}
.hint{margin:8px 0 0;font-size:15px;color:var(--muted)}
.check{display:flex;align-items:center;gap:12px;min-height:44px;font-size:16px;color:var(--ink2);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--cyan)}
.cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 26px;border:0;cursor:pointer;background:var(--amber);color:var(--amber-ink);font:700 18px var(--f-head);letter-spacing:.2em;text-decoration:none;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);transition:filter .2s,transform .2s}
.cta:hover{color:var(--amber-ink);filter:brightness(1.12);transform:translateY(-1px)}
.cta::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);animation:sheen 3.4s ease-in-out infinite}
@keyframes sheen{0%,62%{left:-60%}100%{left:130%}}
.cta[disabled]{background:#4a5563;color:#c9d3dc;cursor:wait;filter:none;transform:none}
.cta[disabled]::after{display:none}
.cta.small{display:inline-flex;min-height:54px;font-size:16px;width:max-content;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.ghost{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;background:transparent;border:1px solid rgba(61,225,255,.45);color:#c8efff;font:600 12px var(--f-mono);letter-spacing:.14em;cursor:pointer;text-transform:uppercase;text-decoration:none}
.ghost:hover{background:rgba(61,225,255,.12);border-color:var(--cyan);color:#e9fbff}
.ghost.gold{border-color:rgba(255,181,71,.55);color:#ffe0ad}
.ghost.gold:hover{background:rgba(255,181,71,.12)}
.rule-line{height:1px;background:linear-gradient(90deg,rgba(61,225,255,.4),transparent)}
.note{margin:0;font-size:16px;line-height:1.5;color:#b7c9d8}
.denied{border:1px solid rgba(255,93,108,.65);background:rgba(255,93,108,.10);color:#ffdbe0;padding:12px 14px;font-size:16px;line-height:1.45;animation:shake .45s ease}
.denied strong{font-family:var(--f-head);letter-spacing:.14em}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.stamp{display:inline-block;font:700 15px var(--f-head);letter-spacing:.3em;color:var(--ok);border:2px solid var(--ok);padding:6px 14px;transform:rotate(-3deg);box-shadow:0 0 18px rgba(93,255,168,.25)}
.stamp.bad{color:var(--bad);border-color:var(--bad);box-shadow:0 0 18px rgba(255,93,108,.25)}
.reveal{opacity:0;transform:translateY(14px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}

/* the boot sequence (C-17): first visit of the day on this device */
.boot{position:fixed;inset:0;z-index:80;background:#02040a;display:flex;align-items:center;justify-content:center;padding:16px;animation:bootout .5s ease 2.7s forwards}
@keyframes bootout{to{opacity:0;visibility:hidden}}
.boot .col{display:flex;flex-direction:column;gap:8px;max-width:100%}
.bline{font:500 14px var(--f-mono);color:#7fe9ff;white-space:nowrap;overflow:hidden;width:0;max-width:100%;animation:type .55s steps(34) forwards}
.bline.gold{color:#ffcf85}
@keyframes type{to{width:36ch}}
.bar{height:3px;background:rgba(61,225,255,.15);width:340px;max-width:80vw;margin-top:22px}
.bar i{display:block;height:100%;width:0;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:fill 2.3s ease forwards .2s}
@keyframes fill{to{width:100%}}

/* the home menu (C-18) */
.wrap{position:relative;z-index:1;max-width:1360px;margin:0 auto;padding:0 clamp(16px,3.5vw,48px) 60px;display:flex;flex-direction:column;gap:32px}
.wrap .top{padding:26px 0 0}
.who-av{width:40px;height:40px;display:grid;place-items:center;background:rgba(255,181,71,.14);border:1px solid rgba(255,181,71,.6);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);font:700 16px var(--f-head);color:var(--gold-text)}
.who-name{font:600 15px var(--f-head);letter-spacing:.12em;text-transform:uppercase}
.bell{position:relative;padding:0 12px}
.bell .n{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 3px;display:grid;place-items:center;background:var(--pink);color:#1a0410;font:700 10px var(--f-mono);border-radius:8px}
.hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.hero .left{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px}
.hero .right{flex:0 1 390px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero .quote p{font-size:20px}
.ftimer{position:relative;min-width:0;padding:1px;background:linear-gradient(135deg,rgba(61,225,255,.9),rgba(61,225,255,.15) 50%,rgba(255,181,71,.55));clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.ftimer.crit{background:linear-gradient(135deg,rgba(255,93,108,.95),rgba(255,93,108,.2) 50%,rgba(255,181,71,.6))}
.ftin{background:rgba(5,11,20,.92);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.fhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fhead span:last-child{font:600 11px var(--f-mono);letter-spacing:.18em;color:var(--muted);text-align:right}
.fbadge{font:700 15px var(--f-head);letter-spacing:.18em;color:var(--bg);background:var(--cyan);padding:6px 12px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.ftimer.crit .fbadge{background:var(--bad)}
.dig{display:block;font:600 clamp(38px,3.6vw,50px)/1 var(--f-mono);letter-spacing:.04em;color:#eaffff;text-shadow:0 0 18px rgba(61,225,255,.6);font-variant-numeric:tabular-nums}
.ftimer.crit .dig{color:#ffe3e6;text-shadow:0 0 18px rgba(255,93,108,.75)}
.dunit{font:500 11px var(--f-mono);letter-spacing:.2em;color:var(--dim)}
.fbar{position:relative;height:8px;background:rgba(61,225,255,.12);border:1px solid rgba(61,225,255,.3)}
.fbar i{position:absolute;left:0;top:0;bottom:0;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transition:width .6s ease}
.ftimer.crit .fbar i{background:var(--bad);box-shadow:0 0 10px var(--bad)}
.fbar b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--amber)}
.night{display:flex;align-items:center;gap:20px}
.ring{width:132px;height:132px;flex:none}
.ring circle{fill:none}
.spin{transform-origin:66px 66px;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.night .d{font:700 30px/1 var(--f-head);letter-spacing:.06em}
.night .t{font:600 20px var(--f-head);letter-spacing:.08em;color:var(--gold-text)}

.menu{--cw:116px;--n:6;display:flex;gap:14px;height:520px}
.tile{position:relative;flex:0 0 var(--cw);min-width:0;overflow:hidden;padding:28px;background:linear-gradient(180deg,rgba(15,28,46,.88),rgba(6,12,22,.92));border:1px solid rgba(61,225,255,.24);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px));transition:flex-grow .55s cubic-bezier(.2,.7,.2,1),border-color .3s ease,background .3s ease}
.tile.open{flex-grow:1;border-color:rgba(61,225,255,.6);background:linear-gradient(180deg,rgba(20,38,62,.94),rgba(7,14,26,.96))}
.tile::before{content:"";position:absolute;left:0;top:0;height:2px;width:40px;background:var(--cyan);box-shadow:0 0 14px var(--cyan);transition:width .55s cubic-bezier(.2,.7,.2,1)}
.tile.open::before{width:100%}
.tile.locked{filter:saturate(.25)}
.tile.locked::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 10px,transparent 10px 20px);pointer-events:none}
.tile.locked::before{background:var(--dim);box-shadow:none}
.tile.live{border-color:rgba(255,181,71,.7)}
.tile.live::before,.tile.admin::before{background:var(--amber);box-shadow:0 0 16px var(--amber)}
.tile.admin{border-color:rgba(255,181,71,.45)}
.compact{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 0;background:transparent;border:0;color:inherit;cursor:pointer;transition:opacity .25s ease}
.compact:hover .vt{color:#fff;text-shadow:0 0 14px rgba(61,225,255,.6)}
.tile.open .compact{opacity:0;pointer-events:none}
.vt{writing-mode:vertical-rl;transform:rotate(180deg);font:700 24px var(--f-head);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:var(--ink);transition:color .2s}
.slabel{font:600 11px var(--f-mono);letter-spacing:.14em;color:var(--muted)}
.slabel.on{color:var(--ok)}.slabel.live{color:#ff8f9a}.slabel.gold{color:#ffcf85}
.full{width:calc(var(--mw, 1264px) - (var(--n) - 1) * (var(--cw) + 14px) - 58px);max-width:none;height:100%;display:flex;flex-direction:column;gap:16px;opacity:0;visibility:hidden;transform:translateX(-12px);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}
.tile.open .full{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease .2s,transform .35s ease .2s,visibility 0s}
.idx{font:600 13px var(--f-mono);color:var(--cyan);letter-spacing:.22em}
.idx.gold{color:var(--amber)}
.th{margin:0;font:700 clamp(30px,3vw,44px)/1 var(--f-head);letter-spacing:.06em;text-transform:uppercase;color:#eef9ff}
.tp{margin:0;font-size:17px;line-height:1.5;color:#b9cddb;max-width:540px}
.tp.sm{font-size:15px}
.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}
.blist{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}
.brow{display:flex;align-items:center;gap:16px;padding:12px 16px;background:rgba(61,225,255,.04);border:1px solid rgba(61,225,255,.16)}
.glyph{width:46px;height:46px;flex:none;display:grid;place-items:center;background:rgba(61,225,255,.08);border:1px solid rgba(61,225,255,.35);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.bname{font:700 20px var(--f-head);letter-spacing:.08em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bnote{font-size:15px;color:var(--muted)}
.bwhen{font:500 12px var(--f-mono);letter-spacing:.12em;color:var(--dim);white-space:nowrap}
.meter{height:10px;background:repeating-linear-gradient(135deg,rgba(201,214,227,.18) 0 6px,rgba(201,214,227,.06) 6px 12px);border:1px solid rgba(201,214,227,.25);max-width:520px}
.flagrow{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,120,190,.6);background:rgba(255,120,190,.08);max-width:540px}
.flagrow strong{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase}
.btnrow{display:flex;flex-wrap:wrap;gap:8px;max-width:540px}
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);z-index:60;background:var(--amber);color:var(--amber-ink);font:700 14px var(--f-head);letter-spacing:.12em;padding:14px 20px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);max-width:calc(100% - 32px)}

/* the player roster (C-54): one strip under the header. Online green with a filled dot; offline the Pre-season
   chip's gold, dimmed, with a hollow dot (Lawrence's pick, Oct 11). The ONLINE / OFFLINE labels carry the state too. */
.roster{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:12px 18px;background:rgba(5,11,20,.62);border:1px solid rgba(61,225,255,.2);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.rlabel{font:600 12px var(--f-mono);letter-spacing:.22em;color:var(--dim)}
.rgrp{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%}
.rg{font:600 11px var(--f-mono);letter-spacing:.18em;color:var(--muted);margin-right:4px}
.rlist{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;min-width:0;max-width:100%}
.pc{display:inline-flex;align-items:center;gap:9px;min-height:38px;max-width:100%;padding:0 13px;border:1px solid;font:600 15px var(--f-head);letter-spacing:.12em;text-transform:uppercase;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.pc .pn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc.on{color:var(--ok);border-color:rgba(93,255,168,.5);background:rgba(93,255,168,.07)}
.pc.off{color:var(--gold-text);border-color:rgba(255,181,71,.55);border-style:dashed;background:transparent;opacity:.6}
.pd{width:9px;height:9px;flex:none;border-radius:50%}
.pd.on{background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pulse 1.8s ease-in-out infinite}
.pd.off{border:1.5px solid var(--gold-text)}
.you{flex:none;font:700 10px var(--f-mono);letter-spacing:.14em;color:#04130b;background:var(--ok);padding:2px 5px}
/* the build strip under the menu (Oct 11): progress at a glance and the button to "How the Sausage is Made" */
.build{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding:16px 20px;background:rgba(5,11,20,.62);border:1px solid rgba(61,225,255,.2);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.bhead{display:flex;flex-direction:column;gap:6px}
.blabel{font:600 12px var(--f-mono);letter-spacing:.22em;color:var(--dim)}
.bcount{font:600 22px var(--f-mono);color:#eaffff;font-variant-numeric:tabular-nums}
.bmid{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:10px}
.bmid .fbar i{background:var(--ok);box-shadow:0 0 10px var(--ok)}
.bnext{font-size:15px;line-height:1.4;color:var(--ink2)}
.build .cta.small{margin-left:auto}

@media (max-width: 640px){
  .roster{gap:10px 16px;padding:12px 14px}
  .rlabel{flex:1 0 100%}
  .build{padding:14px}
  .build .cta.small{width:100%;margin-left:0;font-size:14px;letter-spacing:.14em;text-align:center}
}

@media (max-width: 1100px){
  .menu{flex-direction:column;height:auto}
  .tile{flex:none;min-height:84px;transition:none}
  .compact{flex-direction:row;justify-content:flex-start;gap:16px;padding:0 22px}
  .compact .slabel{margin-left:auto}
  .vt{writing-mode:horizontal-tb;transform:none;font-size:clamp(16px,4.6vw,20px);letter-spacing:.12em}
  .tile.open{min-height:0}
  .full{width:auto;height:auto;display:none}
  .tile.open .full{display:flex}
  .brow{flex-wrap:wrap}
  .ring{width:96px;height:96px}
}
@media (prefers-reduced-motion: reduce){
  .stars,.floorgrid,.dot,.pd.on,.wave i,.cta::after,.spin,.title.flick{animation:none}
  .boot{display:none}
  .reveal{animation:none;opacity:1;transform:none}
  .tile,.tile::before,.full{transition:none}
}
/* New crawlers (C-64): official crawlers and their announcements, for everyone */
.newc{display:flex;flex-direction:column;gap:14px;padding:16px 20px;background:rgba(5,11,20,.62);border:1px solid rgba(255,181,71,.28);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.newc .bhead{flex-direction:row;align-items:baseline;gap:14px}
.ncl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.ncard{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:rgba(61,225,255,.04);border:1px solid rgba(61,225,255,.16);min-width:0}
.nctop{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.ncname{font:700 20px var(--f-head);letter-spacing:.05em;text-transform:uppercase;overflow-wrap:anywhere}
.ncmeta{font:500 12px var(--f-mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.ncq{padding:12px 14px 12px 16px}
.ncq p{font-size:16px}

/* crawler portraits (C-65): a player's own picture where the crawler shows; the hologram glyph stays as the fallback */
.glyph.pic{background:#04060c;padding:0;overflow:hidden}
.glyph.pic img,.ncpic img,.mcpic img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.ncard.haspic{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 14px;align-items:start}
.ncard.haspic .ncpic{grid-row:span 3;width:96px;height:128px;border:1px solid rgba(255,181,71,.45);background:#04060c;overflow:hidden}
.ncard.haspic .ncq{grid-column:1 / -1}
.mcpic{width:120px;height:160px;border:1px solid rgba(255,181,71,.5);background:#04060c;overflow:hidden}
.pc .pav{width:26px;height:26px;flex:none;object-fit:cover;object-position:50% 20%;border:1px solid currentColor}
@media (max-width: 520px){ .ncard.haspic{grid-template-columns:72px minmax(0,1fr)} .ncard.haspic .ncpic{width:72px;height:96px} }
