.alp-item--c { border-left: .22rem solid #6b7280 !important; }
.alp-item--c .alp-item__num { background: color-mix(in srgb, #6b7280 12%, transparent); color: #4b5563; }
.alp-support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:1rem 0 1.5rem; }
.alp-support-grid a { display:block; padding:.75rem .85rem; border:1px solid var(--md-default-fg-color--lightest); border-radius:.5rem; text-decoration:none; }
.alp-support-grid a:hover { border-color:var(--alp-brand-dark); }
.alp-status-planned { padding:.8rem 1rem; border-left:.22rem solid #9ca3af; background:color-mix(in srgb,#9ca3af 8%,var(--md-default-bg-color)); }
.alp-workbench-note { margin:.8rem 0 1.2rem; }
@media (max-width:720px){ .alp-support-grid{grid-template-columns:1fr;} }

/* Canonical live C++ component: highlighted preview, highlighted editor, isolated run. */
.alp-live-code {
  margin: .75rem 0 1.35rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: .62rem;
  background: var(--md-default-bg-color);
  overflow: hidden;
}
.alp-live-code__output[hidden] { display: none !important; }
.alp-live-code__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .55rem .7rem;
  border-bottom: 1px solid color-mix(in srgb, var(--md-primary-fg-color) 55%, transparent);
  background: color-mix(in srgb, var(--md-primary-fg-color) 11%, var(--md-default-bg-color));
}
.alp-live-code__label {
  font-weight: 700;
  color: var(--md-default-fg-color--light);
}
.alp-live-code__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.alp-live-code button {
  appearance: none;
  border: 1px solid var(--alp-brand-dark, #4A79AB);
  border-radius: .42rem;
  padding: .4rem .68rem;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  background: var(--md-primary-fg-color);
  color: var(--md-primary-bg-color);
}
.alp-live-code button:hover { filter: brightness(.96); }
.alp-live-code button:disabled { cursor: wait; opacity: .72; }
.alp-live-code__reset {
  background: transparent !important;
  color: var(--alp-brand-dark, #4A79AB) !important;
}

/* One source surface: the highlighted element itself is editable. */
.alp-live-code__editor {
  box-sizing: border-box;
  width: 100%;
  min-height: 10rem;
  max-height: 32rem;
  margin: 0;
  border: 0;
  padding: .9rem 1rem;
  overflow: auto;
  white-space: pre;
  overflow-wrap: normal;
  tab-size: 4;
  font-family: var(--md-code-font-family, monospace);
  font-size: .82rem;
  line-height: 1.55;
  letter-spacing: normal;
  color: var(--md-code-fg-color);
  background: var(--md-code-bg-color);
  caret-color: var(--md-code-fg-color);
  cursor: text;
  user-select: text;
  outline: 0;
}
.alp-live-code__editor:focus {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--md-primary-fg-color) 65%, transparent);
}
.alp-live-code__editor::selection,
.alp-live-code__editor *::selection {
  color: inherit;
  background: color-mix(in srgb, var(--md-primary-fg-color) 28%, transparent);
}

/* Lightweight self-hosted C++ token colors. No token has a background. */
.alp-cpp-comment { color: #6a737d; font-style: italic; }
.alp-cpp-string { color: #0b7a53; }
.alp-cpp-number { color: #b31d28; }
.alp-cpp-keyword { color: #7c3aed; font-weight: 600; }
.alp-cpp-builtin { color: #075985; }
.alp-cpp-function { color: #8a4b08; }
.alp-cpp-preprocessor { color: #9a3412; }
.alp-cpp-operator { color: #7c2d12; }
[data-md-color-scheme="slate"] .alp-cpp-comment { color: #9ca3af; }
[data-md-color-scheme="slate"] .alp-cpp-string { color: #86efac; }
[data-md-color-scheme="slate"] .alp-cpp-number { color: #fca5a5; }
[data-md-color-scheme="slate"] .alp-cpp-keyword { color: #c4b5fd; }
[data-md-color-scheme="slate"] .alp-cpp-builtin { color: #7dd3fc; }
[data-md-color-scheme="slate"] .alp-cpp-function { color: #fcd34d; }
[data-md-color-scheme="slate"] .alp-cpp-preprocessor { color: #fdba74; }
[data-md-color-scheme="slate"] .alp-cpp-operator { color: #fdba74; }

.alp-live-code__output {
  border-top: 1px solid var(--md-default-fg-color--lightest);
  background: var(--md-default-bg-color);
}
.alp-live-code__starting {
  padding: .7rem .85rem;
  color: var(--md-default-fg-color--light);
  font-size: .9rem;
}
.alp-live-code__stdin-hint {
  padding: .55rem .75rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  color: var(--md-default-fg-color--light);
  font-size: .88rem;
}
.alp-live-code__frame {
  display: block;
  width: 100%;
  border: 0;
  background: var(--md-default-bg-color);
}

@media (max-width: 720px) {
  .alp-live-code__header {
    align-items: stretch;
    flex-direction: column;
  }
  .alp-live-code__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .alp-live-code button { width: 100%; }
  .alp-live-code__editor { font-size: .78rem; }
}
