/* Scoped extension of the existing NXP Strategy Tracker. No global resets. */
.hyphen-app {
  --hy-bg: #1e2a4a;
  --hy-raised: #26325a;
  --hy-hover: #2f3d6e;
  --hy-ink: #f2f0ea;
  --hy-muted: #b8b6a6;
  --hy-rule: rgba(242,240,234,.18);
  --hy-rule-strong: rgba(242,240,234,.32);
  --hy-accent: #f68c39;
  --hy-accent-hover: #ffa25a;
  --hy-accent-ink: #17203a;
  --hy-error: #ff9b94;
  --hy-risk: #d94441;
  --hy-serif: var(--font-serif, "Instrument Serif", "Iowan Old Style", Georgia, serif);
  --hy-mono: var(--font-mono, "JetBrains Mono", ui-monospace, monospace);
  --hy-xs: max(12px, .75rem);
  --hy-sm: max(14px, .875rem);
  --hy-base: max(15px, 1rem);
  --hy-lg: max(18px, 1.125rem);
  --hy-title: clamp(1.625rem, 1.35rem + .7vw, 2.125rem);
  --hy-s1: .25rem;
  --hy-s2: .5rem;
  --hy-s3: .75rem;
  --hy-s4: 1rem;
  --hy-s5: 1.25rem;
  --hy-s6: 1.5rem;
  --hy-s8: 2rem;
  --hy-s10: 2.5rem;
  color-scheme: dark;
  display: block;
  min-width: 0;
  width: 100%;
  min-height: 75vh;
  background: var(--hy-bg);
  color: var(--hy-ink);
  font-family: inherit;
  font-size: var(--hy-base);
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}
.hyphen-app[data-theme="light"] {
  --hy-bg: #f5f2ea;
  --hy-raised: #ece8dd;
  --hy-hover: #e3dfd0;
  --hy-ink: #1e2a4a;
  --hy-muted: #5a6480;
  --hy-rule: rgba(30,42,74,.18);
  --hy-rule-strong: rgba(30,42,74,.32);
  --hy-accent: #a4450c;
  --hy-accent-hover: #873606;
  --hy-accent-ink: #fffaf4;
  --hy-error: #a72a27;
  --hy-risk: #b02b28;
  color-scheme: light;
}
.hyphen-app *, .hyphen-app *::before, .hyphen-app *::after { box-sizing: border-box; }
.hyphen-app [hidden] { display: none !important; }
.hyphen-app :is(h1,h2,h3,h4,h5,h6,p,dl,dd,pre,figure) { margin: 0; }
.hyphen-app :is(h1,h2,h3,h4,h5,h6) { color: var(--hy-ink); line-height: 1.25; font-family: inherit; font-weight: 600; }
.hyphen-app h1 { font-family: var(--hy-serif); font-size: var(--hy-title); font-weight: 400; letter-spacing: -.025em; }
.hyphen-app h2 { font-size: var(--hy-lg); }
.hyphen-app :is(h3,h4,h5,h6) { font-size: var(--hy-base); }
.hyphen-app :is(button,input,select,textarea) { font: inherit; color: inherit; }
.hyphen-app :is(button,a,input,select,textarea,summary):focus-visible,
.hyphen-app [tabindex]:focus-visible { outline: 2px solid var(--hy-accent); outline-offset: 3px; }
.hyphen-app button { cursor: pointer; background: transparent; border: 0; margin: 0; text-align: inherit; }
.hyphen-app button:disabled { cursor: not-allowed; opacity: .5; }
.hyphen-app a { color: var(--hy-accent); text-decoration: underline; text-underline-offset: .2em; }
.hyphen-app a:hover { color: var(--hy-accent-hover); }
.hyphen-app :is(button,a,input,select,textarea) { transition: background-color 130ms ease, border-color 130ms ease, color 130ms ease; }
.hyphen-app .hyphen-surface { max-width: 1600px; margin-inline: auto; padding: var(--hy-s6) clamp(1rem, 3vw, 2.5rem); }
.hyphen-app .hyphen-header { margin-bottom: var(--hy-s6); }
.hyphen-app .hyphen-topline { display: flex; justify-content: space-between; align-items: center; gap: var(--hy-s4); margin-bottom: var(--hy-s6); }
.hyphen-app .hyphen-header-tools, .hyphen-app .hyphen-actions { display: flex; align-items: center; gap: var(--hy-s2); flex-wrap: wrap; }
.hyphen-app .hyphen-back { color: var(--hy-muted); font-size: var(--hy-sm); min-height: 44px; padding-block: var(--hy-s2); }
.hyphen-app .hyphen-back:hover { color: var(--hy-accent); }
.hyphen-app .hyphen-private { font-size: var(--hy-xs); color: var(--hy-muted); padding: var(--hy-s2); }
.hyphen-app .hyphen-title-row { display: flex; justify-content: space-between; align-items: center; gap: var(--hy-s6); }
.hyphen-app .hyphen-eyebrow { font-family: var(--hy-mono); text-transform: uppercase; letter-spacing: .09em; color: var(--hy-muted); font-size: var(--hy-xs); margin-bottom: var(--hy-s2); }
.hyphen-app .hyphen-subtitle { color: var(--hy-muted); margin-top: var(--hy-s2); font-size: var(--hy-sm); }
.hyphen-app .hyphen-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--hy-s2); min-height: 44px; padding: var(--hy-s2) var(--hy-s4); border: 1px solid var(--hy-rule-strong); border-radius: 4px; font-size: var(--hy-sm); font-weight: 500; line-height: 1.3; }
.hyphen-app .hyphen-button:hover:not(:disabled) { background: var(--hy-raised); border-color: var(--hy-muted); }
.hyphen-app .hyphen-primary { background: var(--hy-accent); color: var(--hy-accent-ink); border-color: var(--hy-accent); }
.hyphen-app .hyphen-primary:hover:not(:disabled) { background: var(--hy-accent-hover); border-color: var(--hy-accent-hover); color: var(--hy-accent-ink); }
.hyphen-app .hyphen-meta-strip { display: flex; gap: var(--hy-s4) var(--hy-s6); flex-wrap: wrap; padding-top: var(--hy-s5); margin-top: var(--hy-s6); border-top: 1px dashed var(--hy-rule); color: var(--hy-muted); font-size: var(--hy-xs); }
.hyphen-app .hyphen-meta-strip strong { font-weight: 500; color: var(--hy-ink); }
.hyphen-app .hyphen-tabs { display: flex; gap: var(--hy-s5); border-top: 1px dashed var(--hy-rule); border-bottom: 1px dashed var(--hy-rule-strong); overflow-x: auto; scrollbar-width: thin; }
.hyphen-app .hyphen-tab { min-height: 52px; white-space: nowrap; flex-shrink: 0; border-bottom: 2px solid transparent; padding: var(--hy-s3) var(--hy-s1); font-size: var(--hy-sm); font-weight: 500; color: var(--hy-muted); }
.hyphen-app .hyphen-tab:hover { color: var(--hy-ink); }
.hyphen-app .hyphen-tab[aria-selected="true"] { color: var(--hy-accent); border-bottom-color: var(--hy-accent); }
.hyphen-app .hyphen-content { padding-top: var(--hy-s8); outline-offset: var(--hy-s2); min-height: 320px; }
.hyphen-app .hyphen-section-heading { display: flex; justify-content: space-between; align-items: start; gap: var(--hy-s4); margin-bottom: var(--hy-s5); }
.hyphen-app .hyphen-section-heading p { margin-top: var(--hy-s2); font-size: var(--hy-sm); max-width: 80ch; }
.hyphen-app .hyphen-section-heading > .hyphen-button { flex-shrink: 0; }
.hyphen-app .hyphen-muted { color: var(--hy-muted); font-size: var(--hy-sm); }
.hyphen-app .hyphen-overview-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr); gap: var(--hy-s6); align-items: start; }
.hyphen-app .hyphen-card { border: 1px dashed var(--hy-rule-strong); border-radius: 4px; padding: var(--hy-s6); background: transparent; min-width: 0; }
.hyphen-app .hyphen-start-card { padding: var(--hy-s6); }
.hyphen-app .hyphen-overview-aside { display: grid; gap: var(--hy-s5); min-width: 0; }
.hyphen-app .hyphen-overview-aside h2 { margin-bottom: var(--hy-s4); }
.hyphen-app .hyphen-overview-aside .hyphen-button { margin-top: var(--hy-s4); }
.hyphen-app .hyphen-count-line { display: flex; align-items: baseline; gap: var(--hy-s3); border-top: 1px dashed var(--hy-rule); padding-block: var(--hy-s3); font-size: var(--hy-sm); color: var(--hy-muted); }
.hyphen-app .hyphen-count-line strong { color: var(--hy-ink); font-size: var(--hy-lg); font-family: var(--hy-mono); font-weight: 500; }
.hyphen-app .hyphen-coverage-counts { border-top: 1px dashed var(--hy-rule); padding-block: var(--hy-s3); }
.hyphen-app .hyphen-coverage-counts > div { display: flex; justify-content: space-between; gap: var(--hy-s3); padding-block: var(--hy-s1); font-size: var(--hy-sm); }
.hyphen-app .hyphen-coverage-counts dt { color: var(--hy-muted); }
.hyphen-app .hyphen-coverage-counts dd { font-family: var(--hy-mono); }
.hyphen-app .hyphen-gap-label { margin-top: var(--hy-s4); }
.hyphen-app .hyphen-gap-list { padding-left: var(--hy-s4); margin-block: var(--hy-s2) var(--hy-s3); font-size: var(--hy-xs); color: var(--hy-muted); }
.hyphen-app .hyphen-gap-list li { margin-bottom: var(--hy-s2); }
.hyphen-app .hyphen-coverage-details { border-top: 1px dashed var(--hy-rule); margin-top: var(--hy-s3); }
.hyphen-app .hyphen-dated-note { border-top: 1px dashed var(--hy-rule); padding-top: var(--hy-s4); margin-top: var(--hy-s4); }
.hyphen-app .hyphen-dated-note p { font-size: var(--hy-xs); margin-block: var(--hy-s2); }
.hyphen-app .hyphen-quiet-card p + p { margin-top: var(--hy-s3); }
.hyphen-app .hyphen-quiet-card p { font-size: var(--hy-sm); }
.hyphen-app .hyphen-context-note { font-size: var(--hy-sm); color: var(--hy-muted); padding: var(--hy-s3) 0; border-top: 1px dashed var(--hy-rule); border-bottom: 1px dashed var(--hy-rule); margin-bottom: var(--hy-s5); }
.hyphen-app .hyphen-filters { display: flex; flex-wrap: wrap; gap: var(--hy-s3); align-items: end; margin-top: var(--hy-s5); }
.hyphen-app .hyphen-filter-label { display: grid; gap: var(--hy-s2); min-width: 0; font-size: var(--hy-xs); color: var(--hy-muted); }
.hyphen-app .hyphen-search { flex: 1; min-width: 240px; }
.hyphen-app :is(input:not([type="checkbox"]),select,textarea) { width: 100%; min-width: 0; min-height: 44px; padding: var(--hy-s3); border: 1px solid var(--hy-rule-strong); border-radius: 4px; background: var(--hy-bg); color: var(--hy-ink); font-size: var(--hy-sm); }
.hyphen-app input::placeholder, .hyphen-app textarea::placeholder { color: var(--hy-muted); opacity: .85; }
.hyphen-app select { padding-right: var(--hy-s8); }
.hyphen-app textarea { resize: vertical; line-height: 1.6; }
.hyphen-app .hyphen-result-summary { color: var(--hy-muted); font-family: var(--hy-mono); font-size: var(--hy-xs); margin-block: var(--hy-s5); }
.hyphen-app table { width: 100%; border-collapse: collapse; text-align: left; }
.hyphen-app th { color: var(--hy-muted); font-size: var(--hy-xs); font-weight: 500; text-align: left; padding: var(--hy-s3) var(--hy-s4); border-block: 1px dashed var(--hy-rule-strong); vertical-align: top; }
.hyphen-app td { padding: var(--hy-s4); border-bottom: 1px dashed var(--hy-rule); font-size: var(--hy-sm); vertical-align: top; line-height: 1.5; }
.hyphen-app .hyphen-record-table { table-layout: fixed; }
.hyphen-app .hyphen-record-table th:nth-child(1) { width: 42%; }
.hyphen-app .hyphen-record-table th:nth-child(2) { width: 18%; }
.hyphen-app .hyphen-record-table th:nth-child(3) { width: 18%; }
.hyphen-app .hyphen-record-table th:nth-child(4) { width: 22%; }
.hyphen-app .hyphen-record-id { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--hy-s3); color: var(--hy-muted); font-family: var(--hy-mono); font-size: var(--hy-xs); }
.hyphen-app .hyphen-record-id span { font-family: inherit; font-size: var(--hy-xs); font-weight: 400; }
.hyphen-app .hyphen-record-title { display: block; min-height: 44px; padding-block: var(--hy-s2); color: var(--hy-ink); font-size: var(--hy-base); font-weight: 500; line-height: 1.5; }
.hyphen-app .hyphen-record-title:hover { color: var(--hy-accent); }
.hyphen-app .hyphen-classification { margin-top: var(--hy-s1); font-size: var(--hy-xs); }
.hyphen-app .hyphen-badge { display: inline-block; border: 1px solid var(--hy-rule-strong); padding: var(--hy-s1) var(--hy-s2); font-size: var(--hy-xs); color: var(--hy-ink); border-radius: 3px; }
.hyphen-app .hyphen-urgent { color: var(--hy-error); border-color: var(--hy-risk); }
.hyphen-app .hyphen-source-refs { display: flex; flex-wrap: wrap; gap: var(--hy-s1); align-items: center; }
.hyphen-app .hyphen-source-ref { min-height: 44px; min-width: 44px; padding: var(--hy-s2) var(--hy-s1); color: var(--hy-accent); font-family: var(--hy-mono); font-size: var(--hy-xs); text-decoration: underline; text-underline-offset: .25em; }
.hyphen-app .hyphen-source-ref:hover { color: var(--hy-accent-hover); }
.hyphen-app .hyphen-milestones { display: grid; gap: var(--hy-s3); }
.hyphen-app .hyphen-milestone { display: grid; grid-template-columns: minmax(150px, .24fr) minmax(0, 1fr); gap: var(--hy-s6); }
.hyphen-app .hyphen-milestone-date { border-right: 1px dashed var(--hy-rule); padding-right: var(--hy-s5); font-size: var(--hy-sm); }
.hyphen-app .hyphen-milestone-date > div { margin-top: var(--hy-s4); }
.hyphen-app .hyphen-inline-meta { display: flex; flex-wrap: wrap; gap: var(--hy-s3); align-items: center; margin-block: var(--hy-s3); font-size: var(--hy-sm); }
.hyphen-app .hyphen-document { max-width: 1040px; }
.hyphen-app .hyphen-evidence-search { max-width: 560px; }
.hyphen-app .hyphen-evidence-list { border-top: 1px dashed var(--hy-rule-strong); }
.hyphen-app .hyphen-source-card { padding: var(--hy-s6) 0; border-bottom: 1px dashed var(--hy-rule-strong); }
.hyphen-app .hyphen-source-heading { display: flex; justify-content: space-between; gap: var(--hy-s5); }
.hyphen-app .hyphen-source-heading > div { min-width: 0; }
.hyphen-app .hyphen-source-coverage { display: grid; gap: var(--hy-s2); }
.hyphen-app .hyphen-native-link { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--hy-sm); flex-shrink: 0; }
.hyphen-app .hyphen-native-unavailable { padding-top: var(--hy-s3); flex-shrink: 0; font-size: var(--hy-xs); }
.hyphen-app .hyphen-file-list { margin-top: var(--hy-s4); display: grid; gap: var(--hy-s2); }
.hyphen-app .hyphen-file-row { display: flex; justify-content: space-between; gap: var(--hy-s4); align-items: center; border-top: 1px dashed var(--hy-rule); padding-top: var(--hy-s2); font-size: var(--hy-sm); }
.hyphen-app .hyphen-file-row > div { min-width: 0; }
.hyphen-app .hyphen-file-meta { display: block; margin-top: var(--hy-s1); font-family: var(--hy-mono); font-size: var(--hy-xs); }
.hyphen-app .hyphen-file-row .hyphen-button { flex-shrink: 0; }
.hyphen-app .hyphen-history-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--hy-s8); }
.hyphen-app .hyphen-history-list { list-style: none; margin: 0; padding: 0; }
.hyphen-app .hyphen-history-list > li { padding-block: var(--hy-s5); border-top: 1px dashed var(--hy-rule-strong); }
.hyphen-app .hyphen-history-heading { display: flex; gap: var(--hy-s3); justify-content: space-between; font-size: var(--hy-sm); }
.hyphen-app .hyphen-fields { display: grid; gap: 0; margin-block: var(--hy-s3); }
.hyphen-app .hyphen-fields > div { display: grid; grid-template-columns: minmax(100px, .4fr) minmax(0, 1fr); gap: var(--hy-s3); padding-block: var(--hy-s3); border-bottom: 1px dashed var(--hy-rule); }
.hyphen-app .hyphen-fields dt { color: var(--hy-muted); font-size: var(--hy-xs); }
.hyphen-app .hyphen-fields dd { font-size: var(--hy-sm); min-width: 0; }
.hyphen-app .hyphen-overview-aside .hyphen-fields > div { grid-template-columns: 1fr; gap: var(--hy-s1); }
.hyphen-app .hyphen-raw-value { white-space: pre-wrap; font-family: var(--hy-mono); font-size: var(--hy-xs); overflow-wrap: anywhere; }
.hyphen-app .hyphen-notice, .hyphen-app .hyphen-test-banner { display: flex; align-items: center; justify-content: space-between; gap: var(--hy-s4); padding: var(--hy-s3) var(--hy-s4); margin-block: var(--hy-s4); border: 1px dashed var(--hy-rule-strong); font-size: var(--hy-sm); }
.hyphen-app .hyphen-notice p { font-size: var(--hy-sm); }
.hyphen-app .hyphen-test-banner { color: var(--hy-accent); border-color: var(--hy-accent); font-size: var(--hy-xs); }
.hyphen-app .hyphen-error { color: var(--hy-error); }
.hyphen-app .hyphen-empty { padding: var(--hy-s8) var(--hy-s5); border: 1px dashed var(--hy-rule); }
.hyphen-app .hyphen-empty p { color: var(--hy-muted); margin-top: var(--hy-s3); max-width: 70ch; font-size: var(--hy-sm); }
.hyphen-app .hyphen-empty .hyphen-button { margin-top: var(--hy-s5); }
.hyphen-app .hyphen-loading { padding-block: var(--hy-s6); }
.hyphen-app .hyphen-loading p { margin-top: var(--hy-s3); }
.hyphen-app .hyphen-skeleton { height: 100px; background: var(--hy-raised); border: 1px dashed var(--hy-rule); margin-top: var(--hy-s6); }
.hyphen-app .hyphen-skeleton-short { height: 32px; width: 65%; margin-top: var(--hy-s3); }
.hyphen-app .hyphen-footer { display: flex; gap: var(--hy-s4); justify-content: space-between; padding-top: var(--hy-s5); margin-top: var(--hy-s10); border-top: 1px dashed var(--hy-rule); color: var(--hy-muted); font-size: var(--hy-xs); }
.hyphen-app .hyphen-skip { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.hyphen-app .hyphen-skip:focus { position: relative; display: block; width: auto; height: auto; min-height: 44px; clip-path: none; padding: var(--hy-s3); background: var(--hy-raised); color: var(--hy-accent); margin-bottom: var(--hy-s3); }
.hyphen-app .hyphen-markdown { min-width: 0; }
.hyphen-app .hyphen-markdown :is(h2,h3,h4,h5,h6) { margin-top: var(--hy-s8); margin-bottom: var(--hy-s4); }
.hyphen-app .hyphen-markdown > :is(h2,h3):first-child { margin-top: 0; }
.hyphen-app .hyphen-markdown h2 { font-family: var(--hy-serif); font-size: var(--hy-title); font-weight: 400; }
.hyphen-app .hyphen-markdown :is(p,ul,ol,blockquote,pre,details) { margin-block: var(--hy-s4); font-size: var(--hy-sm); }
.hyphen-app .hyphen-markdown :is(ul,ol) { padding-left: var(--hy-s5); }
.hyphen-app .hyphen-markdown li { padding-left: var(--hy-s1); margin-block: var(--hy-s2); }
.hyphen-app .hyphen-markdown li::marker { color: var(--hy-muted); }
.hyphen-app .hyphen-markdown p { white-space: pre-line; }
.hyphen-app .hyphen-markdown blockquote { margin-inline: 0; padding: var(--hy-s3) var(--hy-s5); border: 1px dashed var(--hy-rule); }
.hyphen-app .hyphen-markdown pre { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--hy-raised); padding: var(--hy-s4); border-radius: 3px; }
.hyphen-app .hyphen-markdown code { font-family: var(--hy-mono); font-size: .92em; }
.hyphen-app .hyphen-markdown hr { border: 0; border-top: 1px dashed var(--hy-rule-strong); margin-block: var(--hy-s6); }
.hyphen-app .hyphen-table-scroll { overflow-x: auto; scrollbar-width: thin; max-width: 100%; margin-block: var(--hy-s5); }
.hyphen-app .hyphen-markdown table { min-width: 520px; }
.hyphen-app .hyphen-markdown :is(td,th) { padding: var(--hy-s3); }
.hyphen-app .hyphen-markdown td { min-width: 120px; }
.hyphen-app .hyphen-markdown td:first-child { font-weight: 500; }
.hyphen-app .hyphen-frontmatter { border: 1px dashed var(--hy-rule-strong); padding: var(--hy-s3) var(--hy-s4); margin-bottom: var(--hy-s6); }
.hyphen-app .hyphen-frontmatter pre { background: transparent; padding: 0; font-family: var(--hy-mono); font-size: var(--hy-xs); }
.hyphen-app summary { cursor: pointer; min-height: 44px; padding-block: var(--hy-s3); color: var(--hy-muted); font-size: var(--hy-sm); }
.hyphen-app .hyphen-footnote { margin-top: var(--hy-s5); }
.hyphen-app .hyphen-dialog { color: var(--hy-ink); background: var(--hy-bg); padding: 0; border: 1px solid var(--hy-rule-strong); border-radius: 4px; width: min(660px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow: auto; font-family: inherit; line-height: 1.55; }
.hyphen-app .hyphen-dialog-wide { width: min(1060px, calc(100vw - 48px)); }
.hyphen-app .hyphen-dialog::backdrop { background: rgba(7,12,26,.78); }
.hyphen-app .hyphen-dialog-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: var(--hy-s4); background: var(--hy-bg); padding: var(--hy-s4) var(--hy-s6); border-bottom: 1px dashed var(--hy-rule-strong); }
.hyphen-app .hyphen-dialog-header h2 { font-size: var(--hy-lg); }
.hyphen-app .hyphen-dialog-body { padding: var(--hy-s6); }
.hyphen-app .hyphen-dialog-status:empty { display: none; }
.hyphen-app .hyphen-dialog-status { padding: var(--hy-s4) var(--hy-s6); border-bottom: 1px dashed var(--hy-rule); font-size: var(--hy-sm); }
.hyphen-app .hyphen-detail-title { display: flex; align-items: start; justify-content: space-between; gap: var(--hy-s4); margin-bottom: var(--hy-s4); }
.hyphen-app .hyphen-detail-title h3 { font-size: var(--hy-lg); }
.hyphen-app .hyphen-detail-section { padding-top: var(--hy-s5); margin-top: var(--hy-s5); border-top: 1px dashed var(--hy-rule-strong); }
.hyphen-app .hyphen-detail-section h3 { margin-bottom: var(--hy-s3); }
.hyphen-app .hyphen-dialog-actions { display: flex; gap: var(--hy-s3); justify-content: flex-end; flex-wrap: wrap; border-top: 1px dashed var(--hy-rule-strong); padding-top: var(--hy-s5); margin-top: var(--hy-s6); }
.hyphen-app .hyphen-source-controls { display: flex; align-items: end; gap: var(--hy-s3); margin-block: var(--hy-s5); }
.hyphen-app .hyphen-source-controls .hyphen-filter-label { flex: 1; }
.hyphen-app .hyphen-source-content { border-top: 1px dashed var(--hy-rule); padding-top: var(--hy-s5); }
.hyphen-app .hyphen-source-text { font: var(--hy-sm)/1.7 var(--hy-mono); white-space: pre-wrap; overflow-wrap: anywhere; margin-top: var(--hy-s4); }
.hyphen-app .hyphen-form { display: grid; gap: var(--hy-s5); }
.hyphen-app .hyphen-form .hyphen-context-note { margin-bottom: 0; }
.hyphen-app .hyphen-form-field { display: grid; gap: var(--hy-s2); }
.hyphen-app .hyphen-form-field label { font-size: var(--hy-sm); font-weight: 500; }
.hyphen-app .hyphen-form-field p { font-size: var(--hy-xs); }
.hyphen-app .hyphen-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--hy-s4); }
.hyphen-app .hyphen-completion-fields, .hyphen-app .hyphen-source-choices { border: 1px dashed var(--hy-rule-strong); border-radius: 3px; margin: 0; padding: var(--hy-s4); display: grid; gap: var(--hy-s4); min-width: 0; }
.hyphen-app legend { font-size: var(--hy-sm); color: var(--hy-ink); padding-inline: var(--hy-s2); }
.hyphen-app .hyphen-source-choices { max-height: 300px; overflow-y: auto; gap: 0; }
.hyphen-app .hyphen-source-choices label { display: flex; align-items: start; gap: var(--hy-s3); min-height: 44px; padding-block: var(--hy-s3); font-size: var(--hy-sm); cursor: pointer; }
.hyphen-app input[type="checkbox"] { accent-color: var(--hy-accent); width: 18px; height: 18px; flex-shrink: 0; margin: var(--hy-s1) 0 0; }
.hyphen-app .hyphen-markdown-editor { font-family: var(--hy-mono); font-size: var(--hy-sm); min-height: 360px; }
@media (min-width: 1500px) {
  .hyphen-app .hyphen-overview-grid { grid-template-columns: minmax(0, 1fr) 340px; }
}
@media (max-width: 1000px) {
  .hyphen-app .hyphen-overview-grid { grid-template-columns: 1fr; }
  .hyphen-app .hyphen-overview-aside { grid-template-columns: 1fr 1fr; align-items: start; }
  .hyphen-app .hyphen-history-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .hyphen-app .hyphen-surface { padding: var(--hy-s4); }
  .hyphen-app .hyphen-topline { align-items: start; margin-bottom: var(--hy-s4); gap: var(--hy-s2); }
  .hyphen-app .hyphen-header-tools { justify-content: flex-end; }
  .hyphen-app .hyphen-private { padding: 0; }
  .hyphen-app .hyphen-title-row { flex-direction: column; align-items: start; gap: var(--hy-s4); }
  .hyphen-app .hyphen-title-row > .hyphen-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hyphen-app .hyphen-actions [data-testid="export-pdf"] { grid-column: 1 / -1; }
  .hyphen-app .hyphen-meta-strip { gap: var(--hy-s2); flex-direction: column; }
  .hyphen-app .hyphen-tabs { gap: var(--hy-s4); }
  .hyphen-app .hyphen-content { padding-top: var(--hy-s5); }
  .hyphen-app .hyphen-section-heading { flex-wrap: wrap; }
  .hyphen-app .hyphen-card, .hyphen-app .hyphen-start-card { padding: var(--hy-s4); }
  .hyphen-app .hyphen-overview-aside { grid-template-columns: 1fr; }
  .hyphen-app .hyphen-filters { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .hyphen-app .hyphen-search { grid-column: 1 / -1; min-width: 0; }
  .hyphen-app .hyphen-filters > .hyphen-button { grid-column: 1 / -1; justify-self: start; }
  .hyphen-app .hyphen-record-table thead { display: none; }
  .hyphen-app .hyphen-record-table, .hyphen-app .hyphen-record-table tbody { display: block; }
  .hyphen-app .hyphen-record-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px dashed var(--hy-rule-strong); padding-block: var(--hy-s4); gap: var(--hy-s3); }
  .hyphen-app .hyphen-record-table td { display: block; border: none; padding: 0; min-width: 0; }
  .hyphen-app .hyphen-record-table td:first-child, .hyphen-app .hyphen-record-table td:last-child { grid-column: 1 / -1; }
  .hyphen-app .hyphen-record-table td:not(:first-child)::before { content: attr(data-label); display: block; color: var(--hy-muted); font-family: var(--hy-mono); font-size: var(--hy-xs); margin-bottom: var(--hy-s2); }
  .hyphen-app .hyphen-milestone { grid-template-columns: 1fr; gap: var(--hy-s4); }
  .hyphen-app .hyphen-milestone-date { padding-right: 0; padding-bottom: var(--hy-s4); border-right: 0; border-bottom: 1px dashed var(--hy-rule); }
  .hyphen-app .hyphen-source-heading { flex-direction: column; gap: var(--hy-s2); }
  .hyphen-app .hyphen-native-unavailable { padding: 0; }
  .hyphen-app .hyphen-footer { flex-direction: column; gap: var(--hy-s2); }
  .hyphen-app .hyphen-notice { align-items: start; flex-wrap: wrap; }
  .hyphen-app .hyphen-dialog, .hyphen-app .hyphen-dialog-wide { width: calc(100vw - 16px); max-height: calc(100dvh - 24px); }
  .hyphen-app .hyphen-dialog-header, .hyphen-app .hyphen-dialog-body, .hyphen-app .hyphen-dialog-status { padding: var(--hy-s4); }
  .hyphen-app .hyphen-detail-title { flex-direction: column; }
  .hyphen-app .hyphen-fields > div { grid-template-columns: 1fr; gap: var(--hy-s1); }
  .hyphen-app .hyphen-form-grid { grid-template-columns: 1fr; }
  .hyphen-app .hyphen-source-controls { align-items: stretch; flex-direction: column; }
  .hyphen-app .hyphen-history-heading { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .hyphen-app *, .hyphen-app *::before, .hyphen-app *::after { transition: none !important; scroll-behavior: auto !important; animation: none !important; }
}
