@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#040810;--panel:#0a121c;--panel2:#0e1a26;--border:#1c3a4a;--text:#e6fbf5;--muted:#7fa3ad;--cyan:#00e5ff;--green:#00ff9d;--red:#ff3b5c;--amber:#ffb703;--magenta:#ff2e88;--glow-green:0 0 10px #00ff9d99,0 0 22px #00ff9d44;--glow-cyan:0 0 10px #00e5ff99,0 0 22px #00e5ff44}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#0c2333 0,#040810 45%),repeating-linear-gradient(180deg,#ffffff05 0 1px,transparent 1px 3px);color:var(--text);font:14px Inter,system-ui;min-height:100vh}button{font:inherit}.app{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr auto}header{height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid var(--border);background:#040810ee;position:relative}header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--green),var(--cyan),transparent);opacity:.6}.brand{display:flex;gap:12px;align-items:center}.brand svg{color:var(--green);width:34px;height:34px;filter:drop-shadow(0 0 6px #00ff9d99);animation:brand-pulse 3.2s ease-in-out infinite}.brand h1{font:600 23px IBM Plex Mono;margin:0;letter-spacing:.06em;color:var(--text);text-shadow:var(--glow-green)}.brand span{color:var(--muted);font-size:12px}.brand span:after{content:"_";color:var(--green);animation:caret-blink 1.1s steps(1) infinite}@keyframes brand-pulse{0%,to{filter:drop-shadow(0 0 4px #00ff9d77)}50%{filter:drop-shadow(0 0 12px #00ff9dcc)}}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.header-metrics{display:flex;gap:24px}.header-metrics span{color:var(--muted);font-size:12px}.header-metrics b{display:block;color:var(--text);font:600 17px IBM Plex Mono;margin-top:3px}nav{display:flex;gap:7px;padding:10px 24px;border-bottom:1px solid var(--border);background:#081119}nav button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);color:var(--muted);background:transparent;padding:8px 12px;border-radius:7px;cursor:pointer;transition:border-color .15s,box-shadow .15s,color .15s}nav button.active{color:var(--green);border-color:#1f8f65;background:#08201a;box-shadow:inset 0 0 0 1px #00ff9d22,0 0 10px #00ff9d22}nav button:hover{color:var(--cyan);border-color:#2a6c82;background:#0d2633}nav button:nth-last-child(-n+2){margin-left:auto}nav button:last-child{margin-left:0}nav svg{width:16px}.grid{padding:16px 24px;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:minmax(300px,.85fr) minmax(270px,1fr);gap:14px}.panel{background:linear-gradient(180deg,#0d1b27,#0a151f);border:1px solid var(--border);border-radius:10px;overflow:hidden}.panel-title{height:42px;padding:0 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:var(--muted);text-transform:uppercase;font:600 11px IBM Plex Mono;letter-spacing:.09em}.sev{padding:4px 8px;border-radius:4px}.sev.critical,.sev.high{color:var(--red);background:#ff5d7214}.sev.medium{color:var(--amber)}.map-panel{display:flex;flex-direction:column}.network-map{flex:1;padding:5px 20px}.network-map svg{width:100%;height:100%;max-height:235px}.network-map path{fill:none;stroke:#2a5265;stroke-width:2;stroke-dasharray:7 5}.node circle{fill:#0b1e2b;stroke:#2c6479;stroke-width:2}.node text{fill:#9ab4c0;text-anchor:middle;font:10px IBM Plex Mono}.node.active circle{stroke:var(--green);filter:drop-shadow(0 0 8px #00ff9d99)}.node.danger circle{stroke:var(--red);filter:drop-shadow(0 0 8px #ff3b5c99)}.asset-line{display:flex;gap:20px;padding:12px 16px;background:#08131c;border-top:1px solid var(--border)}.asset-line span{color:var(--muted)}.alert{padding-bottom:16px}.alert h2,.alert>p{margin-left:18px;margin-right:18px}.alert h2{font-size:22px;margin-top:18px}.alert>p{color:var(--muted);line-height:1.6}.ai-rec{margin:18px;padding:14px;border:1px solid #21647b;background:#0b2937;display:flex;align-items:center;gap:12px;border-radius:8px}.ai-rec svg{color:var(--cyan)}.ai-rec small{display:block;color:var(--muted)}.ai-rec strong{font:600 19px IBM Plex Mono;text-transform:uppercase}.ai-rec>b{margin-left:auto;font:600 25px IBM Plex Mono;color:var(--cyan)}.prob-grid{margin:0 18px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.prob-grid>div,.feature{display:grid;grid-template-columns:90px 1fr 42px;gap:9px;align-items:center;color:var(--muted);font-size:12px}.prob-grid b,.feature b{color:var(--text);font-family:IBM Plex Mono}meter{width:100%;height:9px;accent-color:var(--cyan)}.timeline{overflow:auto}.timeline article{display:grid;grid-template-columns:75px 1fr;gap:12px;padding:14px 16px;border-bottom:1px solid #152b39}.timeline time{font:11px IBM Plex Mono;color:var(--cyan)}.timeline b{font-size:12px}.timeline p{margin:5px 0;color:var(--muted)}.timeline code{display:block;color:#86b8ca;font-size:11px;white-space:normal}.decision{padding-bottom:16px}.decision>p,.outcome{margin:16px}.decision>p{color:var(--muted)}.actions{padding:4px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.actions button,.outcome button{padding:13px 8px;border-radius:7px;background:#102432;color:var(--text);border:1px solid #2a4d60;cursor:pointer;text-transform:uppercase;font:600 12px IBM Plex Mono}.actions .contain,.actions .escalate{border-color:#743647}.actions button:hover{transform:translateY(-1px);border-color:var(--cyan)}.outcome{padding:15px;border-radius:8px}.outcome.correct{border:1px solid #277052;background:#0c2a21}.outcome.wrong{border:1px solid #753647;background:#2a1118}.outcome h3{margin-top:0}.outcome p{color:#c2d2d9}.brain-page{display:grid;grid-template-columns:1fr 330px;gap:14px;padding:16px 24px}.brain-wrap{display:grid;grid-template-columns:1fr 300px;min-height:630px}.brain-wrap svg{width:100%;height:100%;max-height:630px}.svg-label{fill:var(--muted);font:11px IBM Plex Mono}.attributions{border-left:1px solid var(--border);padding:14px}.attributions h3{font-size:13px}.attr{display:grid;grid-template-columns:1fr 85px 46px;gap:8px;align-items:center;margin:12px 0;color:var(--muted);font-size:11px}.attr>div{height:6px;background:#172b38}.attr i{display:block;height:100%}.attr .pos{background:var(--green)}.attr .neg{background:var(--red)}.attr b{font-family:IBM Plex Mono;color:var(--text)}.brain-page aside{padding-bottom:14px}.feature{margin:10px 14px;grid-template-columns:130px 1fr 38px}.loading{display:grid;place-items:center;height:100vh;font:18px IBM Plex Mono;color:var(--green);text-shadow:var(--glow-green)}footer{display:flex;gap:24px;padding:10px 24px;border-top:1px solid var(--border);color:var(--muted);font:11px IBM Plex Mono}@media(max-width:950px){.grid,.brain-page,.brain-wrap{grid-template-columns:1fr}.attributions{border-left:0;border-top:1px solid var(--border)}.header-metrics{display:none}.actions{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{padding:0 12px}nav{padding:8px 12px;overflow:auto}.grid,.brain-page{padding:10px;display:block}.panel{margin-bottom:10px}.prob-grid{grid-template-columns:1fr}.brand span{display:none}}.tag{background:#132736;color:var(--muted);padding:3px 8px;border-radius:4px;font-size:11px;text-transform:capitalize}.mitre-chips{margin:0 18px 12px;display:flex;flex-wrap:wrap;gap:6px}.chip{background:#0f2635;border:1px solid #21506a;color:#8fd7f0;padding:3px 8px;border-radius:12px;font:11px IBM Plex Mono}.hints{margin:0 18px 14px}.hint{display:flex;gap:6px;align-items:flex-start;color:var(--amber);font-size:12px;margin:6px 0}.hint-btn{margin:6px 0;background:#102432;border:1px solid #2a4d60;color:var(--text);padding:8px 12px;border-radius:6px;cursor:pointer;font:600 11px IBM Plex Mono}.hint-btn:disabled{opacity:.5;cursor:default}.response-page,.mitre-page,.detection-page,.academy-page,.metrics-page,.leaderboard-page,.settings-page{padding:16px 24px;display:grid;gap:14px}.response-intro{color:var(--muted);line-height:1.6;margin:12px 16px}.response-note{margin:0 16px 12px;padding:10px 12px;background:#0b2937;border:1px solid #21647b;border-radius:6px;font-size:12px}.response-group{margin:0 16px 16px}.response-group h4{color:var(--muted);font:600 11px IBM Plex Mono;text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px}.response-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.response-action{padding:10px;border-radius:7px;background:#102432;color:var(--text);border:1px solid #2a4d60;cursor:pointer;text-transform:capitalize;font:600 11px IBM Plex Mono;display:flex;align-items:center;gap:6px;justify-content:center}.response-action.done{background:#0c2a21;border-color:#277052;color:var(--green);cursor:default}.response-recommended{margin:0 16px 16px;padding:12px;border:1px solid #21647b;background:#0b2937;border-radius:8px}.mitre-active{margin:0 16px 10px;color:var(--muted);font-size:12px}.mitre-grid{padding:0 16px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.mitre-card{border:1px solid var(--border);border-radius:8px;padding:12px;background:#0a151f}.mitre-card.active{border-color:var(--cyan);background:#0b2937}.mitre-card header{display:flex;justify-content:space-between;color:var(--muted);font:600 11px IBM Plex Mono}.mitre-card h3{margin:6px 0 2px;font-size:14px}.mitre-tactic{color:var(--cyan);font-size:11px;margin:0 0 8px}.mitre-card>p{color:var(--muted);font-size:12px;line-height:1.5}.mitre-col{margin-top:8px}.mitre-col h5{margin:0 0 4px;font-size:11px;color:var(--muted);text-transform:uppercase}.mitre-col ul{margin:0;padding-left:16px;font-size:11px;color:#c2d2d9}.link-btn{background:none;border:1px solid var(--border);color:var(--cyan);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:11px}.code-block{margin:8px 16px;padding:12px;background:#08131c;border:1px solid var(--border);border-radius:6px;color:#86b8ca;font:11px IBM Plex Mono;white-space:pre-wrap;overflow-x:auto}.detection-page h4{margin:14px 16px 0;font-size:12px;color:var(--muted);text-transform:uppercase}.ioc-table{margin:0 16px 16px;border-collapse:collapse;width:calc(100% - 32px)}.ioc-table td{padding:6px 10px;border-bottom:1px solid #152b39;font-size:12px;color:#c2d2d9}.ioc-table td:first-child{color:var(--muted);text-transform:capitalize;width:160px}.academy-page{grid-template-columns:280px 1fr}.academy-list{padding:6px}.academy-item{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:10px;border-radius:6px;cursor:pointer}.academy-item:hover,.academy-item.active{background:#0d2633}.academy-item div{display:flex;flex-direction:column}.academy-item b{font-size:12px}.academy-item span{color:var(--muted);font-size:11px}.lesson-done{color:var(--green)}.academy-detail{padding:16px}.academy-body h4{margin:16px 0 6px;font-size:13px;color:var(--cyan)}.academy-body p{color:#c2d2d9;line-height:1.7;font-size:13px}.academy-body ul{color:#c2d2d9;font-size:13px;line-height:1.7}.quiz-question{margin:16px 0}.quiz-question>p{font-size:13px;margin-bottom:8px}.quiz-options{display:flex;flex-direction:column;gap:6px}.quiz-option{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer}.quiz-option.selected{border-color:var(--cyan);background:#0d2633}.confusion-matrix{margin:12px 16px;border-collapse:collapse;font-size:12px}.confusion-matrix th,.confusion-matrix td{border:1px solid var(--border);padding:6px 10px;text-align:center;color:var(--muted)}.confusion-matrix td.diag{color:var(--green);font-weight:600;background:#0c2a2199}.pr-grid{margin:0 16px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.pr-card{border:1px solid var(--border);border-radius:6px;padding:8px;font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.pr-card b{color:var(--text);text-transform:capitalize}.loss-chart{width:100%;margin:8px 16px;max-width:calc(100% - 32px)}.model-card{margin:0 16px 16px;color:#c2d2d9;font-size:12px;line-height:1.7}.model-card ul{padding-left:16px}.leaderboard-page{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.leaderboard-card{padding:16px}.rank-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.rank-row svg{color:var(--amber)}.rank-row h2{margin:2px 0 0;font-size:18px}.rank-row small{color:var(--muted)}.rank-row b{margin-left:auto;font-family:IBM Plex Mono;color:var(--cyan)}.rank-ladder{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.rank-step{padding:6px 10px;border-radius:5px;color:var(--muted);font-size:11px;border:1px solid var(--border)}.rank-step.done{color:var(--text);border-color:var(--cyan);background:#0d2633}.stat-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #152b39;font-size:12px;color:var(--muted)}.stat-row svg{color:var(--cyan);width:16px}.stat-row b{margin-left:auto;color:var(--text);font-family:IBM Plex Mono}.badge-grid{display:flex;flex-wrap:wrap;gap:8px}.badge{display:flex;align-items:center;gap:5px;background:#0b2937;border:1px solid #21647b;color:#8fd7f0;padding:6px 10px;border-radius:14px;font-size:11px}.settings-page{grid-template-columns:1fr}.danger-btn{display:flex;align-items:center;gap:6px;background:#2a1118;border:1px solid #753647;color:#ff9caa;padding:10px 14px;border-radius:6px;cursor:pointer;font:600 12px IBM Plex Mono}.confirm-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.confirm-row button:last-child{background:none;border:1px solid var(--border);color:var(--muted);padding:8px 12px;border-radius:6px;cursor:pointer}.brain-wrap-outer{display:flex;flex-direction:column;gap:12px}.decision-explain{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-top:1px solid var(--border)}.decision-path h3,.alternatives h3{font-size:13px;margin:0 0 8px}.decision-path p{color:#c2d2d9;font-size:12px;line-height:1.6}.alt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin:6px 0}.alt-row b{color:var(--text);font-family:IBM Plex Mono}.alt-flip{color:#c2d2d9}.alt-none{opacity:.6;font-style:italic}.node.isolated circle{stroke:var(--red);stroke-dasharray:4 3;opacity:.55}.node-flag{fill:var(--red);font:9px IBM Plex Mono;text-anchor:middle}.node.selected circle{filter:drop-shadow(0 0 6px #39d9ff)}.map-detail{margin:0 20px 10px;color:var(--muted);font-size:12px}.panel-loading{padding:40px;text-align:center;color:var(--muted);font:13px IBM Plex Mono}@media(max-width:950px){.academy-page,.decision-explain{grid-template-columns:1fr}}.gate-page{min-height:100vh;display:grid;place-items:center;padding:20px}.gate-card{width:100%;max-width:420px;background:linear-gradient(180deg,#0d1b27,#0a151f);border:1px solid var(--border);border-radius:14px;padding:32px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;box-shadow:0 0 40px #00ff9d11}.gate-card svg{color:var(--green);filter:drop-shadow(0 0 8px #00ff9d99)}.gate-card h1{font:600 24px IBM Plex Mono;margin:0;letter-spacing:.06em;text-shadow:var(--glow-green)}.gate-card>p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.gate-card em{color:var(--text);font-style:normal}.gate-input{width:100%;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#08131c}.gate-input svg{color:var(--muted);flex-shrink:0}.gate-input input{flex:1;background:none;border:none;outline:none;color:var(--text);font:15px IBM Plex Mono;letter-spacing:.05em;text-transform:uppercase}.gate-card button[type=submit]{width:100%;padding:12px;border-radius:8px;background:#0c2a21;color:var(--green);border:1px solid #1f8f65;cursor:pointer;font:600 13px IBM Plex Mono;text-transform:uppercase;letter-spacing:.05em}.gate-card button[type=submit]:hover{box-shadow:var(--glow-green)}.gate-card button[type=submit]:disabled{opacity:.5;cursor:default;box-shadow:none}.gate-error{color:var(--red);font-size:12px;margin:0}.gate-footnote{color:var(--muted);font-size:11px;margin:0}.code-row{margin:0 16px 14px;display:flex;align-items:center;gap:10px}.code-row code{background:#08131c;border:1px solid var(--border);border-radius:6px;padding:8px 12px;font:14px IBM Plex Mono;letter-spacing:.06em;color:var(--green)}
