/* Shared public appearance. White is the default; night mode is an explicit choice. */
:root {
  --nl-bg:#fff; --nl-surface:#fff; --nl-hover:#f3f4f6;
  --nl-ink:#121225; --nl-muted:#5f6174; --nl-line:#d8d9df;
  --nl-plum:#581846; --nl-gold:#93620b;
  --nl-green:#006f46; --nl-cyan:#006d83; --nl-pink:#a71966; --nl-yellow:#806000;
  --nl-grid:#d8d9df; --nl-shadow:0 6px 24px #1212250a;
  --paper:var(--nl-bg); --ink:var(--nl-ink); --muted:var(--nl-muted);
  --plum:var(--nl-plum); --gold:var(--nl-gold); --line:var(--nl-line);
  --primary:var(--nl-bg); --secondary:var(--nl-surface); --text:var(--nl-ink); --text-dim:var(--nl-muted);
  --accent-1:var(--nl-green); --accent-2:var(--nl-pink); --accent-3:var(--nl-cyan); --accent-4:var(--nl-yellow);
  color-scheme:light; background:var(--nl-bg); color:var(--nl-ink);
}
:root[data-theme="dark"] {
  --nl-bg:#15161a; --nl-surface:#1e2027; --nl-hover:#292c35;
  --nl-ink:#f3f3f5; --nl-muted:#b9bac6; --nl-line:#3b3d48;
  --nl-plum:#e3a5d1; --nl-gold:#e4b552;
  --nl-green:#70e7ad; --nl-cyan:#7ed9ef; --nl-pink:#f49bc8; --nl-yellow:#ead779;
  --nl-grid:#3b3d48; --nl-shadow:0 6px 24px #0002;
  color-scheme:dark;
}
html,body { background:var(--nl-bg); color:var(--nl-ink); }
.site-header-shell {
  --navigation-paper:var(--nl-bg); --navigation-ink:var(--nl-ink);
  --navigation-plum:var(--nl-plum); --navigation-muted:var(--nl-muted);
  --navigation-gold:var(--nl-gold); background:var(--nl-bg);
}
.site-header-shell .brand strong { color:var(--nl-ink); }
.site-header-shell .brand .brand-amp { color:var(--nl-gold); }
.site-header-shell.is-compact { border-color:var(--nl-line); box-shadow:var(--nl-shadow); }
.site-header-shell .site-header.wrap { gap:20px; }
.site-header-shell .header-actions { display:flex; align-items:center; gap:6px; order:2; flex:0 0 auto; }
.site-header-shell #main-nav { order:1; margin-left:auto; }
.theme-toggle {
  appearance:none; display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px;
  width:44px; min-width:44px; height:44px; min-height:44px; padding:10px; margin:0;
  border:1px solid transparent; border-radius:5px; background:transparent;
  color:var(--nl-muted); cursor:pointer; touch-action:manipulation; line-height:1;
}
.theme-toggle:hover { background:var(--nl-hover); color:var(--nl-ink); border-color:var(--nl-line); }
.theme-toggle:focus-visible { outline:3px solid var(--nl-gold); outline-offset:3px; }
.theme-toggle svg { display:block; width:20px; height:20px; flex:none; }
.theme-toggle .theme-sun { display:none; }
[data-theme="dark"] .theme-toggle .theme-moon { display:none; }
[data-theme="dark"] .theme-toggle .theme-sun { display:block; }
.breadcrumbs.wrap,.skip-link { background:var(--nl-bg); color:var(--nl-muted); }
.breadcrumbs a,.breadcrumbs [aria-current="page"] { color:var(--nl-ink); }
.breadcrumbs a { color:var(--nl-plum); }
.site-header-shell .menu-toggle { border-color:var(--nl-line); }
.site-header-shell .menu-toggle:hover,.site-header-shell #main-nav a.nav-home:hover,
.site-header-shell #main-nav a.nav-home[aria-current="page"] { background:var(--nl-hover); }
.site-header-shell #main-nav { border-color:var(--nl-line); }
.timeline-sheet,.resource-row,.editorial-note,.product-hero figure,.context-examples,
.resource-card:first-child,.research-featured-label { background:var(--nl-surface); border-color:var(--nl-line); }
.timeline-sheet :is(.sheet-label,time),.research-featured-label { color:var(--nl-gold); }
.timeline-sheet .sheet-label { border-color:var(--nl-line); }
.button:hover { background:var(--nl-ink); border-color:var(--nl-ink); color:var(--nl-bg); }
.button.outline { border-color:var(--nl-line); }
.button.outline:hover { background:var(--nl-hover); color:var(--nl-ink); }
.text-link:hover { color:var(--nl-ink); }
.research-sort a,.research-pagination a { border-color:var(--nl-line); }
.research-sort a[aria-current],.research-pagination a[aria-current] { background:var(--nl-plum); border-color:var(--nl-plum); color:var(--nl-bg); }
.reading-page { --reader-line:var(--nl-line); }
.reading-page :is(.reader-introduction-note,.reader-callout,.reader-original,.reader-diagram,.reader-table thead) { background:var(--nl-surface); }
.reading-page .reader-original .reader-label { color:var(--nl-gold); }
.reading-page .reader-contents a:hover,.reading-page .reader-contents a[aria-current="location"],
.reading-page .reader-buttons button:hover { background:var(--nl-hover); }
.reading-page .reader-contents a span { opacity:1; }
.site-footer { color:#fff; }
.site-footer .brand strong { color:#fff; -webkit-text-fill-color:#fff; }
[data-theme="dark"] .site-footer { background:#101114; }
[data-theme="dark"] .reader-diagram svg :is(text,tspan) { fill:var(--nl-ink); }
[data-theme="dark"] .reader-diagram svg rect { fill:var(--nl-surface); stroke:var(--nl-line); }

/* Both standalone timelines use the same legible surfaces and accent tokens. */
.agentic-native-timeline {
  --primary:var(--nl-bg); --secondary:var(--nl-surface); --text:var(--nl-ink); --text-dim:var(--nl-muted);
  --accent-1:var(--nl-green); --accent-2:var(--nl-pink); --accent-3:var(--nl-cyan); --accent-4:var(--nl-yellow);
}
.agentic-native-timeline [data-category="interop"] { --nt-category:var(--nl-cyan); }
.agentic-native-timeline [data-category="execution"] { --nt-category:var(--nl-green); }
.agentic-native-timeline [data-category="commerce"] { --nt-category:var(--nl-yellow); }
.agentic-native-timeline [data-category="governance"] { --nt-category:var(--nl-pink); }
.agentic-native-timeline .nt-review-bar { align-items:center; padding-block:8px; border-color:var(--nl-line); color:var(--nl-muted); }
.agentic-native-timeline .nt-review-bar .theme-toggle { margin-left:auto; }
.native-timeline-page .recovery-timeline-status .theme-toggle { flex:0 0 44px; }
:is(.native-timeline-page,.agentic-native-timeline) :is(.hero-subtitle,.event-date,.event-description,
.nt-proof-id,.nt-proof-block p,.nt-evidence-meta dt,.nt-source-host,.nt-table-kind,.nt-field>span,
.nt-panel-note,.nt-historical-link,.nt-share-fallback,.recovery-status-label,.recovery-notice,.recovery-table-status) {
  color:var(--nl-muted)!important;
}
:is(.native-timeline-page,.agentic-native-timeline) :is(.event-card,.grid-item) {
  background:var(--nl-surface)!important; border:1px solid var(--nl-line)!important; box-shadow:var(--nl-shadow)!important;
  transition-property:transform,box-shadow;
}
:is(.native-timeline-page,.agentic-native-timeline) :is(.event-title,.grid-item .event-title) {
  background:none!important; color:var(--nl-ink)!important; -webkit-text-fill-color:currentColor!important;
}
:is(.native-timeline-page,.agentic-native-timeline) .event-company {
  background:var(--nl-hover)!important; color:var(--nl-ink)!important; border-color:var(--nl-line)!important;
}
:is(.native-timeline-page,.agentic-native-timeline) .event-link { color:var(--nl-green)!important; }
:is(.native-timeline-page,.agentic-native-timeline) .event-node { background:var(--nl-bg)!important; }
:is(.native-timeline-page,.agentic-native-timeline) :is(.view-option,.nt-button,.nav-download,.recovery-snapshot-download,
.download-btn,.nt-availability-badge) {
  background:var(--nl-surface); border-color:var(--nl-line); color:var(--nl-green);
}
:is(.native-timeline-page,.agentic-native-timeline) .view-option:hover,
:is(.native-timeline-page,.agentic-native-timeline) .nt-button:hover { background:var(--nl-hover); }
:is(.native-timeline-page,.agentic-native-timeline) .view-option.active {
  background:var(--nl-green); color:var(--nl-bg); border-color:var(--nl-green);
}
:is(.native-timeline-page,.agentic-native-timeline) :is(.view-option,.menu-item,.nt-button,.filter-close) { transition-property:transform,box-shadow; }
:is(.native-timeline-page,.agentic-native-timeline) :is(.nt-controls,.insights-table-container,.impact-chart,.table-controls,
.filter-panel,.menu-item,.menu-tooltip,.search-box input,.filter-buttons select,.nt-order select,.nt-field select,.nt-share-fallback input) {
  background:var(--nl-surface); border-color:var(--nl-line); color:var(--nl-ink);
}
:is(.native-timeline-page,.agentic-native-timeline) :is(input,select) { color-scheme:inherit; }
:is(.native-timeline-page,.agentic-native-timeline) input::placeholder { color:var(--nl-muted); opacity:1; }
:is(.native-timeline-page,.agentic-native-timeline) :is(.nt-proof,.nt-review-bar,.insights-table td,.insights-table th) { border-color:var(--nl-line); }
:is(.native-timeline-page,.agentic-native-timeline) :is(.nt-proof summary,.nt-evidence-meta dd,.filter-label,.filter-title) { color:var(--nl-ink); }
:is(.native-timeline-page,.agentic-native-timeline) .insights-table th { background:var(--nl-hover); color:var(--nl-green); }
:is(.native-timeline-page,.agentic-native-timeline) .insights-table td:first-child { color:var(--nl-cyan); }
:is(.native-timeline-page,.agentic-native-timeline) .insights-table td:nth-child(3) { color:var(--nl-pink); }
:is(.native-timeline-page,.agentic-native-timeline) .insights-table td:last-child>a { background:var(--nl-surface); color:var(--nl-green); }
:is(.native-timeline-page,.agentic-native-timeline) .insights-table tr:hover { background:var(--nl-hover); }
:is(.native-timeline-page,.agentic-native-timeline) .timeline-progress { background:var(--nl-line); }
:is(.native-timeline-page,.agentic-native-timeline) .filter-checkbox { border-color:var(--nl-muted); }
:is(.native-timeline-page,.agentic-native-timeline) .filter-checkbox.checked { background:var(--nl-green); border-color:var(--nl-green); }
:is(.native-timeline-page,.agentic-native-timeline) .filter-checkbox.checked:after { border-color:var(--nl-bg); }
:is(.native-timeline-page,.agentic-native-timeline) .filter-close { background:var(--nl-hover); color:var(--nl-ink); }
.native-timeline-page :is(.filter-section-title,.filter-header) { border-color:var(--nl-line); }
.native-timeline-page .event-type { background:var(--nl-hover); border-color:var(--nl-line); color:var(--nl-ink); }
.native-timeline-page .event-type:is(.announcement,.expansion,.major-release,.ui-change,.upgrade,.algorithm,.community,.research,.terminology,.reporting) {
  background:var(--nl-hover); border-color:var(--nl-line); color:var(--nl-ink);
}
:is(.native-timeline-page,.agentic-native-timeline) :is(a,button,input,select,summary,[tabindex]):focus-visible { outline-color:var(--nl-gold); }
.native-timeline-page .skip-link { background:var(--nl-bg); color:var(--nl-ink); border-color:var(--nl-green); }
.native-timeline-page :is(.hero-subtitle,.sort-arrow) { opacity:1; }
html:not([data-theme="dark"]) :is(.nt-noise,.noise,#particleCanvas) { display:none; }
html:not([data-theme="dark"]) :is(.hero-title:before,.hero-title:after) { opacity:.06; }

@media(max-width:1000px) and (min-width:801px) {
  .site-header-shell .site-header.wrap { gap:10px; }
  .site-header-shell #main-nav { gap:10px; }
  .site-header-shell #main-nav a { font-size:12px; }
}
@media(max-width:800px) {
  .site-header-shell .header-actions { order:1; margin-left:auto; }
  .site-header-shell #main-nav { order:2; margin-left:0; }
  .site-header-shell .site-header.wrap { gap:8px; }
}
@media(max-width:360px) {
  .site-header-shell .brand-lockup { gap:8px; }
  .site-header-shell .brand strong { font-size:20px; }
  .site-header-shell .brand img { width:32px; height:32px; flex-basis:32px; }
  .site-header-shell .brand small { padding-left:40px; font-size:11px; }
  .site-header-shell .header-actions { gap:2px; }
  .site-header-shell .menu-toggle { min-width:58px; padding-inline:5px; }
}
@media(max-width:768px) {
  :is(.native-timeline-page,.agentic-native-timeline) .floating-menu { background:var(--nl-bg); border-color:var(--nl-line); }
  :is(.native-timeline-page,.agentic-native-timeline) .floating-menu .menu-tooltip { background:none; }
}
@media print {
  :root,:root[data-theme="dark"] {
    --nl-bg:#fff; --nl-surface:#fff; --nl-hover:#f3f4f6; --nl-ink:#121225; --nl-muted:#5f6174;
    --nl-line:#d8d9df; --nl-plum:#581846; --nl-gold:#93620b;
    --nl-green:#006f46; --nl-cyan:#006d83; --nl-pink:#a71966; --nl-yellow:#806000;
    color-scheme:light;
  }
  .theme-toggle,.nt-noise,.noise,#particleCanvas { display:none!important; }
  [data-theme="dark"] .site-footer { background:#fff; color:#121225; }
}
