.vault-masthead{border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;padding:22px 0 20px;display:grid}.vault-kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 8px;font-size:.7rem}.vault-title{font-family:var(--head);margin:0 0 10px;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;line-height:1.02}.vault-stand{font-family:var(--serif);color:var(--ink-soft);max-width:56ch;margin:0;font-size:1.02rem;line-height:1.5}.vault-index{border:2px solid var(--rule);background:var(--paper);padding:12px 14px 14px}.vault-index-head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--rule-hair);margin:0 0 6px;padding-bottom:8px;font-size:.68rem}.vault-index-row{font-family:var(--mono);color:var(--ink);align-items:baseline;gap:8px;padding:5px 0;font-size:.78rem;text-decoration:none;display:flex}.vault-index-row:hover .vault-index-label{text-decoration:underline}.vault-index-label{white-space:nowrap}.vault-index-dots{border-bottom:1px dotted var(--ink-faint);flex:1;transform:translateY(-3px)}.vault-index-count{color:var(--ink-mute);font-variant-numeric:tabular-nums}.vault-shelf{margin-top:34px;scroll-margin-top:24px}.vault-shelf-head{border-top:3px solid var(--sec,var(--ink));flex-wrap:wrap;align-items:baseline;gap:12px;padding-top:10px;display:flex}.vault-shelf-kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sec,var(--ink-mute));margin:0;font-size:.68rem}.vault-shelf-title{font-family:var(--head);margin:0;font-size:1.35rem;font-weight:700}.vault-shelf-title a{color:inherit;text-decoration:none}.vault-shelf-title a:hover{text-decoration:underline}.vault-shelf-count{font-family:var(--mono);color:var(--ink-mute);margin-left:auto;font-size:.72rem}.vault-shelf-intro{font-family:var(--serif);color:var(--ink-soft);max-width:72ch;margin:6px 0 0;font-size:.94rem}.vault-shelf-more{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}.vault-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 22px;margin-top:16px;display:grid}@media (max-width:960px){.vault-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.vault-grid{grid-template-columns:1fr}}.vault-card{border:2px dashed var(--rule);background:var(--paper);padding:16px 16px 14px;transition:border-color .15s;position:relative}.vault-card:before{content:"✂";background:var(--paper);color:var(--ink-faint);padding:0 5px;font-size:.78rem;line-height:1;position:absolute;top:-10px;left:14px}.vault-card:hover{border-color:var(--sec,var(--ink))}@media (prefers-reduced-motion:no-preference){.vault-card{transition:border-color .15s,transform .15s}.vault-card:hover{transform:translateY(-2px)}}.vault-card-link{color:inherit;text-decoration:none;display:block}.vault-stamp{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sec,var(--ink-mute));border:1px solid;padding:2px 7px 1px;font-size:.64rem;display:inline-block}.vault-card-title{margin:10px 0 6px;font-size:1.08rem;line-height:1.22}.vault-card-standfirst{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.45}.vault-card-meta{font-family:var(--mono);color:var(--ink-mute);margin:10px 0 0;font-size:.7rem}.vault-entry-head{border-top:3px solid var(--sec,var(--ink));margin-top:6px;padding-top:12px}.vault-entry-title{font-family:var(--head);margin:6px 0 10px;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;line-height:1.08}.vault-entry-stand{font-family:var(--serif);color:var(--ink-soft);max-width:62ch;margin:0 0 10px;font-size:1.05rem;line-height:1.5}.vault-entry-meta{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-mute);margin:0 0 4px;font-size:.72rem}.vault-entry-grid{grid-template-areas:"spec""body";gap:24px;margin-top:18px;display:grid}@media (min-width:961px){.vault-entry-grid{grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:"body spec";align-items:start;gap:34px}}.vault-entry-body{grid-area:body;min-width:0}.vault-spec{border:2px solid var(--rule);background:var(--paper);grid-area:spec;padding:14px 16px 16px}@media (min-width:961px){.vault-spec{position:sticky;top:18px}}.vault-spec-head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--rule-hair);margin:0 0 10px;padding-bottom:8px;font-size:.68rem}.vault-spec dl{margin:0}.vault-spec dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin:10px 0 3px;font-size:.66rem}.vault-spec dt:first-child{margin-top:0}.vault-spec dd{font-family:var(--sans);color:var(--ink);margin:0;font-size:.86rem}.vault-spec ul{margin:0;padding-left:18px}.vault-spec li{margin:2px 0;font-size:.86rem}.vault-visit{border:2px solid var(--ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--paper);margin-top:12px;padding:9px 16px;font-size:.74rem;text-decoration:none;display:inline-block}.vault-visit:hover{background:var(--ink);color:var(--paper)}.vault-codeblock{border:1px solid var(--rule);margin:20px 0}.vault-codebar{background:var(--paper-3);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;display:flex}.vault-codelang{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:.66rem}.vault-copy{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;padding:4px 10px;font-size:.68rem}.vault-copy:hover{background:var(--ink);color:var(--paper)}.vault-codeblock pre{margin:0}.vault-tags{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.vault-tags li{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);border:1px solid var(--rule);padding:3px 8px;font-size:.68rem}@media (max-width:760px){.vault-masthead{grid-template-columns:1fr;gap:18px}}
