*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;background:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url(/office-background.jpg);background-size:cover;background-position:center;filter:brightness(.15) saturate(.5);z-index:-1}#app{width:100vw;height:100vh}canvas{display:block}.tooltip{position:fixed;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:8px 12px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:1000;max-width:300px}.tooltip.visible{opacity:1}.tooltip-name{color:#fff;font-weight:600;font-size:14px;margin-bottom:4px}.tooltip-details{color:#aaa;font-size:12px}.detail-panel{position:fixed;top:0;left:0;width:380px;height:100vh;background:#141414f2;border-right:3px solid #ff3333;transform:translate(-100%);transition:transform .3s ease;z-index:900;overflow-y:auto}.detail-panel.visible{transform:translate(0)}.panel-content{padding:24px;color:#fff}.incident-title{font-size:16px;font-weight:400;margin-bottom:20px;color:#888}.incident-name{color:#fff;font-weight:600}.threat-section{margin-bottom:20px}.threat-label{font-size:14px;margin-bottom:8px}.threat-text{font-weight:600}.threat-text.threat-critical{color:#f33}.threat-text.threat-high{color:#f93}.threat-text.threat-medium{color:#fc0}.threat-text.threat-low{color:#3c3}.threat-bar-container{display:flex;align-items:center;gap:12px}.threat-bar-wrapper{flex:1;background:#333;border-radius:4px;height:8px;position:relative}.threat-bar{height:100%;border-radius:4px;position:absolute;left:0;top:0}.threat-bar.threat-critical{background:#f33}.threat-bar.threat-high{background:#f93}.threat-bar.threat-medium{background:#fc0}.threat-bar.threat-low{background:#3c3}.threat-value{font-size:14px;color:#888;min-width:40px;text-align:right}.domains-section{margin-bottom:16px}.section-label{font-size:12px;color:#888;margin-bottom:8px}.domain-badges{display:flex;gap:8px}.domain-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600}.domain-eme{background:#8b0000;color:#fff}.domain-cyb{background:#00008b;color:#fff}.domain-info{background:#008b00;color:#fff}.timing-section{margin-bottom:16px;font-size:14px}.detected-line{color:#fc0;margin-bottom:4px}.detected-line .label{color:#fc0}.duration-line{color:#888}.section-divider{border:none;border-top:1px solid #333;margin:20px 0}.coalition-section h3,.actors-section h3{font-size:14px;font-weight:600;margin-bottom:12px}.coalition-section h3{color:#3c3}.actors-section h3{color:#f93}.coalition-list,.actors-list{list-style:none;padding:0;margin:0 0 20px}.coalition-list li,.actors-list li{padding:6px 0;font-size:14px;border-bottom:1px solid #222}.coalition-list li:last-child,.actors-list li:last-child{border-bottom:none}.status,.role{color:#666;float:right}.scenario-button{width:100%;padding:12px;background:#333;border:1px solid #444;color:#fff;font-size:14px;border-radius:4px;cursor:pointer;transition:background .2s ease}.scenario-button:hover{background:#444}.filter-bar{position:fixed;top:20px;right:20px;z-index:800;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.time-filters{display:flex;gap:0;background:#1e1e1ee6;border-radius:6px;overflow:hidden;border:1px solid #333}.time-btn{padding:8px 16px;background:transparent;border:none;color:#888;font-size:13px;cursor:pointer;transition:all .2s ease}.time-btn:hover{background:#ffffff1a;color:#fff}.time-btn.active{background:#444;color:#fff}.domain-filters{display:flex;gap:0;background:#1e1e1ee6;border-radius:6px;overflow:hidden;border:1px solid #333}.domain-btn{padding:8px 16px;background:transparent;border:none;color:#888;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.domain-btn:hover{color:#fff}.domain-btn.domain-eme:hover,.domain-btn.domain-eme.active{background:#8b000099;color:#fff}.domain-btn.domain-cyb:hover,.domain-btn.domain-cyb.active{background:#8b800099;color:#fff}.domain-btn.domain-info:hover,.domain-btn.domain-info.active{background:#00008b99;color:#fff}
