/* card_backb.css: ArtCards(TM) back, Variant B. 2026-10-17, behind build flag ARTINTEL_QR (scripts/artintel/card_qr.py).
   ONE fixed layout at the card's 5:7 (63.5:88.9) ratio. Everything is visible with no scroll, and type scales with the card width
   (container query units on the back face), with a 10px floor. Card-internal, fixed colours: identical in site light and dark mode.
   Order: identity -> bio (6-line budget) -> up to 3 key facts -> [Links . N] [Claim] -> image credit -> foot (badge + legal | QR). */
.card .face-back.bk{padding:12px 13px 10px;overflow:hidden;overscroll-behavior:auto;container-type:inline-size;
  display:flex;flex-direction:column;justify-content:space-between;gap:max(3px,1cqw);font-family:'Inter',sans-serif;color:rgba(242,244,247,.86)}
.card .face-back.bk > *{flex:0 0 auto;min-width:0}
/* identity */
.bk-head{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding-bottom:2.2cqw}
.bk-head::after{content:"";position:absolute;left:24%;right:24%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,200,151,.45),transparent)}
.card .bk-portrait{width:max(40px,13cqw);height:max(40px,13cqw);border-radius:50%;object-fit:cover;margin:0 0 1.8cqw;
  box-shadow:0 0 0 1px rgba(232,200,151,.45);display:block}
.card .bk-name{font:500 max(19px,6.4cqw)/1.06 'Cormorant Garamond',serif;color:#f2f4f7;letter-spacing:.005em;text-wrap:balance;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%;margin:0}
.bk-sub{font:500 max(10px,2.9cqw)/1.35 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,244,247,.62);margin-top:1.1cqw;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%}
.bk-sub .sep{opacity:.5;margin:0 .3em}
.bk-meta{font:500 max(10px,2.9cqw)/1.3 'JetBrains Mono',monospace;color:rgba(242,244,247,.42);margin-top:.8cqw;letter-spacing:.04em}
/* bio: 6-line budget (card_bio <= 260 chars fits in 5-6 lines at 375px); the clamp is a safety net only */
.card .bk-bio{font:400 max(11px,3.25cqw)/1.42 'Inter',sans-serif;color:rgba(242,244,247,.86);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
/* key facts: max 3 one-line rows */
.bk-facts{list-style:none;margin:0;padding:0;font:400 max(10px,2.9cqw)/1.5 'Inter',sans-serif}
.bk-facts li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(242,244,247,.74)}
.bk-facts b{font-weight:600;font-size:max(10px,.92em);letter-spacing:.14em;text-transform:uppercase;color:rgba(232,200,151,.78);margin-right:.7em}
/* actions: one link-tree button + the claim badge on one row */
.bk-actions{display:flex;justify-content:center;align-items:center;gap:2.6cqw;flex-wrap:nowrap}
.bk-actions:empty{display:none}
.lt-btn,.card .bk-actions .claim-badge{min-height:max(34px,10cqw);height:max(34px,10cqw);padding:0 max(12px,3.8cqw);border-radius:999px;
  font:500 max(10px,2.9cqw)/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.lt-btn{display:inline-flex;align-items:center;gap:.7em;background:#06080b;border:1px solid rgba(232,200,151,.3);color:#ece4d2;
  -webkit-tap-highlight-color:transparent;transition:border-color .2s,color .2s}
.lt-btn svg{width:1.45em;height:1.45em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lt-btn .lt-n{font-family:'JetBrains Mono',monospace;letter-spacing:0;color:#e8c897;border-left:1px solid rgba(232,200,151,.3);padding-left:.7em}
.lt-btn:hover{border-color:rgba(232,200,151,.65);color:#fff}
.lt-btn:focus-visible,.lt-close:focus-visible,.lt-item:focus-visible,.card-qr:focus-visible{outline:2px solid #e8c897;outline-offset:3px}
.card .bk-actions .claim-badge{gap:0}
/* image credit (attribution stays on the card: up to 3 lines, full text in the DOM) */
.bk-credit{font:400 max(10px,2.9cqw)/1.4 'Inter',sans-serif;color:rgba(242,239,230,.52);text-align:center;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.bk-credit a{color:rgba(232,200,151,.8);text-decoration:underline;text-underline-offset:2px}
.bk-credit i{font-style:italic}
/* foot: Variant B (badge + legal on the left, QR bottom-right). QR >= 56px (48px failed to decode at 1x DPR) */
.card .back-foot{display:flex;align-items:flex-end;gap:3cqw;padding-top:2cqw;border-top:1px solid rgba(232,200,151,.12)}
.bf-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.4cqw}
/* logo-center-20261017: badge shrinks to its widest line (ArtCards(TM)) and stays left-aligned in the foot; ArtIntel is centred over
   the word ArtCards (trailing tracking cancelled, nudged left by half the TM advance), ArtCards rides up .05em: 1-2px clear */
.bf-badge{display:flex;flex-direction:column;align-self:flex-start;align-items:center;gap:0;line-height:1}
.bf-co{font:600 max(10px,2.7cqw)/1 'Inter',sans-serif;letter-spacing:.2em;opacity:.85;position:relative;left:calc(-.39 * max(16px,4.8cqw))}
.bf-co .a{color:#c8a96e}.bf-co .i{color:#f2f4f7;margin-right:-.2em}
.bf-prod{font:500 max(16px,4.8cqw)/1 'Cormorant Garamond',serif;letter-spacing:.02em;color:#f1e9d8;margin-top:-.05em}
.card .back-foot .back-legal{margin:0;padding:0;border:0;text-align:left;font:500 max(10px,2.8cqw)/1.35 'Inter',sans-serif;letter-spacing:.02em;color:rgba(242,244,247,.6)}
/* qrsubtle-20261017 (Mark: "smaller and more subtle"): 56px everywhere (the 1x decode floor), soft #2a2a2a ink on a muted
   light tile, no ring, small radius; dark site mode dims the tile a touch (light tile, low-key edge, never glowing white). */
.card-qr{flex:0 0 auto;display:block;width:56px;height:56px;border-radius:2px;overflow:hidden;line-height:0;
  box-shadow:none;opacity:.94;transition:opacity .2s;-webkit-tap-highlight-color:transparent}
.card-qr svg{display:block;width:100%;height:100%}
/* themelinks-20261017: card-internal links never take the site's light/dark link colour (the back is identical in both modes);
   :where() keeps this at element specificity so every explicitly coloured back link (.bk-credit a, .lt-item, .claim-badge) still wins */
a.card-qr,:where(.card .face-back.bk) a{color:inherit}
.card-qr:hover{opacity:1}
html[data-theme="dark"] .card-qr{opacity:.88;box-shadow:0 0 0 1px rgba(255,255,255,.05)}
html[data-theme="dark"] .card-qr svg{filter:brightness(.93)}
/* links panel: overlays the back, scrolls internally if long; never scrolls or flips the card */
.lt-panel{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;padding:14px;background:rgba(6,8,11,.975);
  border-radius:calc(var(--card-r,18px) - var(--edge-w,3px));cursor:default}
.lt-panel[hidden]{display:none}
.lt-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(232,200,151,.16)}
.lt-title{font:600 max(10px,2.9cqw)/1 'Inter',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(232,200,151,.85)}
.lt-name{flex:1;min-width:0;font:500 max(16px,5cqw)/1.1 'Cormorant Garamond',serif;color:#f2f4f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-close{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(232,200,151,.3);background:transparent;color:#f2f4f7;
  font:400 22px/1 'Inter',sans-serif;cursor:pointer;display:grid;place-items:center}
.lt-close:hover{border-color:rgba(232,200,151,.7)}
.lt-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 2px 2px;touch-action:pan-y}
.lt-group{margin-top:10px}
.lt-gl{font:600 max(10px,2.6cqw)/1 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,244,247,.45);margin:0 0 6px 2px}
.lt-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;margin-top:6px;border-radius:12px;background:#0b0e13;
  border:1px solid rgba(232,200,151,.2);color:#ece4d2;text-decoration:none;font:500 max(12px,3.4cqw)/1.2 'Inter',sans-serif}
.lt-item:hover{border-color:rgba(232,200,151,.6);color:#fff}
.lt-item svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lt-item .lt-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-item .lt-host{margin-left:auto;min-width:0;max-width:48%;font-size:max(10px,2.8cqw);color:rgba(242,244,247,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-item .lt-ext{width:9px;height:9px;opacity:.55}
.lt-item.lt-nolink{background:transparent;border-style:dashed;color:rgba(236,228,210,.7);cursor:default}
