/* ───────────── every form factor: phones from 320 px, foldables (cover, open, book posture), tablets, desktops ─────────────
   rules_design_review, 28-Oct-2026. The viewport meta carries viewport-fit=cover; see directory-blueprint/design/FOLD-LAYER.md. */

/* nothing wider than the screen: a long name breaks inside its heading; below 380 px the word mark and the gaps give way so the
   search and light/dark buttons stay on the screen (13 px off at 320); device rows may shrink */
h1, h2, h3 { overflow-wrap: anywhere; }
@media (max-width: 380px) { .bar-in { gap: 10px; } .word { gap: 7px; } .word svg { width: 28px; height: 28px; } .word b { font-size: .86rem; } .bar-end { gap: 6px; } }
.dev-row, .dev-main > * { min-width: 0; }
.dev-main > * { overflow-wrap: anywhere; }
.makers-list li, .makers-list a { min-width: 0; overflow-wrap: anywhere; }   /* a long maker name ran 8 px past the list at 320 */

/* the bar never sticks (the owner's standing rule: no sticky header on any site) */
.bar { position: relative; }

/* safe areas: notches, rounded corners and the home bar */
.bar .wrap, .foot .wrap, .wrap { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)); }
@media (max-width: 640px) { .bar .wrap, .foot .wrap, .wrap { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); } }
.foot { padding-bottom: max(28px, env(safe-area-inset-bottom)); }

@media (max-width: 520px) { .bar-cta { display: none !important; } }

/* touch: every target at least 44 px (links inside sentences excepted) */
@media (pointer: coarse) {
  .icon-btn { width: 44px; height: 44px; }
  .word, .btn { min-height: 44px; }
  .bar-cta { display: inline-block; padding-top: 13px; padding-bottom: 13px; }
  .strip a { display: inline-flex; align-items: center; min-height: 44px; }
  .foot ul { gap: 0; }
  .foot ul a, .foot-base a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  details > summary { display: flex; align-items: center; min-height: 44px; }
  .crumbs a, .src a, .sec-head a, .style-more { display: inline-block; padding-block: 12px; margin-block: -12px; }
  .makers-list li > a { display: block; padding-block: 12px; }
  .story-sec { display: inline-block; padding-block: 16px; margin-block: -16px; }
  .term-switch button { min-height: 44px; }
}

/* book posture (a foldable half-open like a book): nothing across the fold */
@media (horizontal-viewport-segments: 2) {
  :root { --seg0: env(viewport-segment-width 0 0, 50vw); --fold-gap: calc(env(viewport-segment-left 1 0, 0px) - env(viewport-segment-right 0 0, 0px) + 32px); --fold-page: calc(var(--seg0) - 32px); }
  .foot-top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--fold-gap); }
}
