:root {
  --bg-code:#0c0d0e;
  --bg-app:#111315;
  --bg-pane:#141618;
  --bg-chrome:#16191b;
  --bg-hover:#1b1f23;
  --bg-active:#22262a;
  --bg-selected:#1f2d3b;
  --line-row:#1c1f22;
  --line:#26292d;
  --control:#2a2e32;
  --strong:#eef0f2;
  --data:#e6e9eb;
  --text:#d6dadd;
  --prose:#b8bec3;
  --secondary:#9aa1a7;
  --label:#7c848a;
  --faint:#5f666c;
  --link:#8fb4d9;
  --amber:oklch(.78 .14 60);
  --critical:oklch(.72 .15 25);
  --medium:oklch(.85 .12 95);
  --low:oklch(.72 .06 230);
  --code:oklch(.86 .1 145);
  --mono:'IBM Plex Mono',monospace;
  --sans:'IBM Plex Sans',sans-serif;
}
* {
  box-sizing:border-box;
}
html,body {
  margin:0;
  width:100%;
  height:100%;
  background:var(--bg-app);
  color:var(--text);
  font:400 13px/1.4 var(--sans);
  -webkit-font-smoothing:antialiased;
}
body {
  overflow:hidden;
}
button,input {
  font:inherit;
}
button,a,input {
  border-radius:0;
}
button {
  cursor:pointer;
}
a {
  color:var(--link);
}
a:hover {
  color:#c4daf0;
}
button {
  color:inherit;
}
button:disabled {
  cursor:default;
}
::selection {
  background:#2f4a66;
}
*:focus-visible {
  outline:1px solid var(--link);
  outline-offset:1px;
}
[hidden] {
  display:none!important;
}
input::placeholder {
  color:var(--faint);
}
::-webkit-scrollbar {
  width:10px;
  height:10px;
}
::-webkit-scrollbar-thumb {
  background:var(--control);
}
::-webkit-scrollbar-track {
  background:var(--bg-app);
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  clip-path:inset(50%);
}
.console-app {
  height:100dvh;
  min-height:560px;
  display:flex;
  flex-direction:column;
}
.app-header {
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  flex:none;
  min-height:44px;
  background:var(--bg-chrome);
  border-bottom:1px solid var(--line);
}
.brand {
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 16px;
  min-height:44px;
  border-right:1px solid var(--line);
  color:var(--strong);
  font:600 13px/1 var(--mono);
  letter-spacing:.02em;
  text-decoration:none;
}
.brand-mark {
  width:8px;
  height:8px;
  background:var(--amber);
}
.version {
  font:400 11px/1 var(--mono);
  color:var(--faint);
}
.searchbox {
  flex:1 1 420px;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
}
.search-slash {
  color:var(--amber);
  font:500 13px/1 var(--mono);
}
#console-search {
  flex:1;
  min-width:100px;
  width:100%;
  border:0;
  background:transparent;
  color:var(--strong);
  font:400 13px/1 var(--mono);
  padding:12px 0;
  height:44px;
  appearance:none;
}
#console-search::-webkit-search-cancel-button {
  appearance:none;
}
#console-search:focus-visible {
  outline-offset:-2px;
}
#query-tokens {
  display:flex;
  gap:4px;
  max-width:45%;
  overflow:auto;
  scrollbar-width:none;
}
.query-token {
  padding:4px 6px;
  font:400 11px/1 var(--mono);
  color:#c4daf0;
  background:var(--bg-selected);
  white-space:nowrap;
}
.header-tabs {
  display:flex;
  align-items:stretch;
  border-left:1px solid var(--line);
}
.header-tabs button,.header-tabs a {
  display:flex;
  align-items:center;
  border:0;
  border-left:1px solid var(--line);
  background:transparent;
  padding:0 14px;
  min-height:44px;
  font:500 12px/1 var(--mono);
  color:var(--text);
  text-decoration:none;
}
.header-tabs>:first-child {
  border-left:0;
}
.header-tabs [aria-pressed=true] {
  background:var(--bg-active);
}
.header-tabs button:hover,.header-tabs a:hover {
  color:#fff;
  background:var(--bg-hover);
}
.filter-bar {
  flex:none;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 18px;
  padding:8px 16px;
  border-bottom:1px solid var(--line);
  font:400 12px/1 var(--mono);
}
#filter-groups {
  display:contents;
}
.filter-group {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
}
.filter-label {
  color:var(--faint);
  margin-right:4px;
}
.filter-chip {
  display:flex;
  gap:6px;
  align-items:center;
  border:1px solid var(--control);
  padding:4px 7px;
  background:transparent;
  font:400 11px/1 var(--mono);
  white-space:nowrap;
}
.filter-chip:hover {
  border-color:var(--faint);
}
.chip-count {
  color:var(--label);
}
.filter-chip[aria-pressed=true] {
  color:var(--bg-app);
  background:var(--text);
  border-color:var(--text);
}
.filter-chip[aria-pressed=true] .chip-count {
  color:var(--bg-app);
  opacity:.75;
}
.filter-chip.risk[aria-pressed=true] {
  background:var(--signal);
  border-color:var(--signal);
}
.text-button {
  border:0;
  padding:4px 0;
  background:transparent;
  color:var(--link);
  font:400 11px/1 var(--mono);
}
.text-button:hover {
  color:#c4daf0;
}
.load-error {
  position:absolute;
  top:44px;
  left:0;
  right:0;
  z-index:10;
  margin:0;
  padding:12px 16px;
  background:var(--bg-selected);
  color:var(--strong);
  border-bottom:1px solid var(--link);
}
.console-main {
  position:relative;
  flex:1;
  min-height:0;
  display:flex;
  flex-wrap:nowrap;
  overflow:hidden;
}
.table-pane {
  flex:1 1 0;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
}
.table-scroll {
  flex:1;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scroll-behavior:auto;
}
#command-grid {
  width:100%;
  min-width:820px;
  table-layout:fixed;
  border-collapse:collapse;
  text-align:left;
}
.col-number {
  width:50px;
}
.col-rating {
  width:48px;
}
.col-tool {
  width:142px;
}
.col-tactic {
  width:122px;
}
.col-tech {
  width:162px;
}
.col-os {
  width:34px;
}
th {
  position:sticky;
  top:0;
  z-index:1;
  height:28px;
  padding:0 6px;
  border-bottom:1px solid var(--line);
  background:var(--bg-chrome);
  font:500 10.5px/1 var(--mono);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--label);
  white-space:nowrap;
}
th button {
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  color:inherit;
  text-align:left;
}
th button:hover {
  color:var(--strong);
}
th:first-child,td:first-child {
  padding-left:12px;
}
th:last-child,td:last-child {
  padding-right:12px;
}
#command-rows tr {
  height:27px;
  border-bottom:1px solid var(--line-row);
  cursor:pointer;
}
#command-rows tr:hover {
  background:var(--bg-hover);
}
#command-rows tr[aria-selected=true] {
  background:var(--bg-selected);
  box-shadow:inset 2px 0 0 var(--amber);
}
td {
  height:27px;
  padding:0 6px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font:400 11px/1 var(--mono);
}
.row-number {
  text-align:right;
  color:#50575d;
}
.risk {
  font-weight:600;
  color:var(--signal);
}
.risk-critical {
  --signal:var(--critical);
}
.risk-high {
  --signal:var(--amber);
}
.risk-medium {
  --signal:var(--medium);
}
.risk-low {
  --signal:var(--low);
}
.fidelity {
  font-weight:500;
}
.fid-high {
  color:var(--data);
}
.fid-medium {
  color:var(--secondary);
}
.fid-low {
  color:var(--faint);
}
.command-cell {
  font:400 12px/1 var(--mono);
  color:var(--data);
}
.command-cell a {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  color:inherit;
  text-decoration:none;
}
.tool-cell {
  font:500 12px/1 var(--sans);
  color:#c3c8cc;
}
.tactic-cell {
  color:var(--secondary);
}
.tech-cell {
  color:var(--link);
}
.os-cell {
  color:var(--label);
}
.empty-state {
  padding:40px 16px;
  font:400 12px/1.6 var(--mono);
  color:var(--label);
}
.empty-state button {
  font-size:12px;
}
.noscript-notice {
  padding:12px 16px;
  color:var(--secondary);
}
.detail-pane {
  flex:0 0 min(440px,45%);
  min-width:300px;
  min-height:0;
  overflow:auto;
  background:var(--bg-pane);
  overscroll-behavior:contain;
}
.mobile-pane-bar {
  display:none;
}
.detail-subheader {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 16px;
  border-bottom:1px solid var(--line);
  background:var(--bg-pane);
  font:400 11px/1 var(--mono);
  color:var(--label);
}
#detail-id {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#detail-position {
  flex:none;
}
.detail-title {
  padding:16px 16px 14px;
}
.detail-title-line {
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.detail-title h1 {
  margin:0;
  font:600 18px/1.1 var(--sans);
  color:var(--strong);
}
.badge {
  padding:3px 6px;
  font:600 11px/1 var(--mono);
  border:1px solid var(--signal);
}
.badge-fid {
  font-weight:500;
  border-color:#33383d;
}
.detail-description {
  margin:8px 0 0;
  font:400 13px/1.5 var(--sans);
  color:var(--prose);
  text-wrap:pretty;
}
.command-block {
  margin:0 16px;
  border:1px solid var(--control);
  background:var(--bg-code);
}
.command-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:28px;
  padding-left:10px;
  border-bottom:1px solid var(--control);
}
.command-bar-label {
  font:400 10.5px/1 var(--mono);
  color:var(--faint);
  letter-spacing:.06em;
}
.command-actions {
  display:flex;
  height:100%;
}
.command-actions button {
  border:0;
  border-left:1px solid var(--control);
  background:transparent;
  padding:0 10px;
  font:400 11px/1 var(--mono);
}
.command-actions button:hover {
  background:var(--bg-hover);
}
.key-label {
  color:var(--faint);
  margin-left:4px;
}
.cmdline {
  margin:0;
  padding:12px 10px;
  font:400 12.5px/1.6 var(--mono);
  color:var(--code);
  white-space:pre-wrap;
  word-break:break-all;
}
.copy-status {
  margin:8px 16px 0;
  font:400 11px/1.5 var(--mono);
  color:var(--link);
}
.detail-kv {
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  margin:14px 16px 0;
  border-top:1px solid var(--line);
  font:400 12px/1.45 var(--mono);
}
.detail-kv dt,.detail-kv dd {
  margin:0;
  padding:7px 0;
  border-bottom:1px solid #1f2225;
  overflow-wrap:anywhere;
}
.detail-kv dt {
  color:var(--label);
}
.detail-kv dd.reason {
  font:400 12.5px/1.45 var(--sans);
  color:var(--prose);
}
.detail-kv dd.reason .risk,.detail-kv dd.reason .fidelity {
  font:400 12px/1.45 var(--mono);
}
.detail-section {
  padding:18px 16px 0;
}
.detail-section:last-child {
  padding-bottom:24px;
}
.section-label,.about-view h2 {
  margin:0 0 8px;
  font:500 10.5px/1 var(--mono);
  letter-spacing:.08em;
  color:var(--label);
}
.technique-list,.related-list,.argument-list {
  border-top:1px solid var(--line);
}
.technique {
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:2px 12px;
  padding:9px 0;
  border-bottom:1px solid #1f2225;
}
.technique-id {
  font:500 12px/1.4 var(--mono);
  text-decoration:none;
}
.technique-heading {
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.technique-name {
  font:500 12.5px/1.4 var(--sans);
  color:var(--data);
}
.technique-tactics {
  font:400 11px/1.5 var(--mono);
  color:var(--label);
  white-space:nowrap;
}
.technique-summary {
  grid-column:2;
  font:400 12px/1.5 var(--sans);
  color:var(--secondary);
  text-wrap:pretty;
}
.argument-list {
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  font:400 12px/1.45 var(--mono);
}
.argument-list dt,.argument-list dd {
  margin:0;
  padding:6px 0;
  border-bottom:1px solid #1f2225;
  overflow-wrap:anywhere;
}
.argument-list dt {
  color:var(--code);
}
.argument-list dd {
  font-family:var(--sans);
  color:var(--prose);
}
.tool-description {
  margin:0;
  font:400 12.5px/1.5 var(--sans);
  color:var(--prose);
  text-wrap:pretty;
}
.related-command {
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  border:0;
  border-bottom:1px solid #1f2225;
  background:transparent;
  padding:7px 0;
  text-align:left;
}
.related-command:hover {
  background:var(--bg-hover);
}
.related-command .risk {
  flex:0 0 14px;
  font:600 11px/1 var(--mono);
}
.related-command .related-text {
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:400 12px/1.3 var(--mono);
}
.reference-list {
  display:flex;
  flex-direction:column;
  gap:6px;
  font:400 12px/1.4 var(--mono);
}
.reference-list a {
  overflow-wrap:anywhere;
}
.loading-message,.entry-missing {
  padding:20px 16px;
  color:var(--secondary);
}
.about-view {
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:20px 18px 32px;
  font:400 13px/1.55 var(--sans);
  color:var(--prose);
}
.about-view p {
  margin:10px 0 0;
  text-wrap:pretty;
}
.about-view h2+p {
  margin-top:0;
}
.about-view .about-lead {
  font:500 16px/1.45 var(--sans);
  color:var(--strong);
}
.about-grid {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  margin:0;
  border-top:1px solid var(--line);
  font-size:12.5px;
}
.about-grid dt,.about-grid dd {
  margin:0;
  padding:7px 0;
  border-bottom:1px solid #1f2225;
}
.about-grid dt {
  font-family:var(--mono);
  color:var(--text);
}
.keys-grid dt {
  color:var(--amber);
}
.about-links {
  display:flex;
  flex-direction:column;
  gap:6px;
  font:400 12px/1.4 var(--mono);
  overflow-wrap:anywhere;
}
.whoami {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:12px;
  font:400 12px/1 var(--mono);
}
.whoami span {
  color:var(--faint);
}
.whoami .contact-email {
  color:var(--link);
}
#search-help {
  font-size:12px;
}
#search-help code {
  font:400 11px/1.6 var(--mono);
  color:var(--text);
}
.status-bar {
  flex:none;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:6px 16px;
  padding:6px 16px;
  border-top:1px solid var(--line);
  background:var(--bg-chrome);
  font:400 11px/1.3 var(--mono);
  color:var(--label);
}
#status-left {
  overflow-wrap:anywhere;
}
.key-hints {
  display:flex;
  gap:14px;
}
.key-hints b {
  font-weight:400;
  color:var(--text);
}
.error-page {
  padding:32px;
  max-width:680px;
}
.error-page h1 {
  font:600 24px/1.3 var(--mono);
  color:var(--strong);
}
.error-page p {
  color:var(--prose);
}
.technique-summary {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tool-url {
  display:block;
  margin-top:6px;
  font:400 11px/1.5 var(--mono);
  overflow-wrap:anywhere;
}
/* Legacy HTML fragments remain readable as standalone static documents. */
#command_content_inner {
  padding:16px;
}
.command_data_header {
  font:500 11px/1.4 var(--mono);
  color:var(--label);
}
.code_block {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:var(--code);
}
#command_content_inner p,#command_content_inner li {
  color:var(--prose);
  line-height:1.5;
}
#command_content_inner ul {
  padding-left:20px;
}
@media(max-width:1000px) {
  .searchbox {
    flex-basis:340px;
  }
  .header-tabs button,.header-tabs a {
    padding:0 12px;
  }
  .brand {
    padding:0 12px;
  }
}
@media(max-width:759px) {
  .console-app {
    min-height:560px;
  }
  .brand {
    flex:1;
    padding:0 12px;
    font-size:12px;
  }
  .header-tabs {
    order:2;
  }
  .header-tabs button,.header-tabs a {
    padding:0 10px;
    font-size:11px;
  }
  .searchbox {
    order:3;
    flex-basis:100%;
    border-top:1px solid var(--line);
    padding:0 12px;
  }
  .filter-bar {
    padding:8px 12px;
    gap:6px 14px;
    max-height:156px;
    overflow:auto;
  }
  .filter-chip {
    padding:4px 6px;
  }
  .detail-pane {
    display:none;
    position:absolute;
    inset:0;
    z-index:5;
    min-width:0;
    width:100%;
    border:0;
  }
  .detail-pane.is-open {
    display:block;
  }
  .mobile-pane-bar {
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:36px;
    padding:0 16px;
    border-bottom:1px solid var(--line);
    background:var(--bg-chrome);
    font:400 11px/1 var(--mono);
    color:var(--label);
  }
  .mobile-pane-bar button {
    border:0;
    background:transparent;
    color:var(--link);
    padding:10px 0;
    font:inherit;
  }
  .detail-subheader {
    top:36px;
  }
  .detail-pane[aria-modal=true] {
    outline:0;
  }
  .status-bar {
    padding:6px 12px;
    font-size:10px;
    gap:6px;
  }
  .key-hints {
    gap:12px;
  }
  #table-scroll:focus-visible {
    outline-offset:-1px;
  }
}
@media(max-height:559px) {
  body {
    overflow:auto;
  }
}
