@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Orbitron:wght@400;700;900&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:JetBrains Mono,monospace;background:#0a0a0a;color:#0f0;overflow-x:hidden;line-height:1.4}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(0,255,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,0,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:-1}.app{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a)}.header{background:#000c;border-bottom:2px solid #00ff00;padding:1rem 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.logo{font-family:Orbitron,monospace;font-size:1.8rem;font-weight:900;color:#0f0;text-shadow:0 0 10px #00ff00;letter-spacing:2px}.nav{display:flex;gap:2rem}.nav-link{color:#0f0;text-decoration:none;padding:.5rem 1rem;border:1px solid transparent;transition:all .3s;font-weight:500}.nav-link:hover,.nav-link.active{border-color:#0f0;background:#00ff001a;box-shadow:0 0 10px #00ff004d}.main{max-width:1200px;margin:0 auto;padding:2rem}.terminal{background:#000c;border:1px solid #00ff00;border-radius:8px;margin:2rem 0;overflow:hidden;box-shadow:0 0 20px #00ff004d}.terminal-header{background:#00ff001a;padding:.5rem 1rem;border-bottom:1px solid #00ff00;font-size:.9rem;font-weight:500}.terminal-body{padding:1.5rem}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.challenge-card{background:#0009;border:1px solid #00ff00;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.challenge-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,0,.1),transparent);transition:left .5s}.challenge-card:hover:before{left:100%}.challenge-card:hover{border-color:#0f0;background:#00ff000d;box-shadow:0 0 15px #00ff004d;transform:translateY(-2px)}.challenge-title{font-size:1.2rem;font-weight:700;color:#0f0;margin-bottom:.5rem}.challenge-description{color:#888;margin-bottom:1rem;line-height:1.5}.challenge-meta{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.difficulty{padding:.3rem .8rem;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.difficulty.easy{background:#0f03;color:#0f0;border:1px solid #00ff00}.difficulty.medium{background:#ff03;color:#ff0;border:1px solid #ffff00}.difficulty.hard{background:#f003;color:red;border:1px solid #ff0000}.points{color:#0f0;font-weight:600}.challenge-interface{background:#000c;border:1px solid #00ff00;border-radius:8px;padding:2rem;margin:2rem 0}.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.back-btn{background:transparent;border:1px solid #00ff00;color:#0f0;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .3s;font-family:inherit}.back-btn:hover{background:#00ff001a;box-shadow:0 0 10px #00ff004d}.challenge-info{margin-bottom:2rem}.challenge-info h2{font-size:1.5rem;margin-bottom:1rem;color:#0f0}.challenge-info p{color:#ccc;margin-bottom:1rem;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:#0f0;font-weight:500}.form-input,.form-textarea{width:100%;background:#000c;border:1px solid #333;border-radius:4px;padding:1rem;color:#0f0;font-family:inherit;font-size:1rem;transition:all .3s;resize:vertical}.form-input:focus,.form-textarea:focus{outline:none;border-color:#0f0;box-shadow:0 0 10px #00ff004d}.form-textarea{min-height:120px}.btn{background:transparent;border:1px solid #00ff00;color:#0f0;padding:.8rem 1.5rem;border-radius:4px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.btn:hover{background:#00ff001a;box-shadow:0 0 10px #00ff004d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#0f03}.btn-secondary{border-color:#666;color:#666}.btn-secondary:hover{border-color:#0f0;color:#0f0}.btn-hint{background:#ff03;border-color:#ff0;color:#ff0}.btn-hint:hover{background:#ffff004d;box-shadow:0 0 10px #ffff004d}.response-display{background:#000000e6;border:1px solid #333;border-radius:8px;padding:1.5rem;margin:2rem 0;font-family:JetBrains Mono,monospace;line-height:1.6}.response-display.success{border-color:#0f0;background:#00ff001a}.response-display.error{border-color:red;background:#ff00001a;color:#f99}.response-display pre{white-space:pre-wrap;word-wrap:break-word;color:#ccc}.hint-display{background:#ffff001a;border:1px solid #ffff00;border-radius:8px;padding:1.5rem;margin:2rem 0;color:#ff0}.hint-display h3{margin-bottom:1rem;color:#ff0}.loading{display:inline-block;color:#0f0}.loading:after{content:"";animation:loading 1s infinite}@keyframes loading{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:#0f0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0c0}.challenge-card.locked{border-color:#666;background:#6464641a}.challenge-card.locked:hover{border-color:#888;transform:none}.flag-display{background:linear-gradient(45deg,#010,#020);border:2px solid #00ff00;padding:1.5rem;border-radius:8px;margin:1rem 0;text-align:center}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;padding:0 1rem}.nav{gap:1rem}.main{padding:1rem}.challenge-grid{grid-template-columns:1fr}.challenge-header{flex-direction:column;gap:1rem;align-items:flex-start}.challenge-meta{flex-direction:column;gap:.5rem;align-items:flex-start}}.glitch{position:relative;color:#0f0;font-size:3rem;font-weight:900;text-transform:uppercase;letter-spacing:5px;animation:glitch 2s infinite}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{color:red;animation:glitch-1 2s infinite}.glitch:after{color:#00f;animation:glitch-2 2s infinite}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-1{0%,to{transform:translate(0)}20%{transform:translate(2px,-2px)}40%{transform:translate(-2px,2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}@keyframes glitch-2{0%,to{transform:translate(0)}20%{transform:translate(-2px,-2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(-2px,2px)}}
