/* Vistes (11-10-2026): the catalogue of the viewer's public views, by theme and family. Generated markup: scripts/build_landing_views.mjs. */
.vt-index{margin-top:40px}
.vt-toc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;border-top:1px solid var(--rule)}
.vt-toc li{border-bottom:1px solid var(--rule)}
.vt-toc a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;text-decoration:none;font-size:16.5px;line-height:1.3}
.vt-toc a:hover b{text-decoration:underline}
.vt-toc b{font-weight:500}
.vt-toc .num{font-size:15px;color:var(--ink2)}
.vt-key{margin-top:22px;max-width:52em;font-size:15.5px;color:var(--ink2)}

/* Filter: only with JS (the .js class is set by the head script); without it every card shows. */
.vt-filter{display:none}
.js .vt-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}
.vt-filter label{font-size:15.5px;font-weight:500}
.vt-filter input[type=search]{flex:1 1 260px;min-width:0;max-width:420px;min-height:44px;padding:0 14px;border:1px solid var(--ink2);background:#fff;color:var(--ink);font:400 16px/1.2 'Barlow',system-ui,sans-serif;border-radius:0}
.vt-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.vt-check input{width:20px;height:20px;margin:0;accent-color:var(--ink)}
.vt-status{flex:1 0 100%;margin:0;font-size:14.5px;color:var(--ink2)}
.vt-empty{margin-top:56px;font-size:18px;color:var(--ink2)}

/* Theme: image beside the title and counts, then one block per view family */
.vt-theme{scroll-margin-top:16px}
.vt-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px 56px;align-items:center}
.vt-top h2{margin-top:4px;font-size:38px;line-height:1.08;font-weight:600;letter-spacing:-.02em}
.vt-fams{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:6px 8px}
.vt-fams a{display:inline-block;padding:3px 10px;border:1px solid var(--rule);font-size:14.5px;line-height:1.4;text-decoration:none;background:var(--paper)}
.vt-fams a:hover{background:var(--paper2)}
.vt-fig{min-width:0}
.vt-fam{scroll-margin-top:16px}
.vt-fig img{object-position:50% 100%}
.vt-fam{margin-top:40px}
.vt-fam-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4px 56px;align-items:baseline;padding-top:14px;border-top:2px solid var(--ink)}
.vt-fam-head h3{font-size:21px;line-height:1.2;font-weight:600}
.vt-fam-head p{font-size:15.5px;color:var(--ink2);max-width:46em}
.vt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px;margin-top:16px}
.vt-card{--c:10px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px 12px;background:var(--paper2);clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}
.vt-card h4{margin:0;font-size:17px;line-height:1.25;font-weight:600}
.vt-card p{margin:0;font-size:15px;line-height:1.45;color:var(--ink2)}
.vt-card .vt-meta{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.vt-unit,.vt-new{display:inline-block;padding:1px 8px;font:600 13px/1.5 var(--cond)}
.vt-unit{color:var(--ink2);border:1px solid var(--rule);background:var(--paper)}
.vt-new{color:var(--paper);background:var(--ink)}
.vt-card:target{outline:3px solid var(--acc);outline-offset:2px}

@media (max-width:1100px){
  .vt-toc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vt-top,.vt-fam-head{grid-template-columns:1fr}
  .vt-top{align-items:start}
  .vt-fig{max-width:680px}
}
@media (max-width:760px){
  .vt-toc{grid-template-columns:1fr}
  .vt-top h2{font-size:31px}
  .vt-fam{margin-top:32px}
  .vt-grid{grid-template-columns:1fr}
  .vt-filter input[type=search]{flex-basis:100%;max-width:none}
}

.vt-card[hidden],.vt-fam[hidden],.vt-theme[hidden],.vt-empty[hidden],.vt-filter [hidden]{display:none!important}
