*,*:before,*:after{box-sizing:border-box}html,body{margin:0;width:1920px;height:1080px;overflow:hidden;background:transparent;color:var(--tui-text-primary);font-family:var(--tui-font-mono)}[hidden]{display:none!important}.stage{position:absolute;inset:0;overflow:hidden}.analysis-card{--card-x: 48px;--card-y: 198px;position:absolute;top:var(--card-y);left:var(--card-x);width:540px;border:1px solid rgba(0,212,255,.38);border-left:3px solid var(--tui-cyan);background:linear-gradient(105deg,rgba(0,212,255,.055),transparent 44%),#05080ff0;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,12px 100%,0 calc(100% - 12px));filter:drop-shadow(0 12px 22px rgba(0,0,0,.52));overflow:hidden;z-index:20;transform-origin:left center}.stage[data-position=right] .analysis-card{--card-x: auto;--card-y: 336px;left:auto;right:48px;transform-origin:right center}.analysis-card:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0 1px,transparent 1px 4px)}.analysis-card.entering{animation:card-enter .36s cubic-bezier(.16,1,.3,1) both}.analysis-card.leaving{animation:card-exit .24s ease-in both}.stage[data-position=right] .analysis-card.entering{animation-name:card-enter-right}.stage[data-position=right] .analysis-card.leaving{animation-name:card-exit-right}@keyframes card-enter{0%{opacity:0;transform:translate(-76px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:translate(0);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,12px 100%,0 calc(100% - 12px))}}@keyframes card-exit{to{opacity:0;transform:translate(-48px);clip-path:inset(0 100% 0 0)}}@keyframes card-enter-right{0%{opacity:0;transform:translate(76px);clip-path:inset(0 0 0 100%)}to{opacity:1;transform:translate(0);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,12px 100%,0 calc(100% - 12px))}}@keyframes card-exit-right{to{opacity:0;transform:translate(48px);clip-path:inset(0 0 0 100%)}}.breach{position:absolute;z-index:3;height:5px;background:repeating-linear-gradient(-45deg,rgba(255,71,87,.92) 0 4px,transparent 4px 9px)}.breach-a{top:0;right:28px;width:62px}.breach-b{bottom:0;left:24px;width:38px;opacity:.62}.card-head,.card-foot,.signal-line,.card-body,.metrics{position:relative;z-index:2}.card-head{min-height:42px;padding:0 18px;border-bottom:1px solid var(--tui-border-color);display:flex;align-items:center;justify-content:space-between;gap:var(--tui-gap-md);background:#00d4ff09;font-size:var(--tui-text-xs);letter-spacing:.14em;white-space:nowrap}.protocol{color:var(--tui-text-muted)}.protocol b{color:var(--tui-cyan)}.protocol span{color:var(--tui-red);padding:0 var(--tui-gap-xs)}.context{display:flex;align-items:center;gap:var(--tui-gap-xs);color:var(--tui-text-dim);font-variant-numeric:tabular-nums}.context-dot{width:5px;height:5px;background:var(--tui-red)}.signal-line{display:flex;align-items:center;gap:var(--tui-gap-sm);padding:14px 18px 0;font-size:var(--tui-text-2xs);letter-spacing:.18em}.signal-index{color:var(--tui-red)}.signal-rule{flex:1;border-top:1px dashed rgba(90,106,128,.55)}.signal-status{color:var(--tui-green)}.card-body{padding:14px 18px 18px}.kind{margin:0 0 var(--tui-gap-xs);color:var(--tui-cyan);font-size:var(--tui-text-xs);letter-spacing:.24em;text-transform:uppercase}.card-body h1{margin:0;max-width:480px;font-family:var(--tui-font-heading);font-size:25px;line-height:1.12;letter-spacing:.045em;text-transform:uppercase;text-wrap:balance}.summary{margin:var(--tui-gap-sm) 0 0;color:var(--tui-text-secondary);font-size:var(--tui-text-lg);line-height:1.52}.metrics{display:grid;grid-template-columns:repeat(var(--metric-count, 1),minmax(0,1fr));margin:0 18px 16px;border-top:1px solid var(--tui-border-color);border-bottom:1px solid var(--tui-border-color)}.metric{min-width:0;padding:12px 14px 11px;border-left:1px solid var(--tui-border-color)}.metric:first-child{border-left:0;padding-left:0}.metric:last-child{padding-right:0}.metric-value{display:block;color:var(--tui-cyan);font-family:var(--tui-font-heading);font-size:var(--tui-text-2xl);line-height:1;font-variant-numeric:tabular-nums}.metric-label{display:block;margin-top:var(--tui-gap-2xs);overflow:hidden;color:var(--tui-text-dim);font-size:var(--tui-text-2xs);letter-spacing:.13em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.card-foot{min-height:34px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:var(--tui-gap-sm);color:var(--tui-text-dim);font-size:var(--tui-text-2xs);letter-spacing:.11em}.operator{color:#ff4757c7}.connection{position:absolute;left:48px;bottom:252px;display:flex;align-items:center;gap:var(--tui-gap-xs);padding:5px 9px;border:1px solid var(--tui-border-color);background:#05080fdb;color:var(--tui-text-dim);font-size:var(--tui-text-2xs);letter-spacing:.16em;opacity:0;transition:opacity var(--tui-dur-base) var(--tui-ease-out);z-index:30}.stage[data-position=right] .connection{left:auto;right:48px;bottom:222px}.connection.visible{opacity:1}.connection span{width:6px;height:6px;background:var(--tui-yellow)}.connection[data-status=error]{color:var(--tui-red)}.connection[data-status=error] span{background:var(--tui-red)}.connection[data-status=open]{color:var(--tui-green)}.connection[data-status=open] span{background:var(--tui-green)}.debug-layer{position:absolute;inset:0;z-index:4}.exclude,.safe-rail{position:absolute;border:1px dashed rgba(255,71,87,.72);background:#ff47570f}.exclude span,.safe-rail span{position:absolute;top:5px;left:7px;color:var(--tui-red);font-size:var(--tui-text-2xs);letter-spacing:.12em}.exclude-scoreboard{left:492px;top:0;width:886px;height:82px}.exclude-controls{right:0;top:42px;width:274px;height:270px}.exclude-minimap{left:0;bottom:0;width:248px;height:244px}.exclude-hero{left:492px;bottom:0;width:946px;height:174px}.exclude-inventory{right:0;bottom:0;width:288px;height:212px}.safe-rail{border-color:#00d4ff9e;background:#00d4ff09}.safe-rail span{color:var(--tui-cyan)}.safe-left{left:36px;top:184px;width:568px;height:632px}.safe-right{right:36px;top:328px;width:568px;height:500px}@media (prefers-reduced-motion: reduce){.analysis-card.entering,.analysis-card.leaving{animation:none}}
