/* Shared responsive layer. Navigation remains visible if JavaScript is unavailable. */
.mobile-menu-toggle{display:none}
.topbar nav[hidden]{display:none!important}
:where(main,section,article,form,fieldset,figure,.field,.page-hero>div,.feedback-grid>*,.context-fields>*){min-width:0}
img{max-width:100%}
:where(.trust-main,.trust-footer) :where(p,a,li,h1,h2,h3){overflow-wrap:break-word}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #b6efda;outline-offset:4px}
@media(max-width:1024px){
  /* Match the specificity of trust.css: its fixed 76px header otherwise leaves
     the expanded navigation outside the header, overlapping the article. */
  .topbar,.trust-page .topbar,body:not(.trust-page) .topbar{height:auto;min-height:68px;padding:10px 20px;gap:8px 16px;flex-wrap:wrap;align-items:center;background:#0b1218;border-bottom:1px solid #30424c}
  .topbar .brand{margin-right:auto;min-height:44px}
  .topbar .brand strong{display:block!important}
  .topbar .brand-sub,.topbar .build-label,.topbar>.journey-download{display:none!important}
  .topbar .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:88px;min-height:44px;padding:9px 14px;border:1px solid #40525e;border-radius:8px;background:#15232c;color:#e3eee9;font:500 14px/1.4 var(--sans,system-ui)}
  .mobile-menu-toggle::after{content:'☰';font-size:18px}
  .mobile-menu-toggle[aria-expanded=true]::after{content:'×';font-size:22px}
  .topbar nav,body:not(.trust-page) .topbar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 100%;position:static;width:100%;height:auto;gap:8px;padding:12px 0 4px;justify-content:stretch;background:#0b1218;border-top:1px solid #30424c}
  .topbar nav a,body:not(.trust-page) .topbar nav a{display:flex!important;align-items:center;min-height:44px;height:auto;padding:10px 12px;font-size:14px;border:1px solid #2a3a45;border-radius:7px;white-space:normal}
  .topbar nav a.current,.topbar nav a[aria-current=page]{background:#1a3430;color:#b6ebd9;border-color:#50796a}
  .topbar nav a::after{display:none}
  .topbar.has-mobile-menu{position:relative;z-index:30}
  /* Home stays pinned; its menu grows in document flow, without covering content. */
  body:not(.trust-page) .topbar.has-mobile-menu{position:sticky;top:0}
}
@media(max-width:680px){
  .trust-main,body>main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .page-hero,.feedback-intro,.about-layout,.report-guide{grid-template-columns:minmax(0,1fr);gap:24px}
  .page-intro h1,.downloads-page .page-hero h1,.feedback-intro h1,.help-intro h1,.not-found h1{font-size:clamp(30px,8.6vw,40px);line-height:1.16;letter-spacing:-1px}
  .page-intro p,.hero-description{font-size:16px;line-height:1.7}
  .button,.download-card .button,.form-actions button{min-height:48px;font-size:14px;white-space:normal;text-align:center}
  button,select,summary{touch-action:manipulation}
  .field input,.field select,.field textarea,select,textarea,.help-search input{font-size:16px;max-width:100%;min-width:0}
  .field input,.field select,select{min-height:48px}
  fieldset{min-inline-size:0}
  .rating-options{flex-wrap:wrap;gap:8px}
  .rating-options label>span:not(.sr-only){width:44px;height:44px}
  .rating-options button{min-width:44px;min-height:44px}
  .download-filters{gap:10px}
  .download-filters>button{min-height:48px;padding:10px 12px;font-size:14px}
  .download-filters label{width:100%;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between}
  .download-filters select{flex:1;min-width:180px}
  .download-cards{grid-template-columns:minmax(0,1fr)}
  .download-card{padding:20px}
  .download-card .edition-image{width:calc(100% + 40px);margin:-20px -20px 8px}
  .download-card .checksum{display:inline-flex;align-items:center;min-height:44px}
  .photo-top,figcaption,.photo-top span{flex-wrap:wrap;gap:6px;font-size:12px}
  .support-band{align-items:stretch;gap:20px;padding:24px 20px}
  .support-band .button{width:100%}
  .about-nav,.terms-page .about-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none}
  .about-nav a,.terms-page .about-nav a{display:flex;align-items:center;min-height:44px;padding:9px 10px;font-size:14px;border:1px solid #30424c;border-radius:7px}
  .about-content section{scroll-margin-top:20px}
  .help-search input{flex:1;width:0}
  .help-search button,.image-dialog-close,.dialog-close,.close-dialog{min-width:44px;min-height:44px;flex-shrink:0}
  .help-filters button{min-height:44px}
  .visual-start>a{grid-template-columns:88px minmax(0,1fr)}
  .visual-start a>div{padding:14px}
  .feedback-form-panel{padding:20px}
  .bug-context{padding:16px 12px 0}
  .form-actions,.catalog-feedback{flex-wrap:wrap}
  .trust-footer{padding:26px 20px calc(24px + env(safe-area-inset-bottom));gap:16px;align-items:flex-start}
  .trust-footer>div{display:flex;flex-wrap:wrap;gap:4px 18px}
  .trust-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
  body>footer:not(.trust-footer){padding:24px 20px;gap:8px 18px;font-size:12px;align-items:flex-start}
  body>footer:not(.trust-footer) a,body>footer:not(.trust-footer) button{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-left:0}
  body>footer:not(.trust-footer) p{font-size:12px;line-height:1.7}
  dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:22px;overflow:auto;overscroll-behavior:contain}
  .image-dialog{padding:12px}
  .image-dialog img{max-height:calc(100dvh - 140px)}
  .intro{display:block!important}.intro h1{font-size:clamp(34px,9vw,44px)}
  .intro .description{font-size:16px}.intro .eyebrow{font-size:12px}
  .view-tabs{display:flex;flex-wrap:wrap;gap:6px}.view-tabs button{font-size:13px;min-height:44px}
  .release,.release-strip{flex-wrap:wrap;gap:12px}.release-strip{font-size:12px}
  .journey-stage{height:calc(100svh - var(--journey-header));min-height:560px}
  .journey-caption{top:22px;left:20px;right:20px}
  .journey-caption h2{font-size:clamp(26px,7.8vw,32px)}
  .journey-caption p:last-child{font-size:15px}
  .scroll-demo{top:var(--mobile-demo-top,210px);bottom:130px;left:12px;right:12px}
  .journey-hud{left:16px;right:16px;bottom:14px;gap:6px}
  .journey-chapters{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .journey-chapters button{min-height:44px;padding:8px 2px;font-size:11px;white-space:normal}
  .journey-chapters button span{display:none}
  .journey-skip{min-height:44px;display:flex;align-items:center;font-size:13px;padding:8px 0}
  .journey-progress{bottom:-14px}
  .demo-titlebar{padding:0 10px}.demo-brand{min-width:0}.demo-titlebar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
  .demo-tag{display:none}.demo-status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .journey.is-reduced .journey-stage{height:720px;min-height:0}
}
@media(max-width:900px) and (max-height:500px){
  body:not(.trust-page) .topbar.has-mobile-menu{position:relative}
  .journey.is-enhanced{height:470svh}
  .journey-stage{min-height:520px}
  .is-enhanced .journey-stage{top:0}
  .journey-caption{top:16px;left:20px;right:20px}
  .journey-caption h2{font-size:26px}
  .journey-note{display:none}
}
@media(min-width:480px) and (max-width:900px) and (max-height:500px) and (orientation:landscape){
  .journey-stage{height:100svh;min-height:0}
  .journey-caption{max-width:36%;right:auto;top:20px}
  .journey-caption h2{font-size:24px}
  .journey-caption p:last-child{font-size:14px}
  .scroll-demo{top:16px;bottom:80px;left:43%;right:16px}
  .journey-hud{bottom:10px;left:20px;right:20px;display:flex;flex-wrap:nowrap;gap:18px}
  .journey-chapters{display:flex;width:auto;flex:1;flex-basis:auto}
  .journey-chapters button{min-height:44px;font-size:12px;padding:8px 6px}
  .journey-chapters button span{display:none}
  .journey-skip{font-size:12px}
  .journey-progress{bottom:-10px}
  .demo-files,.demo-tag{display:none}
  .demo-titlebar strong{font-size:11px}
}

.journey-motion-toggle{min-height:44px;padding:8px 10px;background:#11262e;border:1px solid #4a6869;border-radius:7px;color:#bedacc;font:12px/1.4 system-ui;cursor:pointer}.journey-hud{flex-wrap:wrap;gap:8px 20px}.journey-motion-toggle:disabled{cursor:default;opacity:.8}@media(max-width:680px){.scroll-demo{bottom:178px}.journey-hud{gap:4px}.journey-skip{flex:1}.journey-motion-toggle{width:100%;min-height:40px}.journey.is-reduced .scroll-demo{bottom:138px}}@media(min-width:480px) and (max-width:900px) and (max-height:500px) and (orientation:landscape){.journey-motion-toggle{width:auto}.journey-hud{flex-wrap:wrap;gap:2px 14px}.journey-chapters{flex-basis:100%}.scroll-demo{bottom:112px}}
@media(max-width:680px){.demo-preview-footer,.demo-idea small{display:none}.demo-idea{padding:9px 10px;margin-bottom:8px;font-size:12px}.demo-preview-inner{padding:18px}.demo-board h3{font-size:25px;margin-bottom:16px}}

/* Shared accessibility and policy links, including at enlarged text sizes. */
:root{--muted:#aab8c7}body{font-size:16px}body .description{font-size:1rem;color:#b4c4d1}.legal-links{display:flex;flex-wrap:wrap;height:auto;gap:12px 22px;flex-basis:100%;padding-top:12px;border-top:1px solid #30424c}.legal-links a,body footer a,body .topbar nav a{font-size:14px;color:#bacbd8}.legal-links a:hover,body footer a:hover{color:#b6efda}.policy-list dt{font-weight:600;color:#e0e9ef;margin:20px 0 8px}.policy-list dd{margin:0;color:#b4c4d1;overflow-wrap:anywhere}.about-content a,.check-field a,.small-note a,.policy-page a:not(.brand):not(.button){text-decoration:underline;text-underline-offset:3px}.policy-page .topbar a{text-decoration:none!important}body .small-note,body .public-stage,body .compatibility,body .edition-note{font-size:13px;color:#adbfca}body .button{min-height:44px;font-size:14px;white-space:normal}body .field :is(input,select,textarea){font-size:16px}body .check-field{color:#bdcdd8}.check-field input{width:18px;height:18px;flex-shrink:0}.rating-options input:focus-visible+span{outline:3px solid #b6efda;outline-offset:4px}.skip{position:fixed;left:12px;top:-100px;z-index:10000;background:#c1eddf;color:#10221c;padding:12px 18px;border-radius:6px}.skip:focus{top:12px}main:focus{outline:none}#principal{scroll-margin-top:90px}.form-actions{flex-wrap:wrap}#delete-feedback-dialog{max-width:540px}#delete-feedback-dialog p{color:#b4c4d1}body .capabilities p,body .support-band p{font-size:15px;color:#b4c4d1}body .capabilities h2{font-size:17px}body .feature-icon{color:#b6efda}body .photo-top,body .photo-top span,body .window-meta,body .window-controls{color:#adbfca}@media(max-width:680px){.legal-links{gap:14px 20px}body .topbar{padding:12px 18px}.about-nav{position:static}body .hero-actions .button{white-space:normal;max-width:100%}body .compatibility{line-height:1.8}body .release-strip{flex-wrap:wrap}body .field-meta{display:block}body .field-meta>span{display:block}body footer{font-size:13px}body .hero-actions{gap:12px}}

body a.button.primary,body button.button.primary{color:#10221c}body .demo-line-number{color:#95aeba}body .footer-divider{color:#adbfca}
