/* A single native-resolution document, with the existing canvas identity. */
.viewport { overflow-x:hidden; overflow-y:auto; cursor:auto; touch-action:pan-y; background:radial-gradient(circle at 1.25px 1.25px,rgba(148,163,184,.35) 1.25px,transparent 1.5px) 0 0/30px 30px,linear-gradient(180deg,var(--slate-50),var(--navy-100)); }
.world { position:relative; top:auto; left:auto; width:100%; height:auto; transform:none; padding:36px 0 12px; }
.page-surface.plane-card { position:relative; width:var(--page-width); margin:0 auto; padding:0; transform:none; overflow:visible; user-select:text; background:#f7faff; }
/* August's Home card contained both the opening and the feature stories. */
.home-introduction { display:flow-root; border-radius:inherit; background:radial-gradient(circle at 50% 20%,rgba(86,168,242,.16),transparent 32%),linear-gradient(180deg,#fff 0%,#f7faff 100%); }
:is(.page-surface,.home-introduction,.page-details) > .section { position:relative; width:100%; border:0; display:flow-root; padding:68px 60px 54px; font-size:var(--page-body-size); line-height:1.6; }
.home-introduction > .home-card { padding:72px 60px 36px; text-align:center; border-radius:inherit; background:transparent; }
.home-introduction > .introduction { padding-top:0; padding-bottom:0; }
.introduction .landing-story { order:initial; }

.page-details > .section { padding-top:48px; padding-bottom:48px; }
.section-content { max-width:1180px; margin-inline:auto; }

/* A shared painting layer lets adjacent section glows overlap behind content. */
.page-details { --glow-overlap:clamp(120px,14vw,220px); position:relative; display:flow-root; isolation:isolate; }
.page-details > .section { --glow-x:38%; }
.page-details > .section:nth-child(even) { --glow-x:62%; }
.page-details > .section::before {
  content:"";
  position:absolute;
  inset:calc(-1 * var(--glow-overlap)) 0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse 72% 50% at var(--glow-x) 50%,rgba(86,168,242,.14),rgba(86,168,242,.08) 40%,rgba(86,168,242,0) 100%);
}
.page-details > .section:first-child::before { top:0; }
.page-details > .section:last-child::before { bottom:0; }

.downstream h2 { font-size:var(--page-heading-size); line-height:1.15; margin:0 0 24px; color:var(--ink); }
.downstream > p, .section-content > p, .section-heading > p { max-width:1000px; }
#world :is(.icon-action,.product-choice), .site-nav .icon-action { position:relative; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; padding:10px; border:0; border-radius:12px; background:transparent; box-shadow:none; color:#24364d; text-decoration:none; cursor:pointer; font-size:var(--page-body-size); }
#world :is(.icon-action,.product-choice):hover, .site-nav .icon-action:hover { text-decoration:none; background:rgba(28,92,168,.07); filter:none; }
#world .product-choice { width:64px; height:64px; padding:8px; }
.product-choice .product-icon { display:block; width:var(--product-glyph-size,44px); height:var(--product-glyph-size,44px); }
/* The extension artwork has a 60-unit viewBox; the other tiles have 70. */
.product-choice [data-prog=extension] .product-icon { width:calc(var(--product-glyph-size,44px) * 6 / 7); height:calc(var(--product-glyph-size,44px) * 6 / 7); }
#world .product-choice[aria-pressed=true] { background:rgba(28,92,168,.10); text-decoration:none; }
.icon-action > .inj-ico { width:23px; height:23px; display:block; margin:0; }
.icon-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.icon-action:focus-visible,.product-choice:focus-visible { outline:2px solid var(--navy-700); outline-offset:3px; }
.site-nav .icon-action { width:42px; height:36px; border-radius:999px; padding:8px; }
.site-nav .icon-action .inj-ico { width:20px; height:20px; }
.icon-action[title]::after,.product-choice[title]::after { content:attr(title); position:absolute; z-index:110; pointer-events:none; top:calc(100% + 6px); left:50%; transform:translateX(-50%); width:max-content; max-width:210px; padding:6px 9px; border-radius:7px; background:#24364d; color:white; font-size:12px; line-height:1.4; text-align:center; opacity:0; visibility:hidden; }
.icon-action[title]:is(:hover,:focus-visible)::after,.product-choice[title]:is(:hover,:focus-visible)::after { opacity:1; visibility:visible; }
.install-products,.history-products,.demo-products { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:20px 0; }
.demo-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.demo-toolbar .demo-products { margin:0; }
#walkthroughStatus { flex:1; min-width:160px; }
#world #resetDemo { font-size:var(--page-body-size); color:#24364d; }
#world .terminal-guide .command-copy { padding:10px; text-decoration:none; }
#installationViewport,#historyGrid { overscroll-behavior:auto; touch-action:pan-y; }

/* Open, content-sized sections follow the Home and Introduction composition. */
:is(#prevent-removal,#history) .section-content > .section-heading { max-width:1180px; margin:0 auto 24px; text-align:left; }
.compact-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; }
.compact-heading h2 { margin:0; }
:is(#prevent-removal,#history) .compact-heading :is(.install-products,.history-products) { margin:0; gap:4px; }
#world :is(#prevent-removal,#history) .product-choice { --product-glyph-size:38px; width:52px; height:52px; padding:7px; }
#prevent-removal .section-heading > p { margin:12px 0 0; max-width:960px; font-size:15px; }
#prevent-removal .installation-guide { max-width:1180px; margin:0 auto; }
/* Compact dark readers keep product changes and disclosures inside their bounds. */
:is(#installationViewport,#historyGrid) { --ink:#f8fafc; --muted:#bdccde; --navy:#a8cef4; height:340px; padding:18px 22px; background:#16263b; color:var(--muted); border-radius:16px; overflow-x:hidden; overflow-y:auto; scrollbar-gutter:stable; scrollbar-color:#526880 #16263b; }
:is(#installationViewport,#historyGrid) :is(h3,h4,h5,h6) { color:var(--ink); }
:is(#installationViewport,#historyGrid) a { color:#a8cef4; }
#world :is(#installationViewport,#historyGrid) .icon-action { color:#bdccde; }
#world :is(#installationViewport,#historyGrid) .icon-action:hover { background:rgba(168,206,244,.12); color:#fff; }
#world :is(#installationViewport,#historyGrid) .icon-action:focus-visible { outline-color:#a8cef4; }
#world :is(#installationViewport,#historyGrid) .icon-action[title]::after { background:#e2e8f0; color:#16263b; }
#installPrompt { margin:0; padding:4px 0; }
#installationViewport .install-panel { max-width:none; min-width:0; }
#installationViewport .install-panel > h3 { margin:0 0 16px; font-size:18px; }
#installationViewport .terminal-guide { max-width:none; margin:0; }
#installationViewport .terminal-guide > h4 { display:none; }
#installationViewport .terminal-platform { margin:20px 0; }
#installationViewport :is(h5,h6) { margin:20px 0 8px; padding:0; font-size:15px; }
#installationViewport p { font-size:15px; line-height:1.65; margin:8px 0 14px; }
#installationViewport a:not(.icon-action) { text-decoration:underline; text-underline-offset:3px; }
#installationViewport .command-block { position:relative; margin:12px 0 16px; }
#installationViewport .command-tools { position:absolute; top:4px; right:4px; }
#installationViewport .command-block pre { margin:0; padding:16px 56px 16px 18px; border-radius:10px; background:#0f1827; color:#e4edf8; font-size:12px; line-height:1.7; }
#installationViewport .command-feedback { display:block; margin-top:6px; font-size:13px; }
#installationViewport .command-feedback:empty { display:none; }
@media(max-width:720px) {
  #world :is(#prevent-removal,#history) .product-choice { --product-glyph-size:34px; width:44px; height:44px; padding:5px; }
  .compact-heading { gap:8px; }
  :is(#installationViewport,#historyGrid) { height:380px; padding:16px; }
  #installationViewport .command-block pre { padding:16px 48px 16px 12px; }
}
.live-app > iframe { width:100%; display:block; }
.live-app > iframe[hidden] { display:none; }
.manual-downloads { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:start; gap:20px; margin-top:20px; }
.manual-downloads article { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; column-gap:10px; }
.manual-downloads h3 { font-size:15px; margin:0; }
.manual-downloads .icon-actions { grid-column:2; flex-wrap:nowrap; }
.manual-product { display:flex; align-items:center; height:32px; }
.manual-product .product-icon { width:32px; height:32px; }
.manual-product[data-prog=extension] .product-icon { width:28px; height:28px; }
.manual-downloads .policy-download h3 { grid-column:1/-1; display:flex; align-items:center; min-height:32px; }
.manual-downloads .policy-download .icon-actions { grid-column:1/-1; }
@media(max-width:1200px) { .manual-downloads { grid-template-columns:repeat(3,minmax(0,1fr)); } }
#world .manual-downloads .icon-action { width:32px; height:32px; padding:7px; }
.manual-downloads .icon-actions { gap:2px; }
#contact-authors { padding-bottom:16px; }
#contactFeedback { margin:8px 0 0; }
#contactFeedback:empty { margin:0; }
.release-actions { align-items:center; }
.release-actions .icon-action { min-width:44px; }
@media(max-width:720px) {
  .site-nav { overflow:visible; justify-content:center; }
  .site-chrome { grid-template-columns:1fr; }
  :is(.page-surface,.home-introduction,.page-details) > .section { padding:42px 22px 32px; }
  .home-introduction > .home-card { padding:46px 22px 30px; }
  .home-introduction > .introduction { padding-top:0; padding-bottom:0; }
  .page-details > .section { padding-top:32px; padding-bottom:32px; }
  .manual-downloads { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .manual-downloads article { grid-template-columns:minmax(0,1fr); gap:8px; }
  .manual-downloads .icon-actions { grid-column:1/-1; }
  .manual-downloads h3 { font-size:16px; }
  .site-nav .icon-action:first-child::after { left:0; transform:none; }
  .site-nav .icon-action:last-of-type::after { left:auto; right:0; transform:none; }
}
/* Inactive tooltips must not contribute to document scroll bounds. */
.icon-action[title]::after,.product-choice[title]::after { display:none; }
.icon-action[title]:is(:hover,:focus-visible)::after,.product-choice[title]:is(:hover,:focus-visible)::after { display:block; }
@media(max-width:720px) {
  .icon-action[title]::after,.product-choice[title]::after,
  .site-nav .icon-action:first-child::after,.site-nav .icon-action:last-of-type::after { position:fixed; top:auto; bottom:20px; left:50%; right:auto; transform:translateX(-50%); max-width:calc(100vw - 40px); }
}
@media(max-width:720px) {
  .demo-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 44px 44px; gap:12px; }
  .demo-toolbar .demo-products { grid-column:1; grid-row:1; gap:4px; flex-wrap:nowrap; }
  #startWalkthrough { grid-column:2; grid-row:1; }
  #resetDemo { grid-column:3; grid-row:1; }
  #walkthroughStatus { grid-column:1/-1; grid-row:2; min-width:0; height:24px; overflow:auto; }
}

@media(min-width:721px) {
  #world :is(.command-tools,.release-actions) .icon-action[title]::after { left:auto; right:0; transform:none; }
}

/* All releases remain in the compact scrollable archive. */
#historyGrid { max-width:1180px; margin:0 auto; }
#historyGrid .history-product-header { display:inline-flex; align-items:center; gap:10px; margin:0 18px 12px 0; color:var(--ink); vertical-align:middle; }
#historyGrid .history-product-header h3 { margin:0; font-size:16px; }
#historyGrid .history-product-header .product-icon { display:block; width:26px; height:26px; }
#historyGrid .history-product-header .icon-action { width:32px; height:32px; padding:7px; }
#historyGrid .history-release { display:grid; grid-template-columns:174px minmax(0,1fr) auto; align-items:center; min-height:62px; margin:0 0 8px; padding:10px 12px; border:0; border-radius:10px; gap:4px 20px; background:#203247; }
#historyGrid .history-release.is-latest { background:#263e5c; }
#historyGrid .history-release.is-latest .release-title .badge { color:#c7d2fe; }
#historyGrid .release-heading { grid-column:1; min-width:0; }
#historyGrid .release-title { color:var(--ink); gap:4px 8px; }
#historyGrid .release-title strong { font-size:16px; }
#historyGrid .release-date { flex-basis:100%; color:var(--muted); font-size:12px; font-weight:400; }
#historyGrid .badge { font-size:12px; color:var(--muted); }
#historyGrid .badge.is-alpha { color:#f5b5b5; }
#historyGrid .badge.is-beta { color:#e8d49a; }
#historyGrid .badge.is-release { color:#a7dbbb; }
#historyGrid .release-meta { display:flex; flex-wrap:wrap; gap:4px 12px; margin:4px 0 0; font-size:12px; }
#historyGrid .release-actions { grid-column:3; grid-row:1; flex-wrap:nowrap; gap:0; max-width:none; align-self:center; }
#historyGrid .release-actions .icon-action { width:36px; height:36px; padding:9px; }
#historyGrid .release-actions .inj-ico { width:18px; height:18px; }
#historyGrid .release-notes { grid-column:2; grid-row:1; min-width:0; }
#historyGrid .release-preview { margin:0; font-size:15px; line-height:1.5; }
#historyGrid .history-release:has(.release-full:not([hidden])) .release-notes { grid-column:1/-1; grid-row:2; padding:0 0 8px; }
#historyGrid .release-full ul { margin:6px 0; padding-left:20px; }
#historyGrid .release-full li { font-size:14px; }
#historyGrid .release-copy-fallback { width:100%; height:120px; padding:12px; background:#0f1827; color:#e4edf8; font:13px/1.6 ui-monospace,monospace; }
#historyGrid .release-copy-fallback[hidden] { display:none; }
.release-copy-feedback { font-size:13px; margin-top:4px; }
.release-copy-feedback:empty { display:none; }
@media(max-width:900px) {
  #historyGrid .history-release { grid-template-columns:minmax(0,1fr) auto; min-height:0; padding:10px; gap:4px 8px; }
  #historyGrid .release-actions { grid-column:2; }
  #historyGrid .release-actions .icon-action { width:30px; height:44px; padding:7px; }
  #historyGrid .release-notes { grid-column:1/-1; grid-row:2; }
}

/* A bounded processor choice preserves the four borderless download tiles. */
#world .home-download-section button.dl-app-main { border:0; border-radius:0; padding:0; background:transparent; box-shadow:none; cursor:pointer; font:inherit; font-weight:400; }
.dl-chip-menu { position:absolute; z-index:20; top:100%; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); display:flex; gap:4px; padding:8px; border-radius:12px; background:#f8fbff; box-shadow:0 12px 32px rgba(22,38,59,.15); }
.dl-chip-menu.dl-chip-menu-above { top:auto; bottom:calc(100% + 8px); }
.dl-chip-menu[hidden] { display:none; }
.dl-chip-menu a { padding:10px 12px; color:#24364d; font-size:14px; white-space:nowrap; border-radius:8px; text-decoration:none; }
.dl-chip-menu a:hover { background:#eaf3ff; }
.dl-chip-menu a:focus-visible { outline:2px solid #25459a; outline-offset:1px; }
@media(max-width:600px) { .dl-chip-menu { flex-direction:column; } }

#world .home-download-section button.dl-app-main:hover { text-decoration:none; }
.home-download-section .dl-app-actions { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:8px; }
