/* LocalFlow Lite page only (loads after home.css). Lite copies the text, then you press Command-V, so the demo has one more beat. */
/* the old CSS-only Lite demo is replaced by demo.js (lite mode: hold, talk, copied, press Command-V, the whole line lands) */
.store{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 24px;border-radius:12px;background:#000;color:#fff;text-decoration:none;font:600 17px/1.15 var(--font);border:1.5px solid #000}
.store small{display:block;font-size:11.5px;font-weight:500;opacity:.85;letter-spacing:.02em}
.store.off{background:transparent;color:var(--mute);border:1.5px dashed var(--line)}
.store:not(.off){background:#fff;color:#000;border-color:#fff}
.nav .brand{cursor:default}
.keysrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* ---- screen-size scaling (owner 8 Nov 2026: at 100% browser zoom on a 1512 pt MacBook the site looked small; 133% looked right).
   --z grows with the window width (about width / 1140), so a 1280 laptop, a 1512 or 1728 MacBook and a 27" display all look proportionally
   the same as the old 133% view. Phones and tablets (under 1200 px) are untouched, and the layout breakpoints still follow the real window. ---- */
:root{--zw:1;--zh:1;--z:min(var(--zw),var(--zh));--zn:max(1,calc(var(--z)*.78))}
/* the page scale is the smaller of a width step and a height step, so a section that fits one screen at the base size still fits on short or wide windows */
@media (min-height:800px){:root{--zh:1.08}}
@media (min-height:880px){:root{--zh:1.2}}
@media (min-height:940px){:root{--zh:1.27}}
@media (min-height:1000px){:root{--zh:1.37}}
@media (min-height:1060px){:root{--zh:1.44}}
@media (min-height:1200px){:root{--zh:1.65}}
@media (min-height:1300px){:root{--zh:1.8}}
@media (min-height:1440px){:root{--zh:1.95}}
@media (min-height:1600px){:root{--zh:2.2}}
@media (min-height:1800px){:root{--zh:2.5}}
@media (min-width:1200px){:root{--zw:1.06}}
@media (min-width:1300px){:root{--zw:1.14}}
@media (min-width:1400px){:root{--zw:1.23}}
@media (min-width:1500px){:root{--zw:1.32}}
@media (min-width:1600px){:root{--zw:1.4}}
@media (min-width:1700px){:root{--zw:1.49}}
@media (min-width:1800px){:root{--zw:1.58}}
@media (min-width:1920px){:root{--zw:1.68}}
@media (min-width:2100px){:root{--zw:1.84}}
@media (min-width:2300px){:root{--zw:2.0}}
@media (min-width:2560px){:root{--zw:2.24}}
@media (min-width:2900px){:root{--zw:2.54}}
@media (min-width:3300px){:root{--zw:2.9}}
@media (min-width:3800px){:root{--zw:3.3}}
main,body>footer{zoom:var(--z)}
/* the top bar grows only a little with the window, so it stays a slim bar (owner 8 Nov: banner smaller); its inner width is kept equal to the page columns */
.nav{zoom:var(--zn)}
.nav .wrap{max-width:calc(1080px * var(--z) / var(--zn))}
