/* New section only. No selector changes any accepted component above PWA. */
#pwa { padding:128px 0 96px; background:var(--canvas); color:var(--ink); }
#pwa .pwa-heading-row { display:grid; grid-template-columns:minmax(0,1fr) 344px; align-items:end; gap:56px; margin-bottom:40px; }
#pwa .pwa-label { margin:0 0 24px; font-size:11px; line-height:1.4; letter-spacing:.06em; font-weight:500; font-variation-settings:"SHRP" 90,"CRSV" 0,"slnt" 0; }
#pwa h2 { margin:0; font-family:Geologica,Arial,sans-serif; font-size:52px; line-height:1.04; letter-spacing:-1.6px; font-weight:450; font-variation-settings:"SHRP" 80,"CRSV" 0,"slnt" 0; }
#pwa .pwa-support { font-size:18px; line-height:1.5; color:var(--muted); }
#pwa .pwa-support p+p { margin-top:16px; }
#pwa .pwa-field-top { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
#pwa .pwa-field-top>p { font-size:13px; line-height:1.45; color:var(--muted); }
#pwa .pwa-tabs { display:flex; gap:28px; border-bottom:1px solid var(--hairline); }
#pwa .pwa-tabs button { min-height:44px; padding:10px 0 12px; background:none; color:var(--muted); font-family:inherit; font-size:15px; line-height:1.4; font-weight:500; font-variation-settings:"SHRP" 55,"CRSV" 0,"slnt" 0; border-bottom:2px solid transparent; margin-bottom:-1px; }
#pwa .pwa-tabs button[aria-selected=true] { color:var(--accent); border-bottom-color:var(--accent); }
#pwa .pwa-tabs button:hover { color:var(--ink); }
#pwa .pwa-product { border:1px solid var(--construction); border-radius:12px; overflow:hidden; background:var(--paper); }
#pwa .pwa-window-chrome { height:62px; background:var(--paper); border-bottom:1px solid var(--hairline); }
#pwa .pwa-browser-chrome,#pwa .pwa-app-chrome { height:100%; display:flex; align-items:center; gap:20px; padding:0 24px; }
#pwa .pwa-app-chrome[hidden],#pwa .pwa-browser-chrome[hidden] { display:none; }
#pwa .pwa-back { font-size:20px; color:var(--muted); }
#pwa .pwa-address { display:flex; align-items:center; gap:10px; flex:1; height:34px; padding:0 14px; background:var(--canvas); border:1px solid var(--hairline); border-radius:6px; color:var(--muted); font-size:13px; line-height:1.45; }
#pwa .pwa-address svg { flex:none; fill:none; stroke:currentColor; stroke-width:1; }
#pwa .pwa-install { display:flex; align-items:center; justify-content:center; gap:16px; padding:0 16px; min-height:36px; border:1px solid var(--hairline); border-radius:6px; background:var(--paper); color:var(--ink); font-family:inherit; font-size:13px; line-height:1.45; font-weight:500; font-variation-settings:"SHRP" 55,"CRSV" 0,"slnt" 0; }
#pwa .pwa-install>span { color:var(--accent); }
#pwa .pwa-install:hover { border-color:var(--construction); background:var(--accent-soft); }
#pwa .pwa-app-name { display:flex; align-items:center; gap:12px; min-width:180px; font-size:14px; line-height:1.45; font-weight:500; font-variation-settings:"SHRP" 90,"CRSV" 0,"slnt" 0; }
#pwa .pwa-app-name img { object-fit:contain; flex:none; }
#pwa .pwa-standalone-label { margin-left:auto; font-size:13px; line-height:1.45; color:var(--muted); }
#pwa .pwa-window-controls { display:flex; gap:24px; margin-left:16px; color:var(--muted); font:16px/1 system-ui,sans-serif; }
/* The old logo is contained in the capture's 57px app-header. Show the same
   actual native camera page below it in both outer-window states. No image
   file, native palette, pixel content or product type is changed. */
#pwa .pwa-native-field { overflow:hidden; aspect-ratio:1360 / 631; background:var(--product-dark); }
#pwa .pwa-native-capture { display:block; width:100%; height:auto; max-width:none; margin-top:calc(-100% * 57 / 1360); }
#pwa .pwa-scene-note { font-size:11px; line-height:1.5; color:var(--muted); margin-top:16px; }
#pwa .pwa-desktop-roadmap { display:grid; grid-template-columns:192px minmax(0,1fr) auto; align-items:start; gap:28px; padding:28px 0 0; margin-top:44px; border-top:1px solid var(--hairline); }
#pwa .pwa-desktop-roadmap .pwa-label { margin:4px 0 0; color:var(--muted); }
#pwa .pwa-desktop-roadmap h3 { font-family:inherit; font-size:18px; line-height:1.45; font-weight:400; font-variation-settings:"SHRP" 20,"CRSV" 0,"slnt" 0; }
#pwa .pwa-desktop-roadmap>div>p { margin-top:8px; font-size:14px; line-height:1.5; color:var(--muted); }
#pwa .pwa-roadmap-status { display:inline-flex; padding:5px 10px; border:1px solid var(--construction); border-radius:6px; font-size:12px; line-height:1.45; color:var(--muted); white-space:nowrap; }
#pwa :is(button,[role=tabpanel]):focus-visible,#pwa-install-dialog button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }

#pwa-install-dialog { width:calc(100% - 64px); max-width:620px; padding:0; border:1px solid var(--construction); border-radius:12px; background:var(--paper); color:var(--ink); font-family:Geologica,Arial,sans-serif; font-synthesis:none; }
#pwa-install-dialog::backdrop { background:rgb(17 19 24 / 65%); }
#pwa-install-dialog .pwa-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border-bottom:1px solid var(--hairline); }
#pwa-install-dialog h2 { font-family:inherit; font-size:22px; line-height:1.3; font-weight:450; font-variation-settings:"SHRP" 80,"CRSV" 0,"slnt" 0; }
#pwa-install-dialog .pwa-dialog-close { display:flex; align-items:center; gap:12px; padding:8px 0 8px 8px; background:none; font-family:inherit; color:var(--muted); font-size:13px; }
#pwa-install-dialog .pwa-dialog-close span { font-size:22px; }
#pwa-install-dialog .pwa-dialog-body { padding:24px; font-size:16px; line-height:1.55; font-weight:400; font-variation-settings:"SHRP" 20,"CRSV" 0,"slnt" 0; }
#pwa-install-dialog ol { padding-left:24px; margin:24px 0; }
#pwa-install-dialog li+li { margin-top:16px; }
#pwa-install-dialog .pwa-install-limits { color:var(--muted); font-size:14px; line-height:1.5; }
#pwa-install-dialog .pwa-dialog-done { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:0 20px; margin-top:24px; border-radius:6px; background:var(--primary-cta); color:var(--paper); font-family:inherit; font-size:14px; font-weight:500; font-variation-settings:"SHRP" 55,"CRSV" 0,"slnt" 0; }
#pwa-install-dialog .pwa-dialog-done:hover { background:var(--primary-cta-hover); }
@media (min-width:1280px) and (max-width:1350px) {
  #pwa .pwa-heading-row { grid-template-columns:minmax(0,1fr) 330px; gap:40px; }
  #pwa h2 { font-size:48px; }
}
@media (max-width:1279px) {
  #pwa { padding-top:96px; }
  #pwa .pwa-heading-row { grid-template-columns:minmax(0,1fr); align-items:start; gap:24px; margin-bottom:32px; }
  #pwa h2 { font-size:48px; }
  #pwa .pwa-support { max-width:650px; }
  #pwa .pwa-window-chrome { height:58px; }
  #pwa .pwa-browser-chrome,#pwa .pwa-app-chrome { padding:0 20px; gap:16px; }
  #pwa .pwa-desktop-roadmap { grid-template-columns:148px minmax(0,1fr); gap:24px; margin-top:36px; }
  #pwa .pwa-roadmap-status { grid-column:2; justify-self:start; margin-top:-8px; }
}
@media (max-width:899px) {
  #pwa h2 { font-size:44px; }
  #pwa .pwa-field-top { flex-wrap:wrap; gap:12px; }
  #pwa .pwa-browser-chrome { padding:0 16px; gap:12px; }
  #pwa .pwa-install { padding:0 12px; gap:8px; font-size:12px; }
  #pwa .pwa-back { display:none; }
  #pwa .pwa-desktop-roadmap { grid-template-columns:128px minmax(0,1fr); gap:20px; }
}
/* Only overflow safety below the scoped compact proof, not a mobile design. */
@media (max-width:767px) {
  #pwa h2 { font-size:clamp(28px,5.7vw,44px); }
  #pwa .pwa-desktop-roadmap { grid-template-columns:minmax(0,1fr); }
  #pwa .pwa-roadmap-status { grid-column:1; margin-top:0; }
  #pwa .pwa-window-controls { display:none; }
  #pwa .pwa-address { padding:0 8px; font-size:11px; }
}
