/* Interaction refinements share the site's existing colour and type system. */
:root{scroll-padding-top:104px;scrollbar-gutter:stable}
.site-header{position:sticky;top:0;z-index:10;min-height:82px;background:var(--bg);transition:background .18s}
.site-header.is-scrolled{background:var(--surface)}
.site-header nav a{position:relative;display:flex;align-items:center;min-height:44px;color:var(--muted)}
.site-header nav a[aria-current="location"]{color:var(--accent);text-decoration-color:currentColor}
.header-download[aria-current="location"]{color:var(--accent)}
.menu-toggle{border:0;background:var(--panel);padding:10px 14px;min-height:44px;font-size:14px;align-items:center;gap:12px}
.menu-toggle span{font-size:20px;line-height:1;transition:transform .18s var(--ease)}
.menu-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.menu-toggle[hidden]{display:none!important}
.sources label:has(input:checked){background:var(--quiet)}
.sources label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.sources input:focus-visible{outline:none}
.preview-result{overflow-anchor:none}
.screenshot-link{display:block;position:relative;cursor:zoom-in;overflow:hidden}
.screenshot-link:focus-visible{outline-offset:-6px}
.screenshot-hint{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--panel);color:var(--ink);font-size:14px;line-height:1.4;transition:transform .2s var(--ease),background .2s}
.screenshot-link:hover .screenshot-hint{transform:translateY(-3px);background:var(--quiet)}
.screenshot-hint svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.image-well .screenshot-link{height:100%}
.product-tour{overflow:visible}
.tour-tabs{border-radius:10px 10px 0 0}
.tour-panel{overflow:hidden;border-radius:0 0 10px 10px}
.tour-panel img{transform:none!important}
.tour-panel p{min-height:88px;display:flex;align-items:center}
/* Keep question and answer together at every width. */
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}
.faq-intro p{margin-top:24px;color:var(--muted);font-size:18px}
.faq-intro>a{display:inline-flex;min-height:44px;align-items:center;margin-top:20px}
.faq-list{position:static;min-height:0;gap:10px;padding:0;background:transparent}
.faq-list details{width:100%;padding:24px 28px;background:var(--surface)}
.faq-list summary{font-size:18px;justify-content:space-between;gap:24px;min-height:36px}
.faq-list summary:before{display:none}
.faq-list summary:after{content:"+";display:block;font-size:26px;font-weight:300;color:var(--muted);transition:transform .18s var(--ease)}
.faq-list details[open] summary{color:var(--ink)}
.faq-list details[open] summary:after{content:"+";transform:rotate(45deg);color:var(--accent)}
.faq-list details>div{position:static;max-width:70ch;margin-top:18px;padding:0;font-size:18px;line-height:1.6;color:var(--muted)}
.faq-list details>div a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;color:var(--ink)}
.screenshot-viewer{width:min(1280px,94vw);max-width:94vw;max-height:94dvh;padding:0;border:0;background:var(--surface);color:var(--ink);overflow:auto}
.screenshot-viewer::backdrop{background:rgb(0 0 0 / .82)}
body:has(.screenshot-viewer[open]){overflow:hidden}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}
.viewer-toolbar h2{font-size:24px;letter-spacing:-.025em}
.viewer-close,.viewer-controls button{border:0;background:var(--quiet);font-size:14px;min-height:44px;padding:10px 16px;transition:background .18s,transform .18s var(--ease)}
.viewer-close{display:flex;align-items:center;gap:16px}
.viewer-close span{font-size:23px;line-height:1}
.viewer-close:hover,.viewer-controls button:hover{background:var(--panel)}
.viewer-close:active,.viewer-controls button:active,.menu-toggle:active{transform:scale(.97)}
.viewer-image-area{overflow:auto;max-height:65dvh;background:var(--bg);overscroll-behavior:contain}
.viewer-image-area img{margin-inline:auto;width:auto;max-width:100%;max-height:65dvh;object-fit:contain}
.viewer-image-area.is-original img{width:auto;max-width:none;max-height:none;margin:0}
.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px}
.viewer-bottom p{font-size:14px;color:var(--muted);max-width:65ch}
.viewer-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.viewer-controls button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
@media(min-width:801px){.menu-toggle{display:none}}
@media(max-width:800px){
  :root{scroll-padding-top:92px}
  .site-header{min-height:76px;gap:16px}
  .site-header nav{display:flex;gap:20px;overflow:auto;flex:1;font-size:14px}
  .site-header.has-menu .menu-toggle{display:flex;margin-left:auto}
  .site-header.has-menu .header-download{margin-left:0}
  .site-header.has-menu nav{display:none;position:absolute;inset:100% 0 auto;background:var(--surface);padding:16px var(--gutter) 24px;gap:4px}
  .site-header.has-menu nav.is-open{display:grid}
  .site-header nav a{padding:10px 0;min-height:48px;font-size:16px}
  .hero{padding-top:28px}
  .tour-panel img{aspect-ratio:1.5;object-position:left top}
  .tour-panel p{min-height:100px}
  .faq-section{grid-template-columns:1fr;gap:32px}
  .faq-intro p{font-size:17px}
  .screenshot-hint{right:12px;bottom:12px;padding:10px 12px}
  .viewer-bottom{flex-direction:column;align-items:stretch;gap:16px}
  .viewer-controls{justify-content:space-between}
}
@media(max-width:480px){
  .site-header{gap:10px}
  .site-header .brand{font-size:18px;gap:7px}
  .site-header .brand img{width:26px;height:26px}
  .header-download{gap:6px;font-size:13px}
  .header-download span{font-size:18px}
  .menu-toggle{padding:10px 12px;font-size:13px;gap:10px}
  .tour-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:12px;scrollbar-width:thin}
  .tour-tabs button{flex:0 0 auto;white-space:nowrap;font-size:14px}
  .tour-panel img{aspect-ratio:1.15}
  .tour-panel p{font-size:15px;padding:18px}
  .faq-list details{padding:20px}
  .faq-list summary,.faq-list details>div{font-size:17px}
  .viewer-toolbar,.viewer-bottom{padding:16px}
  .viewer-toolbar h2{font-size:20px}
  .viewer-image-area,.viewer-image-area img{max-height:57dvh}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
