/* Direction: BATTLEZONE X - matte black command-centre, olive drab, brushed steel, muted gold */
/* Completed by the platform from the short form: both modes, every
   palette token, each text-on-ground pair at its floor. To restyle, write the
   short form again (the decisions in one :root) and it is completed again. */

:root {
  color-scheme: dark;
  --canvas: #0c0e0b;
  --surface: #14170f;
  --surface-2: #1b1f15;
  --border: #2b3122;
  --border-strong: #555654;
  --ink: #e9e5d6;
  --muted: #9aa08c;
  --accent: #c9972e;
  --accent-hover: #d1a74d;
  --accent-ink: #0c0e0b;
  --accent-text: #e0b24c;
  --accent-strong: #c9972e;
  --accent-soft: #2a2a14;
  --accent-border: #614c1b;
  --success: #6fae4a;
  --success-ink: #ffffff;
  --success-soft: #223119;
  --success-strong: #6fae4a;
  --warning: #d98a2b;
  --warning-ink: #ffffff;
  --warning-soft: #392912;
  --warning-strong: #d98a2b;
  --danger: #d2503c;
  --danger-ink: #ffffff;
  --danger-soft: #381d16;
  --danger-strong: #d96b5a;
  --chart-1: #c9972e;
  --chart-2: #8bd282;
  --chart-3: #1b9aa2;
  --chart-4: #8fb6fd;
  --chart-5: #a969b4;
  --chart-6: #fd9997;

  --font-display: "Rajdhani", "Arial Narrow", sans-serif;
  --font-body: "Rajdhani", system-ui, sans-serif;
  --font-mono: "Share Tech Mono", ui-monospace, monospace;
  --display-weight: 700;
  --display-tracking: 0.04em;
  --radius-card: 4px;
  --radius-btn: 3px;
  --radius-input: 3px;
  --x-olive: #4a5d2a;
  --x-olive-2: #6b8238;
  --x-steel: #b9c0c6;
  --x-steel-dark: #2a2f33;
  --x-char: #1c1f22;
  --x-sand: #d8c9a3;
  --x-navy: #0b1a2e;
  --x-blue: #3aa0ff;
  --x-orange: #d9772b;
  --x-gold: #d4a437;
  --x-gold-2: #f3d27a;
  --x-red: #d2503c;
  --x-green: #7ac24a;
  --x-violet: #a98ae0;
  --x-bronze: #b0743c;
  --x-ink-dark: #0a0c08;
  --x-on-photo: #f1eedf;
  --font-sans: "Rajdhani", system-ui, sans-serif;
  --eyebrow-tracking: 0.08em;
}

html[data-theme="light"] {
  color-scheme: light;
  --canvas: #ffffff;
  --surface: #ffffff;
  --surface-2: #f3f3f3;
  --border: #dddddd;
  --border-strong: #b6b7b6;
  --ink: #0c0e0b;
  --muted: #6d6e6d;
  --accent: #c9972e;
  --accent-hover: #ab8027;
  --accent-ink: #0c0e0b;
  --accent-text: #84641e;
  --accent-strong: #84641e;
  --accent-soft: #f7f0e2;
  --accent-border: #e7d0a1;
  --success: #6fae4a;
  --success-ink: #0c0e0b;
  --success-soft: #eef5e9;
  --success-strong: #497231;
  --warning: #d98a2b;
  --warning-ink: #0c0e0b;
  --warning-soft: #faf1e6;
  --warning-strong: #8f5b1d;
  --danger: #d2503c;
  --danger-ink: #0c0e0b;
  --danger-soft: #faeae8;
  --danger-strong: #b24433;
  --chart-1: #bc8b1b;
  --chart-2: #5b9f53;
  --chart-3: #1d8d94;
  --chart-4: #6591e1;
  --chart-5: #9d5da7;
  --chart-6: #dd7574;
}

/* BATTLEZONE X - military command interface. Tokens only; colours live in theme.css */
.bz-body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent}
.bz-root{position:fixed;inset:0;overflow:hidden;user-select:none;-webkit-user-select:none;font-weight:600;letter-spacing:.02em}
.bz-root *{box-sizing:border-box}
.bz-root button{font-family:inherit;cursor:pointer}
.bz-logo{width:64px;height:64px;color:var(--x-steel);filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.mono{font-family:var(--font-mono)}
.bg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.scr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;overflow:auto;transition:opacity .4s}
.scr.out{opacity:0;pointer-events:none}
.scr.hidden,.lobby.hidden,.game.hidden{display:none!important}
.metal{background:linear-gradient(105deg,var(--x-steel-dark) 0%,var(--x-steel) 32%,var(--ink) 48%,var(--x-gold-2) 54%,var(--x-steel) 66%,var(--x-steel-dark) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:metalSweep 6s ease-in-out infinite;font-family:var(--font-display);letter-spacing:.14em;margin:0}
.metal b{font-weight:700;color:transparent}
@keyframes metalSweep{0%{background-position:125% 0}100%{background-position:-125% 0}}
@keyframes revealIn{from{clip-path:inset(0 100% 0 0);transform:translateY(10px) scale(1.04)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes rise{from{transform:translateY(18px)}to{transform:none}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--x-gold) 55%,transparent),0 10px 30px rgba(0,0,0,.5)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--x-gold) 0%,transparent),0 10px 40px rgba(0,0,0,.5)}}
/* splash */
.splash{justify-content:space-between;padding:7vh 18px 5vh;text-align:center}
.sp-logo{display:flex;flex-direction:column;align-items:center;gap:6px;animation:revealIn 1.6s cubic-bezier(.2,.7,.2,1) both}
.sp-logo .bz-logo{width:clamp(70px,14vw,120px);height:clamp(70px,14vw,120px)}
.sp-logo h1{font-size:clamp(2.4rem,9.5vw,6.5rem);line-height:.95;font-weight:700}
.sp-tag{color:var(--x-sand);letter-spacing:.34em;font-size:clamp(.7rem,1.7vw,1.05rem);margin:6px 0 0}
.sp-brief{width:min(640px,92vw);text-align:left;font-family:var(--font-mono);font-size:clamp(.75rem,1.6vw,.95rem);color:var(--x-sand);background:color-mix(in srgb,var(--x-ink-dark) 62%,transparent);border-left:3px solid var(--x-gold);padding:12px 16px;min-height:150px}
.sp-brief p{margin:0 0 5px}.sp-brief p.h{color:var(--x-gold-2);letter-spacing:.2em}
.sp-load{width:min(560px,90vw)}.sp-bar{height:6px;background:color-mix(in srgb,var(--x-steel) 20%,transparent);overflow:hidden}.sp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--x-olive-2),var(--x-gold-2));transition:width .1s}
.sp-stage{display:block;margin-top:8px;font-family:var(--font-mono);font-size:.78rem;color:var(--muted);letter-spacing:.16em;text-transform:uppercase}
.sp-go{min-width:260px;animation:pulseGlow 2.4s infinite}.sp-go:disabled{animation:none}
.sp-note{font-size:.75rem;color:var(--muted);margin:10px 0 0}
/* auth */
.auth{background:transparent}
.au-card{width:min(440px,94vw);background:color-mix(in srgb,var(--x-char) 90%,transparent);border:1px solid var(--border);border-top:3px solid var(--x-gold);padding:22px;backdrop-filter:blur(10px);animation:rise .5s both}
.au-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.au-brand b{font-size:1.5rem;display:block}.au-brand span{font-size:.7rem;color:var(--muted);letter-spacing:.2em}
.au-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:14px}.au-tabs button{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);padding:9px;font-weight:700;letter-spacing:.12em}.au-tabs button.on{background:var(--accent);color:var(--x-ink-dark);border-color:var(--accent)}
.au-form{display:flex;flex-direction:column;gap:8px}.au-form .label{font-size:.78rem;letter-spacing:.1em;color:var(--muted);margin:4px 0 0}.au-p{color:var(--muted);margin:0 0 4px}
.au-err{color:var(--danger);min-height:1.1em;font-size:.9rem}.au-ok{color:var(--x-green);font-size:.9rem}
.au-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem}.au-or:before,.au-or:after{content:"";flex:1;height:1px;background:var(--border)}
.btn-link{background:none;border:0;color:var(--accent-text);text-decoration:underline;padding:2px;text-align:left}
.av{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--x-steel-dark);color:var(--ink);flex:none}
.av.lg{width:48px;height:48px}.av.on{outline:2px solid var(--x-gold);outline-offset:2px}.av .icon{width:55%;height:55%}
.av-0{background:var(--x-olive)}.av-1{background:var(--x-navy)}.av-2{background:var(--x-orange);color:var(--x-ink-dark)}.av-3{background:var(--x-steel-dark)}.av-4{background:var(--x-char);border-color:var(--x-red)}.av-5{background:var(--x-gold);color:var(--x-ink-dark)}.av-6{background:var(--x-olive-2);color:var(--x-ink-dark)}.av-7{background:var(--x-violet);color:var(--x-ink-dark)}
.av-pick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
/* lobby */
.lobby{position:absolute;inset:0;background:var(--canvas)}
#lobby3d{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.lb-vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.65) 100%),linear-gradient(180deg,rgba(0,0,0,.5),transparent 18%,transparent 70%,rgba(0,0,0,.65))}
.lb-tl{position:absolute;top:10px;left:10px;z-index:5}
.pf-btn{display:flex;gap:10px;align-items:center;text-align:left;background:color-mix(in srgb,var(--x-char) 82%,transparent);border:1px solid var(--border);border-left:3px solid var(--x-gold);padding:6px 14px 6px 8px;color:var(--ink);backdrop-filter:blur(6px)}
.pf-meta{display:flex;flex-direction:column;gap:2px;min-width:150px}.pf-meta b{font-size:1.05rem;letter-spacing:.06em}.pf-meta b em{font-size:.6rem;background:var(--x-steel-dark);padding:1px 5px;font-style:normal}.pf-meta small{color:var(--muted);font-size:.7rem}
.pf-lv{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--x-gold-2);font-family:var(--font-mono)}
.pf-xp{display:block;height:5px;background:var(--surface-2)}.pf-xp i{display:block;height:100%;background:linear-gradient(90deg,var(--x-olive-2),var(--x-gold))}
.lb-tr{position:absolute;top:10px;right:10px;z-index:5;display:flex;gap:6px;align-items:center}
.cur{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--x-char) 82%,transparent);border:1px solid var(--border);padding:6px 10px;font-family:var(--font-mono);font-size:.9rem}.cur .icon{width:16px;height:16px}.cur-gold{color:var(--x-gold-2)}.cur-gems{color:var(--x-blue)}
.ib{position:relative;width:40px;height:40px;background:color-mix(in srgb,var(--x-char) 82%,transparent);border:1px solid var(--border);color:var(--ink);display:grid;place-items:center}.ib:hover{border-color:var(--x-gold);color:var(--x-gold-2)}
.bdg{position:absolute;top:-6px;right:-6px;background:var(--x-red);color:var(--ink);font-style:normal;font-size:.68rem;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.lb-nav{position:absolute;top:calc(50% + 20px);transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:5;width:152px}.lb-nl{left:10px}.lb-nr{right:10px}
.lb-nb{position:relative;display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--x-char) 80%,transparent);border:1px solid var(--border);color:var(--ink);padding:11px 12px;text-align:left;font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:.88rem;backdrop-filter:blur(5px);transition:transform .15s,border-color .15s,background .15s}
.lb-nl .lb-nb{border-left:3px solid var(--x-olive-2)}.lb-nr .lb-nb{border-right:3px solid var(--x-olive-2);flex-direction:row-reverse;text-align:right;justify-content:flex-start}
.lb-nb:hover,.lb-nb:focus-visible{border-color:var(--x-gold);background:color-mix(in srgb,var(--x-olive) 45%,var(--x-char));transform:translateY(-2px);outline:none}.lb-nb:active{transform:scale(.97)}
.dotb{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--x-orange);display:none}.dotb.on{display:block;animation:pulseGlow 1.8s infinite}
.lb-bot{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:min(96vw,760px);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:5}
.start-btn{position:relative;min-width:min(420px,88vw);padding:12px 40px 10px;border:0;color:var(--x-ink-dark);background:linear-gradient(180deg,var(--x-gold-2),var(--x-gold) 55%,var(--x-orange));clip-path:polygon(18px 0,100% 0,calc(100% - 18px) 100%,0 100%);font-family:var(--font-display);font-weight:700;display:flex;flex-direction:column;align-items:center;line-height:1;animation:pulseGlow 2.6s infinite;transition:filter .15s,transform .15s}
.start-btn span{font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:.2em}.start-btn small{font-size:.72rem;letter-spacing:.24em;margin-top:5px;opacity:.8}
.start-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.start-btn:active{transform:scale(.98)}.start-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.lb-modes{display:flex;gap:4px;flex-wrap:nowrap;justify-content:center;max-width:100%;overflow-x:auto}
.lb-mode{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--x-char) 82%,transparent);border:1px solid var(--border);color:var(--muted);padding:8px 12px;letter-spacing:.12em;font-size:.82rem;white-space:nowrap}.lb-mode:hover{color:var(--ink);border-color:var(--x-steel)}.lb-mode.on{background:var(--x-olive);color:var(--ink);border-color:var(--x-gold)}
.lb-note{position:absolute;left:10px;bottom:8px;z-index:4;font-size:.7rem;color:var(--muted);display:flex;gap:6px;align-items:center;max-width:210px;line-height:1.2}
.rk{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;letter-spacing:.12em;font-weight:700;color:var(--x-steel)}.rk .icon{width:14px;height:14px}.rk-0{color:var(--x-bronze)}.rk-1{color:var(--x-steel)}.rk-2{color:var(--x-gold)}.rk-3{color:var(--x-blue)}.rk-4{color:var(--x-blue);text-shadow:0 0 8px var(--x-blue)}.rk-5{color:var(--x-violet)}.rk-6{color:var(--x-orange)}.rk-7{color:var(--x-gold-2);text-shadow:0 0 10px var(--x-gold)}
/* panels */
.pn{position:fixed;top:64px;bottom:10px;width:min(470px,calc(100vw - 180px));z-index:40;display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-top:3px solid var(--x-gold);backdrop-filter:blur(10px);opacity:0;transition:opacity .2s,transform .2s;font-weight:600}
.pn-left{left:170px;transform:translateX(-24px)}.pn-right{right:170px;transform:translateX(24px)}.pn-full{inset:60px 4vw 10px;width:auto;transform:translateY(16px)}.pn.on{opacity:1;transform:none}
.pn-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.pn-head h2{margin:0;font-size:1.15rem;letter-spacing:.16em;color:var(--x-gold-2)}
.pn-x{background:none;border:1px solid var(--border);color:var(--ink);width:34px;height:34px;display:grid;place-items:center}.pn-x:hover{border-color:var(--x-red);color:var(--x-red)}
.pn-body{padding:12px 14px 18px;overflow:auto;flex:1}
.sec{font-size:.85rem;letter-spacing:.2em;color:var(--x-sand);margin:16px 0 8px;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:4px}.sec small{color:var(--muted);letter-spacing:.05em;text-transform:none}
.hint{color:var(--muted);font-size:.82rem;margin:6px 0}.empty{color:var(--muted);text-align:center;padding:24px 8px}.pn .btn{letter-spacing:.1em}.pn .btn:disabled{opacity:.4;cursor:not-allowed}
.tabrow{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--border)}.tabrow.sub{border:0}.tabrow.scroll{overflow-x:auto;padding-bottom:4px}
.tabb{background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:8px 10px;letter-spacing:.1em;font-weight:700;white-space:nowrap;text-transform:uppercase;font-size:.8rem}.tabb:hover{color:var(--ink)}.tabb.on{color:var(--x-gold-2);border-bottom-color:var(--x-gold)}.tabrow.sub .tabb{border:1px solid var(--border);border-bottom-width:1px}.tabrow.sub .tabb.on{background:var(--x-olive);color:var(--ink)}
.sbar{height:6px;background:var(--surface-2);overflow:hidden;flex:1}.sbar i{display:block;height:100%;background:var(--x-olive-2);transition:width .4s}.sbar.full i{background:var(--x-gold)}
.badge{background:var(--x-olive);color:var(--ink);font-size:.7rem;padding:2px 8px;letter-spacing:.1em;font-weight:700}
.r-common{--rc:var(--x-steel)}.r-rare{--rc:var(--x-blue)}.r-epic{--rc:var(--x-violet)}.r-legendary{--rc:var(--x-gold)}.rt{color:var(--rc,var(--x-steel));font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.card-op,.card-wp,.mi,.ev,.fr,.nt,.mh,.inv-i,.lbr,.rl{background:var(--surface-2);border:1px solid var(--border);margin-bottom:8px}
.card-op{display:flex;gap:10px;align-items:center;padding:10px;border-left:3px solid var(--rc,var(--border))}.card-op.sel{border-color:var(--x-gold)}.card-op p{margin:2px 0 0;color:var(--muted);font-size:.82rem;font-weight:500}.card-op b{display:block;letter-spacing:.05em}.op-info{flex:1;min-width:0}.op-act{display:flex;flex-direction:column;gap:4px;align-items:stretch}
.op-face{width:48px;height:56px;border-radius:24px 24px 6px 6px;position:relative;flex:none;border:2px solid var(--x-steel-dark)}.op-face i{position:absolute;left:0;right:0;bottom:0;height:45%;border-radius:0 0 4px 4px}
.grid-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.gi{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:10px 8px;background:var(--surface-2);border:1px solid var(--border);border-top:3px solid var(--rc,var(--border))}.gi.sel{border-color:var(--x-gold)}.gi b{font-size:.88rem;line-height:1.1}.gi small{color:var(--muted);font-weight:500;font-size:.72rem}.gi .btn{width:100%}
.sw{width:50px;height:50px;border:2px solid var(--x-steel-dark);display:grid;place-items:center;background:var(--x-char)}.sw-ic{color:var(--rc,var(--x-steel))}.sw-ic .icon{width:26px;height:26px}
.card-wp{padding:10px;border-left:3px solid var(--rc,var(--border))}.card-wp.sel{border-color:var(--x-gold)}.wp-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.wp-stats{display:grid;gap:3px}.wp-stats>div{display:grid;grid-template-columns:128px 1fr 44px;gap:8px;align-items:center;font-size:.76rem;color:var(--muted)}.wp-stats em{font-style:normal;font-family:var(--font-mono);color:var(--ink);text-align:right}.wp-a{margin-top:8px}
.inv-list{display:grid;gap:6px}.inv-i{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;margin:0;border-left:3px solid var(--rc,var(--border))}.inv-i.sel{border-color:var(--x-gold)}
.mi{padding:10px}.mi.claimed{opacity:.6}.mi-h{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.mi-r{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:.78rem;color:var(--x-sand)}
.ev{padding:12px;border-left:3px solid var(--x-orange)}.ev-h{display:flex;gap:8px;align-items:center}.ev p{margin:6px 0 0;color:var(--muted);font-weight:500}
.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 14px}.dg{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:var(--surface-2);border:1px solid var(--border);font-size:.8rem}.dg:nth-child(7){grid-column:span 2}.dg.next{border-color:var(--x-gold);animation:pulseGlow 2s infinite}.dg.got{opacity:.55}.dg-c{color:var(--x-green);position:absolute;top:4px;right:4px}.dg em{font-style:normal;color:var(--x-blue);display:flex;gap:3px;align-items:center}.dg .icon{width:16px;height:16px;color:var(--x-gold)}
.pass-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.pass-top>div:first-child{min-width:130px}.pass-track{display:flex;gap:6px}.pt-l{display:flex;flex-direction:column;gap:6px;padding-top:34px;font-size:.7rem;letter-spacing:.14em;color:var(--muted)}.pt-l span{height:92px;display:flex;align-items:center}.pt-l span:first-child{height:0;display:none}.pt-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;flex:1}
.pt{min-width:118px;display:flex;flex-direction:column;gap:6px}.pt>b{text-align:center;background:var(--surface-2);padding:4px;border:1px solid var(--border)}.pt.reached>b{background:var(--x-olive)}.ptc{height:92px;background:var(--surface-2);border:1px solid var(--border);padding:6px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center}.ptc small{font-size:.7rem;color:var(--x-sand);line-height:1.15}.ptc.prem{border-color:var(--x-gold)}.ptc.done{opacity:.5}.ptc .btn{width:100%}
.rank-me{display:flex;gap:14px;align-items:center;background:var(--surface-2);padding:12px;border:1px solid var(--border);margin-bottom:8px}.rank-me>div{flex:1}.rl{display:grid;grid-template-columns:130px 1fr auto;gap:8px;align-items:center;padding:8px 10px}.rl.me{border-color:var(--x-gold)}.rl.done{opacity:.6}.rl em{font-style:normal;color:var(--x-sand);font-size:.78rem}
.lb-me{background:var(--accent-soft);padding:8px 12px;margin-bottom:8px;border-left:3px solid var(--x-gold)}.lbr{display:grid;grid-template-columns:30px 40px 1fr auto auto;gap:8px;align-items:center;padding:6px 10px;margin-bottom:4px}.lbr.me{border-color:var(--x-gold);background:var(--accent-soft)}.lbr.top .pos{color:var(--x-gold-2)}.lbr .nm{display:flex;flex-direction:column;min-width:0}.lbr .nm small{color:var(--muted);font-size:.7rem}.lbr em{font-style:normal;font-family:var(--font-mono);min-width:56px;text-align:right}
.bal{display:flex;gap:8px;margin-bottom:10px}
.pf-top{display:flex;gap:12px;align-items:center}.pf-top h3{margin:0;font-size:1.3rem}.pf-lv{margin-left:auto;text-align:right;min-width:110px;display:flex;flex-direction:column;gap:3px;align-items:stretch}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.stat-grid>div{background:var(--surface-2);border:1px solid var(--border);padding:8px;text-align:center}.stat-grid span{display:block;font-size:.66rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.stat-grid b{font-size:1.25rem;font-family:var(--font-mono);color:var(--x-gold-2)}
.chart{width:100%;height:auto;background:var(--surface-2);border:1px solid var(--border)}.legend{display:flex;gap:14px;font-size:.74rem;color:var(--muted);margin:4px 0}.legend span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;background:var(--x-olive-2)}.legend .lg2:before{background:var(--x-gold)}
.mh{display:grid;grid-template-columns:44px 1fr;gap:2px 8px;padding:8px 10px}.mh.win{border-left:3px solid var(--x-gold)}.mh b{grid-row:span 2;font-size:1.2rem;color:var(--x-gold-2);align-self:center}.mh em{font-style:normal;color:var(--muted);font-size:.78rem}
.fr{display:flex;gap:10px;align-items:center;padding:8px 10px}.fr .nm{flex:1;display:flex;flex-direction:column;min-width:0}.fr .nm small{color:var(--muted);font-weight:500}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--x-steel-dark);margin-right:5px}.dot.on{background:var(--x-green)}
.nt{display:flex;gap:10px;align-items:center;width:100%;padding:12px;color:var(--ink);text-align:left}.nt span{flex:1}.nt:hover{border-color:var(--x-gold)}
.seg{display:flex;gap:4px;margin:6px 0}.seg button{flex:1;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);padding:10px;letter-spacing:.1em;font-weight:700}.seg button.on{background:var(--x-olive);color:var(--ink);border-color:var(--x-gold)}
.rg{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:.9rem}.rg span{display:flex;justify-content:space-between}.rg input[type=range]{width:100%;accent-color:var(--x-gold)}.chk{display:flex;gap:8px;align-items:center;margin:10px 0}.sep{height:1px;background:var(--border);margin:14px 0}.field-row{display:flex;gap:6px}.field-row .input{flex:1;min-width:0}
.pn .field .label,.pn .label{font-size:.74rem;letter-spacing:.12em;color:var(--muted);display:block;margin:10px 0 4px}
.pn-confirm{position:absolute;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;z-index:5}.pn-card{background:var(--surface);border:1px solid var(--x-gold);padding:18px;width:min(340px,90%);display:flex;flex-direction:column;gap:8px}.pn-card h3{margin:0;letter-spacing:.16em;color:var(--x-gold-2)}.pc-row{display:flex;gap:10px;align-items:center}.pc-row span.r-common,.pc-row span{font-size:.75rem}.pc-btns{display:flex;gap:6px}.pc-btns .btn{flex:1}.pn-card p{margin:0}
.mp{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;height:100%}.mp-view{position:relative;min-height:240px;background:var(--x-navy);border:1px solid var(--border)}.mp-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.mp-cap{position:absolute;left:0;bottom:0;right:0;padding:12px;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);display:flex;flex-direction:column}.mp-cap b{font-size:1.6rem;letter-spacing:.1em;color:var(--x-gold-2)}.mp-cap span{font-size:.8rem;color:var(--x-sand)}
.mp-side{display:flex;flex-direction:column;gap:8px;overflow:auto}.mp-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mpc{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);padding:10px;text-align:left;display:flex;flex-direction:column}.mpc span{font-size:.72rem;color:var(--muted)}.mpc.on{border-color:var(--x-gold);background:var(--x-olive)}.mpc:disabled{opacity:.4}.mp-side p{margin:0;font-weight:500;color:var(--muted);font-size:.86rem}.mp-pois{display:flex;flex-wrap:wrap;gap:4px}.mp-pois span{font-size:.7rem;padding:2px 7px;background:var(--surface-2);border:1px solid var(--border);color:var(--x-sand)}
.cr{display:flex;flex-direction:column;max-width:640px;margin:0 auto}.cr .select{width:100%}
.mm{position:fixed;inset:0;z-index:80;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--x-navy) 70%,var(--x-ink-dark)),var(--x-ink-dark));display:grid;place-items:center;text-align:center}.mm-in{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;max-width:420px}.mm-in h2{margin:0;letter-spacing:.3em;color:var(--x-gold-2)}.mm-in p{margin:0;font-family:var(--font-mono);color:var(--x-sand)}.mm-in small{color:var(--muted)}.mm-n{font-size:5rem;font-family:var(--font-display);color:var(--ink);min-height:6rem;line-height:1.2}
.mm-spin{width:70px;height:70px;border:3px solid var(--border);border-top-color:var(--x-gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* game + HUD */
.game{position:absolute;inset:0;background:var(--x-ink-dark)}.bz-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
.hd{position:absolute;inset:0;pointer-events:none;font-family:var(--font-display);color:var(--ink);text-shadow:0 1px 3px rgba(0,0,0,.9)}
.hd button,.hd input,.hd .hd-panel,.hd-prompt,.hd-bigmap,.hd-spec,.rs,.hd-panel{pointer-events:auto}
.hd-top{position:absolute;top:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px;align-items:stretch}
.hd-stat{background:color-mix(in srgb,var(--x-ink-dark) 70%,transparent);border-bottom:2px solid var(--x-gold);padding:3px 12px;text-align:center;min-width:64px}.hd-stat b{display:block;font-size:1.4rem;line-height:1;font-family:var(--font-mono)}.hd-stat span{font-size:.62rem;letter-spacing:.2em;color:var(--x-sand)}
.hd-zone,.hd-wx{background:color-mix(in srgb,var(--x-ink-dark) 70%,transparent);padding:6px 12px;font-size:.78rem;letter-spacing:.14em;display:flex;align-items:center;border-bottom:2px solid var(--x-blue)}.hd-wx{border-color:var(--x-steel);color:var(--x-sand)}
.hd-sim{position:absolute;top:52px;left:50%;transform:translateX(-50%);font-size:.66rem;letter-spacing:.18em;color:var(--x-orange);background:color-mix(in srgb,var(--x-ink-dark) 60%,transparent);padding:2px 10px;white-space:nowrap}
.hd-mapwrap{position:absolute;top:8px;left:8px}.hd-map{width:150px;height:150px;border:2px solid var(--x-gold);background:var(--x-char);display:block;border-radius:2px}.hd-mapcap{font-size:.7rem;color:var(--x-gold-2);letter-spacing:.14em;margin-top:3px;max-width:200px}
.hd-feed{position:absolute;top:60px;right:10px;display:flex;flex-direction:column;gap:3px;align-items:flex-end;max-width:min(46vw,380px)}.hd-fi{background:color-mix(in srgb,var(--x-ink-dark) 72%,transparent);padding:3px 10px;font-size:.84rem;border-right:3px solid var(--x-steel);animation:rise .25s both}.hd-fi.you{border-color:var(--x-gold);color:var(--x-gold-2)}.hd-fi.me{border-color:var(--x-red)}.hd-fi em{font-style:normal;font-size:.62rem;background:var(--x-steel-dark);padding:0 4px;margin-right:2px}.hd-fi small{color:var(--muted)}
.hd-cross{position:absolute;left:50%;top:50%;width:0;height:0;--sp:10px}.hd-cross i{position:absolute;background:var(--ink);width:2px;height:8px;left:-1px;box-shadow:0 0 2px rgba(0,0,0,.9)}.hd-cross i:nth-child(1){top:calc(var(--sp) * -1 - 8px)}.hd-cross i:nth-child(2){top:var(--sp)}.hd-cross i:nth-child(3),.hd-cross i:nth-child(4){width:8px;height:2px;top:-1px}.hd-cross i:nth-child(3){left:calc(var(--sp) * -1 - 8px)}.hd-cross i:nth-child(4){left:var(--sp)}.hd-cross u{position:absolute;width:3px;height:3px;left:-1px;top:-1px;background:var(--x-gold-2);border-radius:50%}.hd-cross.hide{display:none}
.hd-hit{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;opacity:0;background:linear-gradient(45deg,transparent 46%,var(--ink) 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--ink) 46% 54%,transparent 54%)}.hd-hit.on{opacity:1}.hd-hit.head{filter:hue-rotate(0);background:linear-gradient(45deg,transparent 44%,var(--x-red) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--x-red) 44% 56%,transparent 56%)}
.hd-scope{position:absolute;inset:0;display:none;background:radial-gradient(circle at center,transparent 24%,var(--x-ink-dark) 25.5%)}.hd-scope.on{display:block}.hd-scope:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--x-ink-dark)}.hd-scope:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--x-ink-dark);z-index:1}
.hd-num{position:absolute;transform:translate(-50%,-50%);font-size:1.2rem;font-weight:700;color:var(--x-gold-2);animation:floatUp .8s ease-out forwards}.hd-num.head{color:var(--x-red);font-size:1.5rem}@keyframes floatUp{to{transform:translate(-50%,-90px);opacity:0}}
.hd-prompt{position:absolute;left:50%;top:62%;transform:translateX(-50%);background:color-mix(in srgb,var(--x-ink-dark) 80%,transparent);border:1px solid var(--x-gold);padding:7px 16px;font-size:1.05rem;letter-spacing:.08em;display:none;cursor:pointer}.hd-prompt.on{display:block}.hd-prompt kbd{background:var(--x-gold);color:var(--x-ink-dark);padding:0 7px;margin-right:6px;font-family:var(--font-mono);font-weight:700}
.hd-banner{position:absolute;left:0;right:0;top:24%;text-align:center;display:none}.hd-banner.on{display:block;animation:rise .35s both}.hd-banner b{display:block;font-size:clamp(1.6rem,5vw,3rem);letter-spacing:.22em;color:var(--x-gold-2)}.hd-banner span{display:block;font-size:.95rem;letter-spacing:.14em;color:var(--x-sand)}
.hd[data-top]:after{content:attr(data-top);position:absolute;left:50%;top:84px;transform:translateX(-50%);background:color-mix(in srgb,var(--x-ink-dark) 75%,transparent);border:1px solid var(--x-gold);padding:8px 20px;letter-spacing:.2em;font-size:1rem;white-space:nowrap}
.hd-toasts{position:absolute;left:50%;top:70%;transform:translateX(-50%);display:flex;flex-direction:column;gap:4px;align-items:center}.hd-toasts div{background:color-mix(in srgb,var(--x-ink-dark) 75%,transparent);padding:4px 14px;font-size:.9rem;letter-spacing:.06em;animation:rise .2s both}
.hd-prog{position:absolute;left:50%;top:70%;transform:translateX(-50%);width:240px;display:none;text-align:center;font-size:.78rem;letter-spacing:.14em}.hd-prog.on{display:block}.hd-prog div{height:8px;background:var(--x-ink-dark);border:1px solid var(--x-steel);margin-top:4px}.hd-prog i{display:block;height:100%;background:var(--x-gold)}
.hd-vig{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 40%,color-mix(in srgb,var(--x-red) 75%,transparent) 100%);transition:opacity .25s}.hd-vig.on{opacity:1;transition:none}
.hd-dirs{position:absolute;left:50%;top:50%;width:0;height:0}.hd-dir{position:absolute;left:-90px;top:-160px;width:180px;height:70px;transform-origin:90px 160px;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--x-red) 85%,transparent),transparent 70%);animation:fadeOut 1.1s forwards}@keyframes fadeOut{to{opacity:0}}
.hd-out{position:absolute;left:0;right:0;top:34%;text-align:center;font-size:1.2rem;letter-spacing:.2em;color:var(--x-red);display:none;animation:blink 1s infinite}.hd-out.on{display:block}@keyframes blink{50%{opacity:.35}}
.hd-rain{position:absolute;inset:0}.hd-rain.dust{background:color-mix(in srgb,var(--x-sand) 16%,transparent)}.hd-rain.fog{background:color-mix(in srgb,var(--x-steel) 12%,transparent)}.hd-flash{position:absolute;inset:0;background:var(--ink);opacity:0}
.hd-bars{position:absolute;left:10px;bottom:10px;width:min(300px,46vw);display:flex;flex-direction:column;gap:4px}.hd-bar{position:relative;height:18px;background:color-mix(in srgb,var(--x-ink-dark) 75%,transparent);border:1px solid var(--x-steel-dark)}.hd-bar i{display:block;height:100%;background:var(--x-green);transition:width .15s}.hd-bar.ar i{background:var(--x-blue)}.hd-bar.low i{background:var(--x-red);animation:blink .8s infinite}.hd-bar b{position:absolute;right:6px;top:-1px;font-size:.8rem;font-family:var(--font-mono)}
.hd-gear{display:flex;gap:4px;flex-wrap:wrap}.hd-gear span{font-size:.62rem;letter-spacing:.1em;background:color-mix(in srgb,var(--x-ink-dark) 70%,transparent);padding:1px 6px;color:var(--muted)}.hd-gear span.on{color:var(--x-sand);border-bottom:2px solid var(--x-gold)}
.hd-weapon{position:absolute;right:10px;bottom:10px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hd-wname{font-size:.9rem;letter-spacing:.14em;color:var(--x-sand)}.hd-ammo{font-family:var(--font-mono)}.hd-ammo b{font-size:2.6rem;line-height:1}.hd-ammo b.low{color:var(--x-red)}.hd-ammo span{font-size:1rem;color:var(--muted);margin-left:6px}
.hd-slots{display:flex;gap:3px}.hd-slots span{background:color-mix(in srgb,var(--x-ink-dark) 70%,transparent);border:1px solid var(--x-steel-dark);padding:2px 8px;font-size:.7rem;letter-spacing:.1em}.hd-slots span.cur{border-color:var(--x-gold);color:var(--x-gold-2)}.hd-slots span.empty{opacity:.4}.hd-slots b{margin-right:4px;color:var(--muted)}
.hd-veh{position:absolute;right:10px;bottom:90px;text-align:right;display:none}.hd-veh.on{display:block}.hd-veh b{font-size:3rem;font-family:var(--font-mono);line-height:1}.hd-veh span{margin-left:4px;color:var(--muted)}.hd-veh div{height:6px;background:var(--x-ink-dark);margin-top:4px}.hd-veh i{display:block;height:100%;background:var(--x-orange)}.hd-veh em{font-size:.7rem;letter-spacing:.14em;color:var(--x-sand);font-style:normal}
.hd-train{position:absolute;left:10px;top:170px;display:flex;flex-direction:column;font-size:.8rem;background:color-mix(in srgb,var(--x-ink-dark) 70%,transparent);padding:6px 10px;border-left:3px solid var(--x-gold)}.hd-train:empty{display:none}.hd-train b{letter-spacing:.2em;color:var(--x-gold-2)}
.hd-btn{background:color-mix(in srgb,var(--x-ink-dark) 72%,transparent);border:1px solid var(--x-steel-dark);color:var(--ink);width:38px;height:38px;display:grid;place-items:center}.hd-pause{position:absolute;top:8px;right:8px}.hd-minibtns{position:absolute;top:52px;right:8px;display:flex;flex-direction:column;gap:6px}
.hd.ended .hd-top,.hd.ended .hd-bars,.hd.ended .hd-weapon,.hd.ended .hd-mapwrap,.hd.ended .hd-minibtns,.hd.ended .hd-pause,.hd.ended .hd-cross,.hd.ended .hd-prompt,.hd.cine .hd-feed,.hd.ended .hd-sim,.hd.ended .tc{display:none}
.hd-panel{position:absolute;inset:0;background:rgba(0,0,0,.7);display:grid;place-items:center;z-index:20;text-shadow:none}
.hd-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--x-gold);padding:18px;width:min(420px,92vw);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:8px}.hd-card.wide{width:min(760px,94vw)}.hd-card h2{margin:0;letter-spacing:.2em;color:var(--x-gold-2)}.hd-card h2 small{color:var(--muted);font-size:.7rem}.hd-card h3{margin:8px 0 4px;font-size:.8rem;letter-spacing:.2em;color:var(--x-sand)}.hd-sub{color:var(--muted);margin:0}.hd-card label{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.hd-card input[type=range]{accent-color:var(--x-gold)}
.hd-row{display:flex;gap:8px;margin-top:6px}.hd-row .btn{flex:1}.hd-keys{font-size:.72rem;color:var(--muted);line-height:1.4;margin:4px 0 0}
.hd-items{display:flex;flex-direction:column;gap:6px}.hd-item{display:grid;grid-template-columns:1fr auto;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--rc,var(--x-steel));color:var(--ink);padding:8px 12px;text-align:left}.hd-item span{grid-column:1;font-size:.72rem;color:var(--muted)}.hd-item em{grid-row:1/3;grid-column:2;align-self:center;color:var(--x-gold-2);font-style:normal;letter-spacing:.14em}.hd-item:hover{border-color:var(--x-gold)}
.rar-c{--rc:var(--x-steel)}.rar-r{--rc:var(--x-blue)}.rar-e{--rc:var(--x-violet)}.rar-l{--rc:var(--x-gold)}
.hd-inv{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hd-inv-row{display:flex;gap:8px;align-items:center;background:var(--surface-2);border:1px solid var(--border);padding:6px 8px;margin-bottom:4px}.hd-inv-row.cur{border-color:var(--x-gold)}.hd-inv-row.empty{opacity:.5}.hd-inv-row>b{font-family:var(--font-mono);color:var(--x-gold-2);min-width:30px}.hd-inv-row>span{flex:1;display:flex;flex-direction:column}.hd-inv-row small{color:var(--muted);font-weight:500;font-size:.72rem}.hd-chip{display:inline-block;background:var(--surface-2);border:1px solid var(--border);padding:2px 8px;margin:2px;font-size:.78rem}
.hd-bigmap{position:absolute;inset:0;background:rgba(0,0,0,.78);display:grid;place-items:center;z-index:15}.hd-bigmap>div{text-align:center}.hd-bigmap canvas{width:min(88vh,92vw);height:min(88vh,92vw);display:block;border:2px solid var(--x-gold)}.hd-bigmap p{font-size:.78rem;color:var(--x-sand);margin:6px 0 0}
.hd-spec{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;background:color-mix(in srgb,var(--x-ink-dark) 80%,transparent);padding:8px 12px;border:1px solid var(--x-gold);z-index:25}
.hd-log{list-style:none;margin:0;padding:0;max-height:200px;overflow:auto;font-size:.85rem;font-family:var(--font-mono)}.hd-log li{padding:3px 0;border-bottom:1px solid var(--border)}.hd-log time{color:var(--x-gold-2);margin-right:6px}
/* results */
.rs{position:absolute;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;padding:14px;text-shadow:none}.rs.lose{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--x-ink-dark) 60%,transparent),var(--x-ink-dark))}.rs.win{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.15) 70%);justify-items:start;padding-left:5vw}
.rs-inner{width:min(560px,96vw);display:flex;flex-direction:column;gap:12px;animation:rise .6s both}
.rs-title{font-family:var(--font-display);font-size:clamp(3rem,12vw,6.4rem);line-height:.9;letter-spacing:.14em;font-weight:700;background:linear-gradient(180deg,var(--x-steel),var(--x-steel-dark));-webkit-background-clip:text;background-clip:text;color:transparent}.rs.win .rs-title{background:linear-gradient(180deg,var(--x-gold-2) 0%,var(--x-gold) 48%,var(--x-bronze) 52%,var(--x-gold-2) 100%);background-size:100% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:goldShift 4s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}@keyframes goldShift{50%{background-position:0 100%}}.rs.lose .rs-title{background:linear-gradient(180deg,var(--x-red),var(--x-char));-webkit-background-clip:text;background-clip:text;color:transparent}
.rs-sub{letter-spacing:.24em;color:var(--x-sand);font-size:.9rem}.rs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rs-grid>div{background:color-mix(in srgb,var(--x-char) 85%,transparent);border:1px solid var(--border);border-bottom:2px solid var(--x-gold);padding:8px;text-align:center}.rs-grid span{display:block;font-size:.62rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.rs-grid b{font-family:var(--font-mono);font-size:1.3rem;color:var(--ink)}
.rs-rewards{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rs-rewards b{letter-spacing:.2em;color:var(--x-sand);font-size:.8rem;margin-right:6px}.rs-rewards span{background:var(--x-olive);padding:3px 10px;font-family:var(--font-mono);font-size:.85rem}.rs-rewards .gold{color:var(--x-gold-2)}.rs-rewards .gem{color:var(--x-blue)}.rs-rewards .lv{background:var(--x-gold);color:var(--x-ink-dark)}.rs-rewards small{color:var(--muted);width:100%}
.rs-actions{display:flex;gap:8px;flex-wrap:wrap}.rs-actions .btn{flex:1;min-width:150px;letter-spacing:.12em}.rs-note{font-size:.7rem;color:var(--muted);margin:0}
/* touch controls */
.tc{position:absolute;inset:0;pointer-events:none}.tc>*{pointer-events:auto;touch-action:none}.tc-look{position:absolute;right:0;top:0;width:55%;height:100%;pointer-events:auto}.tc-stick{position:absolute;left:22px;bottom:80px;width:136px;height:136px;border-radius:50%;background:color-mix(in srgb,var(--x-ink-dark) 40%,transparent);border:2px solid var(--x-steel)}.tc-stick i{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:color-mix(in srgb,var(--x-steel) 60%,transparent);border:2px solid var(--ink)}
.tc-b{position:absolute;width:54px;height:54px;border-radius:50%;background:color-mix(in srgb,var(--x-ink-dark) 55%,transparent);border:2px solid var(--x-steel);color:var(--ink);font-size:.6rem;letter-spacing:.06em;font-weight:700;font-family:var(--font-display)}.tc-b.on,.tc-b.act{background:var(--x-olive);border-color:var(--x-gold)}
.tc-fire{right:26px;bottom:90px;width:84px;height:84px;font-size:.9rem;border-color:var(--x-red)}.tc-aim{right:120px;bottom:140px}.tc-jump{right:26px;bottom:190px}.tc-crouch{right:110px;bottom:60px}.tc-reload{right:190px;bottom:96px}.tc-sprint{left:30px;bottom:228px}.tc-nade{right:190px;bottom:170px}.tc-heal{right:30px;bottom:262px}.tc-swap{right:190px;bottom:240px}.tc-use{right:110px;bottom:226px;border-color:var(--x-gold)}
.lay-left .tc{transform:scaleX(-1)}.lay-left .tc-b,.lay-left .tc-stick{transform:scaleX(-1)}.lay-compact .tc-b{transform:scale(.82)}.lay-compact .tc-stick{transform:scale(.85);transform-origin:left bottom}.hd.touch .hd-bars{bottom:auto;top:162px;width:150px}.hd.touch .hd-weapon{bottom:auto;top:56px;right:56px}.hd.touch .hd-slots{display:none}.hd.touch .hd-feed{top:100px}.hd.touch .hd-ammo b{font-size:1.8rem}
/* admin */
.ad-wrap{max-width:1200px;margin:0 auto;padding:20px 16px 60px;background:var(--canvas);min-height:100vh}.ad-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.ad-head .bz-logo{width:48px;height:48px}.ad-title{font-size:1.6rem;letter-spacing:.16em;margin:0}.ad-title span{color:var(--x-gold-2);font-size:1rem}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px}.ad-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--x-gold);padding:12px}.ad-k{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.ad-v{font-size:2rem;font-family:var(--font-mono);color:var(--x-gold-2)}
.ad-panel{background:var(--surface);border:1px solid var(--border);padding:14px;margin-bottom:14px}.ad-panel h2{margin:0 0 10px;font-size:1rem;letter-spacing:.18em;color:var(--x-sand);text-transform:uppercase}.ad-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ad-scroll{overflow-x:auto}.ad-table{width:100%;border-collapse:collapse;font-size:.9rem}.ad-table th{text-align:left;color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid var(--border)}.ad-table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.ad-in{width:78px;padding:4px 6px!important;min-height:0!important}
.ad-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.ad-row p{margin:2px 0 0;color:var(--muted);font-weight:500}.ad-bars{display:flex;gap:10px;align-items:flex-end;height:150px}.ad-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;font-size:.75rem;color:var(--muted)}.ad-bar i{display:block;width:100%;background:var(--x-olive-2);min-height:3px}.ad-bar b{color:var(--ink)}
/* responsive */
@media (max-width:900px){.pn{width:calc(100vw - 80px)}.pn-left{left:64px}.pn-right{right:64px}.pn-full{inset:56px 0 0;left:0;right:0}.lb-nav{width:48px;top:calc(50% + 8px)}.lb-nb span{display:none}.lb-nb{padding:11px;justify-content:center}.lb-nr .lb-nb{flex-direction:row}.pf-meta{min-width:110px}.lb-note{display:none}.mp{grid-template-columns:1fr}.wp-stats>div{grid-template-columns:96px 1fr 40px}.stat-grid{grid-template-columns:repeat(2,1fr)}.ad-two{grid-template-columns:1fr}.hd-inv{grid-template-columns:1fr}.rs-grid{grid-template-columns:repeat(2,1fr)}.rs.win{justify-items:center;padding-left:14px}}
@media (max-width:560px){.pf-meta small{display:none}.cur{padding:6px 7px;font-size:.8rem}.ib{width:36px;height:36px}.lb-modes .lb-mode{padding:8px 9px;font-size:.7rem}.lb-modes .lb-mode .icon{display:none}.hd-top .hd-wx{display:none}.hd-map{width:112px;height:112px}.hd-sim{font-size:.55rem;top:46px}.daily-grid{grid-template-columns:repeat(3,1fr)}.lbr{grid-template-columns:26px 36px 1fr auto}.lbr .rk{display:none}.hd-bigmap canvas{width:94vw;height:94vw}}
@media (max-height:520px) and (orientation:landscape){.lb-bot .lb-modes{display:none}.start-btn{min-width:260px;padding:8px 24px 6px}.start-btn span{font-size:1.3rem}.splash{padding:3vh 12px}.sp-brief{min-height:90px}.hd-bars{bottom:4px}}
@media (prefers-reduced-motion:reduce){.bz-root *{animation:none!important;transition:none!important}}
.reduced-motion .bz-root *{animation:none!important;transition:none!important}
