@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=VT323&display=swap";:root{--bg-dark: #020202;--neon-cyan: 0, 215, 220;--neon-green: 57, 209, 138;--neon-gold: 209, 180, 0;--muted: rgba(255,255,255,.06)}html,body,#root{height:100%;margin:0;font-family:Orbitron,sans-serif;background:var(--bg-dark);color:#bfeef0}.screen.main-screen{position:relative;min-height:100vh;overflow:hidden}.bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(.35) contrast(1.1)}.overlay-grid{position:fixed;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(to right,rgba(0,255,220,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,255,220,.02) 1px,transparent 1px);background-size:80px 80px,80px 80px;mix-blend-mode:overlay}.center-column{position:relative;z-index:2;width:560px;margin:8vh auto;text-align:center}.title-block{margin-bottom:28px}.logo-shield{font-size:48px;color:rgba(var(--neon-cyan),1);margin-bottom:8px}.main-title{font-size:48px;letter-spacing:6px;color:rgba(var(--neon-cyan),1);margin:0 0 8px}.subtitle{font-family:VT323,monospace;color:#56d6d6;font-size:13px;margin:0}.buttons-stack{display:flex;flex-direction:column;gap:18px;margin-top:20px}.neon-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;font-size:16px;border-radius:8px;border:2px solid rgba(255,255,255,.06);background:transparent;color:#dff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;transform-origin:center;letter-spacing:3px;font-weight:700}.neon-btn.btn-green{border-color:rgba(var(--neon-green),.85);background-color:rgba(var(--neon-green),.035);box-shadow:0 6px 28px rgba(var(--neon-green),.03)}.neon-btn.btn-cyan{border-color:rgba(var(--neon-cyan),.85);background-color:rgba(var(--neon-cyan),.03);box-shadow:0 6px 28px rgba(var(--neon-cyan),.025)}.neon-btn.btn-gold{border-color:rgba(var(--neon-gold),.9);background-color:rgba(var(--neon-gold),.03);box-shadow:0 6px 28px rgba(var(--neon-gold),.02)}.neon-btn:hover{transform:scale(1.04);filter:brightness(1.05)}.neon-btn.btn-green:hover{background-color:rgba(var(--neon-green),.12);box-shadow:0 12px 48px rgba(var(--neon-green),.12)}.neon-btn.btn-cyan:hover{background-color:rgba(var(--neon-cyan),.12);box-shadow:0 12px 48px rgba(var(--neon-cyan),.12)}.neon-btn.btn-gold:hover{background-color:rgba(var(--neon-gold),.12);box-shadow:0 12px 48px rgba(var(--neon-gold),.12)}.neon-btn .icon{opacity:.95;font-size:18px}.neon-btn .label{font-weight:700}.access-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#00000073,#000000b3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.access-card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px 36px;border-radius:10px;box-shadow:0 20px 80px #000000b3,0 0 60px #00ffc80d;background:#00000026;transform:translateY(-6px)}.lock-wrap{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}.lock-body{width:70px;height:48px;border-radius:8px;background:linear-gradient(180deg,#0009,#0003);border:3px solid rgba(0,255,150,.9);box-shadow:0 12px 40px #00ffa00d,inset 0 -2px 10px #0009}.lock-shackle{position:absolute;top:-25px;width:46px;height:44px;border-radius:24px;border:4px solid rgba(0,255,150,.95);border-bottom-color:transparent;transform-origin:center bottom;animation:shackle-unlock 1.9s ease forwards}.access-text{color:#8ef6b6;font-family:VT323,monospace;font-size:26px;text-shadow:0 2px 20px rgba(0,255,160,.32);letter-spacing:2px;animation:text-glow 1.9s linear forwards}@keyframes shackle-unlock{0%{transform:rotate(0)}55%{transform:rotate(-22deg)}to{transform:rotate(-22deg);opacity:1}}@keyframes text-glow{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}40%{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0000008c,#000000d9);z-index:50;padding:30px}.neon-modal{width:min(960px,94%);background:linear-gradient(180deg,#00000080,#ffffff05);border-radius:10px;overflow:hidden;box-shadow:0 30px 120px #000c}.about-modal{overflow:auto;height:60%;border:3px solid rgba(var(--neon-cyan),.9);box-shadow:0 30px 120px #000c,0 0 36px rgba(var(--neon-cyan),.06)}.about-header{padding:12px 18px;border-bottom:2px solid rgba(var(--neon-cyan),.4);display:flex;justify-content:space-between;align-items:center;background:#00000040}.about-header .modal-title{color:rgba(var(--neon-cyan),1);font-weight:700;letter-spacing:2px}.about-content{padding:18px}.inner-panel{padding:14px;border-radius:6px;background:#00000059;border:1px solid rgba(var(--neon-cyan),.4)}.box{margin-bottom:14px;padding:12px;border-radius:6px}.mission-box{border:2px solid rgba(var(--neon-cyan),.2);background:#00000073;color:#9ff}.mission-box h3{color:#8ef6b6;font-family:VT323;letter-spacing:1px;margin:0 0 8px}.mission-box p{font-size:.8rem;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;line-height:1.5;letter-spacing:.1rem}.objectives-box{border:2px solid rgba(209,180,0,.3);background:#00000059}.objectives-box h3{color:#f0c94b;margin:0 0 6px}.objectives-box ul{margin:8px 0 0 20px;padding:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;color:#9fe;line-height:1.5;font-size:.8rem;letter-spacing:.1rem}.dev-team-box{border:2px solid rgba(255,0,0,.3);background:#00000047}.team-row{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.role{font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:1.3rem}.team-card{flex:1;min-width:140px;padding:10px;border-radius:6px;color:#001;font-weight:700}.team-a{background:linear-gradient(180deg,#4f59e9,#27c39a)}.team-b{background:linear-gradient(180deg,#6fd6ff,#2fb3d9)}.team-c{background:linear-gradient(180deg,#ffd86b,#e0b72a)}.team-card .role{font-weight:400;font-size:12px;opacity:.9;margin-top:4px}.settings-modal{border:3px solid rgba(var(--neon-gold),.95);box-shadow:0 30px 120px #000000d9,0 0 48px rgba(var(--neon-gold),.06)}.settings-header{padding:12px 18px;border-bottom:2px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;background:#00000040}.settings-header .modal-title{color:#ffd85c;font-weight:700;letter-spacing:2px}.settings-content{padding:18px}.settings-panel{border-radius:6px;padding:14px;background:#0006;border:2px solid rgba(0,0,0,.06)}.settings-section-title{color:#ffd85c;margin:0 0 12px;font-weight:700;letter-spacing:1px}.setting-row{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.setting-label{display:flex;justify-content:space-between;color:#9fe;font-family:VT323}.percent{color:#9fe;font-weight:700}input[type=range].slider{-webkit-appearance:none;width:100%;height:8px;background:#ffffff0f;border-radius:999px;outline:none}input[type=range].slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#00f5d7;border:3px solid rgba(0,0,0,.6);box-shadow:0 6px 18px #00ffdc1f;cursor:pointer}input[type=range].slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#00f5d7;border:3px solid rgba(0,0,0,.6)}input[type=range].slider.cyan::-webkit-slider-runnable-track{height:8px;background:linear-gradient(90deg,rgba(var(--neon-cyan),.95) 0% 100%);border-radius:999px;opacity:.95}input[type=range].slider.cyan::-moz-range-track{height:8px;background:linear-gradient(90deg,rgba(var(--neon-cyan),.95) 0% 100%);border-radius:999px}.modal-close{background:transparent;color:#f77;border:none;font-size:20px;cursor:pointer}.modal-actions{padding:18px;display:flex;justify-content:center;gap:12px}.styled-roadmap .roadmap-container{position:relative;height:calc(100vh - 64px);width:100%;overflow:hidden}.styled-roadmap .map-layer{position:absolute;inset:0;background-image:url(../assets/roadmap-bg.jpg);background-position:center;background-size:cover;filter:contrast(1.05) brightness(.42) saturate(.9);z-index:0}.styled-roadmap .connector-layer{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.level-node{position:absolute;transform:translate(-50%,-50%);text-align:center;z-index:2;cursor:pointer;transition:transform .18s ease,filter .2s ease,opacity .2s ease;will-change:transform,filter}.building-wrap{position:relative;width:10rem;height:10rem;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.building-img{width:100%;height:auto;display:block;transform-origin:50% 85%;transition:transform .18s cubic-bezier(.2,.9,.2,1);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 8px 18px rgba(0,0,0,.7))}.node-label{margin-top:8px;font-family:VT323,monospace;font-size:1.3rem;color:#9ff;text-shadow:0 2px 8px rgba(0,0,0,.7);z-index:3}.level-node.unlocked:hover .building-img{transform:translateY(-6px) scale(1.08)}.level-node.unlocked:active .building-img{transform:translateY(-2px) scale(1.03)}.level-node.locked{filter:grayscale(.6) blur(2px) brightness(.7);cursor:default;pointer-events:none;opacity:.7}.completed-badge{position:absolute;top:6px;right:6px;background:#00c88cfa;color:#001;font-weight:900;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #00c88c14;z-index:4}.locked-pulse{animation:lockedPulse .68s ease}@keyframes lockedPulse{0%{transform:translate(-50%,-50%) scale(1);filter:brightness(.72)}50%{transform:translate(-50%,-50%) scale(1.06);filter:brightness(.9)}to{transform:translate(-50%,-50%) scale(1);filter:brightness(.72)}}.level-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:80px;background:transparent;color:#9fe}.level-header{position:fixed;top:12px;left:12px;z-index:80}.level-header .back{background:transparent;color:var(--neon-cyan);border:1px solid rgba(0,195,195,.2);padding:8px 10px;border-radius:6px;cursor:pointer}.level-body{max-width:920px;width:100%;text-align:center;padding:40px}.terminal-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px;background:transparent;z-index:5}.terminal-window{width:min(920px,96%);background:linear-gradient(180deg,#001400e6,#000a00d9);border-radius:10px;border:3px solid rgba(0,200,140,.16);box-shadow:0 40px 120px #000c,0 0 36px #00ffa00f;color:#bfffbf;font-family:VT323,monospace;overflow:hidden}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(0,255,160,.04);background:linear-gradient(180deg,#00000040,#0000001f)}.dots{display:flex;gap:8px;align-items:center}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.red{background:#ff6b6b;box-shadow:0 0 6px #ff646433}.dot.yellow{background:#ffd36b;box-shadow:0 0 6px #ffd2781f}.dot.green{background:#5af27d;box-shadow:0 0 8px #5aff8c1f}.terminal-title{font-weight:700;letter-spacing:1px;color:#9ef7cf}.terminal-timer{font-family:VT323,monospace;color:#bfffbf;background:#0000002e;padding:6px 10px;border-radius:6px}.terminal-body{padding:18px;display:flex;flex-direction:column;gap:12px}.story-block{background:#00000059;border-radius:6px;padding:12px;border:1px solid rgba(0,255,160,.03);color:#bfffbf}.story-text{white-space:pre-wrap;margin:0;font-size:1rem;color:#9ef6c2}.file-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}.file-desc{color:#00e20b;font-size:1rem}.download-link{color:#bfe;background:#00ffdc0f;border:1px solid rgba(0,255,220,.08);padding:8px 12px;border-radius:6px;text-decoration:none;transition:transform .16s ease,background .16s ease}.download-link:hover{transform:translateY(-3px);background:#00ffdc1f}.controls-row{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.start-btn{min-width:120px}.start-btn.running{background:#39d18a0f;border-color:#39d18ae6}.submit-block{flex:1;min-width:320px;display:flex;flex-direction:column;gap:8px}.flag-form{font-size:1rem;display:flex;gap:10px;align-items:center}.flag-input{flex:1;padding:10px 12px;border-radius:6px;background:#0000005c;border:1px solid rgba(0,255,160,.06);color:#dfffdc;font-family:VT323,monospace;outline:none;transition:box-shadow .12s ease,transform .16s ease;font-size:1.3rem}.flag-input.error{border-color:#ff5050e6;box-shadow:0 6px 18px #ff50500f}.submit-btn{min-width:110px}.status-line{height:22px;font-size:1rem}.status-line.idle .muted{color:#8fb}.status-line.error .err{color:#ff8b8b;font-weight:700}.status-line.success .ok{color:#8ef6b6;font-weight:900}.status-line.timeout .err{color:#ffa3a3;font-weight:700}.muted-note{font-size:1rem;color:#89a;margin-top:12px}@keyframes shakeX{0%{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}to{transform:translate(0)}}.terminal-window.shake{animation:shakeX .6s ease}.hint-btn{min-width:92px;padding:10px 12px}.hint-btn.used{opacity:.6;pointer-events:none;transform:none}.hint-text{margin-top:8px;padding:10px 12px;border-radius:6px;background:#0000005c;border:1px solid rgba(255,215,0,.06);color:#ffd;font-family:VT323,monospace;font-size:1rem}.hint-notice{margin-top:6px;font-size:1rem;color:#f70101}.terminal-close{background:transparent;border:1px solid rgba(255,255,255,.04);color:#f77;font-size:18px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:transform .12s ease,background .12s ease}.terminal-close:hover{transform:translateY(-2px);background:#ffffff05}.portal-link{font-size:14px;color:#9fe;background:#0000002e;padding:8px 10px;border-radius:6px;border:1px solid rgba(0,255,220,.04)}.portal-link a{color:#7fffd8;font-weight:700;text-decoration:underline}.roadmap-topbar{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:60;pointer-events:none}.main-menu-btn{pointer-events:auto;background:linear-gradient(180deg,#00000080,#ffffff05);color:#7fffd8;border:1px solid rgba(0,255,220,.12);padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:700;letter-spacing:1px;box-shadow:0 8px 24px #0009;transition:transform .14s ease,box-shadow .14s ease}.main-menu-btn:hover{transform:translateY(-3px);box-shadow:0 18px 40px #000000b3}.campus-title{pointer-events:none;position:absolute;left:50%;top:6px;transform:translate(-50%);z-index:70;background:#000e10b3;border:2px solid rgba(0,195,195,.12);color:#9efff0;padding:8px 18px;border-radius:8px;font-weight:700;letter-spacing:2px;box-shadow:0 12px 40px #00c8be0a}.status-box{width:260px;padding:16px 14px;border-radius:10px;background:linear-gradient(180deg,#000c0ebd,#000206c7);border:2px solid rgba(72,198,215,.14);color:#e6fffb;box-shadow:0 22px 60px #000000a6,0 0 44px #00c8dc0a;font-family:VT323,monospace;display:flex;flex-direction:column;gap:8px}.status-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.status-label{color:#c8fff5e6;font-size:1.3rem;font-weight:600}.status-value{font-weight:900;color:#cb54cf;font-size:1.3rem}.reset-btn,.status-box .main-menu-btn.reset-btn{pointer-events:auto;margin-left:0;margin-top:6px;align-self:stretch;display:inline-block;text-align:center;background:linear-gradient(180deg,#27d1be,#0ea3ff);color:#021017;border:none;padding:8px 10px;border-radius:8px;font-weight:800;font-size:13px;cursor:pointer;box-shadow:0 8px 26px #0ea0ff24;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.reset-btn:hover,.reset-btn:focus{transform:translateY(-3px);box-shadow:0 16px 42px #0ea0ff2e;outline:none}.scan-line-vertical{position:absolute;top:0;left:0;height:100%;width:.6rem;background:linear-gradient(180deg,#0096ff0f,#00c8ff24);z-index:30;opacity:.95;pointer-events:none;animation:horizontalSweep 6s ease-in-out infinite;box-shadow:0 0 24px rgba(0,170,255,0.08)}.scan-line-horizontal{position:absolute;left:0;top:0;width:100%;height:.6rem;background:linear-gradient(90deg,#00dc8c0f,#00ffb424);z-index:30;opacity:.95;pointer-events:none;animation:verticalSweep 7s ease-in-out infinite;box-shadow:0 0 24px #00ffa00f}@keyframes horizontalSweep{0%{transform:translate(0);opacity:.65}25%{opacity:.95}50%{transform:translate(calc(100vw - 2px));opacity:.65}75%{opacity:.95}to{transform:translate(0);opacity:.65}}@keyframes verticalSweep{0%{transform:translateY(0);opacity:.65}25%{opacity:.95}50%{transform:translateY(calc(100vh - 2px));opacity:.65}75%{opacity:.95}to{transform:translateY(0);opacity:.65}}.styled-roadmap .connector-layer{z-index:22}.level-node{z-index:24}@media(max-width:900px){.building-wrap{width:84px;height:84px}.node-label{font-size:11px}.status-box{width:150px;font-size:13px;padding:10px}.campus-title{font-size:14px;padding:6px 12px;left:50%;top:8px}.roadmap-topbar{padding:8px}}@media(max-width:720px){.main-title{font-size:34px}.team-row,.controls-row{flex-direction:column}.submit-block{min-width:0}}@media(max-width:520px){.building-wrap{width:72px;height:72px}.node-label{font-size:10px}}
