/* Shared styles for the vault post, custom pages and the privacy page. */
body{margin:0;background:#0D0C0A;color:#EDE6D9;font-family:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.6}
a{color:#EDE6D9;text-decoration:none}a:hover{color:#fff}
a:focus-visible,button:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid #C9A063;outline-offset:3px}
.wrap{max-width:1320px;margin:0 auto;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px);box-sizing:border-box}
.serif{font-family:'Cormorant Garamond',Georgia,serif}.mono{font-family:'DM Mono',ui-monospace,monospace;letter-spacing:.16em}
.gold{color:#C9A063}.muted{color:#A69E8F}.small{font-size:13px}.tiny{font-size:11px}
.btn{background:#C9A063;color:#15110A;border:0;font-family:inherit;font-weight:600;font-size:15px;padding:13px 22px;min-height:48px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-sizing:border-box}
.btn:hover{color:#15110A;filter:brightness(1.06)}.btn[disabled]{opacity:.5;cursor:default}
.btn.ghost{background:transparent;color:#EDE6D9;border:1px solid rgba(237,230,217,.35)}
.link{background:none;border:0;color:#A69E8F;font-family:inherit;cursor:pointer;padding:4px 0;min-height:32px}
.link:hover{color:#EDE6D9}
.back{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#A69E8F;min-height:44px}
.locked-box{max-width:620px;margin:40px 0;display:flex;flex-direction:column;gap:14px;align-items:flex-start;border:1px solid rgba(201,160,99,.4);padding:32px;background:#13140F}
.post-grid{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;margin-top:8px}
.post-media{flex:0 1 420px;min-width:0;border:1px solid rgba(237,230,217,.14);background:#13140F}
.post-body{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:14px}
.reacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.react{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(237,230,217,.25);border-radius:999px;padding:6px 14px;min-height:40px;color:#EDE6D9;font-family:inherit;cursor:pointer;font-size:13px}
.react .emo{font-size:18px;line-height:1}.react.on{background:rgba(201,160,99,.18);border-color:#C9A063}.react.on .mono{color:#C9A063}
.react.sm{padding:3px 10px;min-height:32px}.react.add{border-style:dashed;color:#A69E8F}
.comments{border-top:1px solid rgba(237,230,217,.14);padding-top:20px;display:flex;flex-direction:column;gap:18px}
.seg{display:flex;border:1px solid rgba(237,230,217,.25)}
.seg button{background:transparent;color:#CFC7B8;border:0;font-family:inherit;font-size:13px;padding:8px 14px;min-height:36px;cursor:pointer}
.seg button.on{background:#EDE6D9;color:#15110A}
.composer{display:flex;gap:14px;align-items:flex-start}
.composer textarea{background:#13140F;border:1px solid rgba(237,230,217,.2);color:#EDE6D9;font-family:inherit;font-size:15px;padding:12px 14px;resize:vertical;outline:none}
.list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:22px}
.list.replies{margin:12px 0 0;padding-left:18px;border-left:1px solid rgba(237,230,217,.14);gap:14px}
.c{display:flex;gap:14px;align-items:flex-start}
.av{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:#1E1F16;border:1px solid rgba(237,230,217,.3);color:#EDE6D9;display:inline-flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;cursor:pointer;padding:0;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}.av.sm{width:32px;height:32px;font-size:15px}.av.lg{width:72px;height:72px;font-size:32px;cursor:default}
.av.author{background:#C9A063;color:#15110A;border-color:#C9A063}.av.gold-ring{border-color:#C9A063;color:#C9A063;cursor:default}
.meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.name{background:none;border:0;padding:0;color:#EDE6D9;font-family:inherit;font-weight:600;font-size:15px;cursor:pointer}
.tag-author{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;color:#15110A;background:#C9A063;padding:2px 6px}
.text{margin:4px 0 6px;font-size:15px;color:#D8D0C2;white-space:pre-line}
.acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.picker{display:flex;gap:4px;padding:6px;background:#1A1B13;border:1px solid rgba(237,230,217,.2);border-radius:999px;width:max-content;margin-top:8px}
.picker button{width:40px;height:40px;border-radius:50%;background:transparent;border:0;font-size:20px;cursor:pointer}
.overlay{position:fixed;inset:0;z-index:50;background:rgba(8,8,6,.85);display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;overflow-y:auto}
.card-pop{position:relative;width:100%;max-width:520px;background:#15160F;border:1px solid rgba(237,230,217,.18);padding:28px;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;padding:12px 0;border-top:1px solid rgba(237,230,217,.14);border-bottom:1px solid rgba(237,230,217,.14)}
.facts div{display:flex;flex-direction:column;gap:2px;font-family:'DM Mono',monospace;font-size:13px}
.close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:transparent;border:1px solid rgba(237,230,217,.3);color:#EDE6D9;cursor:pointer}
.blocks{display:flex;flex-direction:column;gap:28px;max-width:900px;margin:40px auto 0}
.blocks h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.05}
.blocks p{margin:0;color:#D8D0C2;font-size:17px;white-space:pre-line}
.blocks figure{margin:0}.blocks figure img,.blocks video{width:100%;display:block}
.blocks figcaption{color:#A69E8F;font-size:13px;margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.prose{max-width:760px;margin:0 auto;padding-top:40px}
.prose h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1;margin:0 0 24px}
.prose h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:28px;margin:32px 0 8px}
.prose p,.prose li{color:#D8D0C2}
footer.kv-foot{margin-top:96px;border-top:1px solid rgba(237,230,217,.12);background:#0A0908}
footer.kv-foot .wrap{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:14px;color:#CFC7B8}
@media (max-width:760px){.post-media{flex-basis:100%}}
