/* SCAN / SHARE: footer control + modal card. The card is a printed-card object (paper, ink, blue), identical in light and dark themes,
   because a QR needs a light ground. Same marks as the approved QR card: boxed FIXED, white QR panel in an ink frame, blue "THE BUG". */
.share-open{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;padding:0 16px;border:2px solid currentColor;border-radius:0;background:transparent;color:var(--on-band,#F4F4F1);font:700 11px/1 Plex,monospace;letter-spacing:.015em}
.share-open:hover{background:var(--on-band,#F4F4F1);color:var(--band,#1E1E1C)}
.share-open:focus-visible{outline:3px solid #8FA6FF;outline-offset:3px}

html.share-lock{overflow:hidden}
.share-dialog{box-sizing:border-box;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#101010;overflow:auto;overscroll-behavior:contain}
.share-dialog[open]{display:grid;place-items:center}
.share-dialog::backdrop{background:rgba(16,16,16,.78)}
.share-card{box-sizing:border-box;width:100%;max-width:560px;display:flex;flex-direction:column;background:#F4F4F1;border:2px solid #101010}
.share-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 0 20px;min-height:52px;border-bottom:2px solid #101010;font-size:11px;line-height:1.3;letter-spacing:.015em}
.share-mark{font-weight:700;white-space:nowrap}.share-mark span{font-weight:400}
.share-close{align-self:stretch;min-width:64px;padding:0 18px;border:0;border-left:2px solid #101010;border-radius:0;background:transparent;color:#101010;font:700 11px/1 Plex,monospace;letter-spacing:.015em}
.share-close:hover{background:#101010;color:#F4F4F1}
.share-close:focus-visible,.share-dialog a:focus-visible{outline:3px solid #2457FF;outline-offset:-3px}
.share-body{display:flex;flex-direction:column;align-items:center;padding:clamp(22px,4vw,32px) 20px clamp(22px,4vw,30px)}
.share-title{align-self:stretch;margin:0;font-family:Archivo,'Arial Narrow',Impact,sans-serif;font-stretch:condensed;font-weight:900;letter-spacing:-.025em;word-spacing:.12em;font-size:clamp(34px,12vw,68px);line-height:.92;color:#101010}
.share-fixed{display:inline-block;margin-left:.12em;padding:0 .07em;border:3px solid #101010;line-height:.86}
.share-qr{display:block;box-sizing:border-box;width:min(100%,420px,max(46svh,240px));height:auto;aspect-ratio:1;margin:clamp(20px,4vw,28px) 0 0;border:2px solid #101010;background:#fff;image-rendering:pixelated}
.share-ask{margin:clamp(16px,3vw,22px) 0 0;font-family:Archivo,'Arial Narrow',Impact,sans-serif;font-stretch:condensed;font-weight:900;letter-spacing:-.025em;word-spacing:.12em;font-size:clamp(26px,7.4vw,40px);line-height:1;text-align:center;color:#101010}
.share-ask span{display:inline-block;padding:.06em .14em .02em;background:#2457FF;color:#F4F4F1}
.share-url{margin:12px 0 0;font-size:12px;line-height:1.4;letter-spacing:.015em;color:#101010;text-align:center;overflow-wrap:anywhere}
.share-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:14px 20px;border-top:2px solid #101010;font-size:10px;line-height:1.4;letter-spacing:.03em;text-transform:uppercase}
.share-foot strong{font-size:11px}
@media(max-width:640px){
  .share-dialog[open]{display:block}
  .share-card{min-height:100%;max-width:none;border:0}
  .share-body{flex:1;justify-content:center}
}
