/* Afterdark Archives — social batch 3. Same palette: black, blood red, bone. VT323 for the machine bits. */
/* ---------- bloody kisses ---------- */
.s3-kiss{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid transparent;color:var(--ash,#aaa);font-family:var(--f-term,monospace);font-size:1.05rem;padding:0 6px;cursor:pointer;border-radius:2px;line-height:1.4;vertical-align:middle}
.s3-kiss:hover,.s3-kiss:focus-visible{border-color:var(--blood,#d4111f);color:var(--bone,#fff)}
.s3-kiss .s3-lips{filter:grayscale(1) brightness(.8);transition:filter .15s}
.s3-kiss.on{color:#ff4d5a}.s3-kiss.on .s3-lips{filter:none;text-shadow:0 0 6px rgba(212,17,31,.7)}
.s3-kiss b{font-weight:400;min-width:.6em}
.s3-kiss.pop .s3-lips{animation:s3-smooch .45s ease-out}
@keyframes s3-smooch{0%{transform:scale(1)}40%{transform:scale(1.6) rotate(-12deg)}100%{transform:scale(1)}}
.s3-kiss:disabled{opacity:.6;cursor:wait}
/* ---------- haunts ---------- */
.s3-haunts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.s3-haunts li{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center}
.s3-haunts img{width:40px;height:40px;object-fit:cover;border:1px solid var(--line,#333)}
.s3-haunts li.new{background:rgba(212,17,31,.10);outline:1px dashed rgba(212,17,31,.5);outline-offset:2px}
/* ---------- polls ---------- */
.s3-pf{border:1px dashed var(--line,#333);padding:6px 10px}
.s3-pf summary{cursor:pointer;font-family:var(--f-term,monospace);font-size:1.1rem}
.s3-pf-b{display:grid;gap:6px;margin-top:6px}
.s3-pf-opts{display:grid;gap:6px}
.s3-poll{border:1px solid var(--blood,#d4111f);background:#0c0405;padding:10px 12px;margin:10px 0;display:grid;gap:6px}
.s3-poll-q{margin:0;font-size:1.15rem;overflow-wrap:anywhere}
.s3-poll-o{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.s3-poll-vote{width:100%;text-align:left;background:#140607;border:1px solid var(--line,#333);color:var(--bone,#fff);padding:6px 10px;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.s3-poll-vote:hover,.s3-poll-vote:focus-visible{border-color:var(--blood,#d4111f);background:#22080b}
.s3-bar{position:relative;display:flex;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid #2a1012;background:#070203;overflow:hidden}
.s3-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#5a0710,#a10e1b);transition:width .5s ease}
.s3-opt,.s3-pct{position:relative;overflow-wrap:anywhere}
.s3-pct{font-family:var(--f-term,monospace);flex:none}
.s3-poll-o li.top .s3-fill{background:linear-gradient(90deg,#7a0710,#d4111f)}
.s3-poll-o li.mine .s3-opt{color:#ffd400}
.s3-poll-f{margin:0;color:var(--ash,#aaa);font-size:1.02rem}
.s3-poll-vrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* ---------- the weekly séance ---------- */
.s3-seance{border:2px solid var(--blood,#d4111f);background:linear-gradient(#140405,#070102);padding:10px 14px;margin:0 0 14px;display:grid;gap:6px;box-shadow:0 0 18px rgba(212,17,31,.18)}
.s3-sc-h{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-family:var(--f-term,monospace);font-size:1.15rem;text-transform:lowercase}
.s3-pin{color:#ffd400}
.s3-sc-q{margin:0;font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.25;overflow-wrap:anywhere}
.s3-sc-det summary{cursor:pointer;font-family:var(--f-term,monospace);font-size:1.05rem;color:var(--bone,#fff)}
.s3-sc-body{display:grid;gap:8px;margin-top:8px}
.s3-sc-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:4px}
.s3-sc-r{display:grid;grid-template-columns:40px 1fr;gap:8px}
.s3-sc-r img{width:40px;height:40px;object-fit:cover;border:1px solid var(--line,#333)}
.s3-sc-r .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-family:var(--f-term,monospace)}
.s3-sc-r .blurb{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.s3-sc-form{display:grid;gap:6px}.s3-sc-form textarea{width:100%;min-height:70px}
/* ---------- lounge night RSVPs ---------- */
.s3-rsvp{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:6px}
.s3-rsvp-n{color:var(--ash,#aaa)}
.s3-rsvp-who{display:inline-flex;align-items:center;gap:2px}
.s3-rsvp-who img{width:24px;height:24px;object-fit:cover;border:1px solid var(--line,#333)}
.s3-going{background:#3ddc5a22;border-color:#3ddc5a;color:#9fe8a0}
.s3-tonight{border:1px solid #ffd400;background:#1a1500;padding:8px 12px;display:grid;gap:4px}
.s3-tonight p{margin:0}.s3-tonight b{color:#ffd400;font-weight:400;font-family:var(--f-term,monospace)}
/* ---------- the crypt wall ---------- */
.s3-wall{columns:4 220px;column-gap:12px}
.s3-pin-card{break-inside:avoid;margin:0 0 12px;border:1px solid var(--line,#333);background:#0a0607;padding:6px;display:grid;gap:4px}
.s3-pin-card img{width:100%;height:auto;display:block;background:#000;cursor:zoom-in}
.s3-pin-card figcaption{overflow-wrap:anywhere;font-size:1rem}
.s3-pin-card .meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-family:var(--f-term,monospace);font-size:1rem;color:var(--ash,#aaa)}
.s3-pin-card.pending{opacity:.75;border-style:dashed}
.s3-pend{font-family:var(--f-term,monospace);color:#ffd400}
.s3-adm-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
@media (prefers-reduced-motion:reduce){.s3-kiss.pop .s3-lips{animation:none}.s3-fill{transition:none}}
