@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/rajdhani-600.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/rajdhani-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format("woff2")}:root{--brand-primary: oklch(.228 .013 107.4);--brand-primary-fg: oklch(.985 .003 106.5);--brand-accent: oklch(.705 .213 47.6);--brand-accent-2: oklch(.646 .222 41.1);--brand-indigo: oklch(.508 .16 267);--brand-surface: oklch(1 0 0);--brand-obsidian: oklch(.981 .004 106.5);--brand-font-display: "Rajdhani", system-ui, sans-serif;--brand-font-text: "IBM Plex Sans", system-ui, sans-serif;--brand-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--signal-defense: oklch(.598 .118 197);--signal-intrusion: oklch(.552 .223 27.4);--signal-intrusion-2: oklch(.63 .203 40);--signal-alert: oklch(.705 .16 71);--signal-intrusion-text: oklch(.505 .205 27.4);--signal-intrusion-strong: oklch(.452 .198 27.4);--signal-alert-text: oklch(.51 .12 68);--state-idle: oklch(.6 .017 107);--state-current: oklch(.678 .19 52);--state-current-text: oklch(.52 .16 50);--state-contained: oklch(.6 .108 191);--state-contained-text: oklch(.5 .1 193);--state-compromised: oklch(.552 .223 27.4);--state-ghost: oklch(.6 .075 331);--surface-app: var(--brand-obsidian);--surface-panel: var(--brand-surface);--surface-panel-2: oklch(.985 .003 106.5);--surface-steel: oklch(.966 .005 106.5);--surface-steel-2: oklch(.93 .007 106.5);--surface-glass: oklch(1 0 0 / .72);--surface-line: oklch(.912 .008 106.5);--hairline: oklch(.153 .006 107 / .1);--scrim: oklch(.153 .006 107 / .48);--qr-paper: oklch(.985 .001 106.5);--qr-ink: oklch(.16 .004 107);--app-backdrop: radial-gradient(1200px 700px at 72% -12%, oklch(.86 .06 62 / .16) 0%, transparent 55%), radial-gradient(900px 600px at 8% 112%, oklch(.75 .05 250 / .1) 0%, transparent 52%), var(--surface-app);--grid-overlay: linear-gradient(oklch(.153 .006 107 / .035) 1px, transparent 1px), linear-gradient(90deg, oklch(.153 .006 107 / .035) 1px, transparent 1px);--map-backdrop: radial-gradient(120% 100% at 50% 42%, oklch(1 0 0 / .66), transparent 70%);--node-shadow: 0 1px 2px oklch(.153 .006 107 / .1), 0 2px 6px -2px oklch(.153 .006 107 / .12);--topbar-bg: linear-gradient(180deg, oklch(1 0 0 / .94), oklch(.99 .003 106.5 / .82));--panel-grad: linear-gradient(180deg, oklch(1 0 0 / .6), transparent);--tab-active-bg: linear-gradient(180deg, oklch(.276 .013 107.4), oklch(.208 .013 107.4));--chip-bg: oklch(.972 .004 106.5 / .85);--inset-bg: oklch(.968 .005 106.5);--banner-bg: linear-gradient(180deg, oklch(.945 .066 78), oklch(.915 .075 72));--accent-cta: linear-gradient(180deg, oklch(.276 .013 107.4), oklch(.212 .013 107.4));--wash-defense: oklch(.598 .118 197 / .12);--wash-defense-line: oklch(.598 .118 197 / .42);--wash-alert: oklch(.705 .16 71 / .16);--wash-alert-line: oklch(.62 .15 71 / .5);--wash-intrusion: oklch(.552 .223 27.4 / .1);--wash-intrusion-line: oklch(.552 .223 27.4 / .4);--wash-indigo: oklch(.508 .16 267 / .12);--wash-indigo-line: oklch(.508 .16 267 / .42);--wash-contained: oklch(.6 .108 191 / .12);--wash-contained-line: oklch(.6 .108 191 / .42);--wash-current: oklch(.678 .19 52 / .14);--wash-current-line: oklch(.678 .19 52 / .45);--text-primary: oklch(.153 .006 107.1);--text-secondary: oklch(.32 .011 107.2);--text-muted: oklch(.492 .028 107.3);--text-dim: oklch(.532 .028 107.3);--text-on-accent: oklch(.985 .003 106.5);--text-role: oklch(.42 .145 267);--text-cxo: oklch(.44 .17 300);--surface-card: linear-gradient(180deg, oklch(1 0 0 / .92), oklch(.99 .003 106.5 / .7));--focus-ring: var(--brand-accent);--font-display: var(--brand-font-display);--font-text: var(--brand-font-text);--font-mono: var(--brand-font-mono);--fs-brand: 18px;--fs-h1: 21px;--fs-h2: 18px;--fs-title: 15px;--fs-body: 12.5px;--fs-chip: 11px;--fs-tab: 12px;--fs-label: 10px;--fs-micro: 9.5px;--tracking-label: .13em;--tracking-wide: .08em;--tracking-tab: .06em;--radius-chip: 6px;--radius-card: 8px;--radius-panel: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 18px;--node-surface: var(--surface-panel);--node-label: var(--text-primary);--node-hair: var(--hairline);--edge-link: oklch(.153 .006 107 / .3);--edge-link-arrow: oklch(.153 .006 107 / .58);--edge-trust: oklch(.508 .16 267 / .55);--edge-monitor: oklch(.56 .104 194 / .62);--edge-flow: var(--signal-intrusion);--edge-flow-arrow: var(--signal-intrusion)}:root[data-theme=dark]{--brand-primary: oklch(.93 .007 106.5);--brand-primary-fg: oklch(.228 .013 107.4);--brand-surface: oklch(.228 .013 107.4);--brand-obsidian: oklch(.153 .006 107.1);--brand-indigo: oklch(.62 .15 267);--signal-defense: oklch(.72 .11 197);--signal-intrusion: oklch(.62 .2 27.4);--signal-intrusion-2: oklch(.66 .19 40);--signal-alert: oklch(.8 .14 78);--signal-intrusion-text: oklch(.712 .17 27.4);--signal-intrusion-strong: oklch(.702 .198 27.4);--signal-alert-text: oklch(.86 .13 78);--state-idle: oklch(.62 .016 107);--state-current: oklch(.75 .17 55);--state-current-text: oklch(.8 .155 60);--state-contained: oklch(.7 .1 191);--state-contained-text: oklch(.8 .1 193);--state-compromised: oklch(.62 .2 27.4);--state-ghost: oklch(.66 .07 331);--surface-panel-2: oklch(.256 .013 107.4);--surface-steel: oklch(.286 .016 107.4);--surface-steel-2: oklch(.322 .016 107.3);--surface-glass: oklch(.228 .013 107.4 / .72);--surface-line: oklch(1 0 0 / .12);--hairline: oklch(1 0 0 / .1);--scrim: oklch(.05 .004 107 / .66);--app-backdrop: radial-gradient(1200px 700px at 72% -12%, oklch(.7 .11 62 / .1) 0%, transparent 55%), radial-gradient(900px 600px at 8% 112%, oklch(.6 .09 250 / .1) 0%, transparent 52%), var(--surface-app);--grid-overlay: linear-gradient(oklch(1 0 0 / .03) 1px, transparent 1px), linear-gradient(90deg, oklch(1 0 0 / .03) 1px, transparent 1px);--map-backdrop: radial-gradient(120% 100% at 50% 42%, oklch(1 0 0 / .06), transparent 70%);--node-shadow: 0 1px 2px oklch(0 0 0 / .4), 0 2px 6px -2px oklch(0 0 0 / .5);--topbar-bg: linear-gradient(180deg, oklch(.2 .01 107 / .94), oklch(.17 .008 107 / .82));--panel-grad: linear-gradient(180deg, oklch(1 0 0 / .05), transparent);--tab-active-bg: linear-gradient(180deg, oklch(.95 .006 106.5), oklch(.9 .008 106.5));--chip-bg: oklch(.26 .012 107 / .85);--inset-bg: oklch(.2 .01 107);--banner-bg: linear-gradient(180deg, oklch(.42 .1 76), oklch(.37 .093 74));--accent-cta: linear-gradient(180deg, oklch(.95 .006 106.5), oklch(.9 .008 106.5));--wash-defense: oklch(.72 .11 197 / .15);--wash-defense-line: oklch(.72 .11 197 / .45);--wash-alert: oklch(.8 .14 78 / .16);--wash-alert-line: oklch(.8 .14 78 / .5);--wash-intrusion: oklch(.62 .2 27.4 / .16);--wash-intrusion-line: oklch(.62 .2 27.4 / .45);--wash-indigo: oklch(.62 .15 267 / .16);--wash-indigo-line: oklch(.62 .15 267 / .45);--wash-contained: oklch(.7 .1 191 / .15);--wash-contained-line: oklch(.7 .1 191 / .45);--wash-current: oklch(.75 .17 55 / .16);--wash-current-line: oklch(.75 .17 55 / .45);--text-primary: oklch(.985 .003 106.5);--text-secondary: oklch(.86 .006 107);--text-muted: oklch(.732 .017 107);--text-dim: oklch(.692 .02 107);--text-on-accent: oklch(.228 .013 107.4);--text-role: oklch(.76 .11 267);--text-cxo: oklch(.76 .13 300);--surface-card: linear-gradient(180deg, oklch(.246 .013 107.4 / .92), oklch(.2 .01 107 / .7));--edge-link: oklch(1 0 0 / .3);--edge-link-arrow: oklch(1 0 0 / .55);--edge-trust: oklch(.62 .15 267 / .6);--edge-monitor: oklch(.7 .1 194 / .6)}.landing{position:relative;z-index:1;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--panel-grad)}.landing-card{width:100%;max-width:460px;background:linear-gradient(180deg,var(--surface-glass),transparent),var(--surface-panel);border:1px solid var(--hairline);border-radius:var(--radius-panel);padding:var(--space-5);box-shadow:var(--node-shadow);display:flex;flex-direction:column;gap:var(--space-4)}.landing-head{display:flex;align-items:center;gap:var(--space-3)}.landing-logo{flex:0 0 auto;height:40px;max-width:120px;object-fit:contain}.landing-logo-ondark{display:none}:root[data-theme=dark] .landing-logo-onlight{display:none}:root[data-theme=dark] .landing-logo-ondark{display:block}.landing-titles{min-width:0}.landing-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:.01em;color:var(--text-primary)}.landing-sub{margin:2px 0 0;font-size:var(--fs-chip);color:var(--text-muted)}.landing-choices{display:flex;flex-direction:column;gap:var(--space-3)}.choice{display:flex;flex-direction:column;gap:4px;text-align:left;padding:var(--space-4);background:var(--surface-steel);border:1px solid var(--hairline);border-radius:var(--radius-card);cursor:pointer;transition:.15s}.choice:hover{border-color:var(--focus-ring)}.choice-title{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;font-size:var(--fs-title);color:var(--text-primary)}.choice-note{font-size:var(--fs-body);line-height:1.5;color:var(--text-muted)}.landing-form{display:flex;flex-direction:column;gap:var(--space-3)}.landing-form-h{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);letter-spacing:.02em;color:var(--text-primary)}.landing .field input[type=text],.landing .field input[type=password]{font-family:var(--font-text);font-size:var(--fs-body);color:var(--text-primary);background:var(--inset-bg);border:1px solid var(--hairline);border-radius:var(--radius-chip);padding:9px 11px}.landing .field input[type=text]:focus,.landing .field input[type=password]:focus{border-color:var(--focus-ring);outline:none}.create-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.create-lab{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-muted)}.seg-group button:disabled{opacity:.45;cursor:not-allowed}.landing-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1)}@media (prefers-reduced-motion: reduce){.choice{transition:none}}.presenter-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:10px var(--space-4);border-bottom:1px solid var(--hairline);background:var(--panel-grad)}.presenter-join{display:flex;align-items:center;gap:var(--space-3);min-width:0}.presenter-qr{flex:0 0 auto;width:62px;height:62px;padding:5px;border-radius:var(--radius-card);background:var(--qr-paper);border:1px solid var(--hairline);color:var(--qr-ink);display:flex}.presenter-qr svg{width:100%;height:100%;display:block}.presenter-invite{display:flex;flex-direction:column;gap:3px;min-width:0}.presenter-lab,.presenter-codelab{font-size:var(--fs-micro);color:var(--text-dim)}.presenter-url{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presenter-codewrap{display:flex;align-items:baseline;gap:var(--space-2)}.presenter-code{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.14em;line-height:1;color:var(--text-primary)}.presenter-tally{flex:1 1 auto;max-width:46%;display:flex;flex-direction:column;gap:4px}.presenter-tally-empty{font-size:var(--fs-body);color:var(--text-dim);text-align:right}.presenter-tallyrow{display:flex;align-items:center;gap:var(--space-2)}.presenter-tallykey{flex:0 0 auto;min-width:16px;font-size:var(--fs-chip);font-weight:700;color:var(--text-muted);text-align:center}.presenter-tallytrack{flex:1 1 auto;height:10px;border-radius:999px;background:var(--surface-steel);overflow:hidden}.presenter-tallyfill{display:block;height:100%;border-radius:999px;background:var(--signal-defense);transition:width .25s ease}.presenter-tallycount{flex:0 0 auto;min-width:22px;font-size:var(--fs-chip);font-weight:600;color:var(--state-current-text);text-align:right}@media (prefers-reduced-motion: reduce){.presenter-tallyfill{transition:none}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.ndev{--c: var(--state-idle);--fill: var(--node-surface);display:flex;flex-direction:column;align-items:center;gap:5px;width:86px;color:var(--c);transition:color .3s}.ndev .nring{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--fill);border:1.8px solid var(--c);color:var(--c);box-shadow:var(--node-shadow);transition:border-color .3s,background .3s,box-shadow .3s}.ndev .nicon{width:26px;height:26px;display:grid;place-items:center;color:var(--c)}.ndev .nicon svg{width:100%;height:100%}.ndev .nbody{display:flex;flex-direction:column;align-items:center;min-width:0;line-height:1.2;text-align:center}.ndev .nlabel{color:var(--node-label);font-size:11px;font-weight:600;white-space:nowrap}.ndev .nsub{color:var(--text-muted);font-size:9px;opacity:1;white-space:nowrap}.ndev.state-idle{--c: var(--state-idle);--fill: var(--node-surface)}.ndev.state-current{--c: var(--state-current);--fill: var(--wash-current)}.ndev.state-current .nring{box-shadow:var(--node-shadow),0 0 0 1px var(--c),0 0 16px -3px var(--c)}.ndev.state-contained{--c: var(--state-contained);--fill: var(--wash-contained)}.ndev.state-contained .nring{box-shadow:var(--node-shadow),0 0 0 1px var(--c),0 0 13px -3px var(--c)}.ndev.state-compromised{--c: var(--state-compromised);--fill: var(--wash-intrusion)}.ndev.state-compromised .nring{box-shadow:var(--node-shadow),0 0 0 1px var(--c),0 0 16px -3px var(--c)}.ndev.state-ghost{--c: var(--state-ghost);--fill: var(--node-surface);opacity:.55}.ndev.state-ghost .nring{border-style:dashed}.ndev.state-ghost .nicon{opacity:.6}@media (prefers-reduced-motion: reduce){.ndev,.ndev .nring{transition:none}}.react-flow__handle{opacity:0;pointer-events:none;min-width:1px;min-height:1px;border:none}.map-markers{position:absolute}#edge-arrow path{fill:var(--edge-link-arrow)}#edge-arrow-flow path{fill:var(--edge-flow-arrow)}.react-flow__edge .react-flow__edge-path{transition:stroke .3s,stroke-width .3s,opacity .3s}.react-flow__edge.edge-link .react-flow__edge-path{stroke:var(--edge-link);stroke-width:1.6px;marker-end:url(#edge-arrow)}.react-flow__edge.edge-trust .react-flow__edge-path{stroke:var(--edge-trust);stroke-width:1.5px;stroke-dasharray:6 4;marker-end:url(#edge-arrow)}.react-flow__edge.edge-monitor .react-flow__edge-path{stroke:var(--edge-monitor);stroke-width:1.3px;stroke-dasharray:2 5;opacity:.9;marker-end:none}.react-flow__edge.edge-flow .react-flow__edge-path{stroke:var(--edge-flow);stroke-width:2.2px;stroke-dasharray:5 5;opacity:1;marker-end:url(#edge-arrow-flow)}@media (prefers-reduced-motion: reduce){.react-flow__edge.animated .react-flow__edge-path{animation:none!important}}.pad{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;overflow:hidden}.pad-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--hairline);background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pad-brand{display:flex;align-items:center;gap:var(--space-2);min-width:0}.pad-logo{flex:0 0 auto;display:block;height:26px;max-width:92px;object-fit:contain}.pad-logo-ondark{display:none}:root[data-theme=dark] .pad-logo-onlight{display:none}:root[data-theme=dark] .pad-logo-ondark{display:block}.pad-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-title);letter-spacing:.01em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pad-top-right{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.pad-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--space-4);display:flex;flex-direction:column}.pad-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.pad-card{width:100%;display:flex;flex-direction:column}.pad-flag{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.pad-stagebadge{font-size:var(--fs-chip);color:var(--signal-alert-text);background:var(--wash-alert);border:1px solid var(--wash-alert-line);padding:5px 10px;border-radius:var(--radius-chip)}.pad-sit{margin:0;font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.25;letter-spacing:.01em;color:var(--text-primary)}.pad-q{margin:var(--space-2) 0 var(--space-4);font-size:15px;line-height:1.5;color:var(--text-secondary)}.pad-onpoint{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--space-4)}.pad-onpoint-lab{font-size:var(--fs-label);color:var(--text-dim)}.pad-role{font-family:var(--font-display);font-weight:600;font-size:var(--fs-chip);letter-spacing:.03em;color:var(--text-role);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line);padding:5px 11px;border-radius:999px}.pad-opts{display:flex;flex-direction:column;gap:var(--space-3)}.pad-opt{display:flex;align-items:center;width:100%;min-height:60px;text-align:left;gap:var(--space-3);border:1px solid var(--hairline);background:var(--surface-card);color:var(--text-primary);border-radius:var(--radius-panel);padding:14px 16px;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s;font:inherit}.pad-opt:hover{border-color:var(--wash-defense-line)}.pad-opt-key{flex:none;width:34px;height:34px;border-radius:var(--radius-card);background:var(--surface-steel);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;letter-spacing:.05em;font-size:15px;color:var(--text-muted);transition:background .16s,color .16s}.pad-opt-text{flex:1 1 auto;font-size:15px;line-height:1.35}.pad-opt-mark{flex:none;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-label);color:var(--state-contained-text)}.pad-opt.sel{border-color:var(--wash-defense-line);background:var(--wash-defense);box-shadow:0 0 0 1px var(--wash-defense-line) inset}.pad-opt.sel .pad-opt-key{background:var(--accent-cta);color:var(--text-on-accent)}.pad-hint{margin:var(--space-4) 0 0;font-size:var(--fs-body);line-height:1.5;color:var(--text-muted)}.pad-help{margin-top:var(--space-3);min-height:48px;align-self:flex-start;font-family:var(--font-display);font-weight:600;font-size:var(--fs-title);letter-spacing:.02em;color:var(--text-role);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line);border-radius:var(--radius-card);padding:12px 18px;cursor:pointer;transition:background .16s,border-color .16s}.pad-help:hover{border-color:var(--text-role)}.pad-help-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:pad-help-fade .16s ease-out}.pad-help-sheet{width:100%;max-height:86vh;display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--surface-line);border-bottom:none;border-radius:var(--radius-panel) var(--radius-panel) 0 0;box-shadow:0 -12px 40px -12px var(--node-shadow);padding:var(--space-4);overflow:hidden;animation:pad-help-rise .2s ease-out}.pad-help-sheet:focus{outline:none}.pad-help-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.pad-help-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.pad-help-eyebrow{font-size:var(--fs-label);color:var(--text-dim)}.pad-help-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:.01em;color:var(--text-primary)}.pad-help-close{flex:0 0 auto;min-height:40px;padding:8px 14px;font-family:var(--font-display);font-weight:600;font-size:var(--fs-title);letter-spacing:.02em;color:var(--text-secondary);background:var(--surface-steel);border:1px solid var(--hairline);border-radius:var(--radius-card);cursor:pointer;transition:background .16s,border-color .16s,color .16s}.pad-help-close:hover{color:var(--text-primary);border-color:var(--surface-line)}.pad-help-lead{flex:0 0 auto;margin:var(--space-2) 0 var(--space-3);font-size:var(--fs-body);line-height:1.5;color:var(--text-muted)}.pad-help-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding-right:2px}.pad-help-sec{display:flex;flex-direction:column;gap:var(--space-2)}.pad-help-sec-lab{margin:0;font-size:var(--fs-label);color:var(--text-dim)}.pad-help-roles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.pad-help-role{display:flex;flex-direction:column;gap:3px;padding:10px var(--space-3);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line);border-radius:var(--radius-card)}.pad-help-role-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-title);letter-spacing:.02em;color:var(--text-role)}.pad-help-role-duty{font-size:var(--fs-body);line-height:1.5;color:var(--text-secondary)}.pad-help-clauses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.pad-help-clause{font-size:var(--fs-chip);color:var(--text-secondary);background:var(--surface-steel);border:1px solid var(--hairline);border-radius:var(--radius-chip);padding:5px 10px}.pad-help-siem{display:flex;flex-direction:column;gap:2px;padding:10px var(--space-3);border-radius:var(--radius-card);border:1px solid var(--hairline);background:var(--surface-steel)}.pad-help-siem.like-alerting{background:var(--wash-defense);border-color:var(--wash-defense-line)}.pad-help-siem.like-partial{background:var(--wash-alert);border-color:var(--wash-alert-line)}.pad-help-siem.like-blind{background:var(--wash-intrusion);border-color:var(--wash-intrusion-line)}.pad-help-siem-like{font-family:var(--font-display);font-weight:700;font-size:var(--fs-title);letter-spacing:.02em;color:var(--text-primary)}.pad-help-siem-note{font-size:var(--fs-body);line-height:1.45;color:var(--text-secondary)}.pad-help-kv{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.pad-help-kv-row{display:flex;flex-direction:column;gap:2px}.pad-help-kv-lab{font-size:var(--fs-label);color:var(--text-dim)}.pad-help-kv-val{margin:0;font-size:var(--fs-body);line-height:1.5;color:var(--text-secondary)}@keyframes pad-help-rise{0%{transform:translateY(12px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes pad-help-fade{0%{opacity:0}to{opacity:1}}@media (min-width: 640px){.pad-help-scrim{align-items:center;padding:var(--space-5)}.pad-help-sheet{max-width:520px;max-height:80vh;border-bottom:1px solid var(--surface-line);border-radius:var(--radius-panel);box-shadow:0 24px 60px -18px var(--node-shadow)}}@media (prefers-reduced-motion: reduce){.pad-help-scrim,.pad-help-sheet{animation:none!important}.pad-help-close{transition:none!important}}.pad-between{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);padding:var(--space-5) var(--space-4)}.pad-between-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--wash-defense);border:1px solid var(--wash-defense-line);margin-bottom:var(--space-2)}.pad-between-pulse{width:12px;height:12px;border-radius:50%;background:var(--signal-defense);box-shadow:0 0 12px var(--signal-defense);animation:pad-pulse 2.4s ease-in-out infinite}@keyframes pad-pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.pad-between-h{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:.01em;color:var(--text-primary)}.pad-between-line{margin:0;max-width:34ch;font-size:14px;line-height:1.55;color:var(--text-secondary)}.pad-readouts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.pad-readout{display:flex;flex-direction:column;gap:2px;align-items:center;min-width:120px;padding:10px var(--space-3);border:1px solid var(--hairline);background:var(--chip-bg);border-radius:var(--radius-card)}.pad-readout-lab{font-size:var(--fs-label);color:var(--text-dim)}.pad-readout-val{font-family:var(--font-display);font-weight:600;font-size:var(--fs-title);color:var(--text-primary)}@media (min-width: 640px){.pad-body{padding:var(--space-5)}.pad-card,.pad-between{width:100%;max-width:560px;margin:0 auto}}@media (min-width: 960px){.pad-body{flex-direction:row;align-items:stretch;gap:var(--space-5);overflow:hidden}.pad-map{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-panel);background:var(--map-backdrop)}.pad-map-tag{position:absolute;bottom:10px;right:14px;font-family:var(--font-display);font-weight:600;letter-spacing:.1em;font-size:var(--fs-label);color:var(--text-dim);opacity:.6;pointer-events:none}.pad-content{flex:0 0 clamp(360px,34vw,460px);min-height:0;overflow-y:auto}.pad-card,.pad-between{max-width:none;margin:0}}@media (prefers-reduced-motion: reduce){.pad-opt,.pad-opt-key,.pad-help,.pad-between-pulse{animation:none!important;transition:none!important}}.view{height:100%;overflow:auto;padding:var(--space-5);background:var(--panel-grad)}.view-inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.view-head{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-1)}.view-kicker{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--fs-label);color:var(--text-dim)}.view-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.01em;color:var(--text-primary)}.panel{background:linear-gradient(180deg,var(--surface-glass),transparent),var(--surface-panel);border:1px solid var(--hairline);border-radius:var(--radius-panel);padding:var(--space-4)}.panel-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.panel-h h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);letter-spacing:.02em;color:var(--text-primary)}.panel-h .sub{font-size:var(--fs-chip);color:var(--text-muted)}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 860px){.panel-grid{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px var(--space-3);font-size:var(--fs-body);line-height:1.5}.kv .k{color:var(--text-muted)}.kv .v{color:var(--text-secondary)}.prov-note{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--hairline);font-size:var(--fs-chip);color:var(--text-muted);line-height:1.5}.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.rules li{display:flex;gap:var(--space-2);font-size:var(--fs-body);line-height:1.5;color:var(--text-secondary)}.rules li b{color:var(--text-primary)}.rules .tick{color:var(--signal-defense);flex:none}.roster-group+.roster-group{margin-top:var(--space-4)}.roster-group h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-label);color:var(--text-muted);margin:0 0 var(--space-2)}table.raci{width:100%;border-collapse:collapse;font-size:var(--fs-body)}table.raci th{text-align:left;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-dim);padding:6px 10px;border-bottom:1px solid var(--hairline)}table.raci td{padding:8px 10px;border-bottom:1px solid var(--hairline);color:var(--text-secondary);vertical-align:middle}table.raci tr:last-child td{border-bottom:none}table.raci td.role-title{color:var(--text-primary);font-weight:500}.track-chips{display:flex;flex-wrap:wrap;gap:5px}.trackchip{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:var(--fs-micro);padding:3px 8px;border-radius:999px;text-transform:uppercase}.trackchip.technical{color:var(--state-contained-text);background:var(--wash-defense);border:1px solid var(--wash-defense-line)}.trackchip.cxo{color:var(--text-secondary);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line)}.trackchip.both{color:var(--state-contained-text);background:var(--wash-contained);border:1px solid var(--wash-contained-line)}.raci-wrap{overflow-x:auto}.raci-wrap table.raci{min-width:40rem}table.raci td.role-resp{color:var(--text-secondary);min-width:19rem;line-height:1.45}.resp-text{display:block}.resp-raci{display:block;margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--text-dim);line-height:1.4}.resp-raci-lab{font-family:var(--font-display);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-role);margin-right:5px}.runcfg{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.runcfg .cfg{display:flex;flex-direction:column;gap:3px}.runcfg .cfg .lab{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-dim)}.runcfg .cfg .val{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--text-primary)}.session-hint{font-size:var(--fs-chip);color:var(--text-muted);line-height:1.5}.session-hint b{color:var(--text-secondary)}.btn-cta{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:var(--fs-title);text-transform:uppercase;color:var(--text-on-accent);background:var(--accent-cta);border:none;border-radius:var(--radius-card);padding:11px 20px;cursor:pointer;box-shadow:0 0 22px var(--wash-defense)}.btn-cta:hover{filter:brightness(1.08)}.btn{font-family:var(--font-display);font-weight:600;letter-spacing:.05em;font-size:var(--fs-body);color:var(--text-secondary);background:var(--surface-steel);border:1px solid var(--hairline);border-radius:var(--radius-chip);padding:9px 14px;cursor:pointer;transition:.15s}.btn:hover{border-color:var(--focus-ring);color:var(--text-primary)}.form-grid{display:flex;flex-direction:column;gap:var(--space-3)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-muted)}.field input[type=text],.field input[type=file]{font-family:var(--font-text);font-size:var(--fs-body);color:var(--text-primary);background:var(--inset-bg);border:1px solid var(--hairline);border-radius:var(--radius-chip);padding:9px 11px}.field input[type=text]:focus{border-color:var(--focus-ring);outline:none}.token-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--hairline)}.token-row:last-child{border-bottom:none}.token-row .tk{font-family:var(--font-mono);font-size:var(--fs-chip);color:var(--text-secondary)}.token-row input[type=color]{width:46px;height:30px;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-chip);background:transparent;cursor:pointer}.logo-preview{max-height:44px;max-width:160px;border-radius:var(--radius-chip);border:1px solid var(--hairline);background:var(--inset-bg);padding:4px 8px;object-fit:contain}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.form-msg{font-family:var(--font-mono);font-size:var(--fs-chip);padding:8px 11px;border-radius:var(--radius-chip);line-height:1.4}.form-msg.err{color:var(--signal-intrusion-text);background:var(--wash-intrusion);border:1px solid var(--wash-intrusion-line)}.form-msg.ok{color:var(--state-contained-text);background:var(--wash-contained);border:1px solid var(--wash-contained-line)}.recon{height:100%;display:grid;grid-template-columns:236px 1fr 320px;grid-template-rows:1fr 72px;grid-template-areas:"rail canvas intel" "rail transport intel"}.recon-rail{grid-area:rail;border-right:1px solid var(--hairline);background:var(--panel-grad);padding:14px 12px;overflow:auto}.recon-rail .rail-h{font-family:var(--font-display);font-weight:700;letter-spacing:.1em;font-size:var(--fs-tab);color:var(--text-muted);text-transform:uppercase;margin-bottom:10px}.siemleg{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.02em;color:var(--text-dim);margin:-4px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.siemleg .d{width:7px;height:7px;border-radius:50%;flex:none;margin-left:8px}.siemleg .d:first-child{margin-left:0}.vdot{width:7px;height:7px;border-radius:50%;flex:none}.vdot.alerting,.siemleg .d.alerting{background:var(--state-contained)}.vdot.partial,.siemleg .d.partial{background:var(--signal-alert)}.vdot.blind,.siemleg .d.blind{background:var(--signal-intrusion)}.recon-tactic{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-micro);color:var(--text-dim);margin:12px 0 5px}.kstep{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:6px 8px;border-radius:var(--radius-chip);cursor:pointer;color:var(--text-muted);font-size:var(--fs-body);transition:.15s;border:1px solid transparent;background:transparent}.kstep .num{font-family:var(--font-mono);font-size:var(--fs-label);width:18px;flex:none;color:var(--text-dim)}.kstep .kstep-label{flex:1;min-width:0}.kstep .kstep-vis{margin-left:auto;display:inline-flex;align-items:center;gap:5px;flex:none}.kstep .vtag{font-size:var(--fs-micro);letter-spacing:0;color:var(--text-dim);width:7px;text-align:center}.kstep:hover{border-color:var(--hairline);color:var(--text-secondary)}.kstep.done{color:var(--text-secondary)}.kstep.done .num{color:var(--signal-intrusion-text)}.kstep.cur{background:linear-gradient(90deg,var(--wash-intrusion),transparent);border-color:var(--wash-intrusion-line);color:var(--text-primary)}.kstep.cur .num{color:var(--signal-intrusion-text)}.recon-canvas{grid-area:canvas;position:relative;overflow:hidden;background:var(--map-backdrop)}.recon-canvas .watermark{position:absolute;bottom:10px;right:14px;font-family:var(--font-display);font-weight:600;letter-spacing:.1em;font-size:var(--fs-label);color:var(--text-dim);opacity:.6;pointer-events:none}.recon-intel{grid-area:intel;border-left:1px solid var(--hairline);background:linear-gradient(180deg,var(--surface-glass),transparent);padding:16px;overflow:auto}.recon-intel .intel-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recon-intel .attck{font-family:var(--font-mono);font-size:var(--fs-chip);color:var(--state-current-text);background:var(--wash-defense);border:1px solid var(--wash-defense-line);padding:3px 8px;border-radius:6px}.recon-intel .i-step{font-family:var(--font-mono);color:var(--text-muted);font-size:var(--fs-chip)}.recon-intel .prov{font-family:var(--font-display);font-weight:600;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;margin-left:auto}.recon-intel .prov.rep{color:var(--signal-alert-text);background:var(--wash-alert);border:1px solid var(--wash-alert-line)}.recon-intel .prov.cf{color:var(--state-contained-text);background:var(--wash-contained);border:1px solid var(--wash-contained-line)}.recon-intel h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:.01em;margin:12px 0 2px;line-height:1.1;color:var(--text-primary)}.recon-intel .phase{color:var(--text-muted);font-size:var(--fs-body);margin-bottom:12px}.recon-intel .narr{font-size:var(--fs-body);line-height:1.6;color:var(--text-secondary);margin:0}.siemblk{margin-top:14px;border-top:1px solid var(--hairline);padding-top:12px}.siemblk .siem-h{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-label);color:var(--text-muted);margin-bottom:8px}.siemchip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:var(--fs-chip);padding:5px 10px;border-radius:7px}.siemchip .d{width:8px;height:8px;border-radius:50%}.siemchip.alerting{color:var(--state-contained-text);background:var(--wash-contained);border:1px solid var(--wash-contained-line)}.siemchip.alerting .d{background:var(--state-contained);box-shadow:0 0 8px var(--state-contained)}.siemchip.partial{color:var(--signal-alert-text);background:var(--wash-alert);border:1px solid var(--wash-alert-line)}.siemchip.partial .d{background:var(--signal-alert);box-shadow:0 0 8px var(--signal-alert)}.siemchip.blind{color:var(--signal-intrusion-text);background:var(--wash-intrusion);border:1px solid var(--wash-intrusion-line)}.siemchip.blind .d{background:var(--signal-intrusion);box-shadow:0 0 8px var(--signal-intrusion)}.siem-use{font-size:var(--fs-chip);color:var(--text-secondary);margin-top:8px;line-height:1.5}.siem-gap{font-size:var(--fs-chip);color:var(--text-muted);margin-top:6px;line-height:1.5}.siem-use b{color:var(--text-primary)}.siem-gap b.gap{color:var(--signal-intrusion-text)}.transport{grid-area:transport;border-top:1px solid var(--hairline);background:var(--inset-bg);display:flex;align-items:center;gap:14px;padding:0 18px}.tbtn{width:34px;height:34px;border-radius:9px;border:1px solid var(--hairline);background:var(--surface-glass);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;font-size:13px;flex:none}.tbtn:hover:not(:disabled){border-color:var(--brand-accent)}.tbtn:disabled{opacity:.4;cursor:default}.tbtn.play{width:42px;height:42px;background:var(--accent-cta);border-color:var(--wash-defense-line);color:var(--text-on-accent);box-shadow:0 0 22px var(--wash-defense)}.rail-dots{display:flex;gap:5px;flex:1;align-items:center}.rdot{height:8px;flex:1;border-radius:3px;background:var(--surface-steel);transition:.2s;cursor:pointer;max-width:40px;border:none;padding:0}.rdot.done{background:linear-gradient(90deg,var(--signal-intrusion-2),var(--signal-intrusion))}.rdot.cur{background:var(--signal-intrusion);box-shadow:0 0 10px var(--signal-intrusion)}.speed{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--text-muted);background:transparent;border:1px solid var(--hairline);border-radius:var(--radius-chip);padding:6px 10px;cursor:pointer;flex:none}.speed:hover{color:var(--text-secondary);border-color:var(--brand-accent)}.recon-proceed{font-family:var(--font-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:var(--fs-chip);color:var(--text-on-accent);background:var(--accent-cta);border:none;border-radius:var(--radius-chip);padding:9px 14px;cursor:pointer;white-space:nowrap;flex:none}.recon-proceed:hover{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){.kstep,.tbtn,.rdot,.speed{transition:none!important}}.wr-dock{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;overflow:hidden;min-height:0}.wr-modbar{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--hairline);border-bottom:1px solid var(--hairline);flex:0 0 auto}.wr-modcell{background:var(--surface-panel-2);padding:9px 6px;text-align:center}.wr-modval{font-size:13px;color:var(--text-secondary);letter-spacing:.02em;min-height:16px}.wr-modcell.kind-gauge .wr-modval{color:var(--state-contained-text)}.wr-modcell.kind-status .wr-modval{color:var(--state-current-text)}.wr-modlabel{font-family:var(--font-display);font-weight:600;font-size:8.5px;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;margin-top:3px}.wr-progwrap{padding:12px 16px 8px;border-bottom:1px solid var(--hairline);flex:0 0 auto}.wr-prog{display:flex;gap:5px}.wr-pstep{flex:1;height:5px;border-radius:3px;background:var(--surface-steel);transition:.2s}.wr-pstep.correct{background:linear-gradient(90deg,var(--state-contained),var(--state-current))}.wr-pstep.partial{background:var(--signal-alert)}.wr-pstep.incorrect{background:var(--signal-intrusion)}.wr-pstep.cur{box-shadow:0 0 0 1.5px var(--brand-accent)}.wr-progtxt{font-size:10px;color:var(--text-dim);margin-top:7px;letter-spacing:.02em;text-transform:capitalize}.wr-scroll{flex:1 1 auto;min-height:0;overflow:auto}.wr-body{padding:16px 18px}.wr-empty{padding:32px 18px;color:var(--text-muted);font-size:var(--fs-body)}.wr-flag{display:flex;align-items:center;gap:8px;margin-bottom:9px;flex-wrap:wrap}.wr-stagebadge{font-family:var(--font-display);font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:11px;color:var(--signal-alert-text);background:var(--wash-alert);border:1px solid var(--wash-alert-line);padding:4px 9px;border-radius:7px}.wr-trackchip{font-family:var(--font-display);font-weight:700;letter-spacing:.08em;font-size:10px;padding:4px 9px;border-radius:999px;text-transform:uppercase}.wr-trackchip.technical{color:var(--state-current-text);background:var(--wash-defense);border:1px solid var(--wash-defense-line)}.wr-trackchip.cxo{color:var(--text-cxo);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line)}.wr-trackchip.both{color:var(--state-contained-text);background:var(--wash-contained);border:1px solid var(--wash-contained-line)}.wr-sla{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--signal-alert-text);margin-left:auto}.wr-sla-arm{border:1px solid var(--wash-alert-line);background:var(--wash-alert);border-radius:7px;padding:5px 10px;cursor:pointer;font-weight:600;transition:.15s}.wr-sla-arm:hover{filter:brightness(1.12)}.wr-sla.breached{color:var(--signal-intrusion-text);font-weight:700;animation:wr-slablink 1s steps(2) infinite}@keyframes wr-slablink{50%{opacity:.4}}.wr-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.wr-attck{font-size:11px;color:var(--state-current-text);border:1px solid var(--wash-defense-line);background:var(--wash-defense);padding:3px 8px;border-radius:6px;letter-spacing:.03em}.wr-ccmp{font-family:var(--font-display);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--state-contained-text);border:1px solid var(--wash-contained-line);background:var(--wash-contained);padding:3px 8px;border-radius:6px}.wr-clause{font-size:10.5px;color:var(--text-muted);border:1px solid var(--hairline);padding:3px 8px;border-radius:6px}.wr-board{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.03em;color:var(--text-cxo);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line);border-radius:7px;padding:6px 10px;margin-bottom:10px}.wr-sit{font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.25;letter-spacing:.01em;color:var(--text-primary);margin-top:2px}.wr-q{color:var(--text-muted);font-size:12.5px;margin:7px 0 12px;line-height:1.5}.wr-dock.presenter .wr-sit{font-size:26px;line-height:1.2}.wr-dock.presenter .wr-q{font-size:16px;color:var(--text-secondary);line-height:1.45}.wr-dock.presenter .wr-opt-text{font-size:15px}.wr-onpoint{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.wr-onpoint-lab{font-size:10px;color:var(--text-dim)}.wr-role{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.03em;color:var(--text-role);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line);padding:4px 9px;border-radius:999px}.wr-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 10px}.wr-tool{background:var(--wash-defense);border:1px solid var(--wash-defense-line);color:var(--state-current-text);font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.03em;padding:6px 12px;border-radius:7px;cursor:pointer;transition:.15s}.wr-tool:hover{filter:brightness(1.12)}.wr-tool.on{background:var(--wash-alert);border-color:var(--wash-alert-line);color:var(--signal-alert-text)}.wr-tool-hint{font-size:10.5px;color:var(--text-dim);margin-left:auto;letter-spacing:.02em}.wr-feasibility{margin:2px 0 12px;border:1px solid var(--wash-alert-line);background:var(--wash-alert);border-radius:10px;padding:10px 12px}.wr-feas-label{display:block;font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.02em;color:var(--signal-alert-text);line-height:1.4;margin-bottom:6px}.wr-feas-input{width:100%;resize:vertical;font-family:var(--font-text);font-size:12px;line-height:1.45;color:var(--text-primary);background:var(--inset-bg);border:1px solid var(--hairline);border-radius:8px;padding:8px 10px}.wr-feas-input::placeholder{color:var(--text-dim)}.wr-poll-head{display:flex;flex-direction:column;gap:2px;margin:2px 0 9px}.wr-poll-title{font-size:10px;color:var(--text-secondary)}.wr-poll-help{font-size:10.5px;line-height:1.45;color:var(--text-dim);letter-spacing:.01em}.wr-opts{display:flex;flex-direction:column}.wr-opt-row{display:flex;align-items:stretch;gap:8px;margin-bottom:9px}.wr-opt-row .wr-opt{flex:1;margin-bottom:0}.wr-opt{display:flex;align-items:flex-start;width:100%;text-align:left;gap:11px;border:1px solid var(--hairline);background:var(--surface-card);color:var(--text-primary);border-radius:12px;padding:12px 14px;margin-bottom:9px;cursor:pointer;transition:.16s;font:inherit}button.wr-opt:hover{border-color:var(--brand-accent);transform:translate(2px)}.wr-opt-key{flex:none;min-width:24px;height:24px;border-radius:7px;background:var(--surface-steel);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;letter-spacing:.05em;font-size:11px;color:var(--text-muted)}.wr-opt-text{flex:1;font-size:13px;line-height:1.35}.wr-opt-clause{color:var(--text-muted)}.wr-opt.answered{cursor:default}.wr-opt.dim{opacity:.42}.wr-opt.correct.sel,.wr-opt.correct.dim{border-color:var(--wash-contained-line)}.wr-opt.correct.sel{background:var(--wash-contained);box-shadow:0 0 26px var(--wash-contained);opacity:1}.wr-opt.correct.dim{opacity:.72}.wr-opt.wrong.sel,.wr-opt.partial.sel{border-color:var(--wash-intrusion-line);background:var(--wash-intrusion);box-shadow:0 0 26px var(--wash-intrusion);opacity:1}.wr-opt.partial.sel{border-color:var(--wash-alert-line);background:var(--wash-alert)}.wr-opt-verdict{flex:none;font-family:var(--font-mono);font-size:12px;font-weight:600;align-self:center}.wr-opt-verdict.v-correct{color:var(--state-contained-text)}.wr-opt-verdict.v-partial{color:var(--signal-alert-text)}.wr-opt-verdict.v-incorrect{color:var(--signal-intrusion-text)}.wr-tally{flex:none;display:flex;align-items:center;gap:8px;align-self:center}.wr-tally button{width:26px;height:26px;border:1px solid var(--hairline);background:var(--inset-bg);color:var(--text-muted);border-radius:7px;font-size:15px;cursor:pointer;line-height:1;transition:.15s}.wr-tally button:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.wr-tally b{min-width:16px;text-align:center;font-family:var(--font-mono);font-size:14px;color:var(--state-current-text)}.wr-tally-live{padding:4px 11px;border:1px solid var(--wash-defense-line);background:var(--wash-defense);border-radius:999px}.wr-tally-live b{color:var(--state-current-text)}.wr-reveal{margin-top:4px;border-radius:12px;padding:13px;font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.wr-reveal.good{background:var(--wash-contained);border:1px solid var(--wash-contained-line)}.wr-reveal.partial{background:var(--wash-alert);border:1px solid var(--wash-alert-line)}.wr-reveal.bad{background:var(--wash-intrusion);border:1px solid var(--wash-intrusion-line)}.wr-reveal-h{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:13px;margin-bottom:5px}.wr-reveal-h.v-correct{color:var(--state-contained-text)}.wr-reveal-h.v-partial{color:var(--signal-alert-text)}.wr-reveal-h.v-incorrect{color:var(--signal-intrusion-text)}.wr-reveal-text{margin:0}.wr-reveal-ref{margin-top:8px;font-size:10.5px;color:var(--state-current-text)}.wr-model-call{margin-top:10px;padding-top:9px;border-top:1px solid var(--hairline)}.wr-model-label{display:inline-block;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:9.5px;color:var(--state-contained-text);margin-right:8px}.wr-model-text{color:var(--text-primary)}.wr-continue{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:13px;text-transform:uppercase;color:var(--text-on-accent);background:var(--accent-cta);border:none;border-radius:10px;padding:11px 16px;cursor:pointer;width:100%;margin-top:12px;box-shadow:0 0 22px var(--wash-defense-line)}.wr-continue:hover{filter:brightness(1.08)}.wr-feed{flex:0 0 auto;max-height:150px;display:flex;flex-direction:column;border-top:1px solid var(--hairline);background:var(--chip-bg);padding:10px 14px}.wr-feed-h{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-family:var(--font-display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:10px;margin-bottom:6px;flex:0 0 auto}.wr-feed-dot{width:6px;height:6px;border-radius:50%;background:var(--signal-defense);box-shadow:0 0 8px var(--signal-defense)}.wr-feed-lines{overflow:auto;font-family:var(--font-mono);font-size:11px;line-height:1.75}.wr-feed-empty{color:var(--text-dim)}.wr-feed-line{color:var(--text-secondary)}.wr-feed-ok{color:var(--state-contained-text)}.wr-feed-warn{color:var(--signal-alert-text)}.wr-feed-bad{color:var(--signal-intrusion-text)}.wr-feed-info{color:var(--text-muted)}@media (prefers-reduced-motion: reduce){.wr-sla.breached,.wr-pstep,.wr-opt,.wr-tool,.wr-tally button{animation:none!important;transition:none!important}}.aar{height:100%;overflow:auto;padding:var(--space-5);background:var(--panel-grad)}.aar-inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.tone-ok{color:var(--state-contained-text)}.tone-warn{color:var(--signal-alert-text)}.tone-bad{color:var(--signal-intrusion-text)}.tone-info{color:var(--text-muted)}.aar-head{display:flex;flex-direction:column;gap:4px}.aar-kicker{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--fs-label);color:var(--text-dim)}.aar-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.01em;color:var(--text-primary)}.aar-sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:2px}.aar-sub-pill{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-role);background:var(--wash-indigo);border:1px solid var(--wash-indigo-line);padding:3px 9px;border-radius:999px}.aar-sub-meta{font-size:var(--fs-chip);color:var(--text-muted)}.aar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.aar-counts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.aar-count{font-size:var(--fs-chip);color:var(--text-secondary);border:1px solid var(--hairline);background:var(--chip-bg);padding:4px 10px;border-radius:var(--radius-chip)}.aar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.aar-btn{font-family:var(--font-display);font-weight:700;letter-spacing:.05em;font-size:var(--fs-body);text-transform:uppercase;border-radius:var(--radius-chip);padding:9px 14px;cursor:pointer;transition:.15s}.aar-btn-ghost{color:var(--text-secondary);background:var(--surface-steel);border:1px solid var(--hairline)}.aar-btn-ghost:hover{border-color:var(--focus-ring);color:var(--text-primary)}.aar-btn-cta{color:var(--text-on-accent);background:var(--accent-cta);border:none;box-shadow:0 0 22px var(--wash-defense)}.aar-btn-cta:hover{filter:brightness(1.08)}.aar-banner{font-size:var(--fs-body);color:var(--signal-alert-text);background:var(--wash-alert);border:1px solid var(--wash-alert-line);border-radius:var(--radius-card);padding:10px 14px}.aar-empty{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.aar-empty-h{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);color:var(--text-primary)}.aar-empty p{margin:0;color:var(--text-secondary);font-size:var(--fs-body);line-height:1.55}.aar-score-big{display:flex;align-items:baseline;gap:var(--space-2)}.aar-score-num{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:1}.aar-score-den{font-size:var(--fs-title);color:var(--text-muted)}.aar-score-grade{margin-left:var(--space-2);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-chip);color:var(--text-secondary);border:1px solid var(--hairline);border-radius:var(--radius-chip);padding:4px 10px;align-self:center}.aar-posture{font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.3}.aar-board{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column}.aar-board-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-body)}.aar-board-row:last-child{border-bottom:none}.aar-board-label{color:var(--text-secondary)}.aar-board-verdict{font-family:var(--font-display);font-weight:700;letter-spacing:.04em}.aar-bars{display:flex;flex-direction:column;gap:var(--space-2)}.aar-bar-row{display:grid;grid-template-columns:120px 1fr 78px;align-items:center;gap:var(--space-3)}.aar-bar-label{font-family:var(--font-display);font-weight:600;font-size:var(--fs-body);color:var(--text-secondary)}.aar-bar-track{height:10px;border-radius:6px;background:var(--surface-steel);overflow:hidden}.aar-bar-fill{display:block;height:100%;border-radius:6px;min-width:2px}.aar-bar-fill.tone-ok{background:linear-gradient(90deg,var(--state-contained),var(--state-current))}.aar-bar-fill.tone-warn{background:var(--signal-alert)}.aar-bar-fill.tone-bad{background:var(--signal-intrusion)}.aar-bar-val{font-size:var(--fs-chip);color:var(--text-muted);text-align:right}.aar-bar-na{grid-column:2 / span 2;justify-self:start;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-dim);background:var(--inset-bg);border:1px dashed var(--hairline);border-radius:999px;padding:4px 10px}.aar-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.aar-tl-row{border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface-card);padding:12px 14px}.aar-tl-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:8px}.aar-stagebadge{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:var(--fs-chip);color:var(--signal-alert-text);background:var(--wash-alert);border:1px solid var(--wash-alert-line);padding:4px 9px;border-radius:7px}.aar-fnchip{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--state-contained-text);background:var(--wash-contained);border:1px solid var(--wash-contained-line);padding:3px 8px;border-radius:6px}.aar-verdict{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-chip);font-weight:600}.aar-clauses{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.aar-clause{font-size:var(--fs-micro);color:var(--text-muted);border:1px solid var(--hairline);border-radius:6px;padding:3px 8px}.aar-calls{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width: 720px){.aar-calls{grid-template-columns:1fr}.aar-bar-row{grid-template-columns:96px 1fr 64px}}.aar-call{display:flex;flex-direction:column;gap:3px}.aar-call-lab{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-dim)}.aar-call-txt{font-size:var(--fs-body);line-height:1.4;color:var(--text-secondary)}.aar-call-model .aar-call-lab{color:var(--state-contained-text)}.aar-call-model .aar-call-txt{color:var(--text-primary)}.aar-feas,.aar-poll{margin-top:8px;font-size:var(--fs-chip);color:var(--text-muted);line-height:1.45}.aar-feas-lab{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--signal-alert-text);margin-right:6px}.aar-gap{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.aar-gap th{text-align:left;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-dim);padding:6px 10px;border-bottom:1px solid var(--hairline)}.aar-gap td{padding:9px 10px;border-bottom:1px solid var(--hairline);color:var(--text-secondary);vertical-align:top;line-height:1.4}.aar-gap tr:last-child td{border-bottom:none}.aar-gap-stage{color:var(--text-primary);font-weight:500;white-space:nowrap}.aar-gap-tag{display:inline-block;margin-left:6px;font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase}.aar-gap-correct{color:var(--text-primary)}.aar-gap-clause{font-size:var(--fs-micro);color:var(--state-current-text);white-space:nowrap}.aar-gap-clean{margin:0;font-size:var(--fs-body)}.aar-reg-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.aar-reg{border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--inset-bg);padding:10px 12px}.aar-reg.tone-ok{border-color:var(--wash-contained-line);background:var(--wash-contained)}.aar-reg.tone-warn{border-color:var(--wash-alert-line);background:var(--wash-alert)}.aar-reg.tone-bad{border-color:var(--wash-intrusion-line);background:var(--wash-intrusion)}.aar-reg-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.aar-reg-label{font-family:var(--font-display);font-weight:600;font-size:var(--fs-chip);color:var(--text-primary)}.aar-reg-state{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-micro)}.aar-reg.tone-ok .aar-reg-state{color:var(--state-contained-text)}.aar-reg.tone-warn .aar-reg-state{color:var(--signal-alert-text)}.aar-reg.tone-bad .aar-reg-state{color:var(--signal-intrusion-text)}.aar-reg-target,.aar-reg-detail{font-size:var(--fs-micro);color:var(--text-muted);margin-top:3px}.aar-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.aar-lesson{display:flex;gap:var(--space-2);font-size:var(--fs-body);line-height:1.5;color:var(--text-secondary)}.aar-lesson-mark{flex:none;color:var(--text-muted)}.aar-lesson-readiness{color:var(--text-primary);font-weight:500}.aar-lesson-readiness .aar-lesson-mark{color:var(--state-current-text)}.aar-lesson-clause{color:var(--state-current-text);font-size:var(--fs-micro)}@media (prefers-reduced-motion: reduce){.aar-btn,.aar-bar-fill{transition:none!important}}.aar-print-doc,.aar-print-foot{display:none}@media print{:root{--surface-app: #ffffff;--surface-panel: #ffffff;--surface-panel-2: #ffffff;--surface-steel: #eef1f6;--surface-steel-2: #e3e8ef;--surface-glass: #ffffff;--surface-line: #c7d0dc;--surface-card: #ffffff;--hairline: #c7d0dc;--app-backdrop: #ffffff;--panel-grad: #ffffff;--topbar-bg: #ffffff;--chip-bg: #f4f6fa;--inset-bg: #f4f6fa;--tab-active-bg: #eef1f6;--banner-bg: #fdf0dc;--text-primary: #0a0e1a;--text-secondary: #24314c;--text-muted: #4a586f;--text-dim: #6b7789;--text-role: #3730a3;--text-cxo: #5b21b6;--text-on-accent: #04222b;--signal-defense: #0e7490;--signal-alert: #b45309;--signal-alert-text: #b45309;--signal-intrusion: #c81e2c;--signal-intrusion-text: #b3121f;--signal-intrusion-strong: #a30f1c;--state-contained: #0f766e;--state-contained-text: #0f766e;--state-current: #c2410c;--state-current-text: #c2410c;--state-idle: #4a586f;--wash-defense: #e6f7fb;--wash-defense-line: #a9dbe8;--wash-alert: #fdf0dc;--wash-alert-line: #ecc98c;--wash-intrusion: #fdecee;--wash-intrusion-line: #f0b8bf;--wash-indigo: #eceafc;--wash-indigo-line: #cbd0f5;--wash-contained: #e4f5f1;--wash-contained-line: #b3ddd3}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body,#root{height:auto;overflow:visible;background:var(--surface-app);color:var(--text-primary)}body:before{display:none!important}.topbar,.fac-banner,.aar-actions,.aar-btn{display:none!important}.app-shell,main.stage,.stage{display:block;height:auto;overflow:visible;position:static}.aar{height:auto;overflow:visible;padding:0;background:var(--surface-app)}.aar-inner{max-width:none;gap:12px}.panel{box-shadow:none;border:1px solid var(--hairline);background:var(--surface-app)}.aar-print-doc{display:block;border-bottom:2px solid var(--brand-accent);padding-bottom:8px;margin-bottom:10px}.aar-print-head{display:flex;align-items:center;gap:12px}.aar-print-logo{height:34px;max-width:150px;object-fit:contain}.aar-print-org{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--text-primary)}.aar-print-ex{font-size:11px;color:var(--text-muted)}.aar-print-meta{margin-left:auto;text-align:right;font-size:10px;line-height:1.5;color:var(--text-muted)}.aar-print-meta .aar-print-scenario{color:var(--text-secondary);font-weight:600}.aar-print-foot{display:block;position:fixed;bottom:0;left:0;right:0;font-size:8.5px;line-height:1.4;color:var(--text-muted);border-top:1px solid var(--hairline);padding-top:3px}@page{margin:14mm 12mm 18mm}.panel,.aar-tl-row,.aar-reg,.aar-print-doc,.aar-gap tr{break-inside:avoid}.aar-head,.aar-scorecard{break-after:avoid}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--app-backdrop);color:var(--text-primary);font-family:var(--font-text);overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35;z-index:0;background-image:var(--grid-overlay);background-size:34px 34px;-webkit-mask-image:radial-gradient(120% 100% at 50% 30%,#000 40%,transparent 95%);mask-image:radial-gradient(120% 100% at 50% 30%,#000 40%,transparent 95%)}.mono{font-family:var(--font-mono)}.label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:600}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:6px}.app-shell{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;overflow-x:hidden}.topbar{height:54px;flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:0 var(--space-3);border-bottom:1px solid var(--hairline);background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand-logo{flex:0 0 auto;display:block;height:30px;max-width:120px;object-fit:contain}.brand-logo-ondark{display:none}:root[data-theme=dark] .brand-logo-onlight{display:none}:root[data-theme=dark] .brand-logo-ondark{display:block}.brand-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-brand);letter-spacing:var(--tracking-wide);line-height:1}.brand-name b{color:var(--brand-accent)}.brand-sub{font-size:var(--fs-micro);color:var(--text-muted);letter-spacing:.18em;margin-top:1px;white-space:nowrap}.topbar .sep{width:1px;height:26px;background:var(--hairline);margin:0 var(--space-1)}.ex-id{flex:1 1 auto;min-width:0}.ex-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-title);letter-spacing:.04em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ex-org{font-size:var(--fs-chip);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-controls{display:flex;align-items:center;gap:10px;flex:0 0 auto}@media (max-width: 1520px){.topbar{gap:5px;padding:0 var(--space-2)}.topbar-controls{gap:4px}.scene-tab{padding:6px}.brand-logo{height:26px}}.scene-tabs{display:flex;gap:var(--space-1);background:var(--inset-bg);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:3px}.scene-tab{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-tab);text-transform:uppercase;font-size:var(--fs-tab);color:var(--text-muted);padding:6px 12px;border:none;background:transparent;border-radius:7px;cursor:pointer;transition:.18s;white-space:nowrap}.scene-tab:hover{color:var(--text-secondary)}.scene-tab.on{background:var(--tab-active-bg);color:var(--text-on-accent);box-shadow:0 0 0 1px var(--wash-defense-line) inset}.seg{display:flex;align-items:center;gap:6px}.seg-lab{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-wide);font-size:var(--fs-micro);color:var(--text-dim);text-transform:uppercase}.seg-group{display:flex;border:1px solid var(--hairline);border-radius:var(--radius-chip);overflow:hidden;flex-shrink:0}.seg-group button{font-size:var(--fs-chip);font-family:var(--font-display);font-weight:600;letter-spacing:.05em;padding:6px 12px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;white-space:nowrap;line-height:1;transition:.15s}.seg-group button+button{border-left:1px solid var(--hairline)}.seg-group button:hover{color:var(--text-secondary)}.seg-group button.on{background:var(--tab-active-bg);color:var(--text-on-accent);box-shadow:0 0 0 1px var(--wash-defense-line) inset}.chip{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--fs-chip);padding:6px 11px;border-radius:var(--radius-chip);border:1px solid var(--hairline);background:var(--chip-bg);white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:50%}.chip.clock{color:var(--text-secondary)}.chip.clock .dot{background:var(--signal-defense)}.chip.reg{color:var(--signal-intrusion-text);border-color:var(--wash-intrusion-line);background:var(--wash-intrusion)}.chip.reg .dot{background:var(--signal-intrusion);box-shadow:0 0 8px var(--signal-intrusion);animation:blink 1.1s infinite}.chip.reg.frozen .dot{animation:none;opacity:1;box-shadow:0 0 10px var(--signal-intrusion)}.chip.reg.breached{font-weight:700;color:var(--signal-intrusion-strong)}.chip.conn{font-family:var(--font-display);font-weight:600;letter-spacing:.05em;color:var(--text-secondary)}.chip.conn .dot{background:var(--text-dim)}.chip.conn.ok{color:var(--state-contained-text);border-color:var(--wash-contained-line);background:var(--wash-contained)}.chip.conn.ok .dot{background:var(--signal-defense)}.chip.conn.warn{color:var(--signal-alert-text);border-color:var(--wash-alert-line);background:var(--wash-alert)}.chip.conn.warn .dot{background:var(--signal-alert)}.chip.conn.err{color:var(--signal-intrusion-text);border-color:var(--wash-intrusion-line);background:var(--wash-intrusion)}.chip.conn.err .dot{background:var(--signal-intrusion)}.theme-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-chip);background:var(--chip-bg);color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.theme-toggle:hover{color:var(--text-primary);border-color:var(--surface-line)}.theme-toggle svg{display:block}@media (prefers-reduced-motion: reduce){.theme-toggle{transition:none}}@keyframes blink{50%{opacity:.35}}.fac-banner{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 16px;font-family:var(--font-display);font-weight:600;font-size:var(--fs-chip);letter-spacing:.05em;color:var(--signal-alert-text);background:var(--banner-bg);border-bottom:1px solid var(--signal-alert);box-shadow:0 8px 24px #00000059;animation:facpulse 2s ease-in-out infinite}@keyframes facpulse{50%{box-shadow:0 8px 24px var(--wash-alert)}}.stage{position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow:hidden}.scene-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;padding:48px;background:var(--panel-grad)}.scene-placeholder .sp-kicker{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--fs-label);color:var(--text-dim)}.scene-placeholder h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:.01em;color:var(--text-primary)}.scene-placeholder p{margin:0;max-width:46ch;font-size:var(--fs-body);line-height:1.6;color:var(--text-muted)}.scene-placeholder .sp-badge{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--signal-alert-text);border:1px solid var(--wash-alert-line);background:var(--wash-alert);padding:4px 10px;border-radius:var(--radius-chip)}.warroom-scene{height:100%;display:grid;grid-template-columns:1fr 384px}.warroom-map{position:relative;overflow:hidden;background:var(--map-backdrop)}.warroom-map .watermark{position:absolute;bottom:10px;right:14px;font-family:var(--font-display);font-weight:600;letter-spacing:.1em;font-size:var(--fs-label);color:var(--text-dim);opacity:.6;pointer-events:none}.warroom-dock{border-left:1px solid var(--hairline);background:var(--panel-grad);display:flex;align-items:center;justify-content:center;padding:32px 20px}@media (prefers-reduced-motion: reduce){.chip.reg .dot,.fac-banner,.scene-tab,.seg-group button{animation:none!important;transition:none!important}}
