:root{--bg-dark: #050505;--bg-panel: #111;--primary: #0f0;--secondary: #00f0ff;--accent: #f0f;--text-main: #fff;--text-dim: #888;--font-display: "Orbitron", sans-serif;--font-body: "Share Tech Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-main);height:100vh;overflow:hidden;background-image:linear-gradient(rgba(0,255,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,0,.05) 1px,transparent 1px);background-size:50px 50px}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:20px}.App{width:100%;height:100%;max-width:1200px;display:flex;justify-content:center;align-items:center}.dashboard-panel{width:100%;height:90%;background:#0a0a0ae6;border:2px solid var(--secondary);box-shadow:0 0 20px #00f0ff33;display:flex;flex-direction:column;position:relative;overflow:hidden}.dashboard-panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,255,0,.03) 3px);pointer-events:none;z-index:10}.panel-header{height:60px;border-bottom:1px solid var(--secondary);display:flex;justify-content:space-between;align-items:center;padding:0 20px;background:#00f0ff1a}.status-blink{font-family:var(--font-display);color:var(--accent);animation:blink 2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.panel-id{font-family:var(--font-display);color:var(--secondary)}.welcome-panel .mission-content{flex:1;display:flex;padding:40px;gap:40px;align-items:center}.mission-brief{flex:2}.mission-brief h1{font-family:var(--font-display);font-size:3rem;color:var(--primary);margin-bottom:20px;text-shadow:0 0 10px var(--primary)}.typewriter{font-size:1.2rem;color:var(--text-main);border-right:2px solid var(--primary);white-space:nowrap;overflow:hidden;animation:typing 3s steps(40,end),blink-caret .75s step-end infinite;max-width:fit-content}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--primary)}}.mission-stats{margin-top:40px;display:flex;gap:30px}.stat-box{background:#ffffff0d;padding:15px;border:1px solid #333;min-width:200px}.stat-box label{display:block;color:var(--secondary);font-size:.8rem;margin-bottom:10px}.stat-bar{height:10px;background:#333}.stat-bar div{height:100%;background:var(--accent)}.character-select{flex:1;display:flex;flex-direction:column;align-items:center;border:1px solid var(--secondary);padding:20px;background:#00f0ff0d}.avatar-frame{width:150px;height:150px;border:2px solid var(--primary);display:flex;justify-content:center;align-items:center;font-size:4rem;margin-bottom:10px;box-shadow:0 0 20px #0f03}.split-layout{flex:1;display:flex;overflow:hidden}.left-col{flex:1;padding:40px;border-right:1px solid var(--secondary);display:flex;flex-direction:column;justify-content:center}.right-col{flex:1;padding:40px;overflow-y:auto;background:#00000080}.question-display .label{color:var(--accent);font-size:.9rem;margin-bottom:10px;display:block}.question-display h2{font-family:var(--font-display);font-size:2rem;line-height:1.4;color:var(--text-main)}.system-integrity{margin-top:60px}.integrity-bar{height:20px;background:#222;border:1px solid #444;margin-top:10px}.integrity-bar .fill{height:100%;background:repeating-linear-gradient(45deg,var(--primary),var(--primary) 10px,#0a0 10px,#0a0 20px);box-shadow:0 0 10px var(--primary)}.options-stack{display:flex;flex-direction:column;gap:15px}.cyber-option{background:#00f0ff0d;border:1px solid var(--secondary);padding:20px;color:var(--text-main);font-family:var(--font-body);font-size:1.1rem;text-align:left;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:15px}.cyber-option:hover{background:#00f0ff33;transform:translate(10px)}.cyber-option.selected{background:var(--secondary);color:#000;box-shadow:0 0 20px var(--secondary)}.opt-key{color:var(--accent);font-weight:700}.cyber-option.selected .opt-key{color:#000}.report-grid{flex:1;display:flex;padding:20px;gap:20px;overflow:hidden}.rank-col{width:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #333}.rank-badge{text-align:center;margin-bottom:40px}.rank-value{display:block;font-family:var(--font-display);font-size:8rem;line-height:1;text-shadow:0 0 30px currentColor}.rank-S{color:gold}.rank-A{color:var(--primary)}.rank-B{color:var(--secondary)}.rank-C{color:var(--accent)}.log-col{flex:1;overflow-y:auto;padding-right:10px}.log-list{margin-top:20px}.log-entry{background:#ffffff08;margin-bottom:10px;padding:15px;border-left:3px solid #555}.log-entry.success{border-left-color:var(--primary)}.log-entry.fail{border-left-color:var(--accent)}.log-header{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.8rem;color:var(--text-dim)}.log-details p{margin-bottom:5px}.correction{color:var(--accent)}.note{color:var(--secondary);font-size:.9rem}.cyber-btn{background:var(--primary);color:#000;border:none;padding:15px 30px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:all .2s}.cyber-btn:hover{background:#fff;box-shadow:0 0 20px #fff}.cyber-btn:disabled{background:#333;color:#555;cursor:not-allowed;box-shadow:none}.cyber-btn.large{padding:20px 50px;font-size:1.5rem;display:flex;flex-direction:column;align-items:center}.btn-tag{font-size:.8rem;opacity:.7}.panel-footer{height:80px;border-top:1px solid var(--secondary);display:flex;justify-content:flex-end;align-items:center;padding:0 40px;background:#00000080}.auth-content{flex:1;display:flex;justify-content:center;align-items:center;padding:20px}.auth-card{background:#ffffff0d;padding:40px;border:1px solid var(--secondary);width:100%;max-width:400px;box-shadow:0 0 30px #00f0ff1a}.auth-card h2{font-family:var(--font-display);color:var(--primary);text-align:center;margin-bottom:30px;letter-spacing:2px}.form-group{margin-bottom:20px}.form-group label{display:block;color:var(--secondary);margin-bottom:8px;font-size:.9rem;letter-spacing:1px}.cyber-input{width:100%;background:#00000080;border:1px solid #333;padding:12px;color:var(--text-main);font-family:var(--font-body);font-size:1rem;transition:all .3s}.cyber-input:focus{border-color:var(--primary);box-shadow:0 0 10px #0f03;outline:none}.full-width{width:100%;margin-top:10px}.auth-switch{margin-top:20px;text-align:center;font-size:.9rem;color:var(--text-dim)}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);text-decoration:underline;margin-left:5px}.error-msg{color:var(--accent);margin-bottom:15px;text-align:center;font-size:.9rem}.admin-content{padding:40px;flex:1;overflow:hidden;display:flex;flex-direction:column}.admin-content h1{font-family:var(--font-display);color:var(--secondary);margin-bottom:30px}.results-table-container{flex:1;overflow-y:auto;border:1px solid #333}.cyber-table{width:100%;border-collapse:collapse;text-align:left}.cyber-table th{background:#00f0ff1a;color:var(--primary);padding:15px;font-family:var(--font-display);position:sticky;top:0}.cyber-table td{padding:15px;border-bottom:1px solid #333;color:var(--text-dim)}.cyber-table tr:hover td{background:#ffffff05;color:var(--text-main)}.cyber-table .highlight{color:var(--secondary);font-weight:700}.rank-tag{padding:2px 8px;border-radius:3px;font-weight:700;color:#000}.rank-S{background:gold;box-shadow:0 0 10px gold}.rank-A{background:var(--primary)}.rank-B{background:var(--secondary)}.rank-C{background:var(--accent);color:#fff}.small{padding:5px 15px;font-size:.9rem}.student-profile{flex:1;display:flex;flex-direction:column;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#050505;border-left:1px solid #333}::-webkit-scrollbar-thumb{background:var(--secondary);border:1px solid #000;transition:all .3s}::-webkit-scrollbar-thumb:hover{background:var(--primary);box-shadow:0 0 10px var(--primary)}.glitch-text{position:relative;display:inline-block}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:transparent}.glitch-text:before{left:2px;text-shadow:-2px 0 var(--accent);clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse}.glitch-text:after{left:-2px;text-shadow:-2px 0 var(--primary);clip:rect(44px,450px,56px,0);animation:glitch-anim2 5s infinite linear alternate-reverse}@keyframes glitch-anim{0%{clip:rect(31px,9999px,94px,0)}5%{clip:rect(70px,9999px,71px,0)}10%{clip:rect(29px,9999px,83px,0)}15%{clip:rect(16px,9999px,91px,0)}20%{clip:rect(2px,9999px,23px,0)}25%{clip:rect(67px,9999px,70px,0)}30%{clip:rect(56px,9999px,59px,0)}35%{clip:rect(41px,9999px,42px,0)}40%{clip:rect(20px,9999px,33px,0)}45%{clip:rect(56px,9999px,92px,0)}50%{clip:rect(59px,9999px,60px,0)}55%{clip:rect(29px,9999px,30px,0)}60%{clip:rect(10px,9999px,12px,0)}65%{clip:rect(67px,9999px,68px,0)}70%{clip:rect(81px,9999px,82px,0)}75%{clip:rect(45px,9999px,46px,0)}80%{clip:rect(23px,9999px,24px,0)}85%{clip:rect(54px,9999px,55px,0)}90%{clip:rect(67px,9999px,68px,0)}95%{clip:rect(10px,9999px,11px,0)}to{clip:rect(29px,9999px,30px,0)}}@keyframes glitch-anim2{0%{clip:rect(65px,9999px,100px,0)}5%{clip:rect(52px,9999px,53px,0)}10%{clip:rect(31px,9999px,32px,0)}15%{clip:rect(89px,9999px,90px,0)}20%{clip:rect(45px,9999px,46px,0)}25%{clip:rect(12px,9999px,13px,0)}30%{clip:rect(78px,9999px,79px,0)}35%{clip:rect(23px,9999px,24px,0)}40%{clip:rect(56px,9999px,57px,0)}45%{clip:rect(34px,9999px,35px,0)}50%{clip:rect(98px,9999px,99px,0)}55%{clip:rect(12px,9999px,13px,0)}60%{clip:rect(67px,9999px,68px,0)}65%{clip:rect(89px,9999px,90px,0)}70%{clip:rect(12px,9999px,13px,0)}75%{clip:rect(56px,9999px,57px,0)}80%{clip:rect(23px,9999px,24px,0)}85%{clip:rect(89px,9999px,90px,0)}90%{clip:rect(12px,9999px,13px,0)}95%{clip:rect(56px,9999px,57px,0)}to{clip:rect(23px,9999px,24px,0)}}.scanline{width:100%;height:100px;z-index:9999;background:linear-gradient(0deg,#0000,#00ff0026,#0000);opacity:.1;position:absolute;bottom:100%;animation:scanline-anim 10s linear infinite}@keyframes scanline-anim{0%{bottom:100%}to{bottom:-100px}}
