
:root{
  --arc-red:#E8334E;        
  --arc-red-dk:#B8172F;
  --arc-ink:#0B0810;        
  --arc-line:rgba(255,255,255,.13);
}



.arc-btn{display:block;width:100%;padding:15px;border:none;border-radius:4px;
  border-bottom:4px solid var(--arc-red-dk);
  background:var(--arc-red);color:#fff;font-family:inherit;font-size:16px;font-weight:900;
  letter-spacing:-.01em;cursor:pointer;transition:background .12s,border-bottom-width .06s,transform .06s}
.arc-btn:hover:not(:disabled){background:#F04059}

.arc-btn:active:not(:disabled){border-bottom-width:1px;transform:translateY(3px)}
.arc-btn:disabled{opacity:.4;cursor:not-allowed;border-bottom-color:rgba(0,0,0,.4)}


.arc-btn.ghost{background:none;color:rgba(255,255,255,.62);
  border:1px solid var(--arc-line);font-size:13px;font-weight:700;padding:12px}
.arc-btn.ghost:hover:not(:disabled){background:rgba(255,255,255,.05);color:#fff}
.arc-btn.ghost:active:not(:disabled){border-bottom-width:1px;transform:translateY(1px)}


.arc-crt{box-shadow:inset 0 0 110px rgba(0,0,0,.9)}
.arc-crt::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;
  
  background:
    radial-gradient(118% 96% at 50% 44%, transparent 44%, rgba(0,0,0,.72) 100%),
    linear-gradient(190deg, rgba(255,255,255,.06) 0%, transparent 26%)}

.arc-crt::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(180deg, rgba(0,0,0,.34) 0 1px, transparent 1px 3px)}
@media (prefers-reduced-motion:reduce){ .arc-crt::after{opacity:.55} }


.arc-crt canvas{position:relative;z-index:1}


.arc-hud{position:absolute;left:0;right:0;z-index:4;pointer-events:none;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:0 6px;font-family:var(--arc-mono,monospace);font-size:9.5px;letter-spacing:.18em;
  color:rgba(255,255,255,.55);text-transform:uppercase}
.arc-hud.top{top:22px}
.arc-hud b{display:block;margin-top:5px;font-size:23px;letter-spacing:.06em;color:#fff;
  font-weight:700;text-shadow:0 0 14px rgba(255,255,255,.28)}
.arc-hud .r{text-align:right}

.arc-hud .pips{display:flex;gap:3px;justify-content:flex-end;margin-top:7px}
.arc-hud .pips i{width:5px;height:13px;border-radius:1px;background:rgba(255,255,255,.18)}
.arc-hud .pips i.on{background:var(--arc-hud-pip,#ffd94a)}

.arc-idle{position:absolute;left:0;right:0;bottom:19%;z-index:4;pointer-events:none;text-align:center;
  padding:7px 0;
  background:rgba(0,0,0,.72);
  font-family:var(--arc-mono,monospace);font-size:11px;letter-spacing:.34em;text-transform:uppercase;
  text-shadow:0 1px 3px #000;
  
  animation:arcBlink 1.6s steps(1,end) infinite}
@keyframes arcBlink{0%,64%{color:rgba(255,255,255,.88)}65%,100%{color:rgba(255,255,255,.2)}}
@media (prefers-reduced-motion:reduce){ .arc-idle{animation:none;color:rgba(255,255,255,.88)} }


@media(min-width:1160px){
  .arc-3col{
    display:grid;
    grid-template-columns:var(--arc-side,264px) var(--arc-cab,512px) var(--arc-rank,304px);
    grid-template-rows:auto auto;
    column-gap:26px;justify-content:center;align-items:start}
  .arc-3col > .arc-cab  {grid-column:2;grid-row:1;margin-top:0}
  .arc-3col > .arc-act  {grid-column:2;grid-row:2}
  
  .arc-3col > .arc-rules{grid-column:1;grid-row:1/3;align-self:stretch;
    display:flex;flex-direction:column;margin:0}
  .arc-3col > .arc-rank {grid-column:3;grid-row:1/3;align-self:stretch;margin-top:0;
    display:flex;flex-direction:column}
  
  .arc-3col .arc-note{margin-top:14px}
  
  .arc-3col .arc-slots{flex:1;display:flex;flex-direction:column}
  .arc-3col .arc-slot{flex:1;max-height:72px;align-items:center}
  
}



.arc-cab{background:var(--arc-ink);border:1px solid var(--arc-line);border-radius:12px;
  padding:10px;overflow:hidden}
.arc-cab .cab-top,.arc-cab .cab-bot{display:flex;align-items:center;justify-content:space-between;
  gap:10px;font-family:var(--arc-mono,monospace);font-size:10px;letter-spacing:.16em;
  color:rgba(255,255,255,.42);text-transform:uppercase;white-space:nowrap;overflow:hidden}
.arc-cab .cab-top{padding:2px 4px 9px}
.arc-cab .cab-bot{padding:9px 4px 2px}

.arc-cab .cab-pw{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.55)}
.arc-cab .cab-pw::before{content:'';width:6px;height:6px;border-radius:50%;
  background:var(--arc-red);box-shadow:0 0 7px 1px rgba(232,51,78,.8)}

.arc-cab .cab-slot{flex:none;width:34px;height:9px;border-radius:2px;
  background:#000;box-shadow:inset 0 1px 2px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.06)}


.arc-spec{border-top:1px solid var(--arc-line)}
.arc-spec > div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:11px 2px;border-bottom:1px solid var(--arc-line)}
.arc-spec dt{font-size:12px;color:rgba(255,255,255,.5)}
.arc-spec dd{font-size:13px;font-weight:800;color:#fff;text-align:right}
.arc-note{margin-top:14px;font-size:11.5px;line-height:1.65;color:rgba(255,255,255,.38);word-break:keep-all}


.arc-slots{display:flex;flex-direction:column}
.arc-slot{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--arc-line);
  font-size:13px}
.arc-slot .rk{font-family:var(--arc-mono,monospace);font-size:11px;color:rgba(255,255,255,.38);width:18px}
.arc-slot .nm{flex:1;color:rgba(255,255,255,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arc-slot .sc{font-family:var(--arc-mono,monospace);color:rgba(255,255,255,.3);letter-spacing:.1em}
.arc-slot.filled .nm{color:#fff;font-weight:700}
.arc-slot.filled .sc{color:var(--arc-red);font-weight:700}



.arc-tip{flex:none;margin-top:16px;padding:14px;border-radius:10px;
  border:1px solid var(--arc-line);background:rgba(255,255,255,.035);
  font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.62);word-break:keep-all}
.arc-tip b{color:#fff;font-weight:800}


.arc-rank .rb-h b{font-size:15.5px}
.arc-rank .rb-h span{font-size:11.5px}
.arc-rank .rb-note{font-size:12.5px;margin-top:8px}
.arc-spec dt{font-size:13px}
.arc-spec dd{font-size:14.5px}
.arc-note{font-size:12.5px;line-height:1.7}
.arc-tip{font-size:13px}
.arc-cab .cab-top,.arc-cab .cab-bot{font-size:10.5px}
