/* THE PIT - chaosmagick.com social layer. Same family as the main site:
   black paper, white ink, greys, Anton / Figtree / Space Mono.
   white = active state, silver = glyph and settled, red = action + heat. Palette per bin/check-palette.mjs, same as the main site. */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-v1-latin.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-variable-latin.woff2) format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/spacemono-v17-i7dMIFZifjKcF5UAWdDRaPpZUFWaHg.woff2) format('woff2')}
:root{
  color-scheme:dark;
  --bg:#000; --ink:#fff; --mute:#b3b3b3; --faint:#9a9a9a;
  --line:#2e2e2e; --panel:#0a0a0a; --panel2:#141414;
  --red:#ff3126; --red-dim:#8f2a22; --on-red:#000; --silver:#e6eaee; --silver-dim:#98a0a7;
  --disp:'Anton','Arial Narrow','Arial Black',sans-serif;
  --mono:'Space Mono','Courier New',monospace;
  --body:'Figtree','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
body{font-family:var(--body);font-size:16px;line-height:1.5;min-height:100vh}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--red)}
.wrap{max-width:860px;margin:0 auto;padding:0 16px 80px}
.muted{color:var(--mute)} .empty{color:var(--faint);font-family:var(--mono);font-size:13px;padding:10px 0}
.err{color:var(--red);font-family:var(--mono);font-size:13px}
.dev{color:var(--silver);font-family:var(--mono);font-size:12px;word-break:break-all}

/* masthead */
header.mast{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:20}
.mast .wrap{display:flex;align-items:center;gap:14px;padding:12px 16px 10px}
.brand{font-family:var(--mono);font-weight:700;letter-spacing:.14em;font-size:14px;color:var(--ink);text-transform:uppercase}
.brand:hover{color:var(--ink)} .brand .star{color:var(--red)} .brand small{color:var(--faint);font-weight:400;letter-spacing:.2em}
.mast nav{margin-left:auto;display:flex;gap:2px;font-family:var(--mono);font-size:12px}
.mast nav a{color:var(--mute);padding:5px 9px;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid transparent}
.mast nav a.on{color:var(--ink);border-bottom-color:var(--red)} .mast nav a:hover{color:var(--red)}
.mast nav a.admin{color:var(--red)}
.whoami{font-family:var(--mono);font-size:12px;color:var(--faint);display:flex;align-items:center;gap:6px}
.whoami svg{width:20px;height:20px;border:1px solid var(--line);border-radius:50%}
.inline{display:inline} .linkbtn{background:none;border:0;color:var(--faint);cursor:pointer;font-family:var(--mono);font-size:12px}
.linkbtn:hover{color:var(--red)}

/* schism */
.schism{border:1px solid var(--red-dim);background:linear-gradient(180deg,rgba(255,49,38,.07),transparent);margin:16px 0;padding:11px 14px;display:flex;gap:12px;align-items:flex-start}
.schism .tag{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--red);border:1px solid var(--red-dim);padding:3px 6px;white-space:nowrap;text-transform:uppercase;margin-top:2px}
.schism .q{font-size:17px} .schism .q b{color:#fff}
.schism .sides{font-family:var(--mono);font-size:12px;color:var(--mute);margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.schism .side{background:none;border:1px solid var(--line);color:var(--mute);font-family:var(--mono);font-size:12px;padding:4px 8px;cursor:pointer}
.schism .side.a.on{color:var(--silver);border-color:var(--silver-dim)} .schism .side.b.on{color:var(--red);border-color:var(--red-dim)}
.schism .side:hover{color:var(--ink)}
.schism .bar{display:inline-block;height:7px;width:120px;background:var(--red);position:relative;border:1px solid var(--line)}
.schism .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--silver-dim)}
.schism .count{color:var(--faint)}

/* degrees: badges next to handles, the decree line, the /degrees page */
.deg{font-family:var(--mono);font-size:12px;color:var(--silver-dim);border:1px solid var(--line);padding:0 5px;letter-spacing:.04em;line-height:1.5;overflow-wrap:anywhere}
.deg:hover{color:var(--red);border-color:var(--red-dim)}
.pmeta a.deg,.chead a.deg{color:var(--silver-dim)} .pmeta a.deg:hover,.chead a.deg:hover{color:var(--red)}
.deg.decreed,.pmeta a.deg.decreed,.chead a.deg.decreed{color:var(--silver);border-color:var(--silver-dim)}
.deg.office,.pmeta a.deg.office,.chead a.deg.office{color:var(--mute);border-style:dashed}
.deg.insub,.pmeta a.deg.insub,.chead a.deg.insub{color:var(--red);border-color:var(--red-dim)}
.shrine .degline{font-size:12px;margin-top:6px;display:flex;gap:7px;flex-wrap:wrap}
.decree{border:1px solid var(--line);background:var(--panel);margin:-6px 0 16px;padding:9px 14px;display:flex;gap:12px;align-items:flex-start}
.decree .tag{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--silver);border:1px solid var(--silver-dim);padding:3px 6px;white-space:nowrap;text-transform:uppercase}
.decree .tag:hover{color:var(--red);border-color:var(--red-dim)}
.decree .dline{font-size:14px;color:var(--mute);line-height:1.45;padding-top:2px}
.decree .dline a{color:var(--ink)} .decree .dline a:hover{color:var(--red)}
.degrees > p{color:var(--mute);font-size:15px;margin:0 0 .7em}
.degrees .decree{margin:14px 0}
.ladder{border-top:1px solid var(--line)}
.rung{border-bottom:1px solid var(--line);padding:9px 2px}
.rung .rhead{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.rung .rdeg{font-family:var(--mono);font-size:13px;color:var(--red);min-width:64px}
.rung.parody .rdeg{color:var(--silver-dim)}
.rung b{color:var(--ink);font-weight:600}
.rung p{margin:4px 0 0;color:var(--mute);font-size:14px}
.rtoday{font-family:var(--mono);font-size:12px;color:var(--silver)} .rtoday a{color:var(--ink)} .rtoday a:hover{color:var(--red)}
.degrees .how{color:var(--mute);font-size:15px;margin:0;padding-left:20px}
.degrees .footnote{color:var(--faint);font-family:var(--mono);font-size:12px;margin-top:18px}

/* sorts */
.sorts{display:flex;gap:2px;font-family:var(--mono);font-size:12px;border-bottom:1px solid var(--line);margin-bottom:2px;flex-wrap:wrap}
.sorts a{color:var(--mute);padding:8px 12px;border-bottom:2px solid transparent;letter-spacing:.12em;text-transform:uppercase}
.sorts a.on{color:var(--ink);border-bottom-color:var(--red)} .sorts a:hover{color:var(--red)}
.sorts .note{margin-left:auto;color:var(--faint);align-self:center;font-size:12px}

/* posts */
.post{display:flex;gap:12px;padding:13px 2px;border-bottom:1px solid var(--line)}
.post.lead{border-bottom:1px solid var(--red-dim)}
.vote{display:flex;flex-direction:column;align-items:center;width:52px;flex:none;font-family:var(--mono);user-select:none}
.vote button{background:none;border:0;color:var(--faint);cursor:pointer;font-size:15px;line-height:1;padding:2px 6px}
.vote button.up:hover,.vote button.up.on{color:var(--red)} .vote button.down:hover,.vote button.down.on{color:var(--silver)}
.vote .score{font-size:15px;font-weight:700;color:var(--ink);margin:1px 0}
.vote .split{font-size:12px;color:var(--faint)} .vote .split .u{color:var(--red-dim)} .vote .split .d{color:var(--silver-dim)}
.pbody{min-width:0;flex:1}
.pmeta{font-family:var(--mono);font-size:12px;color:var(--faint);margin-bottom:3px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.current{border:1px solid var(--line);padding:1px 6px;letter-spacing:.06em;text-transform:uppercase}
.c-prag{color:var(--silver);border-color:#5a5f64}.c-psy{color:var(--silver-dim);border-color:#3f4448}.c-cha{color:#ff8a82;border-color:#6b2a25}.c-lhp{color:#ffb3ad;border-color:#6b2a25}.c-disc{color:var(--ink);border-color:#6a6a6a}
.glink{color:var(--silver-dim)} .pmeta a{color:var(--mute)} .pmeta a:hover{color:var(--red)}
.ptitle{font-size:19px;line-height:1.25;color:var(--ink);display:inline}
.ptitle.big{display:block;font-family:var(--body);font-size:26px;margin:4px 0 8px}
.post:hover .ptitle{color:#fff}
.badge{font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:1px 6px;border:1px solid;vertical-align:2px;margin-left:6px;text-transform:uppercase;white-space:nowrap}
.badge.contested{color:var(--red);border-color:var(--red-dim)} .badge.settled{color:var(--silver);border-color:var(--silver-dim)}
.pexc{color:var(--mute);font-size:15px;margin:2px 0 7px}
.pbody-text{font-size:16px;margin:8px 0}
.pbody-text p,.ctext p,.bio p{margin:0 0 .7em} .pbody-text blockquote,.ctext blockquote{border-left:2px solid var(--red-dim);margin:.6em 0;padding-left:10px;color:var(--mute)}
.pbody-text code,.ctext code{font-family:var(--mono);font-size:.85em;background:var(--panel2);padding:1px 4px}
.pbody-text ul,.ctext ul{margin:.5em 0;padding-left:20px}
.pfoot{font-family:var(--mono);font-size:12px;color:var(--faint);display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.pfoot a{color:var(--mute)} .pfoot a:hover{color:var(--red)} .pfoot .heat{color:var(--red)}
.flag{color:var(--red);font-family:var(--mono);font-size:12px;border:1px solid var(--red-dim);padding:0 5px;letter-spacing:.04em}

/* panels, comments */
.panel{border:1px solid var(--line);background:var(--panel);margin:16px 0}
.panel.pad{padding:16px} .panel h2{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 10px;padding:11px 0 10px;border-bottom:1px solid var(--line)}
.panel.pad h2{padding-top:0} .panel h3{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:16px 0 6px}
.comments .cmt{padding:11px 14px;border-bottom:1px solid var(--line)}
.cmt.reply{margin-left:22px;border-left:1px solid var(--line);background:var(--panel2)}
.cmt.challenge{border-left:2px solid var(--red)}
.cmt .chead{font-family:var(--mono);font-size:12px;color:var(--faint);display:flex;gap:8px;align-items:center;margin-bottom:4px;flex-wrap:wrap}
.cmt .chead a{color:var(--mute)}
.challenge-tag{color:var(--red);border:1px solid var(--red-dim);font-size:12px;padding:0 5px;letter-spacing:.08em;text-transform:uppercase}
.cvote{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--faint);user-select:none}
.cvote button{background:none;border:0;color:var(--faint);cursor:pointer;padding:0 3px;font-size:12px} .cvote button:hover,.cvote button.on{color:var(--red)} .cvote b{color:var(--ink)} .cvote .cs{color:var(--silver-dim)}
.ctext{font-size:15px} .cact{font-family:var(--mono);font-size:12px;color:var(--faint);margin-top:5px;display:flex;gap:14px}
.cact button{background:none;border:0;color:var(--mute);cursor:pointer;padding:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase} .cact button:hover{color:var(--red)}

/* composer / forms */
.composer{border:1px dashed var(--line);padding:12px 14px;margin:10px 0;font-family:var(--mono);font-size:12px;color:var(--faint)}
.composer input,.composer select,.composer textarea{background:#060608;border:1px solid var(--line);color:var(--ink);font-family:var(--mono);font-size:13px;padding:7px 9px;width:100%;margin-top:6px}
.composer textarea{font-family:var(--body);font-size:15px;resize:vertical}
.composer .rowb{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}
.composer button{background:var(--red-dim);border:1px solid var(--red);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;cursor:pointer}
.composer button:hover{background:var(--red)} .composer .faction{width:auto;flex:none} .composer .chk{color:var(--mute);display:flex;align-items:center;gap:6px} .composer .chk input{width:auto;margin:0}
.apply-form .qlabel{display:block;color:var(--ink);font-family:var(--body);font-size:14px;margin:12px 0 4px}
.btnlink{display:inline-block;background:none;border:1px solid var(--line);color:var(--mute);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;cursor:pointer}
.btnlink:hover{color:var(--red);border-color:var(--red-dim)}

/* profile / shrine */
.shrine{border:1px solid var(--line);margin:16px 0;background:var(--panel)}
.banner{height:120px;background:repeating-linear-gradient(45deg,#111 0 10px,#0c0c0e 10px 20px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.banner .glow{position:absolute;inset:0;background:radial-gradient(circle at 20% 120%,rgba(255,49,38,.22),transparent 55%)}
.shrine .top{display:flex;gap:16px;padding:0 16px;margin-top:-40px;align-items:flex-end}
.shrine .avatar{width:84px;height:84px;flex:none;display:block;box-shadow:0 0 0 3px var(--bg);border-radius:50%;overflow:hidden}
.shrine .avatar svg{display:block;border:1px solid var(--silver-dim);border-radius:50%}
.shrine .idblock{padding-bottom:6px}
.shrine .handle{font-family:var(--mono);font-size:20px;color:#fff;letter-spacing:.04em}
.shrine .glyphline{font-family:var(--mono);font-size:12px;color:var(--mute);margin-top:4px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.shrine .body{padding:12px 16px 16px;display:grid;grid-template-columns:1fr 210px;gap:18px}
.shrine .bio{font-size:15px;color:var(--ink)}
.sidecard{border:1px solid var(--line);background:var(--panel2);padding:10px 12px;font-family:var(--mono);font-size:12px}
.sidecard .row{display:flex;justify-content:space-between;gap:10px;color:var(--mute);padding:3px 0;border-bottom:1px dotted var(--line)} .sidecard .row b{color:var(--ink)} .sidecard .row .won{color:var(--red)} .sidecard .row .silv{color:var(--silver)} .sidecard .row a{color:var(--mute)}
.miniblog .bp{padding:8px 0;border-bottom:1px solid var(--line)} .miniblog .bp a{color:var(--ink)} .miniblog .bp a:hover{color:var(--red)} .miniblog .bp .d{font-family:var(--mono);font-size:12px;color:var(--faint)}
[data-palette="ash"] .banner{background:repeating-linear-gradient(0deg,#17171c 0 6px,#121216 6px 12px)}
[data-palette="static"] .banner{background:repeating-linear-gradient(45deg,#111 0 3px,#0c0c0e 3px 6px)}

/* groups */
.glist .grow{padding:11px 0;border-bottom:1px solid var(--line)}
.gname{font-family:var(--mono);font-size:15px;color:var(--ink)} .gname:hover{color:var(--red)}
.secret-tag{font-family:var(--mono);font-size:12px;color:var(--red);border:1px solid var(--red-dim);padding:0 5px;letter-spacing:.08em;text-transform:uppercase;margin-left:7px}
.gdesc{color:var(--mute);font-size:14px;margin:3px 0} .gmeta{font-family:var(--mono);font-size:12px;color:var(--faint)}
.ghead{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px} .grow-actions{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}

/* toast + modal (no native dialogs) */
#pit-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--panel);border:1px solid var(--red-dim);color:var(--ink);font-family:var(--mono);font-size:12px;padding:9px 14px;opacity:0;pointer-events:none;transition:.2s;z-index:60}
#pit-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.pit-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:70}
.pm-box{background:var(--panel);border:1px solid var(--red-dim);padding:16px;width:min(420px,90vw);font-family:var(--mono)}
.pm-box label{display:block;color:var(--mute);font-size:12px;margin-bottom:8px}
.pm-in{width:100%;background:#060608;border:1px solid var(--line);color:var(--ink);font-family:var(--mono);font-size:14px;padding:8px}
.pm-row{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.pm-row button{background:none;border:1px solid var(--line);color:var(--mute);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;cursor:pointer}
.pm-row .pm-ok{background:var(--red-dim);border-color:var(--red);color:#fff} .pm-row button:hover{color:var(--ink)}

/* profile edit (owner) */
.editkit{border:1px solid var(--line);background:var(--panel2);padding:12px;margin-top:10px;font-family:var(--mono);font-size:12px}
.editkit label{display:block;color:var(--faint);margin:8px 0 3px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.editkit input,.editkit select,.editkit textarea{width:100%;background:#060608;border:1px solid var(--line);color:var(--ink);font-family:var(--mono);font-size:13px;padding:6px 8px}
.editkit .save{background:var(--red-dim);border:1px solid var(--red);color:#fff;text-transform:uppercase;letter-spacing:.1em;padding:7px 14px;margin-top:10px;cursor:pointer}

/* ghost bar + consoles */
.ghostbar{background:var(--red-dim);color:#fff;font-family:var(--mono);font-size:12px;text-align:center;padding:5px 12px;letter-spacing:.06em;position:sticky;top:0;z-index:30}
.ghostbar b{color:#fff} .ghostbar .linkbtn{color:#fff;text-decoration:underline}
/* acting (the super wearing a construct) is NOT read-only: grey bar, red rule, so it never reads as the ghost bar */
.actbar{background:#2b2b31;border-bottom:1px solid var(--red)}
.mlist{display:flex;flex-direction:column;margin:4px 0 2px}
.mrow{display:flex;gap:8px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;flex-wrap:wrap}
.mrow a{color:var(--ink)} .mrow a:hover{color:var(--red)}
.utag{font-family:var(--mono);font-size:12px;color:var(--faint);border:1px solid var(--line);padding:0 5px;text-transform:uppercase;letter-spacing:.06em}
.uacts{margin-left:auto;display:flex;gap:6px}

/* bell */
.bell{position:relative;font-family:var(--mono);font-size:16px;color:var(--mute);margin-right:4px}
.bell:hover{color:var(--red)}
.bell .bdot{position:absolute;top:-6px;right:-8px;background:var(--red);color:#fff;font-size:12px;line-height:1;padding:2px 4px;border-radius:7px;font-family:var(--mono)}
.mention{color:var(--silver)} .mention:hover{color:var(--red)}
.schism-share{font-family:var(--mono);font-size:12px;color:var(--faint);margin-left:4px} .schism-share:hover{color:var(--red)}

/* notifications */
.nlist{display:flex;flex-direction:column}
.nrow{display:flex;gap:8px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
.nrow.unread{border-left:2px solid var(--red);padding-left:8px}
.nrow:hover{color:var(--red)} .nrow .who{font-family:var(--mono);font-size:12px;color:var(--silver)}
.nrow .what{color:var(--mute)} .nrow .nblurb{color:var(--faint);font-family:var(--mono);font-size:12px;margin-left:auto}

/* flytes */
.flist,.fposts{display:flex;flex-direction:column;gap:8px}
.frow{display:flex;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.frow .fnames{font-family:var(--mono);font-size:14px;color:var(--ink)} .frow .fnames b{color:var(--red)}
.frow .ftitle{color:var(--mute);font-size:14px} .frow .fstatus{margin-left:auto;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.frow .fstatus.live{color:var(--red)}
.ftitle.big{font-size:20px;color:#fff;margin:4px 0 10px}
.ftally{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;margin-bottom:12px;flex-wrap:wrap}
.ftally .c{color:var(--silver)} .ftally .o{color:var(--red)} .ftally .bar{flex:1;min-width:120px;height:8px;background:var(--red);border:1px solid var(--line);position:relative}
.ftally .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--silver-dim)}
.fp{max-width:80%} .fp.c{align-self:flex-start} .fp.o{align-self:flex-end;text-align:right}
.fp .who{font-family:var(--mono);font-size:12px;color:var(--faint)} .fp .bubble{display:inline-block;text-align:left;padding:8px 11px;border:1px solid var(--line);background:var(--panel2);font-size:15px}
.fp.c .bubble{border-color:var(--silver-dim)} .fp.o .bubble{border-color:var(--red-dim);background:rgba(255,49,38,.06)}
.frow-actions{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--mute);margin-top:10px}
.fwinner{font-family:var(--mono);color:var(--red);font-size:15px;margin-top:10px}
.share{display:flex;gap:8px;margin:12px 0} .shareurl{flex:1;background:#060608;border:1px solid var(--line);color:var(--mute);font-family:var(--mono);font-size:12px;padding:7px 9px}

/* the wall */
.wall{margin:4px 0 2px}
.wrow{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.wrow .rank{font-family:var(--mono);font-size:13px;color:var(--red);width:18px;flex:none;text-align:right}
.wrow .wtitle{color:var(--ink);font-size:15px} .wrow .wtitle:hover{color:var(--red)}
.wrow .wmeta{font-family:var(--mono);font-size:12px;color:var(--faint);margin-left:auto;white-space:nowrap} .wrow .wmeta.won{color:var(--red)}

/* ratioed */
.ratioed-badge{color:var(--red);border-color:var(--red-dim)}
.cmt.ratioed{border-left:2px solid var(--red);background:rgba(255,49,38,.05)}
.ratio-tag{color:var(--red);border:1px solid var(--red-dim);font-size:12px;padding:0 5px;letter-spacing:.08em;text-transform:uppercase}

/* staff / seats */
.seats{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.seat{font-family:var(--mono);font-size:13px;padding:8px 10px;border:1px solid var(--line)}
.seat.open{border-color:var(--red-dim);color:var(--ink)} .seat.open b{color:var(--red);font-size:16px}
.seat.full{color:var(--faint)}

/* direct messages */
.dmlist{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.dm{max-width:78%} .dm.me{align-self:flex-end;text-align:right} .dm.them{align-self:flex-start}
.dm .who{font-family:var(--mono);font-size:12px;color:var(--faint);margin-bottom:2px}
.dm .bubble{display:inline-block;padding:7px 11px;border:1px solid var(--line);background:var(--panel2);font-size:15px;text-align:left}
.dm.me .bubble{border-color:var(--red-dim);background:rgba(255,49,38,.06)}
.mod-hide{color:var(--red)!important}

.foot{font-family:var(--mono);font-size:12px;color:var(--faint);text-align:center;margin:30px 16px;letter-spacing:.1em} .foot .silver{color:var(--silver)}
.foot .safety{color:var(--mute);max-width:520px;margin:0 auto 10px;letter-spacing:0;line-height:1.5;text-transform:none}
@media(max-width:640px){.decree{flex-direction:column;gap:6px}.shrine .body{grid-template-columns:1fr}.mast nav a{padding:5px 6px}.schism .q{font-size:15px}}

/* ---------- chaosmagick.com family pass: type, accents ---------- */
h1,h2,h3,.ptitle.big,.shrine .handle{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:.02em}
.ptitle.big{font-size:32px;line-height:1.1}
.ptitle{font-family:var(--body);font-weight:700}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex:none;font-family:var(--disp);font-weight:400;font-size:22px;letter-spacing:.06em}
.brand .star{color:var(--silver)}
.brand small{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--faint)}
.cm-mark{display:inline-flex;align-items:center;flex:none}
.cm-mark img{width:32px;height:32px;display:block}
.cm-mark:hover img{box-shadow:0 0 0 2px #000,0 0 0 4px #fff;border-radius:50%}
.mast{border-bottom-color:var(--ink)}
.mast nav{font-weight:700;flex-wrap:wrap}
.mast nav a{color:var(--mute);letter-spacing:.14em}
.mast nav a.on{color:var(--ink);border-bottom-color:var(--ink)}
.mast nav a.ext{color:var(--ink)}
.sorts a.on{border-bottom-color:var(--ink)}
.sorts,.sorts a,.pmeta,.pfoot,.panel h2,.panel h3,.badge,.current,.kick,.utag,.foot{font-weight:700}
.sorts a,.badge,.current,.utag,.foot,.pmeta .glink{text-transform:uppercase;letter-spacing:.14em}
.pbody-text,.ctext,.bio{font-family:var(--body)}
.panel h2{color:var(--ink)}
.panel,.shrine,.sidecard,.schism,.composer,.editkit,.pm-box{border-radius:2px}
.post.lead{border-bottom-color:var(--ink)}
.post:hover .ptitle{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:.18em}
.pbody-text a,.ctext a,.bio a,.pexc a{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:.18em}
.glyphline,.shrine .glyphline,.sidecard .row .silv{color:var(--silver)}
.wrow .rank{color:var(--silver)}
/* actions: red fill, black ink, like the site's buy button */
.composer button,.editkit .save,.pm-row .pm-ok{background:var(--red);border:1.5px solid var(--red);color:var(--on-red);font-weight:700;border-radius:2px}
.composer button:hover,.editkit .save:hover,.pm-row .pm-ok:hover{background:var(--ink);border-color:var(--ink);color:#000}
.btnlink{font-weight:700;border:1.5px solid var(--ink);color:var(--ink);border-radius:2px}
.btnlink:hover{background:var(--ink);color:#000;border-color:var(--ink)}
.ghostbar{background:var(--red);color:#000}
.ghostbar b,.ghostbar .linkbtn{color:#000}
.actbar{background:#141414;color:var(--ink);border-bottom:1px solid var(--ink)}
.actbar b,.actbar .linkbtn{color:var(--silver)}
.bell .bdot{color:#000}
.c-prag{color:var(--silver);border-color:var(--silver-dim)}
.c-psy{color:var(--mute);border-color:#6a6a6a}
.c-cha,.c-lhp{color:var(--red);border-color:var(--red-dim)}
.c-disc{color:var(--ink);border-color:#6a6a6a}
.banner{background:repeating-linear-gradient(45deg,#0a0a0a 0 10px,#000 10px 20px)}
.banner .glow{background:radial-gradient(circle at 20% 120%,rgba(255,49,38,.18),transparent 55%)}
.shrine .handle{color:var(--ink);font-size:26px}
#pit-toast,.pm-box{border-color:var(--ink)}
input,textarea{caret-color:var(--red)}
.composer input,.composer select,.composer textarea,.pm-in,.editkit input,.editkit select,.editkit textarea,.shareurl{background:#000}
.foot .silver{color:var(--silver)}
.shrine .top{position:relative;z-index:1}
/* rules strip: under the masthead on every page */
.rulestrip{border-bottom:1px solid var(--line);background:var(--panel)}
.rulestrip .wrap{padding:7px 16px;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--mute);letter-spacing:.02em}
.rulestrip a{color:var(--ink);white-space:nowrap}
.rulespage ol.rules li,.rulespage ul.fair li{margin:6px 0;line-height:1.5}
.badge.pinned{color:var(--silver);border-color:var(--silver-dim)}
.memberblogs{border:1px solid var(--line);background:var(--panel);margin:12px 0;padding:10px 14px}
.memberblogs .tag{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);font-weight:700;margin-bottom:6px}
.memberblogs ul{margin:0;padding-left:18px}.memberblogs li{margin:4px 0;line-height:1.45}
/* the acting bar must be impossible to miss: the owner lost a session to it */
.actbar{background:var(--red);color:#000;border-bottom:0;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;padding:10px 16px}
.actbar b{color:#000}.actbar .linkbtn,.actbar button{background:#000;color:#fff;border:0;padding:6px 12px;font-weight:700;font-size:13px;cursor:pointer;margin-left:10px}
