:root {
  --ink: #122038;
  --muted: #647084;
  --paper: #f7f4ee;
  --panel: #ffffff;
  --line: #dfe3e8;
  --coral: #f36f63;
  --coral-dark: #c8423a;
  --teal: #2c8c82;
  --navy: #17233c;
  --amber: #d98b18;
  --red: #c43d47;
  --green: #27876a;
  --shadow: 0 16px 40px rgba(18, 32, 56, .08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, textarea, input { font: inherit; }
button { cursor: pointer; }
.topbar { height: 72px; padding: 0 24px; display: grid; grid-template-columns: 260px 1fr auto; align-items: center; gap: 24px; background: var(--navy); color: white; position: sticky; top: 0; z-index: 20; }
.brand { display: flex; gap: 11px; align-items: center; color: white; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--coral); transform: rotate(-3deg); }
.brand strong, .brand small { display: block; }.brand small { color: #aeb8ca; margin-top: 1px; }
.case-meta { display: flex; justify-content: center; gap: 10px; align-items: center; color: #c9d1de; font-size: 13px; letter-spacing: .04em; }
.status-dot { width: 8px; height: 8px; background: #ffb73e; border-radius: 50%; box-shadow: 0 0 0 5px rgba(255,183,62,.12); }.utc { color: #8491a7; }
.timer { display: flex; align-items: center; gap: 8px; }.timer > span { min-width: 62px; font: 700 20px ui-monospace, monospace; }
.icon-button { border: 1px solid #4b5870; background: #24324e; color: white; border-radius: 8px; padding: 7px 11px; }.icon-button.muted { color: #aeb8ca; }.replay-story { align-items:center; gap:5px; border-color:#e88a7f; background:#723f45; white-space:nowrap; font-weight:800; }.replay-story:hover { background:#8a474d; }
.shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: calc(100vh - 72px); }
.sidebar { position: sticky; top: 72px; height: calc(100vh - 72px); min-height: 0; overflow: hidden; background: #fff; border-right: 1px solid var(--line); padding: 24px 16px; display: flex; flex-direction: column; }
.case-label { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; padding: 0 10px 18px; }
.sidebar nav { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: 4px; scrollbar-width: thin; scrollbar-color: #c7cdd6 transparent; }
.nav-item { width: 100%; border: 0; background: transparent; color: #566175; padding: 13px 12px; display: flex; gap: 12px; text-align: left; border-radius: 10px; margin-bottom: 4px; }
.nav-item span { color: #a0a9b7; font: 700 12px ui-monospace, monospace; }.nav-item:hover { background: #f4f1ec; }.nav-item.active { color: var(--ink); background: #fff0eb; font-weight: 750; }.nav-item.active span { color: var(--coral-dark); }
.nav-item.locked-phase { opacity:.46; cursor:not-allowed; }.nav-item.locked-phase::after { content:"Locked"; margin-left:auto; color:#8f98a6; font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }.nav-item.locked-phase:hover { background:transparent; }
.nav-item.nav-subitem { width:calc(100% - 18px); margin-left:18px; padding-top:10px; padding-bottom:10px; border-left:2px solid #dce1e7; border-radius:0 10px 10px 0; font-size:12px; }
.sidebar a.nav-item { text-decoration: none; }
.sidebar-footer { flex: 0 0 auto; margin-top: auto; border-top: 1px solid var(--line); padding-top: 12px; }.text-button { display: block; border: 0; background: none; color: var(--muted); font-size: 12px; padding: 7px 10px; }.text-button.danger { color: #a35656; }.facilitator-only { display: none; }.facilitator .facilitator-only { display: flex; }
main { width: min(1180px, calc(100vw - 300px)); margin: 0 auto; padding: 44px 30px 100px; }
.route { display: none; animation: fade .25s ease; }.route.active-route { display: block; } @keyframes fade { from { opacity: .25; transform: translateY(4px); } }
.hero { display: grid; grid-template-columns: 1fr; gap: 50px; align-items: center; background: linear-gradient(130deg, #fff 0 62%, #ffe6dc 62%); border: 1px solid #eadfd7; box-shadow: var(--shadow); border-radius: 24px; padding: 48px; overflow: hidden; }
.eyebrow { margin: 0 0 9px; color: var(--coral-dark); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 850; }.hero h1, .phase-header h1 { margin: 0; font-size: clamp(34px, 5vw, 56px); line-height: 1.03; letter-spacing: -.04em; }.lede { color: var(--muted); line-height: 1.65; font-size: 18px; max-width: 720px; }
.brief-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 22px 0; }.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; padding: 26px; box-shadow: 0 8px 24px rgba(18,32,56,.04); }.panel h2 { margin: 0 0 18px; }.panel li { margin: 9px 0; line-height: 1.45; }
.triad { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.triad div { border-left: 3px solid var(--teal); padding-left: 12px; }.triad strong, .triad span { display: block; }.triad span { color: var(--muted); font-size: 12px; margin-top: 5px; line-height: 1.4; }
.role-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.role-list li { margin: 0; }.role-list b, .role-list span { display: block; }.role-list span { color: var(--muted); font-size: 12px; margin-top: 3px; }
.flow { display: flex; align-items: stretch; gap: 9px; overflow-x: auto; padding: 8px 0 12px; }.flow i { align-self: center; color: #a3abb9; font-style: normal; }.flow-node { min-width: 145px; border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: #fafbfc; }.flow-node.accent { border-color: #f4a99c; background: #fff1ed; }.flow-node b, .flow-node span { display: block; }.flow-node span { color: var(--muted); font-size: 12px; margin-top: 6px; }.note { color: var(--muted); font-size: 13px; line-height: 1.5; }
.primary { border: 0; background: var(--navy); color: white; border-radius: 11px; padding: 13px 18px; font-weight: 750; box-shadow: 0 5px 14px rgba(23,35,60,.16); }.primary:hover { background: #263756; }.next-route { float: right; margin-top: 4px; }
.phase-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; margin-bottom: 28px; }.phase-header h1 { font-size: clamp(36px, 4vw, 50px); }.phase-header p:last-child { color: var(--muted); }.severity { padding: 7px 12px; border-radius: 100px; font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.severity.low { background: #fff0cf; color: #8d5c0e; }.severity.medium { background: #ffe4dc; color: #a54435; }.severity.high { background: #fbdde1; color: #9c2835; }
.evidence-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }.evidence-tab { border: 1px solid var(--line); background: #fff; color: var(--muted); border-radius: 9px; padding: 9px 13px; font-size: 13px; font-weight: 700; }.evidence-tab:hover { border-color: #acb5c3; }.evidence-tab.active { background: var(--navy); border-color: var(--navy); color: white; }.evidence-tab.hidden { display: none; }
.evidence-view { display: none; min-height: 430px; }.evidence-view.active { display: block; animation: fade .2s ease; }
.system-window { overflow: hidden; border-radius: 14px; background: #fff; border: 1px solid #cfd5dc; box-shadow: var(--shadow); }.system-bar { background: #1e2b42; color: #e9eef7; display: flex; align-items: center; gap: 18px; padding: 13px 17px; font-size: 12px; }.system-bar span:last-child { margin-left: auto; }.system-title { font-size: 15px; font-weight: 850; }.live { color: #68deb9; }.aws-mark { font-size: 19px; font-weight: 900; color: #ffad32; }.drive-mark { font-size: 20px; color: #69b47a; }.query { margin: 15px; padding: 11px 14px; background: #f3f5f8; border: 1px solid var(--line); border-radius: 8px; color: #33415a; font: 12px ui-monospace, SFMono-Regular, Menlo, monospace; }
.log-table { width: 100%; border-collapse: collapse; font-size: 13px; }.log-table th { padding: 11px 15px; text-align: left; color: #6b7688; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; background: #f8f9fb; border-bottom: 1px solid var(--line); }.log-table td { padding: 14px 15px; border-bottom: 1px solid #edf0f3; vertical-align: top; }.log-table tr.selected td { background: #fff6e4; }.log-table.dense td { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.pill { display: inline-block; padding: 4px 7px; border-radius: 5px; font: 800 10px ui-sans-serif, sans-serif; letter-spacing: .05em; }.pill.amber { background: #fff0cf; color: #8d5c0e; }.pill.slate { background: #e9edf2; color: #516072; }.pill.green { background: #dff3ea; color: #17654e; }.pill.red { background: #f8dfe2; color: #932d38; }.system-foot { padding: 12px 15px; color: var(--muted); background: #f8f9fb; font-size: 12px; }.system-window pre { margin: 0; background: #111a2a; color: #dae4f4; padding: 24px; overflow: auto; min-height: 360px; font: 12px/1.65 ui-monospace, SFMono-Regular, Menlo, monospace; }.system-window pre.inline-log { margin: 14px; min-height: 0; border-radius: 8px; padding: 14px; }
.chat-window { max-width: 820px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 20px; box-shadow: var(--shadow); }.chat-header { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 2px 5px 16px; margin-bottom: 20px; }.chat-header small { color: var(--muted); }.message { max-width: 76%; display: flex; gap: 10px; align-items: flex-start; margin: 12px 0; }.message time { color: #98a2b1; font: 10px ui-monospace, monospace; padding-top: 11px; }.message p { margin: 0; border-radius: 14px; padding: 12px 14px; line-height: 1.48; font-size: 13px; }.message.user { margin-left: auto; flex-direction: row-reverse; }.message.user p { background: #ffe9e2; }.message.bot p { background: #eef1f5; }.message code { font-size: 10px; overflow-wrap: anywhere; }
.detail-grid { display: grid; grid-template-columns: 190px 1fr; margin: 0; }.detail-grid dt, .detail-grid dd { margin: 0; padding: 14px 18px; border-bottom: 1px solid #edf0f3; }.detail-grid dt { color: var(--muted); background: #f8f9fb; font-size: 12px; font-weight: 700; }.detail-grid dd { font-size: 13px; }
.image-evidence { background: #e8e3da; border-radius: 16px; padding: 18px; text-align: center; }.image-evidence img { display: block; width: 100%; max-height: 630px; object-fit: contain; cursor: zoom-in; border-radius: 8px; box-shadow: 0 12px 32px rgba(18,32,56,.18); }.image-evidence p { margin: 13px 0 0; color: var(--muted); font-size: 12px; }
.decision-card { margin-top: 24px; background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--coral); border-radius: 16px; padding: 26px; box-shadow: var(--shadow); clear: both; }.decision-card h2 { margin: 0 0 18px; }.decision-context { margin:-7px 0 18px; padding:11px 13px; border-radius:10px; background:#f7f8fb; color:#566173; font-size:12px; line-height:1.5; }.decision-context b { color:#344054; }.choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.choices label { border: 1px solid var(--line); border-radius: 11px; padding: 13px; display: flex; gap: 10px; cursor: pointer; }.choices label:hover, .choices label:has(input:checked) { border-color: var(--coral); background: #fff6f2; }.choices input { margin-top: 4px; accent-color: var(--coral-dark); }.choices b, .choices small { display: block; }.choices small { color: var(--muted); margin-top: 5px; line-height: 1.45; }.choices small strong { color:#445064; font-weight:800; }.choices small strong:not(:first-child) { display:block; margin:8px 0 1px; }.notes-label { display: block; color: #4f5a6c; font-size: 12px; font-weight: 750; margin: 18px 0; }.notes-label textarea { display: block; width: 100%; min-height: 82px; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; resize: vertical; }.commit-status { display: inline-block; margin-left: 12px; color: var(--green); font-size: 12px; }
.iam-summary { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 24px; box-shadow: var(--shadow); }.iam-intro h2 { margin: 0; }.iam-intro > p:last-child { color: var(--muted); line-height: 1.5; }.role-cards details { border: 1px solid var(--line); border-radius: 10px; margin-top: 9px; overflow: hidden; }.role-cards summary { display: flex; justify-content: space-between; align-items: center; padding: 13px 15px; cursor: pointer; background: #f8f9fb; }.role-cards summary b, .role-cards summary small { display: block; }.role-cards summary small { color: var(--muted); margin-top: 2px; }.role-cards pre { margin: 0; padding: 16px; background: #111a2a; color: #dce6f5; overflow: auto; font: 11px/1.55 ui-monospace, monospace; }.role-cards details p { padding: 0 15px; }
.intel-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 14px; }.finding-title { display: flex; gap: 14px; align-items: center; padding: 20px; border-bottom: 1px solid var(--line); }.finding-title h2 { margin: 3px 0 0; font-size: 19px; }.finding-title small { color: var(--muted); }.finding-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; color: white; background: var(--red); font-size: 22px; font-weight: 900; }.detail-grid.compact { grid-template-columns: 145px 1fr; }.detail-grid.compact dt, .detail-grid.compact dd { padding: 10px 14px; }.raw-finding { border-top: 1px solid var(--line); }.raw-finding summary { padding: 12px 15px; color: var(--muted); font-size: 12px; cursor: pointer; }.raw-finding pre { min-height: 0; max-height: 330px; padding: 16px; font-size: 10px; }.threat-stack { display: grid; gap: 10px; }.threat-card, .correlation-card { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 16px; box-shadow: 0 8px 24px rgba(18,32,56,.04); }.threat-head { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding-bottom: 11px; }.threat-head b, .threat-head small { display: block; }.threat-head small { color: var(--muted); margin-top: 2px; }.vt-mark, .urlscan-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: #6248c6; color: white; font-weight: 900; }.urlscan-mark { background: #28789a; }.score-row { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; gap: 5px; align-items: baseline; padding: 12px 0; }.score-row strong { color: var(--red); font-size: 20px; }.score-row span { color: var(--muted); font-size: 10px; }.threat-card dl { display: grid; grid-template-columns: 95px 1fr; margin: 0; font-size: 11px; }.threat-card dt, .threat-card dd { margin: 0; padding: 5px 0; }.threat-card dt { color: var(--muted); }.correlation-card { background: #eef5f3; }.correlation-card b, .correlation-card span { display: block; }.correlation-card span { margin-top: 5px; color: #47625e; font: 10px ui-monospace, monospace; }.evidence-caution { margin: 12px 0 0; padding: 11px 14px; border-left: 4px solid var(--amber); background: #fff7e7; color: #66583e; font-size: 12px; line-height: 1.45; }.lifecycle-strip { display: flex; justify-content: space-between; gap: 20px; padding: 11px 15px; background: #fff7e7; color: #66583e; font-size: 11px; }.lifecycle-strip span { text-align: right; }
.callback-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: stretch; margin-top: 13px; }.callback-chain > div { background: white; border: 1px solid var(--line); border-radius: 11px; padding: 12px 14px; }.callback-chain i { align-self: center; color: var(--coral-dark); font-style: normal; font-weight: 900; }.callback-chain small, .callback-chain b, .callback-chain span { display: block; }.callback-chain small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }.callback-chain b { margin: 5px 0; font-size: 12px; }.callback-chain span { color: var(--muted); font: 10px/1.4 ui-monospace, monospace; }
.mail-window { display: grid; grid-template-columns: 185px 1fr; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); min-height: 430px; }.mail-sidebar { background: #eff2f5; padding: 24px 18px; display: flex; flex-direction: column; gap: 18px; color: var(--muted); font-size: 13px; }.mail-sidebar b { color: var(--ink); }.mail-message { padding: 28px 34px; max-width: 780px; }.mail-message h2 { margin: 0; }.mail-message p { line-height: 1.6; }.mail-meta { border-bottom: 1px solid var(--line); padding: 9px 0 18px; color: var(--muted); font-size: 12px; }.attachment { border: 1px solid var(--line); border-radius: 9px; padding: 12px; margin: 18px 0; width: 220px; }.attachment span { float: right; color: var(--muted); font-size: 11px; }.mail-message code { color: var(--coral-dark); font-size: 12px; }
.reveal-banner { padding: 12px 15px; background: #fff0cf; color: #7d510b; border-radius: 9px; font-weight: 800; margin-bottom: 15px; }blockquote { margin: 0 0 16px; padding: 24px; background: #fff; border-left: 5px solid var(--teal); border-radius: 10px; font-size: 20px; line-height: 1.5; }blockquote cite { display: block; margin-top: 12px; color: var(--muted); font-size: 12px; font-style: normal; }.hidden { display: none !important; }.final-prompts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }.final-prompts span { border: 1px solid var(--line); border-radius: 9px; padding: 12px; font-size: 12px; text-align: center; }.closing-question { padding: 18px; background: var(--navy); color: #fff; border-radius: 10px; font-weight: 750; text-align: center; }
.tag-cloud { display: flex; gap: 8px; flex-wrap: wrap; }.tag-cloud span { background: #edf4f2; color: #2e655f; border-radius: 100px; padding: 8px 12px; font-size: 12px; }
.role-rules p { color: var(--muted); line-height: 1.55; }.mini-rule { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 12px 14px; border-radius: 13px; background: #edf6f4; }.mini-rule > span { grid-row: 1 / 3; color: var(--teal); font-size: 38px; font-weight: 900; line-height: 1; }.mini-rule b, .mini-rule small { display: block; }.mini-rule small { color: var(--muted); margin-top: 2px; }
.crew-builder { margin: 0 0 22px; position: relative; overflow: hidden; }.crew-builder::after { content: "✦"; position: absolute; right: -18px; top: -36px; color: #ffe4db; font-size: 150px; line-height: 1; pointer-events: none; }.crew-heading, .crew-actions { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 24px; align-items: center; }.crew-heading h2 { margin-bottom: 4px; }.crew-counter { min-width: 105px; padding: 10px 14px; border-radius: 14px; background: var(--navy); color: white; text-align: center; }.crew-counter strong { font-size: 27px; }.crew-counter span { color: #b9c3d3; font-size: 11px; margin-left: 3px; }.role-picker { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 20px 0; }.role-card { min-height: 102px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 13px; background: #fbfcfd; color: var(--ink); text-align: left; transition: transform .15s ease, border-color .15s ease, background .15s ease; }.role-card:hover:not(:disabled) { transform: translateY(-2px); border-color: #aeb8c5; }.role-card.selected { border: 2px solid var(--teal); padding: 12px; background: #eef8f5; }.role-card:disabled:not(.selected) { opacity: .5; cursor: not-allowed; }.role-card.locked { cursor: default; }.role-card b, .role-card small { display: block; }.role-card small { color: var(--muted); margin-top: 4px; line-height: 1.35; }.role-card i { color: var(--muted); font-size: 10px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.role-card.selected i { color: var(--teal); }.role-art { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px 15px 12px 17px; color: white; font-size: 24px; font-weight: 900; transform: rotate(-3deg); box-shadow: inset 0 -3px 0 rgba(0,0,0,.08); }.identity-art { background: #9b6cc2; }.ai-art { background: var(--coral); }.cloud-art { background: #4d89c7; }.detection-art { background: #d89129; }.data-art { background: var(--teal); }.comms-art { background: #d45f86; }.crew-actions { border-top: 1px solid var(--line); padding-top: 16px; }.crew-actions p { margin: 0; color: var(--muted); font-size: 13px; }.primary:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.team-page-header { align-items: center; }.team-page-art { width: 132px; height: 132px; flex: 0 0 132px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: linear-gradient(145deg,#ffe4db,#fff7d9); border: 2px solid #f3b6a8; box-shadow: var(--shadow); transform: rotate(3deg); }.team-page-art span { color: var(--coral); font-size: 23px; line-height: 1; }.team-page-art b { color: var(--navy); font-size: 36px; line-height: 1; }.team-page-art small { color: var(--muted); margin-top: 5px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
#team .crew-builder { padding: 30px; background: linear-gradient(145deg,#fff 0%,#fffaf2 100%); }#team .crew-builder::after { content: "✦  ·  ✦"; right: 22px; top: 6px; color: #f7ded5; font-size: 42px; }#team .role-picker { gap: 18px; margin: 24px 0; }#team .role-card { --role-color:#2c8c82; --role-soft:#e7f6f2; min-height: 390px; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 3px solid var(--role-color); border-radius: 20px; background: linear-gradient(160deg,var(--role-soft),#fff 46%); box-shadow: 0 9px 0 rgba(18,32,56,.06), 0 16px 28px rgba(18,32,56,.08); position: relative; overflow: hidden; }#team .role-card::before { content: ""; position: absolute; width: 90px; height: 90px; right: -35px; top: 35px; border-radius: 50%; background: var(--role-color); opacity: .08; }#team .role-card:hover:not(:disabled) { transform: translateY(-5px) rotate(-.4deg); border-color: var(--role-color); box-shadow: 0 12px 0 rgba(18,32,56,.07), 0 22px 34px rgba(18,32,56,.12); }#team .role-card.selected { padding: 10px; border: 3px solid #fff; background: linear-gradient(155deg,var(--role-color),color-mix(in srgb,var(--role-color) 58%,var(--navy))); box-shadow: 0 0 0 5px var(--role-color), 0 12px 0 rgba(18,32,56,.16), 0 24px 36px rgba(18,32,56,.18); transform: translateY(-4px); }#team .role-card.selected::before { width: 180px; height: 180px; right: -58px; top: -52px; background: white; opacity: .1; }#team .role-identity { --role-color:#8d63b0; --role-soft:#f1eafa; }#team .role-ai { --role-color:#e66559; --role-soft:#ffebe5; }#team .role-cloud { --role-color:#477faf; --role-soft:#e8f2fb; }#team .role-detection { --role-color:#b66d0e; --role-soft:#fff2d8; }#team .role-data { --role-color:#23877c; --role-soft:#e4f5f1; }#team .role-comms { --role-color:#c9537b; --role-soft:#fbe8ef; }
#team .card-top { display: flex; justify-content: space-between; align-items: center; min-height: 28px; padding: 0 3px 7px; }#team .card-type { color: var(--role-color); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }#team .role-card i { padding: 4px 7px; border-radius: 100px; background: var(--role-soft); color: var(--role-color); }#team .role-card.selected .card-type { color: rgba(255,255,255,.84); }#team .role-card.selected i { background: #fff; color: var(--role-color); box-shadow: 0 2px 8px rgba(18,32,56,.16); }#team .role-art { width: 100%; height: 136px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border-radius: 13px; color: white; transform: none; background: radial-gradient(circle at 72% 25%,rgba(255,255,255,.5) 0 7px,transparent 8px),linear-gradient(145deg,var(--role-color),color-mix(in srgb,var(--role-color) 72%,#17233c)); box-shadow: inset 0 0 0 3px rgba(255,255,255,.28),inset 0 -12px 26px rgba(18,32,56,.12); }#team .role-card.selected .role-art { background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 3px rgba(255,255,255,.38),inset 0 -12px 26px rgba(18,32,56,.1); }#team .role-art > span { font-size: 53px; line-height: 1; text-shadow: 0 4px 0 rgba(18,32,56,.13); }#team .role-art > small { color: rgba(255,255,255,.8); font-size: 13px; letter-spacing: .18em; }#team .card-name { margin: 14px 4px 2px; color: var(--ink); font-size: 18px; line-height: 1.15; font-weight: 900; letter-spacing: -.02em; }#team .card-person { min-height: 36px; margin: 2px 4px 10px; color: var(--muted); font-size: 11px; line-height: 1.35; }#team .role-card.selected .card-name { color: #fff; }#team .role-card.selected .card-person { color: rgba(255,255,255,.82); }#team .card-stats { margin-top: auto; display: grid; gap: 7px; }#team .card-stats > span { display: block; min-height: 54px; padding: 8px 9px; border-radius: 10px; background: rgba(255,255,255,.82); border: 1px solid color-mix(in srgb,var(--role-color) 26%,#dfe3e8); color: #3e4a5c; font-size: 11px; line-height: 1.35; }#team .card-stats em { display: block; margin-bottom: 3px; color: var(--role-color); font-size: 8px; font-style: normal; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }#team .role-card.selected .card-stats > span { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.34); color: #fff; }#team .role-card.selected .card-stats em { color: rgba(255,255,255,.76); }.setup-nav { display: flex; justify-content: space-between; align-items: center; gap: 20px; }.setup-nav .text-button { font-size: 13px; }
.incident-board { scroll-margin-top: 92px; margin-bottom: 30px; padding: 18px; border: 1px solid #d8dedf; border-radius: 18px; background: linear-gradient(145deg, #fff 0%, #f4faf8 100%); box-shadow: 0 10px 28px rgba(18,32,56,.06); }.board-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.board-head h2 { margin: 0; font-size: 22px; }.service-state { display: flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid #b8dfd2; border-radius: 100px; background: #e6f6f0; }.service-state span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.service-state strong { color: #17654e; font-size: 12px; }.service-state.restricted { border-color: #efd28f; background: #fff4d8; }.service-state.restricted strong { color: #8d5c0e; }.service-state.paused { border-color: #e8b4ba; background: #fae6e8; }.service-state.paused strong { color: #932d38; }.team-chips { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin: 0 0 14px; }.team-chip { display: grid; place-items: center; min-height: 36px; padding: 7px 9px; border-radius: 9px; background: var(--navy); color: white; font-size: 10px; line-height: 1.2; text-align: center; font-weight: 800; box-shadow: inset 0 -3px 0 rgba(18,32,56,.13); }.team-chip.role-identity,.summary-team-tiles .role-identity { background:#8d63b0; }.team-chip.role-ai,.summary-team-tiles .role-ai { background:#d95d52; }.team-chip.role-cloud,.summary-team-tiles .role-cloud { background:#477faf; }.team-chip.role-detection,.summary-team-tiles .role-detection { background:#a9650e; }.team-chip.role-data,.summary-team-tiles .role-data { background:#23877c; }.team-chip.role-comms,.summary-team-tiles .role-comms { background:#bd4d72; }.board-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }.board-lane { min-height: 88px; border: 1px solid var(--line); border-radius: 12px; padding: 11px; background: white; }.board-lane header { display: flex; gap: 7px; align-items: center; margin-bottom: 8px; font-size: 12px; }.board-lane header span { font-size: 18px; }.board-lane.people header span { color: #d45f86; }.board-lane.data header span { color: var(--teal); }.board-lane.evidence header span { color: var(--amber); }.board-lane.authority header span { color: #8062b0; }.board-markers { display: flex; flex-wrap: wrap; gap: 5px; }.board-markers em { color: #9aa3b1; font-size: 10px; font-style: normal; }.board-marker { padding: 5px 7px; border-radius: 7px; background: #f1f3f6; color: #4d596b; font-size: 10px; line-height: 1.25; animation: markerPop .25s ease; }.board-marker.bonus { background: #dcf3e9; color: #17654e; font-weight: 750; }.board-marker.gap { background: #f3e8f5; color: #70477a; box-shadow: inset 0 0 0 1px #d8bfdc; font-weight: 750; }.board-note { margin: 10px 0 0; color: var(--muted); font-size: 10px; }.role-outcome { scroll-margin-top: 92px; display: none; grid-template-columns: 40px 1fr; gap: 12px; align-items: center; margin: 17px 0 0; padding: 16px; border-radius: 12px; background: #eef7f4; border: 1px solid #c6e4da; }.role-outcome.show { display: grid; animation: markerPop .25s ease; }.role-outcome.gap { background: #f5f2f7; border-color: #ddd4e6; }.role-outcome .outcome-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--teal); color: white; font-size: 20px; }.role-outcome.gap .outcome-icon { background: #887498; }.role-outcome b, .role-outcome span { display: block; }.role-outcome span { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.5; }.outcome-actions { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(18,32,56,.1); }.outcome-actions button { border-radius: 9px; padding: 9px 12px; font-size: 12px; font-weight: 800; }.view-board { border: 1px solid #9bb8b2; background: white; color: #28675f; }.continue-phase { margin-left: auto; border: 0; background: var(--navy); color: white; }@keyframes markerPop { from { opacity: 0; transform: scale(.96) translateY(3px); } }
.board-lane { min-height: 120px; }.board-lane header { margin-bottom: 4px; }.lane-help { min-height: 34px; margin: 0 0 8px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.summary-header { align-items: center; }.summary-print-button { align-self: center; background: var(--navy); }.summary-meta { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-bottom: 18px; }.summary-meta div { padding: 14px; border-radius: 12px; background: var(--navy); color: white; }.summary-meta span,.summary-meta b { display: block; }.summary-meta span { color:#b7c1d1; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }.summary-meta b { margin-top: 5px; font-size: 13px; }.summary-team { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 18px; }.summary-team h2 { margin-bottom: 0; }.summary-team-tiles { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:7px; }.summary-team-tiles span { display:grid; place-items:center; min-height:48px; padding:8px 12px; border-radius:10px; color:white; font-size:11px; font-weight:800; text-align:center; }.summary-team-tiles em { color:var(--muted); }.summary-overview-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:18px; }.summary-block { padding:18px; border:1px solid var(--line); border-radius:14px; background:white; }.summary-block > span { color:var(--coral-dark); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }.summary-block p { margin:7px 0 0; color:#465267; font-size:13px; line-height:1.55; }.summary-section { margin-bottom:18px; }.summary-section h2 { margin-bottom:14px; }.summary-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; }.summary-section-heading > span { color:var(--muted); font-size:11px; }.summary-table-wrap { overflow-x:auto; }.summary-table { width:100%; border-collapse:collapse; font-size:12px; }.summary-table th { padding:10px 12px; border-bottom:2px solid var(--line); color:var(--muted); font-size:9px; text-align:left; text-transform:uppercase; letter-spacing:.07em; }.summary-table td { padding:12px; border-bottom:1px solid #edf0f3; color:#3f4b5f; line-height:1.45; vertical-align:top; }.summary-table td:first-child { white-space:nowrap; font:700 11px ui-monospace,monospace; }.summary-table td:nth-child(2) { min-width:135px; }.summary-table td:nth-child(3) { min-width:300px; }.summary-table td:nth-child(4) { min-width:240px; }.summary-table b,.summary-table small { display:block; }.summary-table small { margin-top:4px; color:var(--muted); font-size:10px; }.action-table td:nth-child(1) { white-space:normal; font:inherit; min-width:300px; }.summary-learning-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.summary-marker-list { display:flex; flex-wrap:wrap; gap:7px; }.summary-marker-list span { padding:8px 10px; border-radius:8px; background:#dcf3e9; color:#17654e; font-size:11px; font-weight:750; }.summary-marker-list.gaps span { background:#f3e8f5; color:#70477a; }.summary-marker-list em { color:var(--muted); font-size:12px; }.summary-reference { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:14px 16px; border-radius:12px; background:#eef5f3; color:#506965; font-size:11px; }.summary-reference b { color:#245f58; }.summary-reference a { color:var(--coral-dark); font-weight:800; text-decoration:none; }
.authority-intro { display: flex; justify-content: space-between; gap: 20px; padding: 16px 18px; background: #fff6e4; color: #66583e; }.authority-intro span { color: #786b53; font-size: 12px; }.authority-list { padding: 10px; }.authority-list article { display: grid; grid-template-columns: 66px minmax(190px, 1fr) 90px minmax(240px, 1.35fr); gap: 13px; align-items: center; padding: 13px; border-bottom: 1px solid #edf0f3; }.authority-list article.selected { background: #fff8e8; }.authority-list article.not-seen { opacity: .68; }.authority-list b, .authority-list small { display: block; }.authority-list small { color: var(--muted); margin-top: 3px; }.authority-list strong { font-size: 12px; color: var(--coral-dark); }.authority-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }.credential-kind { justify-self: start; padding: 5px 7px; border-radius: 7px; color: white; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }.credential-kind.human { background: #9b6cc2; }.credential-kind.aws { background: #d98b18; }.credential-kind.oauth { background: #398b70; }.credential-kind.job { background: #c8423a; }.credential-kind.key { background: #718096; }
.story-reveal-button { align-self: center; min-width: 172px; border: 1px solid #d6dbe2; border-radius: 11px; padding: 10px 13px; background: white; color: #45536a; font-size: 11px; font-weight: 850; box-shadow: 0 5px 15px rgba(18,32,56,.06); }.story-reveal-button:hover { border-color: var(--coral); color: var(--coral-dark); }.story-reveal-button span { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 6px; border-radius: 50%; background: #fff0eb; color: var(--coral-dark); font-size: 9px; }
.phase-story { position:relative; overflow:hidden; margin:0 0 22px; padding:22px 26px; border-radius:18px; background:linear-gradient(130deg,#17233c 0 74%,#253b4f 74%); color:white; box-shadow:0 12px 28px rgba(18,32,56,.12); }.phase-story::after { content:""; position:absolute; right:-32px; top:-55px; width:180px; height:180px; border-radius:44% 56% 61% 39%; background:rgba(243,111,99,.18); transform:rotate(20deg); }.phase-story-meta,.phase-story footer { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:18px; }.phase-story-meta { color:#aeb9c9; font:800 10px ui-monospace,monospace; text-transform:uppercase; letter-spacing:.09em; }.phase-story h2 { position:relative; z-index:1; margin:15px 0 12px; max-width:820px; font-size:clamp(28px,4vw,43px); line-height:1; letter-spacing:-.035em; }.phase-story-copy { position:relative; z-index:1; display:flex; gap:8px 28px; flex-wrap:wrap; }.phase-story-copy p { flex:1 1 340px; margin:0; color:#d8e0ea; font-size:14px; line-height:1.45; }.phase-story footer { margin-top:15px; }.phase-story footer>small { color:#72d2bb; font-size:11px; font-weight:800; }.phase-story .story-reveal-button { margin-left:auto; box-shadow:none; }.phase-story+.phase-header { margin-top:0; }
.evidence-system-map { margin:0 0 16px; padding:15px 17px; border:1px solid #d9dfe4; border-radius:14px; background:#fff; box-shadow:0 6px 18px rgba(18,32,56,.04); }.evidence-system-map>header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; }.evidence-system-map>header span,.evidence-system-map>header b { display:block; }.evidence-system-map>header span { color:var(--coral-dark); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }.evidence-system-map>header b { margin-top:3px; font-size:13px; }.evidence-system-map>header a { color:#5c6879; font-size:10px; font-weight:800; text-decoration:none; white-space:nowrap; }.evidence-system-map>header a:hover { color:var(--coral-dark); }.system-path { display:flex; align-items:stretch; gap:6px; overflow-x:auto; padding:2px 0 5px; }.system-path>i { align-self:center; color:#aab3bf; font-size:13px; font-style:normal; }.system-path-node { flex:1 0 120px; min-height:58px; padding:10px 11px; border:1px solid #e0e4e9; border-radius:10px; background:#f7f8fa; }.system-path-node b,.system-path-node small { display:block; }.system-path-node b { color:#465267; font-size:10px; }.system-path-node small { margin-top:4px; color:#8a94a3; font-size:9px; }.system-path-node.active { border-color:#efa89d; background:#fff0eb; box-shadow:inset 0 -3px 0 #f3c2b8; }.system-path-node.active b { color:#a63d36; }.system-path-node.active small { color:#8a5b57; }
.evidence-orientation { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; margin:-2px 0 14px; padding:12px 14px; border:1px solid #cee0db; border-radius:12px; background:#f1f8f6; }.orientation-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:var(--teal); color:white; font-weight:900; }.evidence-orientation p { display:grid; grid-template-columns:minmax(190px,.65fr) 1.35fr; gap:12px; margin:0; font-size:11px; line-height:1.45; }.evidence-orientation p+p { margin-top:5px; padding-top:5px; border-top:1px solid #d8e8e4; }.evidence-orientation b,.evidence-orientation strong { color:#245f58; }.evidence-orientation strong { text-transform:uppercase; letter-spacing:.06em; font-size:9px; }.evidence-orientation span { color:#536b68; }.evidence-orientation .look-label { display:inline; margin-left:6px; color:#245f58; font-size:10px; }
.situation-mode .incident-board { display: none; }.situation-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:18px; }.situation-heading h1 { margin:0; font-size:clamp(38px,5vw,58px); letter-spacing:-.045em; }.situation-heading p:last-child { margin:8px 0 0; color:var(--muted); }.situation-clock { text-align:right; }.situation-clock span,.situation-clock strong { display:block; }.situation-clock span { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.1em; }.situation-clock strong { margin-top:5px; font:800 20px ui-monospace,monospace; }
.operating-picture-about { margin:-5px 0 14px; border:1px solid #d6dddf; border-radius:11px; background:#fff; padding:10px 13px; }.operating-picture-about summary { cursor:pointer; color:#526076; font-size:11px; font-weight:850; }.operating-picture-about p { max-width:900px; margin:9px 0 2px; color:var(--muted); font-size:12px; line-height:1.5; }
.siem-overview { overflow:hidden; border:1px solid #3c4960; border-radius:18px; background:#111a2a; color:#edf2f8; box-shadow:0 20px 45px rgba(18,32,56,.18); }.siem-statusbar { display:grid; grid-template-columns:1fr 1fr auto auto; align-items:center; gap:25px; padding:16px 20px; background:#1c2940; border-bottom:1px solid #35435a; }.siem-statusbar>div:first-child { display:grid; grid-template-columns:auto auto 1fr; gap:9px; align-items:center; }.siem-statusbar b,.siem-statusbar small,.siem-stage span,.siem-stage strong,.siem-severity span,.siem-severity strong,.siem-service span,.siem-service strong { display:block; }.siem-statusbar small { color:#8794a8; font-size:10px; }.live-pulse { width:9px; height:9px; border-radius:50%; background:#58d7ae; box-shadow:0 0 0 5px rgba(88,215,174,.1); }.siem-stage { padding-left:18px; border-left:1px solid #3b485d; }.siem-stage span,.siem-severity span,.siem-service span { color:#8997aa; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }.siem-stage strong { margin-top:4px; font-size:13px; }.siem-severity,.siem-service { min-width:78px; text-align:right; }.siem-severity strong,.siem-service strong { margin-top:4px; font-size:13px; }.siem-severity strong.low { color:#f5c968; }.siem-severity strong.medium { color:#f3a26f; }.siem-severity strong.high,.siem-severity strong.critical { color:#ff7e87; }.siem-service strong { color:#65d6b4; }
.situation-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#354158; border-bottom:1px solid #354158; }.situation-metrics article { min-height:112px; padding:18px 20px; background:#162137; }.situation-metrics span,.situation-metrics strong,.situation-metrics small { display:block; }.situation-metrics span { color:#8d9aaf; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }.situation-metrics strong { margin:9px 0 3px; color:#fff; font-size:30px; letter-spacing:-.035em; }.situation-metrics small { color:#9ca9bb; font-size:10px; }
.situation-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:1px; background:#354158; }.signal-panel,.scope-panel { min-height:390px; background:#111a2a; }.signal-panel>header,.scope-panel>header { display:flex; align-items:center; justify-content:space-between; padding:15px 18px; border-bottom:1px solid #2c384d; }.signal-panel>header>div,.scope-panel>header>div { display:flex; align-items:center; gap:10px; }.signal-panel header b,.signal-panel header small,.scope-panel header b,.scope-panel header small { display:block; }.signal-panel header small,.scope-panel header small { margin-top:2px; color:#7f8ca0; font-size:9px; }.panel-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:9px; background:#29374d; color:#65d6b4; }.count-pill { padding:5px 8px; border-radius:100px; background:#29374d; color:#aeb9c8; font-size:9px; font-weight:800; }.signal-feed { max-height:350px; overflow:auto; }.signal-row { display:grid; grid-template-columns:50px 58px 92px 1fr; gap:10px; align-items:center; padding:11px 18px; border-bottom:1px solid #232f43; font-size:10px; }.signal-row time { color:#8794a8; font:700 10px ui-monospace,monospace; }.signal-row b { color:#c4cfdd; }.signal-row p { margin:0; color:#aab5c4; line-height:1.35; }.signal-severity { padding:4px 6px; border-radius:5px; text-align:center; color:#dce5ef; background:#344158; font-size:8px; font-weight:900; text-transform:uppercase; }.signal-severity.low { background:#5b4b24; color:#ffd778; }.signal-severity.medium { background:#62402e; color:#ffc299; }.signal-severity.high,.signal-severity.critical { background:#5b2933; color:#ff9aa2; }.empty-state { padding:20px; color:#7f8ca0; }.assessment-list { display:grid; grid-template-columns:100px 1fr; margin:0; padding:8px 18px; }.assessment-list dt,.assessment-list dd { margin:0; padding:16px 0; border-bottom:1px solid #273348; }.assessment-list dt { color:#bbc5d2; font-size:10px; font-weight:850; }.assessment-list dd { color:#9faabc; font-size:11px; line-height:1.48; }.assessment-dot { display:inline-block; width:8px; height:8px; margin-right:7px; border-radius:50%; }.assessment-dot.known { background:#58d7ae; }.assessment-dot.inferred { background:#f5c968; }.assessment-dot.unknown { background:#8995a7; }.situation-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; background:#1b2840; border-top:1px solid #354158; }.situation-footer>span { color:#a4b0c1; font-size:11px; }.situation-footer .primary { background:var(--coral); box-shadow:none; }.situation-footer .primary:hover { background:#ff8074; }
.situation-actions { display:flex; align-items:center; gap:9px; }.dashboard-map-link { padding:9px 11px; border:1px solid #607089; border-radius:9px; color:#cbd5e3; text-decoration:none; font-size:11px; font-weight:800; white-space:nowrap; }.dashboard-map-link:hover { border-color:#91a1b8; color:white; }
.phase-reveal-dialog { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; color:white; }.phase-reveal-dialog::backdrop { background:#0d1628; }.phase-reveal-dialog .reveal-screen { position:relative; width:100%; height:100%; min-height:600px; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto auto; padding:42px clamp(35px,7vw,110px) 30px; background:radial-gradient(circle at 82% 30%,rgba(243,111,99,.2) 0 9%,transparent 30%),radial-gradient(circle at 15% 75%,rgba(44,140,130,.17),transparent 27%),linear-gradient(135deg,#101a2d,#1d2941); }.phase-reveal-dialog .reveal-screen::before { content:""; position:absolute; right:8%; top:18%; width:min(31vw,430px); aspect-ratio:1; border:2px solid rgba(255,255,255,.08); border-radius:42% 58% 61% 39%/48% 38% 62% 52%; transform:rotate(17deg); box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018); }.reveal-topline { position:relative; z-index:1; display:flex; justify-content:space-between; color:#a8b4c7; font:800 12px ui-monospace,monospace; text-transform:uppercase; letter-spacing:.11em; }.reveal-story { position:relative; z-index:1; align-self:center; max-width:900px; }.reveal-story>p { margin:0 0 18px; color:#f59884; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }.reveal-story h2 { margin:0 0 32px; max-width:850px; color:white; font-size:clamp(48px,7vw,94px); line-height:.94; letter-spacing:-.055em; }.reveal-body { max-width:760px; padding-left:20px; border-left:4px solid var(--coral); }.reveal-body p { margin:7px 0; color:#d9e0eb; font-size:clamp(17px,2vw,25px); line-height:1.42; }.reveal-body small { display:block; margin-top:20px; color:#82d7c5; font-size:13px; font-weight:800; }.reveal-actions { position:relative; z-index:1; display:flex; justify-content:flex-end; gap:10px; }.phase-reveal-dialog button { position:static; width:auto; height:auto; border-radius:11px; padding:13px 18px; font-size:12px; font-weight:850; }.reveal-primary { border:0; background:var(--coral); color:white; }.reveal-secondary { border:1px solid #617087; background:rgba(255,255,255,.05); color:#d9e1ec; }.reveal-progress { position:relative; z-index:1; height:4px; margin-top:26px; border-radius:100px; background:rgba(255,255,255,.12); overflow:hidden; }.reveal-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--coral),#f3bb65); transition:width .3s ease; }
dialog { width: min(95vw, 1500px); max-height: 94vh; border: 0; padding: 0; background: transparent; }dialog::backdrop { background: rgba(7,13,25,.88); }dialog img { width: 100%; max-height: 90vh; object-fit: contain; }dialog button { position: fixed; right: 24px; top: 18px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: white; font-size: 25px; }
#toast { position: fixed; bottom: 22px; right: 22px; background: var(--navy); color: white; border-radius: 10px; padding: 12px 16px; box-shadow: var(--shadow); opacity: 0; transform: translateY(8px); pointer-events: none; transition: .2s; font-size: 13px; z-index: 40; }#toast.show { opacity: 1; transform: none; }
@media (max-width: 900px) { .topbar { grid-template-columns: 1fr auto; }.case-meta { display: none; }.shell { grid-template-columns: 1fr; }.sidebar { position: static; width: 100%; height: auto; overflow: visible; padding: 10px; border-right: 0; border-bottom: 1px solid var(--line); }.sidebar nav { display: flex; overflow-x: auto; overflow-y: hidden; padding-right: 0; }.case-label, .sidebar-footer { display: none; }.nav-item { min-width: max-content; }.facilitator .facilitator-only { display: flex; }main { width: 100%; padding: 28px 16px 80px; }.hero { grid-template-columns: 1fr; padding: 30px; }.brief-grid, .choices, .intel-layout, .summary-overview-grid, .summary-learning-grid { grid-template-columns: 1fr; }.role-picker { grid-template-columns: 1fr 1fr; }.board-grid, .summary-meta { grid-template-columns: 1fr 1fr; }.summary-team { align-items: flex-start; flex-direction: column; }.summary-team-tiles { width: 100%; grid-template-columns: 1fr 1fr; }.summary-reference { grid-template-columns: 1fr; }.flow { align-items: center; }.phase-header { align-items: center; }.mail-window { grid-template-columns: 1fr; }.mail-sidebar { display: none; }.final-prompts { grid-template-columns: 1fr 1fr; }.log-table { display: block; overflow-x: auto; white-space: nowrap; }.lifecycle-strip { display: block; }.lifecycle-strip span { display: block; text-align: left; margin-top: 4px; }.callback-chain { grid-template-columns: 1fr; }.callback-chain i { transform: rotate(90deg); justify-self: center; }.authority-list article { grid-template-columns: 65px 1fr 80px; }.authority-list article p { grid-column: 2 / 4; }.situation-grid { grid-template-columns:1fr; }.scope-panel { min-height:0; }.phase-reveal-dialog .reveal-screen { padding:28px; }.reveal-story h2 { font-size:clamp(42px,10vw,75px); }}
@media (max-width: 600px) { .role-picker, .board-grid { grid-template-columns: 1fr; }.team-chips, .summary-meta, .summary-team-tiles { grid-template-columns: 1fr 1fr; }.crew-heading, .crew-actions, .board-head, .authority-intro, .summary-section-heading { align-items: flex-start; flex-direction: column; }.crew-counter { align-self: stretch; }.role-card { min-height: 88px; }.authority-list article { grid-template-columns: 62px 1fr; }.authority-list article strong { grid-column: 2; }.authority-list article p { grid-column: 2; }.incident-board { padding: 14px; }.phase-header { align-items:flex-start; flex-direction:column; }.phase-story { padding:19px; background:#17233c; }.phase-story-meta,.phase-story footer { align-items:flex-start; flex-direction:column; }.phase-story h2 br { display:none; }.evidence-system-map>header { align-items:flex-start; flex-direction:column; }.evidence-orientation { grid-template-columns:1fr; }.evidence-orientation p { grid-template-columns:1fr; gap:2px; }.situation-heading { align-items:flex-start; flex-direction:column; }.situation-clock { text-align:left; }.siem-statusbar { grid-template-columns:1fr auto auto; }.siem-stage { grid-column:1/-1; grid-row:2; padding:10px 0 0; border-left:0; border-top:1px solid #3b485d; }.situation-metrics { grid-template-columns:1fr 1fr; }.signal-row { grid-template-columns:42px 52px 1fr; }.signal-row p { grid-column:1/-1; }.assessment-list { grid-template-columns:1fr; }.assessment-list dt { padding-bottom:4px; border-bottom:0; }.assessment-list dd { padding-top:0; }.situation-footer { align-items:flex-start; flex-direction:column; }.reveal-actions { justify-content:stretch; }.reveal-actions button { flex:1; }.reveal-body { padding-left:14px; }.reveal-body p { font-size:17px; } }
@media (max-width: 900px) { .nav-item.nav-subitem { width:auto; margin-left:0; border-left:0; border-radius:10px; } }
@media (max-width: 600px) { .situation-actions { width:100%; align-items:stretch; flex-direction:column; }.situation-actions .primary,.dashboard-map-link { width:100%; text-align:center; } }
@media print { .topbar, .sidebar, .timer, .decision-card, .evidence-tabs, .next-route { display: none !important; }.shell { display: block; }.route { display: block !important; page-break-after: always; }main { width: 100%; padding: 0; }.evidence-view { display: block !important; min-height: 0; margin: 12px 0; page-break-inside: avoid; }.system-window, .panel { box-shadow: none; }.system-window pre { min-height: 0; }.image-evidence img { max-height: 550px; }.facilitator-only, #debrief { display: none !important; }}
@media print { .summary-print .route { display: none !important; }.summary-print #summary { display: block !important; page-break-after: auto; }.summary-print #incidentBoard, .summary-print .summary-print-button { display: none !important; }.summary-print .summary-meta div { border: 1px solid #ccd2db; background: white; color: var(--ink); }.summary-print .summary-meta span { color: var(--muted); }.summary-print .summary-block, .summary-print .summary-section, .summary-print .summary-team { break-inside: avoid; }.summary-print .notes-label { display: none !important; } }
