/* ══════════════════════════════════════════════════════════════
   ARQADEX CTF PLATFORM — Complete Design System
   ctf.arqadex.site © 2025
══════════════════════════════════════════════════════════════ */
:root{
  --bg:#020208;--bg2:#05050F;--bg3:#0A0A1E;--bg4:#0F0F28;
  --c:#00F5FF;--p:#FF2DA6;--v:#7A5CFF;--li:#C7FF4D;
  --or:#FF8800;--re:#FF2020;--tx:#F0F0FF;--mu:#404060;--si:#8888AA;
  --orb:'Orbitron',monospace;--mono:'Space Mono',monospace;
  --cat-web:#00F5FF;--cat-pwn:#FF4444;--cat-crypto:#FF2DA6;
  --cat-re:#7A5CFF;--cat-osint:#C7FF4D;--cat-dfir:#FF8800;
  --cat-stego:#00FFAA;--cat-mal:#FFD700;--cat-misc:#8888AA;
  --r4:4px;--r8:8px;--r12:12px;--r16:16px;--r20:20px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--tx);font-family:var(--orb);overflow-x:hidden;cursor:none;min-height:100vh;}
a{text-decoration:none;color:inherit;}
button,input,select,textarea{font-family:var(--orb);}
button{cursor:none;}
input,select,textarea{cursor:text;}
img{max-width:100%;}
#bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;}
.scanlines{position:fixed;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,245,255,.012) 2px,rgba(0,245,255,.012) 4px);}
#cursor-dot{position:fixed;width:8px;height:8px;background:var(--c);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);box-shadow:0 0 8px var(--c);transition:width .15s,height .15s;}
#cursor-ring{position:fixed;width:26px;height:26px;border:1.5px solid rgba(0,245,255,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .1s ease,top .1s ease,width .2s,height .2s;}
#cursor-dot.hover{width:6px;height:6px;}
#cursor-ring.hover{width:36px;height:36px;border-color:rgba(0,245,255,.2);}
#nav-root{position:fixed;top:0;left:0;right:0;z-index:500;}
#app-root{position:relative;z-index:2;min-height:100vh;}
#modal-root{position:fixed;inset:0;z-index:800;pointer-events:none;}
#modal-root.active{pointer-events:all;}
#toast-container{position:fixed;top:80px;right:24px;z-index:900;display:flex;flex-direction:column;gap:10px;}

/* ── NAV ── */
.nav{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(2,2,8,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.05);transition:border-color .3s;}
.nav.scrolled{border-color:rgba(0,245,255,.08);}
.nav-logo{font-size:15px;font-weight:900;letter-spacing:3px;display:flex;align-items:center;gap:6px;}
.nl-bracket{color:var(--mu);}.nl-site{color:var(--c);}.nl-slash{color:var(--p);}
.nl-domain{color:rgba(255,255,255,.3);font-size:10px;letter-spacing:2px;}
.nav-links{display:flex;align-items:center;gap:24px;}
.nav-link{font-size:9px;letter-spacing:3px;color:var(--si);transition:color .2s;padding:4px 0;}
.nav-link:hover,.nav-link.active{color:var(--c);}
.nav-link.active{border-bottom:1px solid var(--c);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-notif{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r8);font-size:14px;cursor:none;transition:all .2s;}
.nav-notif:hover{border-color:rgba(0,245,255,.3);}
.notif-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:var(--p);border-radius:50%;font-size:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;}
.nav-user{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r8);padding:6px 12px;cursor:none;transition:all .2s;}
.nav-user:hover{border-color:rgba(0,245,255,.25);}
.nav-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--c),var(--v));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;}
.nav-uname{font-size:10px;letter-spacing:1px;color:var(--tx);}
.btn-nav{font-size:9px;font-weight:700;letter-spacing:3px;padding:8px 18px;border-radius:var(--r4);cursor:none;transition:all .2s;border:1px solid;}
.btn-login{background:transparent;border-color:rgba(255,255,255,.12);color:var(--si);}
.btn-login:hover{border-color:rgba(0,245,255,.3);color:var(--c);}
.btn-register{background:rgba(0,245,255,.1);border-color:rgba(0,245,255,.4);color:var(--c);}
.btn-register:hover{background:rgba(0,245,255,.18);box-shadow:0 0 20px rgba(0,245,255,.15);}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:3px;padding:12px 28px;border-radius:var(--r4);border:1px solid;cursor:none;transition:all .25s;white-space:nowrap;}
.btn-primary{background:rgba(0,245,255,.1);border-color:rgba(0,245,255,.4);color:var(--c);}
.btn-primary:hover{background:rgba(0,245,255,.18);box-shadow:0 0 24px rgba(0,245,255,.18);transform:translateY(-2px);}
.btn-danger{background:rgba(255,32,32,.1);border-color:rgba(255,32,32,.4);color:var(--re);}
.btn-danger:hover{background:rgba(255,32,32,.18);}
.btn-success{background:rgba(199,255,77,.1);border-color:rgba(199,255,77,.4);color:var(--li);}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.12);color:var(--si);}
.btn-ghost:hover{border-color:rgba(255,255,255,.24);color:var(--tx);}
.btn-sm{font-size:8px;padding:7px 16px;letter-spacing:2px;}
.btn-lg{font-size:12px;padding:16px 40px;letter-spacing:5px;}
.btn:disabled{opacity:.35;pointer-events:none;}

/* ── CARDS / PANELS ── */
.card{background:rgba(5,5,18,.8);border:1px solid rgba(255,255,255,.06);border-radius:var(--r12);padding:24px;position:relative;overflow:hidden;}
.card-glow{transition:border-color .3s,box-shadow .3s;}
.card-glow:hover{border-color:rgba(0,245,255,.2);box-shadow:0 0 30px rgba(0,245,255,.06);}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--top-color,transparent);opacity:.6;}
.glass{background:rgba(255,255,255,.03);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.07);}

/* ── FORM ELEMENTS ── */
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-label{font-size:8px;letter-spacing:3px;color:var(--mu);}
.form-input{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r8);padding:12px 16px;color:var(--tx);font-family:var(--mono);font-size:12px;letter-spacing:1px;outline:none;transition:border-color .2s;}
.form-input:focus{border-color:rgba(0,245,255,.4);box-shadow:0 0 0 3px rgba(0,245,255,.07);}
.form-input::placeholder{color:var(--mu);}
.form-select{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r8);padding:11px 16px;color:var(--tx);font-family:var(--orb);font-size:10px;letter-spacing:2px;outline:none;}
.form-textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r8);padding:12px 16px;color:var(--tx);font-family:var(--mono);font-size:12px;letter-spacing:.5px;outline:none;resize:vertical;min-height:100px;line-height:1.7;}
.form-textarea:focus,.form-select:focus{border-color:rgba(0,245,255,.4);}

/* ── BADGES / TAGS ── */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:8px;font-weight:700;letter-spacing:3px;padding:4px 10px;border-radius:var(--r4);border:1px solid;}
.badge-live{color:var(--li);border-color:rgba(199,255,77,.3);background:rgba(199,255,77,.08);animation:livepulse 2s infinite;}
@keyframes livepulse{0%,100%{box-shadow:0 0 0 0 rgba(199,255,77,.3);}50%{box-shadow:0 0 0 6px rgba(199,255,77,0);}}
.badge-upcoming{color:var(--c);border-color:rgba(0,245,255,.2);background:rgba(0,245,255,.06);}
.badge-past{color:var(--mu);border-color:rgba(64,64,96,.4);background:rgba(64,64,96,.08);}
.badge-cat{font-size:8px;padding:3px 9px;border-radius:3px;}
.dot-live{width:7px;height:7px;border-radius:50%;background:var(--li);box-shadow:0 0 8px var(--li);animation:livepulse 1.5s infinite;}

/* ── LAYOUT ── */
.container{max-width:1280px;margin:0 auto;padding:0 32px;}
.section{padding:100px 0;}
.section-sm{padding:60px 0;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.flex{display:flex;}.flex-col{flex-direction:column;}
.items-center{align-items:center;}.justify-between{justify-content:space-between;}
.gap-4{gap:4px;}.gap-8{gap:8px;}.gap-12{gap:12px;}.gap-16{gap:16px;}.gap-24{gap:24px;}
.text-center{text-align:center;}
.page-wrap{padding-top:60px;min-height:100vh;}

/* ── TYPOGRAPHY ── */
.eyebrow{font-size:9px;letter-spacing:6px;color:rgba(0,245,255,.45);margin-bottom:12px;}
.title-hero{font-size:clamp(44px,8vw,96px);font-weight:900;letter-spacing:4px;line-height:1.0;}
.title-xl{font-size:clamp(32px,5vw,56px);font-weight:900;letter-spacing:3px;line-height:1.1;}
.title-lg{font-size:clamp(24px,3vw,36px);font-weight:700;letter-spacing:2px;}
.title-md{font-size:18px;font-weight:700;letter-spacing:2px;}
.title-sm{font-size:13px;font-weight:700;letter-spacing:2px;}
.mono{font-family:var(--mono);}
.text-c{color:var(--c);}.text-p{color:var(--p);}.text-v{color:var(--v);}
.text-li{color:var(--li);}.text-mu{color:var(--mu);}.text-si{color:var(--si);}
.glow-c{text-shadow:0 0 30px rgba(0,245,255,.5);}
.glow-p{text-shadow:0 0 30px rgba(255,45,166,.5);}
.gradient-text{background:linear-gradient(135deg,var(--c) 20%,var(--v) 60%,var(--p));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:80px 32px 40px;}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,245,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,255,.03) 1px,transparent 1px);background-size:64px 64px;pointer-events:none;}
.hero-content{text-align:center;position:relative;z-index:2;max-width:1000px;}
.hero-badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:3px;color:rgba(0,245,255,.55);border:1px solid rgba(0,245,255,.15);border-radius:20px;padding:8px 20px;background:rgba(0,245,255,.04);margin-bottom:40px;}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.3;animation:scrollbob 2s infinite;}
@keyframes scrollbob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(transparent,var(--c));}
.hero-scroll span{font-size:8px;letter-spacing:4px;color:var(--si);}

/* ── LIVE EVENT TICKER ── */
.event-ticker{background:rgba(0,245,255,.04);border:1px solid rgba(0,245,255,.1);border-radius:var(--r8);padding:14px 20px;display:flex;align-items:center;gap:16px;overflow:hidden;margin-bottom:20px;}
.ticker-label{font-size:8px;font-weight:700;letter-spacing:3px;color:var(--li);white-space:nowrap;flex-shrink:0;}
.ticker-content{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.5);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.ticker-sep{color:var(--mu);flex-shrink:0;}

/* ── EVENT CARDS ── */
.event-card{background:rgba(5,5,18,.9);border:1px solid rgba(255,255,255,.07);border-radius:var(--r16);overflow:hidden;transition:all .3s;cursor:none;position:relative;}
.event-card:hover{border-color:rgba(0,245,255,.2);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 30px rgba(0,245,255,.06);}
.ec-banner{height:120px;position:relative;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(135deg,var(--bg3),var(--bg4));}
.ec-banner-pattern{position:absolute;inset:0;opacity:.4;}
.ec-body{padding:20px;}
.ec-name{font-size:16px;font-weight:700;letter-spacing:2px;margin-bottom:8px;}
.ec-meta{display:flex;gap:16px;margin-bottom:14px;}
.ec-meta-item{font-family:var(--mono);font-size:10px;color:var(--si);display:flex;align-items:center;gap:4px;}
.ec-stats{display:flex;gap:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);}
.ec-stat{text-align:center;}.ec-stat-val{font-size:18px;font-weight:700;color:var(--c);}.ec-stat-lbl{font-size:8px;letter-spacing:2px;color:var(--mu);}
.ec-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,.2);}

/* ── SCOREBOARD ── */
.scoreboard{background:rgba(5,5,18,.95);border:1px solid rgba(0,245,255,.1);border-radius:var(--r12);overflow:hidden;}
.sb-header{padding:16px 20px;background:rgba(0,245,255,.04);border-bottom:1px solid rgba(0,245,255,.08);display:flex;justify-content:space-between;align-items:center;}
.sb-row{display:grid;grid-template-columns:48px 1fr 1fr 80px 80px;align-items:center;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .2s;}
.sb-row:hover{background:rgba(0,245,255,.03);}
.sb-row.highlight{background:rgba(0,245,255,.06);border-color:rgba(0,245,255,.1);}
.sb-rank{font-size:16px;font-weight:900;color:var(--mu);}
.sb-rank.gold{color:#FFD700;text-shadow:0 0 12px rgba(255,215,0,.4);}
.sb-rank.silver{color:#C0C0C0;}
.sb-rank.bronze{color:#CD7F32;}
.sb-team{display:flex;align-items:center;gap:10px;}
.sb-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.sb-score{font-size:18px;font-weight:900;color:var(--c);font-family:var(--mono);}
.sb-solves{font-family:var(--mono);font-size:11px;color:var(--si);}
.sb-change{font-size:10px;font-weight:700;}
.sb-change.up{color:var(--li);}
.sb-change.down{color:var(--re);}
.sb-progress{height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;grid-column:1/-1;margin:0 -20px;padding:0 20px;}
.sb-bar{height:100%;background:linear-gradient(90deg,var(--c),var(--v));border-radius:2px;transition:width 1s ease;}

/* ── CHALLENGE GRID ── */
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.ch-card{background:rgba(5,5,18,.9);border:1px solid rgba(255,255,255,.07);border-radius:var(--r12);padding:18px;cursor:none;transition:all .25s;position:relative;overflow:hidden;}
.ch-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--cat-c,var(--c));opacity:.5;}
.ch-card:hover{border-color:var(--cat-c,var(--c));transform:translateY(-3px);box-shadow:0 0 20px rgba(0,0,0,.3);}
.ch-card.solved{opacity:.55;}
.ch-card.solved::before{content:'SOLVED';position:absolute;top:8px;right:8px;font-size:7px;letter-spacing:2px;color:var(--li);border:1px solid rgba(199,255,77,.3);border-radius:3px;padding:2px 6px;}
.ch-name{font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:8px;}
.ch-pts{font-size:22px;font-weight:900;color:var(--c);margin-bottom:6px;}
.ch-solves{font-family:var(--mono);font-size:10px;color:var(--mu);}
.ch-diff{display:flex;gap:3px;margin-top:10px;}
.ch-diff-pip{width:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.1);}
.ch-diff-pip.filled{background:var(--cat-c,var(--c));}
.first-blood{position:absolute;top:8px;left:8px;font-size:9px;}

/* ── CHALLENGE MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,4,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;}
.modal{background:rgba(5,5,20,.98);border:1px solid rgba(0,245,255,.14);border-radius:var(--r16);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;}
.modal-hdr{padding:24px 28px 18px;border-bottom:1px solid rgba(255,255,255,.06);}
.modal-body{padding:24px 28px;}
.modal-close{position:absolute;top:16px;right:16px;font-family:var(--mono);font-size:10px;color:var(--mu);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r4);padding:5px 11px;cursor:none;transition:all .2s;}
.modal-close:hover{color:var(--re);border-color:rgba(255,32,32,.3);}
.flag-wrap{display:flex;gap:10px;}
.flag-inp{flex:1;background:rgba(0,0,0,.4);border:1px solid rgba(0,245,255,.2);border-radius:var(--r8);padding:13px 16px;color:var(--c);font-family:var(--mono);font-size:13px;letter-spacing:2px;outline:none;}
.flag-inp:focus{border-color:rgba(0,245,255,.5);box-shadow:0 0 12px rgba(0,245,255,.1);}
.flag-result{padding:10px 14px;border-radius:var(--r8);font-family:var(--mono);font-size:11px;letter-spacing:2px;margin-top:10px;}
.flag-ok{background:rgba(199,255,77,.06);border:1px solid rgba(199,255,77,.25);color:var(--li);}
.flag-bad{background:rgba(255,32,32,.06);border:1px solid rgba(255,32,32,.2);color:var(--re);}
.hint-item{border:1px solid rgba(255,255,255,.07);border-radius:var(--r8);overflow:hidden;margin-bottom:8px;}
.hint-hdr{display:flex;justify-content:space-between;padding:10px 14px;cursor:none;background:rgba(255,255,255,.02);}
.hint-hdr:hover{background:rgba(255,255,255,.04);}
.hint-body{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.55);padding:0 14px;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;line-height:1.7;}
.hint-body.open{max-height:120px;padding:10px 14px;}

/* ── COMPETITION LAYOUT ── */
.compete-layout{display:grid;grid-template-columns:1fr 340px;gap:0;min-height:calc(100vh - 60px);}
.compete-main{overflow-y:auto;padding:24px;border-right:1px solid rgba(255,255,255,.05);}
.compete-sidebar{overflow-y:auto;padding:16px;background:rgba(3,3,14,.6);}
.compete-timer{text-align:center;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:16px;}
.timer-digits{font-size:36px;font-weight:900;color:var(--c);letter-spacing:4px;text-shadow:0 0 20px rgba(0,245,255,.3);font-family:var(--mono);}
.timer-digits.warning{color:var(--or);text-shadow:0 0 20px rgba(255,136,0,.3);}
.timer-digits.danger{color:var(--re);text-shadow:0 0 20px rgba(255,32,32,.3);animation:blink 1s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.5;}}
.team-score-display{background:rgba(0,245,255,.05);border:1px solid rgba(0,245,255,.12);border-radius:var(--r8);padding:16px;margin-bottom:16px;text-align:center;}
.tsd-score{font-size:32px;font-weight:900;color:var(--c);font-family:var(--mono);}
.tsd-rank{font-size:10px;letter-spacing:3px;color:var(--si);margin-top:4px;}
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.cat-tab{font-size:9px;font-weight:700;letter-spacing:2px;padding:7px 16px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.02);color:var(--si);cursor:none;transition:all .2s;}
.cat-tab:hover{border-color:rgba(255,255,255,.18);color:var(--tx);}
.cat-tab.active{color:var(--tab-color,var(--c));border-color:var(--tab-color,var(--c));background:rgba(0,245,255,.06);}

/* ── NOTIFICATION FEED ── */
.notif-feed{border-radius:var(--r8);overflow:hidden;}
.notif-item{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);font-family:var(--mono);font-size:10px;line-height:1.6;color:rgba(255,255,255,.5);animation:slideInRight .3s ease;}
@keyframes slideInRight{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}
.notif-item .ni-team{color:var(--c);font-weight:700;}
.notif-item .ni-chall{color:var(--v);}
.notif-item .ni-blood{color:var(--p);font-weight:700;}

/* ── ORGANIZER DASHBOARD ── */
.org-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 60px);}
.org-sidebar{background:rgba(3,3,14,.8);border-right:1px solid rgba(255,255,255,.05);padding:24px 0;}
.org-nav-item{display:flex;align-items:center;gap:10px;padding:12px 24px;font-size:10px;letter-spacing:2px;color:var(--si);transition:all .2s;cursor:none;}
.org-nav-item:hover,.org-nav-item.active{color:var(--c);background:rgba(0,245,255,.06);}
.org-nav-item.active{border-right:2px solid var(--c);}
.org-icon{font-size:16px;width:20px;text-align:center;}
.org-main{padding:32px;overflow-y:auto;}
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;}
.stat-card{background:rgba(5,5,18,.8);border:1px solid rgba(255,255,255,.06);border-radius:var(--r12);padding:20px;}
.sc-val{font-size:32px;font-weight:900;color:var(--c);font-family:var(--mono);}
.sc-lbl{font-size:8px;letter-spacing:3px;color:var(--mu);margin-top:4px;}
.sc-trend{font-family:var(--mono);font-size:10px;color:var(--li);margin-top:8px;}

/* ── DATA TABLE ── */
.data-table{width:100%;border-collapse:collapse;}
.data-table th{text-align:left;font-size:8px;letter-spacing:3px;color:var(--mu);padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06);}
.data-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.6);}
.data-table tr:hover td{background:rgba(0,245,255,.03);}

/* ── ANTICHEAT PANEL ── */
.ac-alert{border:1px solid rgba(255,136,0,.2);background:rgba(255,136,0,.04);border-radius:var(--r8);padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:12px;}
.ac-alert.critical{border-color:rgba(255,32,32,.3);background:rgba(255,32,32,.06);}
.ac-alert.info{border-color:rgba(0,245,255,.15);background:rgba(0,245,255,.04);}
.ac-badge{font-size:7px;font-weight:700;letter-spacing:2px;padding:3px 8px;border-radius:3px;flex-shrink:0;margin-top:1px;}
.ac-badge.warn{background:rgba(255,136,0,.2);color:var(--or);}
.ac-badge.crit{background:rgba(255,32,32,.2);color:var(--re);}
.ac-badge.info{background:rgba(0,245,255,.1);color:var(--c);}
.ac-text{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.55);line-height:1.7;}

/* ── PROGRESS / BARS ── */
.progress-bar{height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;}
.progress-fill{height:100%;border-radius:2px;transition:width 1s ease;}
.progress-c{background:linear-gradient(90deg,var(--v),var(--c));}
.progress-p{background:linear-gradient(90deg,var(--p),var(--v));}
.progress-li{background:var(--li);}

/* ── ACHIEVEMENTS ── */
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;}
.ach-card{background:rgba(5,5,18,.8);border:1px solid rgba(255,255,255,.06);border-radius:var(--r12);padding:18px;text-align:center;transition:all .3s;}
.ach-card.earned{border-color:rgba(0,245,255,.2);background:rgba(0,245,255,.04);}
.ach-card.locked{opacity:.3;}
.ach-emoji{font-size:32px;margin-bottom:10px;}
.ach-name{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:4px;}
.ach-desc{font-family:var(--mono);font-size:9px;color:var(--si);}

/* ── AUTH PAGE ── */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px;}
.auth-card{background:rgba(5,5,20,.95);border:1px solid rgba(0,245,255,.12);border-radius:var(--r20);padding:48px;max-width:480px;width:100%;position:relative;}
.auth-logo{text-align:center;margin-bottom:36px;}
.role-select{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;}
.role-card{border:2px solid rgba(255,255,255,.08);border-radius:var(--r12);padding:20px;cursor:none;text-align:center;transition:all .25s;}
.role-card:hover{border-color:rgba(0,245,255,.25);}
.role-card.selected{border-color:var(--c);background:rgba(0,245,255,.06);}
.role-icon{font-size:28px;margin-bottom:8px;}
.role-name{font-size:11px;font-weight:700;letter-spacing:2px;}

/* ── TOAST ── */
.toast{background:rgba(5,5,20,.97);border:1px solid rgba(255,255,255,.1);border-radius:var(--r8);padding:14px 18px;display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.7);animation:toastIn .3s ease;min-width:280px;max-width:380px;backdrop-filter:blur(8px);}
.toast.success{border-color:rgba(199,255,77,.3);}
.toast.error{border-color:rgba(255,32,32,.3);}
.toast.info{border-color:rgba(0,245,255,.25);}
@keyframes toastIn{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}

/* ── ACHIEVEMENT POPUP ── */
.achievement-popup{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(5,5,20,.97);border:1px solid rgba(199,255,77,.3);border-radius:var(--r12);padding:16px 24px;display:flex;align-items:center;gap:16px;z-index:950;animation:achievePop .4s ease;}
.achievement-popup.hidden{display:none;}
@keyframes achievePop{from{opacity:0;transform:translateX(-50%) translateY(20px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.ach-icon{font-size:32px;}
.ach-label{font-size:8px;letter-spacing:3px;color:var(--li);}
.ach-name{font-size:14px;font-weight:700;letter-spacing:2px;color:var(--tx);}

/* ── REVEAL ANIMATION ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── UTILS ── */
.hidden{display:none!important;}
.divider{height:1px;background:rgba(255,255,255,.06);margin:24px 0;}
.neon-divider{height:1px;background:linear-gradient(90deg,transparent,var(--c),var(--p),transparent);opacity:.3;}
.chip{display:inline-block;font-size:8px;font-weight:700;letter-spacing:2px;padding:3px 10px;border-radius:20px;border:1px solid;}
.section-header{margin-bottom:48px;}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(0,245,255,.22);border-radius:3px;}

/* ── RESPONSIVE ── */
@media(max-width:1024px){.org-layout{grid-template-columns:1fr;}.org-sidebar{display:none;}.compete-layout{grid-template-columns:1fr;}.compete-sidebar{display:none;}.stat-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}.nav-links{display:none;}.container{padding:0 16px;}.hero{padding:80px 16px 40px;}.title-hero{font-size:clamp(32px,10vw,56px);}}
@media(max-width:480px){.role-select{grid-template-columns:1fr;}.btn-lg{padding:14px 28px;font-size:10px;}}
