CSS
.cnc-cyber {
--cyber-bg: #070b14;
--cyber-panel: #0d1424;
--cyber-cyan: #00f5ff;
--cyber-magenta: #ff00c8;
--cyber-green: #00ff87;
--cyber-orange: #ff6b00;
--cyber-border: rgba(0,245,255,0.2);
position: relative;
display: flex; align-items: center; justify-content: center;
padding: 40px 20px;
background: var(--cyber-bg);
background-image:
radial-gradient(ellipse at 20% 50%, rgba(0,245,255,0.05) 0%, transparent 50%),
radial-gradient(ellipse at 80% 50%, rgba(255,0,200,0.05) 0%, transparent 50%);
font-family: 'Share Tech Mono', monospace;
color: var(--cyber-cyan);
overflow: hidden;
}
.cnc-cyber::before {
content: ''; position: absolute; inset: 0;
background-image:
linear-gradient(rgba(0,245,255,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,245,255,0.03) 1px, transparent 1px);
background-size: 40px 40px; pointer-events: none;
}
.cnc-cyber-layout {
display: grid;
grid-template-columns: 280px 1fr;
grid-template-rows: auto auto auto;
gap: 12px; width: 960px;
position: relative;
}
.cnc-cyber-panel {
background: var(--cyber-panel);
border: 1px solid var(--cyber-border);
position: relative; overflow: hidden;
clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
}
.cnc-cyber-panel::before {
content: ''; position: absolute; inset: 0;
background: linear-gradient(135deg, rgba(0,245,255,0.03) 0%, transparent 60%);
pointer-events: none;
}
.cnc-cyber-ph {
padding: 10px 16px;
border-bottom: 1px solid var(--cyber-border);
font-family: 'Orbitron', sans-serif;
font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
color: rgba(0,245,255,0.5);
display: flex; align-items: center; gap: 8px;
}
.cnc-cyber-ph::before {
content: ''; width: 6px; height: 6px;
background: var(--cyber-cyan);
box-shadow: 0 0 8px var(--cyber-cyan);
animation: cnc-cyber-blink 1.5s step-end infinite;
}
@keyframes cnc-cyber-blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.1; }
}
.cnc-cyber-profile { grid-row: span 3; padding: 24px 20px; }
.cnc-cyber-avatar {
width: 100px; height: 100px;
margin: 8px auto 20px;
position: relative;
}
.cnc-cyber-avatar-hex {
width: 100%; height: 100%;
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
background: linear-gradient(135deg, #1a2540, #0d1424);
border: 2px solid var(--cyber-cyan);
display: flex; align-items: center; justify-content: center;
font-size: 36px;
box-shadow: 0 0 20px rgba(0,245,255,0.3), inset 0 0 20px rgba(0,245,255,0.05);
animation: cnc-cyber-hexPulse 3s ease-in-out infinite;
}
@keyframes cnc-cyber-hexPulse {
0%, 100% { box-shadow: 0 0 20px rgba(0,245,255,0.3), inset 0 0 20px rgba(0,245,255,0.05); }
50% { box-shadow: 0 0 40px rgba(0,245,255,0.5), inset 0 0 30px rgba(0,245,255,0.1); }
}
.cnc-cyber-rank-badge {
position: absolute; top: -6px; right: -6px;
background: var(--cyber-magenta); color: #fff;
font-family: 'Orbitron', sans-serif;
font-size: 10px; font-weight: 700;
padding: 3px 7px;
clip-path: polygon(0 0, 100% 0, 100% 70%, 90% 100%, 0 100%);
box-shadow: 0 0 12px var(--cyber-magenta);
}
.cnc-cyber-player-name {
font-family: 'Orbitron', sans-serif;
font-size: 18px; font-weight: 900;
text-align: center; color: #fff;
text-shadow: 0 0 20px var(--cyber-cyan);
letter-spacing: 2px; margin-bottom: 4px;
}
.cnc-cyber-player-tag {
font-size: 11px; color: rgba(0,245,255,0.4);
text-align: center; margin-bottom: 24px; letter-spacing: 1px;
}
.cnc-cyber-stat-row {
display: flex; justify-content: space-between; align-items: center;
padding: 10px 0;
border-bottom: 1px solid rgba(0,245,255,0.08);
}
.cnc-cyber-stat-row-label {
font-size: 10px; color: rgba(0,245,255,0.4);
letter-spacing: 2px; text-transform: uppercase;
}
.cnc-cyber-stat-row-val {
font-size: 15px; color: #fff;
font-family: 'Orbitron', sans-serif; font-weight: 700;
}
.cnc-cyber-cyan { color: var(--cyber-cyan); text-shadow: 0 0 10px var(--cyber-cyan); }
.cnc-cyber-magenta { color: var(--cyber-magenta); text-shadow: 0 0 10px var(--cyber-magenta); }
.cnc-cyber-green { color: var(--cyber-green); text-shadow: 0 0 10px var(--cyber-green); }
.cnc-cyber-big-counter {
padding: 20px 24px;
display: flex; flex-direction: column; justify-content: center;
}
.cnc-cyber-bc-label {
font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
color: rgba(0,245,255,0.4); margin-bottom: 8px;
}
.cnc-cyber-bc-num {
font-family: 'Orbitron', sans-serif;
font-size: clamp(40px, 5vw, 62px); font-weight: 900;
line-height: 1; color: #fff;
text-shadow: 0 0 30px var(--cyber-cyan), 0 0 60px rgba(0,245,255,0.3);
letter-spacing: -1px;
}
.cnc-cyber-magenta-glow { text-shadow: 0 0 30px var(--cyber-magenta), 0 0 60px rgba(255,0,200,0.3); color: var(--cyber-magenta); }
.cnc-cyber-green-glow { text-shadow: 0 0 30px var(--cyber-green), 0 0 60px rgba(0,255,135,0.3); color: var(--cyber-green); }
.cnc-cyber-bc-sub {
font-size: 10px; color: rgba(0,245,255,0.3);
margin-top: 8px; letter-spacing: 1px;
}
.cnc-cyber-skill-grid { padding: 16px 20px; }
.cnc-cyber-skill-item {
display: grid;
grid-template-columns: 80px 1fr 40px;
align-items: center; gap: 12px; margin-bottom: 10px;
}
.cnc-cyber-skill-name {
font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
color: rgba(0,245,255,0.5);
}
.cnc-cyber-skill-bar {
height: 6px; background: rgba(255,255,255,0.05);
position: relative; overflow: visible;
clip-path: polygon(0 0, 100% 0, 100% 100%, 4px 100%);
}
.cnc-cyber-skill-fill {
height: 100%; transform: scaleX(0); transform-origin: left;
animation: cnc-cyber-fillSkill 1.2s ease forwards;
position: relative;
}
.cnc-cyber-skill-fill::after {
content: ''; position: absolute; right: -2px; top: 50%;
transform: translateY(-50%); width: 8px; height: 8px;
background: currentColor;
box-shadow: 0 0 8px currentColor;
clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.cnc-cyber-sf1 { background: var(--cyber-cyan); color: var(--cyber-cyan); width: 94%; animation-delay: 0.4s; }
.cnc-cyber-sf2 { background: var(--cyber-magenta); color: var(--cyber-magenta); width: 87%; animation-delay: 0.55s; }
.cnc-cyber-sf3 { background: var(--cyber-green); color: var(--cyber-green); width: 78%; animation-delay: 0.7s; }
.cnc-cyber-sf4 { background: var(--cyber-orange); color: var(--cyber-orange); width: 91%; animation-delay: 0.85s; }
.cnc-cyber-sf5 { background: var(--cyber-cyan); color: var(--cyber-cyan); width: 65%; animation-delay: 1.0s; }
.cnc-cyber-sf6 { background: var(--cyber-magenta); color: var(--cyber-magenta); width: 82%; animation-delay: 1.15s; }
@keyframes cnc-cyber-fillSkill { to { transform: scaleX(1); } }
.cnc-cyber-skill-pct {
font-size: 11px; text-align: right;
color: rgba(255,255,255,0.5);
}
.cnc-cyber-counter-row {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 12px; grid-column: 2;
}
.cnc-cyber-xp-panel { padding: 16px 20px; grid-column: 2; }
.cnc-cyber-xp-label {
display: flex; justify-content: space-between;
font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
color: rgba(0,245,255,0.4); margin-bottom: 8px;
}
.cnc-cyber-xp-track {
height: 8px; background: rgba(255,255,255,0.05);
position: relative; overflow: hidden;
clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.cnc-cyber-xp-fill {
height: 100%;
background: linear-gradient(90deg, var(--cyber-cyan), var(--cyber-magenta), var(--cyber-green));
transform: scaleX(0); transform-origin: left;
animation: cnc-cyber-xpFill 2s ease forwards 0.5s;
width: 73%;
box-shadow: 0 0 12px var(--cyber-cyan);
}
@keyframes cnc-cyber-xpFill { to { transform: scaleX(1); } }
@keyframes cnc-cyber-glitch {
0%, 90%, 100% { text-shadow: 0 0 30px var(--cyber-cyan); clip-path: none; transform: none; }
92% { clip-path: inset(20% 0 60% 0); transform: translateX(-3px); text-shadow: -2px 0 var(--cyber-magenta); }
94% { clip-path: inset(60% 0 10% 0); transform: translateX(3px); text-shadow: 2px 0 var(--cyber-cyan); }
96% { clip-path: none; transform: none; }
}
.cnc-cyber-glitch { animation: cnc-cyber-glitch 5s infinite; }
@media (prefers-reduced-motion: reduce) {
.cnc-cyber-ph::before, .cnc-cyber-avatar-hex, .cnc-cyber-skill-fill,
.cnc-cyber-xp-fill, .cnc-cyber-glitch { animation: none; }
}