@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.password-protection-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;align-items:center;z-index:9999}.password-protection-modal{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 20px 40px #0000004d;max-width:400px;width:90%;text-align:center;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.password-protection-header h1{margin:0 0 .5rem;color:#333;font-size:1.8rem}.password-protection-header p{margin:0 0 2rem;color:#666;font-size:1rem}.password-form{margin-bottom:1.5rem}.input-group{margin-bottom:1rem;text-align:left}.input-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.input-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.input-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c53030;padding:.75rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fed7d7;font-size:.9rem}.submit-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.submit-button:active{transform:translateY(0)}.password-protection-footer p{margin:0;color:#666;font-size:.85rem}.password-protection-loading{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;color:#fff}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.authenticated-app{position:relative;min-height:100vh}.logout-security-button{position:fixed;top:20px;right:20px;background:#000000b3;color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;cursor:pointer;z-index:1000;transition:background-color .3s ease}.logout-security-button:hover{background:#000000e6}@media (max-width: 480px){.password-protection-modal{margin:1rem;padding:1.5rem}.password-protection-header h1{font-size:1.5rem}.logout-security-button{top:10px;right:10px;padding:.4rem .8rem;font-size:.75rem}}*{margin:0;padding:0;box-sizing:border-box}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #2ecc7166}70%{transform:scale(1.05);box-shadow:0 0 0 10px #2ecc7100}to{transform:scale(1);box-shadow:0 0 #2ecc7100}}body{font-family:"Press Start 2P",monospace;background:linear-gradient(135deg,#0d1b2a,#1a1a2e);color:#e8e8e8;min-height:100vh;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;font-size:12px;line-height:1.6}@keyframes pixel-glow{0%,to{box-shadow:0 0 5px #00e5ff,0 0 10px #00e5ff,0 0 15px #00e5ff}50%{box-shadow:0 0 10px #00e5ff,0 0 20px #00e5ff,0 0 30px #00e5ff}}@keyframes hologram-float{0%,to{transform:translateY(0) rotate(0);opacity:.7}25%{transform:translateY(-10px) rotate(1deg);opacity:.9}50%{transform:translateY(-5px) rotate(-1deg);opacity:1}75%{transform:translateY(-15px) rotate(.5deg);opacity:.8}}@keyframes circuit-scan{0%{background-position:0% 0%}to{background-position:100% 100%}}@keyframes terminal-blink{0%,50%{opacity:1}51%,to{opacity:0}}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:2px solid #00E5FF;border-radius:0;padding:24px;box-shadow:0 0 20px #00e5ff4d;margin-bottom:20px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#00e5ff,#b388ff,#8eff8b,#ffe66d);animation:circuit-scan 3s linear infinite}.btn{padding:12px 24px;border:3px solid #00E5FF;background:linear-gradient(135deg,#1e1e2e,#2a2a3e);color:#00e5ff;font-family:"Press Start 2P",monospace;font-size:10px;cursor:pointer;transition:all .3s;border-radius:0;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,229,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{background:linear-gradient(135deg,#2a2a3e,#3a3a4e);box-shadow:0 0 20px #00e5ff80;transform:translateY(-2px)}.btn-primary{border-color:#00e5ff;color:#00e5ff}.btn-primary:hover{border-color:#5affe7;color:#5affe7}.btn-secondary{border-color:#b388ff;color:#b388ff}.btn-secondary:hover{border-color:#d4afff;color:#d4afff}.btn-danger{border-color:#ff6b6b;color:#ff6b6b}.btn-success{border-color:#8eff8b;color:#8eff8b}.btn-pixel{animation:pixel-glow 2s ease-in-out infinite alternate}.btn-glow{animation:pixel-glow 3s ease-in-out infinite}.btn:disabled{opacity:.5;cursor:not-allowed;animation:none}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:#8eff8b;font-size:10px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #00E5FF;border-radius:0;background:#1a1a2e;color:#e8e8e8;font-family:"Press Start 2P",monospace;font-size:10px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#ffe66d;box-shadow:0 0 10px #ffe66d80}.error{color:#ff6b6b;font-size:10px;margin-top:8px;text-shadow:0 0 5px rgba(255,107,107,.5)}.success{color:#8eff8b;font-size:10px;margin-top:8px;text-shadow:0 0 5px rgba(142,255,139,.5)}.navbar{background:linear-gradient(135deg,#0d1b2a,#1a1a2e);border-bottom:3px solid #00E5FF;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.navbar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,229,255,.1) 10px,rgba(0,229,255,.1) 11px);pointer-events:none}.navbar-brand{font-size:16px;font-weight:700;color:#ffe66d;text-shadow:0 0 10px rgba(255,230,109,.5);z-index:1;text-decoration:none}.navbar-menu{display:flex;gap:16px;align-items:center;z-index:1}.nav-link{text-decoration:none;color:#b388ff;font-size:10px;transition:all .3s;padding:8px 12px;border-radius:0;border:1px solid transparent}.nav-link:hover{color:#d4afff;background:#b388ff1a;border-color:#b388ff;text-shadow:0 0 5px rgba(179,136,255,.5)}.user-info{color:#8eff8b;font-size:10px;margin-right:8px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.badge{display:inline-block;padding:4px 8px;border-radius:0;font-size:8px;font-weight:700;border:1px solid;font-family:"Press Start 2P",monospace}.badge-success{background:#8eff8b33;color:#8eff8b;border-color:#8eff8b}.badge-danger{background:#ff6b6b33;color:#ff6b6b;border-color:#ff6b6b}.badge-warning{background:#ffc16d33;color:#ffc16d;border-color:#ffc16d}.badge-info{background:#00e5ff33;color:#00e5ff;border-color:#00e5ff}table{width:100%;border-collapse:collapse;border:2px solid #00E5FF}table th,table td{padding:12px;text-align:left;border-bottom:1px solid #00E5FF;border-right:1px solid #00E5FF}table th{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);font-weight:700;color:#ffe66d;border-bottom:2px solid #00E5FF}.home-page{min-height:100vh}.hero-section{position:relative;height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:3px solid #00E5FF}.home-hero-fullscreen{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0;padding:0}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0d1b2a,#1a1a2e);opacity:.9}.hero-background:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(0,229,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(179,136,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(142,255,139,.05) 0%,transparent 50%)}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;padding:0 20px}.hero-title{font-size:32px;color:#ffe66d;text-shadow:0 0 20px rgba(255,230,109,.8);margin-bottom:20px;line-height:1.2}.hero-subtitle{font-size:14px;color:#b388ff;margin-bottom:40px;line-height:1.6}.hero-actions{margin-top:20px}.floating-elements{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.pixel-hologram{position:absolute;font-size:10px;color:#00e5ff99;font-family:"Press Start 2P",monospace;animation:hologram-float 6s ease-in-out infinite;text-shadow:0 0 10px rgba(0,229,255,.5)}.hologram-1{top:20%;left:10%;animation-delay:0s}.hologram-2{top:60%;right:15%;animation-delay:2s}.hologram-3{bottom:25%;left:70%;animation-delay:4s}.leaderboard-row{display:grid;grid-template-columns:1fr 3fr 1fr;padding:15px;border-bottom:1px solid rgba(0,229,255,.1);transition:background .3s}.leaderboard-row:hover{background:#00e5ff0d}.rank{color:#ffe66d;font-weight:700}.team{color:#8eff8b}.score{color:#b388ff;text-align:right}.text-center{text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0d1b2ae6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:3px solid #00E5FF;border-radius:0;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 50px #00e5ff4d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #00E5FF;padding-bottom:15px}.modal-title{font-size:16px;color:#ffe66d;text-shadow:0 0 10px rgba(255,230,109,.5)}.close-btn{background:none;border:none;font-size:16px;cursor:pointer;color:#ff6b6b;transition:all .3s}.close-btn:hover{color:#ff8b8b;text-shadow:0 0 5px rgba(255,107,107,.5)}.loading{text-align:center;padding:40px;color:#00e5ff;font-size:14px;text-shadow:0 0 10px rgba(0,229,255,.5)}.main-layout{min-height:100vh;background:linear-gradient(135deg,#0d1b2a,#1a1a2e)}.main-content{margin-left:0;margin-right:320px;padding:20px}.sidebar{position:fixed;right:0;top:80px;width:300px;height:calc(100vh - 80px);background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-left:3px solid #00E5FF;overflow-y:auto;z-index:100;box-shadow:-5px 0 20px #00e5ff33}.leaderboard-sidebar{padding:20px}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #00E5FF;padding-bottom:15px}.sidebar-header h3{margin:0;color:#ffe66d;font-size:14px;text-shadow:0 0 10px rgba(255,230,109,.5)}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-item{display:flex;align-items:center;padding:12px;background:linear-gradient(135deg,#2a2a3e,#3a3a4e);border:1px solid rgba(0,229,255,.3);border-radius:0;transition:all .3s}.leaderboard-item:hover{background:linear-gradient(135deg,#3a3a4e,#4a4a5e);border-color:#00e5ff;box-shadow:0 0 15px #00e5ff33}.leaderboard-rank{font-weight:700;color:#ffe66d;margin-right:12px;min-width:30px;text-shadow:0 0 5px rgba(255,230,109,.5)}.leaderboard-info{flex:1}.leaderboard-team{font-weight:700;color:#8eff8b;font-size:10px;text-shadow:0 0 5px rgba(142,255,139,.3)}.leaderboard-score{color:#b388ff;font-size:8px;margin-top:2px}.leaderboard-status{margin-top:4px}.btn-xs{padding:4px 8px;font-size:8px;min-width:auto;border:1px solid}.btn-sm{padding:6px 12px;font-size:8px}.badge-xs{font-size:6px;padding:2px 6px}.sidebar-loading{text-align:center;padding:40px;color:#00e5ff;text-shadow:0 0 10px rgba(0,229,255,.5)}.room-view{min-height:100vh;background:linear-gradient(135deg,#0d1b2a,#1a1a2e)}.room-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:2px solid #00E5FF;margin-bottom:20px}.room-title{color:#ffe66d;font-size:24px;margin:0;text-shadow:0 0 15px rgba(255,230,109,.5)}.room-description{color:#b388ff;font-size:12px;margin:8px 0 0}.room-locked{text-align:center;border:2px solid #FF6B6B}.room-progress{background:linear-gradient(135deg,#2a2a3e,#3a3a4e);border:2px solid #8EFF8B;margin-bottom:20px}.progress-info{display:flex;justify-content:space-between;margin-bottom:12px;color:#8eff8b;font-size:10px}.progress-bar{height:8px;background:#00e5ff33;border:1px solid #00E5FF;position:relative;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#8eff8b,#00e5ff);transition:width .3s}.puzzles-layout{display:grid;grid-template-columns:1fr 2fr;gap:20px}.puzzles-sidebar{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:2px solid #00E5FF;height:fit-content}.sidebar-title{color:#ffe66d;font-size:14px;margin:0 0 16px;text-align:center;border-bottom:2px solid #00E5FF;padding-bottom:12px}.puzzles-list{display:flex;flex-direction:column;gap:12px}.puzzle-item{background:linear-gradient(135deg,#2a2a3e,#3a3a4e);border:2px solid rgba(0,229,255,.3);padding:12px;cursor:pointer;transition:all .3s;position:relative}.puzzle-item:hover{border-color:#00e5ff;transform:translate(5px)}.puzzle-item.active{border-color:#ffe66d;background:linear-gradient(135deg,#3a3a4e,#4a4a5e);box-shadow:0 0 15px #ffe66d4d}.puzzle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.room-question-badge{font-size:8px;color:#ff6b6b;background:#ff6b6b33;padding:2px 6px;border:1px solid #FF6B6B;font-weight:700}.puzzle-number{font-size:10px;color:#8eff8b;background:#8eff8b33;padding:2px 6px;border:1px solid #8EFF8B}.puzzle-title{color:#00e5ff;font-size:12px;margin:0 0 8px;line-height:1.3}.puzzle-meta{display:flex;justify-content:flex-end}.points-reward{font-size:9px;color:#ffe66d;background:#ffe66d33;padding:2px 8px;border:1px solid #FFE66D}.puzzle-content{min-height:400px}.puzzle-view{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:2px solid #FFE66D;box-shadow:0 0 20px #ffe66d4d}.puzzle-header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;border-bottom:2px solid #FFE66D;padding-bottom:16px}.puzzle-title-section{flex:1}.puzzle-title{color:#ffe66d;font-size:18px;margin:8px 0 0;line-height:1.3}.puzzle-reward{text-align:right}.points-display{font-size:10px;color:#8eff8b;background:#8eff8b33;padding:8px 12px;border:2px solid #8EFF8B;font-weight:700;text-transform:uppercase}.puzzle-description{background:#00e5ff1a;border:1px solid #00E5FF;padding:16px;margin-bottom:20px;color:#e8e8e8;font-size:11px;line-height:1.6}.flag-submission{background:#8eff8b1a;border:2px solid #8EFF8B;padding:20px;margin-bottom:20px}.flag-label{color:#8eff8b;font-size:10px;font-weight:700;display:block;margin-bottom:8px;text-transform:uppercase}.flag-input{width:100%;padding:12px;border:2px solid #8EFF8B;background:#8eff8b1a;color:#e8e8e8;font-family:"Press Start 2P",monospace;font-size:10px;margin-bottom:12px}.flag-input:focus{outline:none;border-color:#00e5ff;box-shadow:0 0 10px #00e5ff4d}.flag-submit{width:100%;font-size:10px;padding:12px}.submission-result{padding:12px;margin-bottom:12px;font-size:10px;text-align:center;font-weight:700}.submission-result.success{color:#8eff8b;background:#8eff8b33;border:1px solid #8EFF8B}.submission-result.error{color:#ff6b6b;background:#ff6b6b33;border:1px solid #FF6B6B}.clues-section{background:#b388ff1a;border:2px solid #B388FF;padding:20px}.clues-title{color:#b388ff;font-size:14px;margin:0 0 16px;text-align:center;text-transform:uppercase;border-bottom:2px solid #B388FF;padding-bottom:8px}.clues-list{display:flex;flex-direction:column;gap:12px}.clue-item{border:2px solid;padding:12px}.clue-item.available{border-color:#b388ff;background:#b388ff1a}.clue-item.purchased{border-color:#8eff8b;background:#8eff8b1a}.clue-cost{color:#ffe66d;font-size:9px;margin:0 0 8px;text-align:center}.clue-content p{color:#e8e8e8;font-size:10px;line-height:1.5;margin:0}.clue-purchase{text-align:center}@media (max-width: 768px){.main-content{margin-right:0;padding-right:20px}.sidebar{display:none}.hero-title{font-size:24px}.hero-subtitle{font-size:12px}.navbar-menu{flex-wrap:wrap;gap:8px}.features-grid,.challenges-grid,.puzzles-layout{grid-template-columns:1fr}.room-header{flex-direction:column;gap:16px;text-align:center}.puzzle-header-section{flex-direction:column;gap:12px}.puzzle-reward{text-align:center}}
