/* cards.css — Listing cards (B) + Panels (C). Import after tokens.css. */
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:stretch}
/* B. Listing card: compact, equal heights, copy pinned to bottom */
.card-b{display:flex;flex-direction:column;background:var(--bg-panel);border:var(--border);border-radius:var(--radius);overflow:hidden;min-width:0}
.card-b .mstrip{height:6px;flex-shrink:0;background:repeating-linear-gradient(90deg,var(--orange) 0 14px,transparent 14px 18px,var(--ink) 18px 30px,transparent 30px 36px,var(--t-slate) 36px 52px,transparent 52px 56px,var(--t-ochre) 56px 66px,transparent 66px 72px)}
.card-b .msq{width:40px;height:40px;flex-shrink:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1px}
.card-b .msq i{display:block}
.card-b .cbody{padding:16px 16px 12px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.card-b h3{margin:0;font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}
.card-b h3 a{color:inherit;text-decoration:none}
.card-b h3 a:hover{color:var(--orange)}
.card-b .cdesc{margin:0;font-size:var(--fs-small);line-height:1.6;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.6em)}
.card-b .cmeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pill{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line-hard);color:var(--ink-2);padding:5px 9px;border-radius:var(--radius);white-space:nowrap}
.pill.hot{color:var(--orange);border-color:var(--orange)}
.count{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);white-space:nowrap}
.card-b .cfoot{margin-top:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}
.inst{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--ink);background:var(--bg-sunken);border:var(--border);border-radius:var(--radius);padding:10px 12px;white-space:pre;overflow-x:auto;overflow-wrap:normal;word-break:normal;max-width:100%;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}
.inst::-webkit-scrollbar{display:none}
.inst:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.copy{width:100%;background:none;border:1px solid var(--line-hard);color:var(--ink);font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:10px;min-height:44px;border-radius:var(--radius);cursor:pointer}
.copy:hover{border-color:var(--orange);color:var(--orange)}
/* C. Panel: flat bordered box, optional 4px mosaic strip on top */
.panel{background:var(--bg-panel);border:var(--border);border-radius:var(--radius);padding:24px;min-width:0}
.panel.mosaic-top{position:relative;padding-top:28px;overflow:hidden}
.panel.mosaic-top::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--orange) 0 14px,transparent 14px 18px,var(--ink) 18px 30px,transparent 30px 36px,var(--t-slate) 36px 52px,transparent 52px 56px,var(--t-ochre) 56px 66px,transparent 66px 72px)}
.panel h2,.panel h3{margin-top:0}
@media(max-width:640px){.dir-grid{grid-template-columns:1fr}.panel{padding:20px 16px}}
