/* ===== CS BRASIL: Treta Suprema ===== */
:root{
  --red:#e03232; --red-dark:#8f1d1d;
  --green:#1faa4d; --yellow:#ffd23f;
  --dark:#0c0e11; --panel:rgba(14,17,22,.92);
  --hud:#d8e0b0; --cs:#b8d94a;   /* classic CS olive-green HUD */
}
*{margin:0;padding:0;box-sizing:border-box;user-select:none}
html,body{width:100%;height:100%;overflow:hidden;background:var(--dark)}
body{font-family:"Arial Black",Impact,Haettenschweiler,"Segoe UI",sans-serif;color:#f2ead8}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

#game-container,#game-container canvas{position:fixed;inset:0;width:100%;height:100%}

/* ---------- screens ---------- */
.screen{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  background:radial-gradient(ellipse at 50% 30%,rgba(42,36,22,.78) 0%,rgba(20,18,12,.86) 55%,rgba(12,14,17,.93) 100%)}
.scanlines{position:absolute;inset:0;pointer-events:none;opacity:.25;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.55) 2px 4px)}
.screen-title{font-size:34px;letter-spacing:4px;color:var(--hud);text-shadow:0 3px 0 #000,0 0 24px rgba(255,180,60,.35)}
.panel{background:var(--panel);border:2px solid #3a3325;border-radius:10px;padding:36px 44px;box-shadow:0 0 60px #000 inset,0 12px 40px rgba(0,0,0,.7)}
.center-panel{display:flex;flex-direction:column;gap:18px;align-items:center;max-width:640px;text-align:center}
.big{font-size:18px}
.footnote{position:absolute;bottom:18px;font-size:11px;letter-spacing:1px;color:#8a8064;font-family:Arial,sans-serif}

#logo-canvas{width:min(760px,92vw);height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.8))}

/* ---------- buttons & inputs ---------- */
.btn{font-family:inherit;font-size:16px;letter-spacing:3px;color:var(--hud);cursor:pointer;
  background:linear-gradient(180deg,#3b3423,#221e14);border:2px solid #6b5c34;border-radius:6px;
  padding:12px 34px;transform:skewX(-6deg);transition:all .12s;text-transform:uppercase}
.btn:hover{background:linear-gradient(180deg,#6b5c34,#3b3423);color:#fff;transform:skewX(-6deg) translateY(-2px);box-shadow:0 6px 18px rgba(255,190,60,.25)}
.btn-big{font-size:24px;padding:16px 64px;border-color:var(--yellow);color:var(--yellow)}
.btn-big:hover{background:var(--yellow);color:#221e14}
.btn-back{position:absolute;top:26px;left:26px;font-size:13px;padding:9px 20px}
.menu-buttons{display:flex;flex-direction:column;gap:14px;align-items:center;z-index:1}
#nick-input,#social-input{font-family:Consolas,monospace;font-size:18px;letter-spacing:1px;text-align:center;
  background:#10130c;border:2px solid #4a5a2a;border-radius:4px;color:var(--cs);
  padding:10px 18px;width:340px;outline:none}
#social-input{font-size:13px;padding:8px 18px}
#nick-input:focus,#social-input:focus{border-color:var(--cs);box-shadow:0 0 14px rgba(184,217,74,.3)}
#nick-input::placeholder,#social-input::placeholder{color:#5a6b3a}
.rank-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 26px;font-family:Consolas,monospace;font-size:14px;color:#c9bfa4}
.rank-stats b{color:var(--yellow);font-size:26px;display:block;text-align:center}
.rank-note{font-size:12px;font-family:Arial,sans-serif;color:#8a8064;line-height:1.5}

/* ---------- team select ---------- */
.team-row{display:flex;gap:34px;flex-wrap:wrap;justify-content:center}
.team-card{width:340px;height:300px;border-radius:12px;cursor:pointer;font-family:inherit;color:#fff;
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:26px;text-align:left;
  border:3px solid transparent;transition:all .15s;position:relative;overflow:hidden}
.team-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(0,0,0,.18) 14px 28px)}
.team-card:hover{transform:translateY(-6px) scale(1.02)}
.team-p{background:linear-gradient(160deg,#d63a3a,#7d1717);border-color:#ff6b6b}
.team-p:hover{box-shadow:0 14px 44px rgba(224,50,50,.5)}
.team-b{background:linear-gradient(160deg,#25b456 30%,#e8bd25);border-color:#7de08f}
.team-b:hover{box-shadow:0 14px 44px rgba(31,170,77,.5)}
.team-name{font-size:32px;letter-spacing:2px;text-shadow:0 3px 0 rgba(0,0,0,.5)}
.team-slogan{font-size:14px;font-style:italic;font-family:Georgia,serif}
.team-desc{font-size:11px;letter-spacing:1px;font-family:Arial,sans-serif;opacity:.85}

/* ---------- character select (CS 1.6 list + 3D preview) ---------- */
.char-wrap{display:flex;gap:26px;align-items:stretch}
.char-list{display:flex;flex-direction:column;gap:6px;width:340px}
.char-row{display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer;text-align:left;
  background:rgba(10,12,8,.85);border:1px solid #3a4028;color:var(--hud);
  font-family:Tahoma,Verdana,sans-serif;font-size:16px;letter-spacing:1px}
.char-row img{width:52px;height:52px;border:1px solid #2a2e20;background:#161a12;image-rendering:auto}
.char-row:hover{background:#2a3018;border-color:var(--cs)}
.char-row.sel{background:#3a4418;border-color:var(--cs);box-shadow:0 0 12px rgba(184,217,74,.25)}
.char-preview-box{display:flex;flex-direction:column;align-items:center;gap:12px;
  background:rgba(10,12,8,.85);border:1px solid #3a4028;padding:16px}
#char-preview{background:radial-gradient(ellipse at 50% 35%,#2a2e1a,#10130c);border:1px solid #2a2e20}
#char-info{text-align:center;max-width:340px}
#char-info-name{font-size:18px;letter-spacing:2px;color:var(--yellow);margin-bottom:6px}
#char-info-blurb{font-size:12px;font-family:Arial,sans-serif;color:#c9bfa4;line-height:1.4;min-height:34px}
#char-confirm{font-size:17px;padding:12px 34px}

/* ---------- settings / howto ---------- */
.set-row{display:flex;align-items:center;gap:14px;width:100%;justify-content:space-between;font-size:14px;letter-spacing:1px}
.set-row input[type=range]{flex:1;accent-color:var(--yellow)}
.set-row select{font-family:inherit;background:#221e14;color:var(--hud);border:1px solid #6b5c34;padding:6px 10px;border-radius:4px}
.howto-grid{display:grid;grid-template-columns:auto auto;gap:8px 26px;font-size:13px;letter-spacing:1px;text-align:left}
.howto-grid span:nth-child(odd){color:var(--yellow)}

/* ---------- HUD (CS 1.6 flavor) ---------- */
#hud{position:fixed;inset:0;z-index:20;pointer-events:none;font-family:Tahoma,Verdana,sans-serif}
#radar{position:absolute;top:14px;left:14px;opacity:.9}
#radio-log{position:absolute;top:172px;left:14px;font-size:12px;color:var(--cs);text-shadow:0 1px 0 #000}
.radio-line{animation:kfFade 4.2s forwards;margin-bottom:2px}
#radio-menu{position:absolute;top:200px;left:14px;background:rgba(8,10,6,.85);border:1px solid #4a5a2a;padding:10px 16px;min-width:220px}
.radio-title{color:#ffd23f;font-size:12px;letter-spacing:2px;margin-bottom:6px;border-bottom:1px solid #4a5a2a;padding-bottom:4px}
.radio-item{color:var(--cs);font-size:14px;padding:2px 0}
#crosshair{position:absolute;left:50%;top:50%;width:0;height:0;--ch:6px}
#crosshair i{position:absolute;background:#7dff9a;box-shadow:0 0 4px #000}
#crosshair i:nth-child(1){left:-1px;top:calc(-8px - var(--ch));width:2px;height:8px}
#crosshair i:nth-child(2){left:-1px;top:var(--ch);width:2px;height:8px}
#crosshair i:nth-child(3){left:calc(-8px - var(--ch));top:-1px;width:8px;height:2px}
#crosshair i:nth-child(4){left:var(--ch);top:-1px;width:8px;height:2px}
#crosshair b{position:absolute;left:-1px;top:-1px;width:2px;height:2px;background:#7dff9a}
#hitmarker{position:absolute;left:50%;top:50%;opacity:0;transform:scale(.6);transition:opacity .05s}
#hitmarker.show{opacity:1;transform:scale(1)}
#hitmarker.kill i{background:#ff3b3b;box-shadow:0 0 8px #ff3b3b}
#hitmarker i{position:absolute;width:14px;height:3px;background:#fff;box-shadow:0 0 6px #000}
#hitmarker i:nth-child(1){transform:translate(-16px,-12px) rotate(45deg)}
#hitmarker i:nth-child(2){transform:translate(3px,-12px) rotate(-45deg)}
#hitmarker i:nth-child(3){transform:translate(-16px,9px) rotate(-45deg)}
#hitmarker i:nth-child(4){transform:translate(3px,9px) rotate(45deg)}
#scope-overlay{position:absolute;inset:0;display:none;background:radial-gradient(circle at 50% 50%,transparent 0 31vmin,rgba(0,0,0,.985) 32vmin)}
#scope-overlay.on{display:block}
.scope-circle{position:absolute;left:50%;top:50%;width:62vmin;height:62vmin;transform:translate(-50%,-50%);
  border:2px solid #111;border-radius:50%;box-shadow:inset 0 0 40px rgba(0,0,0,.9)}
.scope-line{position:absolute;background:rgba(10,10,10,.85)}
.scope-line.h{left:50%;top:50%;width:62vmin;height:1px;transform:translate(-50%,0)}
.scope-line.v{left:50%;top:50%;width:1px;height:62vmin;transform:translate(0,-50%)}
#damage-vignette{position:absolute;inset:0;opacity:0;box-shadow:inset 0 0 140px 60px rgba(220,20,20,.75);transition:opacity .09s}
#mk-banner{position:absolute;left:0;right:0;top:26%;text-align:center;font-family:"Arial Black",Impact,sans-serif;
  font-size:46px;letter-spacing:6px;color:#ff5030;text-shadow:0 3px 0 #000,0 0 30px rgba(255,80,30,.6);
  opacity:0;transform:scale(1.4);transition:all .12s;pointer-events:none}
#mk-banner.show{opacity:1;transform:scale(1)}
#hud-top{position:absolute;top:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px}
.team-score{font-size:16px;letter-spacing:2px;padding:5px 12px;border-radius:3px;background:rgba(0,0,0,.55)}
.ts-p{color:#ff8080;border:1px solid var(--red)}
.ts-b{color:#9dff9d;border:1px solid var(--green)}
#hud-mid{text-align:center}
#round-time{font-size:30px;color:#f0e8c8;text-shadow:0 2px 0 #000;font-family:Consolas,monospace}
#rounds-row{font-size:11px;letter-spacing:2px;color:#c9bfa4}
#killfeed{position:absolute;top:70px;right:18px;display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:12px}
.kf-row{background:rgba(0,0,0,.6);padding:4px 10px;border-radius:3px;animation:kfFade 4.5s forwards}
.kf-row .kp{color:#ff8080}.kf-row .kb{color:#9dff9d}.kf-row .kx{color:var(--yellow);font-size:11px}
@keyframes kfFade{0%{opacity:0;transform:translateX(20px)}8%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
#hud-bottom-left{position:absolute;left:22px;bottom:20px}
#hp-row{display:flex;align-items:baseline;gap:8px}
#hp-cross{color:var(--cs);font-size:22px;text-shadow:0 2px 0 #000}
#hp-num{font-size:38px;color:var(--cs);text-shadow:0 2px 0 #000;font-family:Consolas,monospace}
#hp-num.low{color:#ff5b5b}
#hp-bar{width:200px;height:8px;background:rgba(0,0,0,.6);border:1px solid #445;border-radius:2px;overflow:hidden;margin-top:2px}
#hp-fill{height:100%;width:100%;background:var(--cs);transition:width .15s}
#hp-fill.low{background:#ff5b5b}
#hud-bottom-right{position:absolute;right:26px;bottom:20px;text-align:right}
#weapon-name{font-size:12px;letter-spacing:2px;color:var(--yellow);margin-bottom:2px;text-shadow:0 1px 0 #000}
#ammo{font-size:38px;color:var(--cs);text-shadow:0 2px 0 #000;font-family:Consolas,monospace}
#ammo-mag.empty{color:#ff5b5b}
.ammo-sep{color:#6b7b4a;margin:0 8px;font-size:24px}
#ammo-reserve{font-size:24px;color:#9aab6a}
#reload-note{font-size:12px;letter-spacing:2px;color:var(--yellow);animation:blink .5s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
#round-banner{position:absolute;left:0;right:0;top:32%;text-align:center;text-shadow:0 4px 0 #000,0 0 40px rgba(255,190,60,.4)}
#banner-title{font-family:"Arial Black",Impact,sans-serif;font-size:52px;letter-spacing:6px;color:var(--yellow)}
#banner-sub{font-size:18px;letter-spacing:3px;color:var(--hud);margin-top:8px;font-family:Arial,sans-serif}
#respawn-overlay{position:absolute;inset:0;background:rgba(30,0,0,.55);display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;font-size:20px;letter-spacing:2px}
.rip{font-size:44px;letter-spacing:6px;text-shadow:0 4px 0 #000}
.rip-sub{font-size:13px;color:#e0b0b0;font-family:Arial,sans-serif}
#scoreboard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--panel);
  border:2px solid #4a5a2a;border-radius:8px;padding:22px 30px;min-width:560px}
#scoreboard h3{text-align:center;letter-spacing:3px;color:var(--yellow);margin-bottom:12px;font-family:"Arial Black",sans-serif}
#scoreboard table{width:100%;border-collapse:collapse;font-size:14px}
#scoreboard th{font-size:10px;letter-spacing:2px;color:#8a8064;text-align:left;padding:4px 10px;border-bottom:1px solid #444}
#scoreboard td{padding:5px 10px;color:#e8e0cc}
#scoreboard tr.tp td:first-child{border-left:3px solid var(--red)}
#scoreboard tr.tb td:first-child{border-left:3px solid var(--green)}
#scoreboard tr.me td{background:rgba(255,210,63,.1)}

/* ---------- match end ---------- */
#match-end .panel{min-width:520px}
#match-title{font-size:38px;letter-spacing:4px;text-shadow:0 4px 0 #000}
#match-stats{display:flex;gap:26px;font-family:Consolas,monospace;font-size:15px;color:#c9bfa4}
#match-stats b{color:var(--yellow);font-size:24px;display:block;text-align:center}
