/* Pharone Social: from the approved mockup (social-mockup/css/social.css), minus the mockup's URL bar and Bootstrap stand-ins. */
.so3{display:grid;grid-template-columns:300px minmax(0,1fr) 280px;gap:1.1rem;align-items:start}
.so2{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.1rem;align-items:start}
@media(max-width:1100px){.so3{grid-template-columns:260px minmax(0,1fr)}.so3>.rail{grid-column:1/-1}}
@media(max-width:760px){.so3,.so2{grid-template-columns:1fr}.so3>.boards{order:2}.so3>.rail{order:3}}
.mono{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace}
.bbs-h{font:800 .72rem ui-monospace,monospace;letter-spacing:.14em;color:var(--accent,#d4a017);text-transform:uppercase;margin:.9rem 0 .35rem;display:flex;justify-content:space-between}
.bbs-h:first-child{margin-top:0}
.brd{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.15rem .55rem;padding:.55rem .5rem;border-radius:.55rem;color:inherit;text-decoration:none;border:1px solid transparent}
.brd:hover,.brd.on{background:rgba(212,160,23,.07);border-color:rgba(212,160,23,.25)}
.brd .ic{grid-row:span 2;font-size:1.1rem;line-height:1.6rem;text-align:center}
.brd b{font-size:.9rem}.brd .meta{grid-column:2/4;font-size:.72rem;color:var(--muted)}
.unread{background:#d4a017;color:#1a1206;font:800 .68rem ui-monospace,monospace;border-radius:999px;padding:.05rem .45rem;align-self:center}
.unread.z{background:transparent;color:var(--muted);border:1px solid rgba(255,255,255,.12)}
.post{display:grid;grid-template-columns:2.6rem 1fr;gap:.75rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.post:last-child{border-bottom:0}
.ava{width:2.6rem;height:2.6rem;border-radius:.7rem;display:grid;place-items:center;font-weight:900;color:#fff8e6;background:linear-gradient(150deg,var(--a1,#7a1f1f),#1a0f0a)}
.ava.lg{width:5.4rem;height:5.4rem;border-radius:1.2rem;font-size:1.8rem}
.ava.s{width:1.9rem;height:1.9rem;border-radius:.55rem;font-size:.72rem}
.ph{display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:center;font-size:.85rem}.ph .t{color:var(--muted);font-size:.75rem}
.pb{margin:.35rem 0 .5rem;line-height:1.55;font-size:.94rem}
.where{font-size:.72rem;color:var(--muted)}.where a{color:#e9c46a}
.reacts{display:flex;gap:.35rem;flex-wrap:wrap}.re{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:.12rem .55rem;font-size:.78rem;background:rgba(255,255,255,.03)}.re.me{border-color:rgba(212,160,23,.55);background:rgba(212,160,23,.12)}
.trust{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.08rem .5rem;font:700 .68rem system-ui;border:1px solid}
.trust.v{color:#86efac;border-color:rgba(134,239,172,.45);background:rgba(20,83,45,.35)}
.trust.u{color:#fcd34d;border-color:rgba(252,211,77,.45);background:rgba(120,80,0,.3)}
.trust.h{color:#93c5fd;border-color:rgba(147,197,253,.45);background:rgba(30,58,138,.35)}
.trust.f{color:#fca5a5;border-color:rgba(252,165,165,.45);background:rgba(127,29,29,.35)}
.xp{font:700 .68rem system-ui;color:#e9c46a;border:1px solid rgba(212,160,23,.35);border-radius:999px;padding:.08rem .5rem}
.compose{display:grid;grid-template-columns:2.6rem 1fr;gap:.75rem}.compose textarea{min-height:4.2rem}
.tabsx{display:flex;gap:.3rem;border-bottom:1px solid rgba(255,255,255,.08);margin:-.2rem 0 .4rem}.tabsx a{padding:.5rem .8rem;font-size:.85rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}.tabsx a.on{color:#f4efe6;border-color:#d4a017}
.online{display:flex;flex-wrap:wrap;gap:.4rem}.online span{display:inline-flex;gap:.35rem;align-items:center;font-size:.8rem;background:rgba(255,255,255,.04);border-radius:999px;padding:.15rem .55rem .15rem .2rem}.dot{width:.5rem;height:.5rem;border-radius:50%;background:#4ade80;display:inline-block}
.newm{display:grid;grid-template-columns:1.9rem 1fr auto;gap:.55rem;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.84rem}
.meter{height:.45rem;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#d4a017,#f2d16b)}
.tl{width:100%;border-collapse:collapse;font-size:.86rem}.tl th{font:800 .66rem ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.tl td{padding:.65rem .5rem;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}.tl tr.new td:first-child b::before{content:"● ";color:#d4a017}
.tl .n{text-align:right;font-family:ui-monospace,monospace;color:#d8d1c2}
.quote{border-left:3px solid #d4a017;background:rgba(212,160,23,.06);padding:.45rem .7rem;border-radius:0 .5rem .5rem 0;font-size:.86rem;color:#d8d1c2;margin:.2rem 0 .5rem}.quote b{color:#e9c46a;font-size:.75rem;display:block}
.reply{border:1px solid rgba(255,255,255,.1);border-radius:.8rem;padding:.8rem;background:rgba(0,0,0,.25)}
.tb{display:flex;gap:.35rem;margin-bottom:.45rem}.tb span{border:1px solid rgba(255,255,255,.1);border-radius:.4rem;padding:.1rem .45rem;font-size:.78rem;color:#cfc8b8}.tb span.off{opacity:.35;text-decoration:line-through}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.82rem}.chain .lk{display:inline-flex;gap:.35rem;align-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:.6rem;padding:.25rem .5rem}.chain .ar{color:#d4a017}
.lim{display:grid;grid-template-columns:1.8rem 1fr auto;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.lim .ic{font-size:1.2rem;text-align:center}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}.steps li{counter-increment:s;display:grid;grid-template-columns:2rem 1fr;gap:.7rem;padding:.6rem 0}.steps li::before{content:counter(s);width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;background:#d4a017;color:#1a1206;font-weight:900}
.scrim{position:fixed;inset:0;background:rgba(5,4,8,.72);backdrop-filter:blur(2px);z-index:50;display:grid;place-items:center;padding:1rem}
.dlg{width:min(34rem,100%);background:#14121a;border:1px solid rgba(212,160,23,.35);border-radius:1rem;padding:1.4rem;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.dlg h2{margin:0 0 .4rem}.warnbox{border:1px solid rgba(252,211,77,.4);background:rgba(120,80,0,.22);border-radius:.7rem;padding:.7rem .85rem;font-size:.86rem;margin:.8rem 0}
.dangerbox{border-color:rgba(252,165,165,.4);background:rgba(127,29,29,.25)}
.chk{display:flex;gap:.5rem;align-items:flex-start;font-size:.86rem;margin:.45rem 0}.chk i{flex:none;width:1rem;height:1rem;border-radius:.25rem;border:1.5px solid #d4a017;margin-top:.15rem}.chk i.on{background:#d4a017}
.opt{display:flex;gap:.6rem;align-items:flex-start;border:1px solid rgba(255,255,255,.1);border-radius:.7rem;padding:.6rem .75rem;margin:.4rem 0;font-size:.88rem}.opt.on{border-color:#d4a017;background:rgba(212,160,23,.08)}.opt .rd{flex:none;width:1rem;height:1rem;border-radius:50%;border:2px solid #d4a017;margin-top:.15rem}.opt.on .rd{background:radial-gradient(#d4a017 45%,transparent 50%)}
.dim{opacity:.45;filter:saturate(.6)}
.phead{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.stat{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.stat b{color:#f4efe6}
.noboast{font-size:.72rem;color:var(--muted);font-style:italic}
/* minimal admin utilities for mockup */
.card-admin{margin-bottom:1rem}
.rail .steps{display:block!important;padding:0;margin:0 0 .6rem;list-style:none;counter-reset:s}
.rail .steps li{display:flex!important;gap:.6rem;align-items:flex-start;margin:.55rem 0;text-align:left!important;counter-increment:s;border:0!important;padding:0!important;width:auto!important}
.rail .steps li:before{content:counter(s);flex:0 0 1.5rem;height:1.5rem;border-radius:50%;background:#e0b23a;color:#111;font-weight:700;display:grid;place-items:center;font-size:.8rem}
.rail .steps li>div{border:0!important;padding:0!important;text-align:left!important}
.tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.45rem 0 .2rem}
.tg{display:inline-flex;gap:.25rem;align-items:center;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.4);color:#d6dbe3}.tg b{font-weight:600;opacity:.75}
.tg.bi{background:rgba(212,160,23,.16);border:1px solid rgba(212,160,23,.6);color:#f0cf6a;font-weight:700;border-radius:4px}
.tg.ig{text-decoration:line-through;text-decoration-color:rgba(248,113,113,.8)}
.tg.big{font-size:.85rem;padding:.3rem .7rem}.tg.mine{border-style:dashed}
.hid{font-size:.8rem;color:var(--muted);padding:.5rem .8rem;margin:.6rem 0;border:1px dashed rgba(148,163,184,.35);border-radius:8px;background:rgba(148,163,184,.05)}.hid a{color:#f0cf6a;cursor:pointer}
.tagbar{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.82rem;padding:.55rem .7rem;margin-bottom:.7rem;border-radius:8px;background:rgba(212,160,23,.08);border:1px solid rgba(212,160,23,.3)}.tagbar .btn{margin-left:auto}
.pend{margin-top:.5rem;font-size:.8rem;padding:.4rem .6rem;border-radius:6px;background:rgba(252,211,77,.1);border:1px solid rgba(252,211,77,.4);color:#fcd34d}
.ac{border:1px solid #3a3a44;border-radius:6px;margin-top:.2rem;font-size:.82rem;overflow:hidden}.ac div{padding:.3rem .6rem;display:flex;justify-content:space-between;align-items:center}.ac div.on{background:rgba(212,160,23,.15)}.ac span:not(.tg){color:var(--muted);font-size:.72rem}.ac .ach{font-size:.65rem;letter-spacing:.12em;color:#a3a3a3;background:rgba(255,255,255,.03);padding:.2rem .6rem}
.sug{border:1px solid #2c3240;border-radius:8px;padding:.6rem .8rem;margin-top:.6rem}.meterw{display:inline-block;width:120px;height:6px;background:#262b35;border-radius:3px;overflow:hidden}.meterw i{display:block;height:100%;background:#d4a017}
.text-warning{color:#fbbf24}
fieldset.soon{border:1px dashed #4b5563;border-radius:8px;padding:.6rem .9rem;margin:.8rem 0;opacity:.6}
.rules{margin-top:1rem;padding:.7rem 1rem;border-left:3px solid #d4a017;background:rgba(212,160,23,.06);border-radius:6px;font-size:.85rem}.rules ol{margin:.4rem 0 0;padding-left:1.2rem}
.exp{font-size:.7rem;color:#8b93a1;margin-left:.4rem;white-space:nowrap}.exp.f{color:#fca5a5}
.exp.big{display:inline-block;margin:.4rem 0 0;font-size:.8rem;padding:.25rem .6rem;border:1px dashed #4b5563;border-radius:6px}
.post.fading{opacity:.55;filter:saturate(.5)}tr.fading td{opacity:.55}
.prin{margin-top:.8rem;font-size:.86rem;line-height:1.5;padding:.7rem .9rem;border-radius:8px;border:1px solid rgba(212,160,23,.3);background:linear-gradient(90deg,rgba(212,160,23,.08),transparent)}
.fadeline{font-size:.78rem;color:#8b93a1;padding:.4rem 0 .2rem}
.lifespan{border:1px solid rgba(212,160,23,.4);border-radius:8px;padding:.3rem .9rem .2rem;margin:.6rem 0;background:rgba(212,160,23,.05)}
.bump{display:inline-block;margin-left:.35rem;font-size:.66rem;font-weight:700;color:#86efac;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.45);border-radius:999px;padding:0 .4rem;box-shadow:0 0 8px rgba(34,197,94,.35)}
.bump.cap{color:#fcd34d;background:rgba(252,211,77,.12);border-color:rgba(252,211,77,.5);box-shadow:none}
.exp.big.capd{border-color:rgba(252,211,77,.5);color:#e5c46a}
/* --- real-app additions --- */
.bell{position:relative;text-decoration:none;color:inherit}.bell b{position:absolute;top:-.35rem;right:-.55rem;font-size:.6rem;background:#ef4444;color:#fff;border-radius:999px;padding:0 .3rem}
form.inl{display:inline}
button.re,a.re{color:inherit;cursor:pointer;font:inherit;font-size:.78rem;text-decoration:none;line-height:1.4}
button.re:hover,a.re:hover{border-color:rgba(212,160,23,.55)}
.re.tgx{padding:.1rem .45rem}
details.pick{display:inline-block;position:relative}details.pick summary{list-style:none;cursor:pointer}details.pick summary::-webkit-details-marker{display:none}
details.pick .pal{position:absolute;z-index:5;top:1.8rem;left:0;display:flex;flex-wrap:wrap;gap:.2rem;width:12.5rem;padding:.4rem;background:#14121a;border:1px solid rgba(212,160,23,.35);border-radius:.6rem}
details.pick .pal button{background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:.4rem;font-size:1rem;padding:.1rem .3rem;cursor:pointer}
.so-flash{padding:.55rem .8rem;border-radius:.6rem;margin:0 0 .9rem;font-size:.88rem;border:1px solid rgba(134,239,172,.4);background:rgba(20,83,45,.3);color:#bbf7d0}
.so-flash.err{border-color:rgba(252,165,165,.45);background:rgba(127,29,29,.3);color:#fecaca}
.tb button{border:1px solid rgba(255,255,255,.1);border-radius:.4rem;padding:.1rem .45rem;font-size:.78rem;color:#cfc8b8;background:transparent;cursor:pointer}.tb button.off{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.ac button{all:unset;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;padding:.3rem .6rem;cursor:pointer}.ac button:hover,.ac button.on{background:rgba(212,160,23,.15)}
.ac button span:not(.tg){color:var(--muted);font-size:.72rem}
.chk input{accent-color:#d4a017;margin-top:.2rem}
label.opt{cursor:pointer}label.opt input{accent-color:#d4a017;margin-top:.2rem}
.scrim .x{float:right;text-decoration:none;color:var(--muted);font-size:1.1rem}
.post:target{background:rgba(212,160,23,.05);border-radius:.6rem}
.pager{text-align:center;margin:.4rem 0 1rem}.pager a{color:#e9c46a;text-decoration:none;margin:0 .15rem}.pager b{color:#f4efe6;margin:0 .15rem}
.notice-row{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.88rem}.notice-row.unr{font-weight:600}.notice-row .t{color:var(--muted);font-size:.75rem;margin-left:auto;white-space:nowrap}
.tl tr.hidrow td{font-size:.8rem;color:var(--muted)}
textarea.inp{width:100%;box-sizing:border-box}
@media(max-width:760px){.tl .hide-sm{display:none}.lg-head{flex-wrap:wrap}.dlg{padding:1rem}}
.rail .inp,.dlg .inp,.card textarea.inp,.form-inp{width:100%;box-sizing:border-box;display:block}
.newm form{margin:0}
/* --- post cards on PAPER: same aged-paper texture + fill as Adventures of Pharonia (RPG1999, ember-wyrm.css .ember-fight-hero).
   A cream wash (70%) over the texture keeps dark ink >= 4.5:1 even on the darkest texture pixel (see contrast-report). --- */
:root{
 --so-paper-url:url("../images/games/actions/paper-sheet.png");
 --so-paper:linear-gradient(rgba(250,244,228,.70),rgba(250,244,228,.70)),radial-gradient(ellipse 115% 85% at 45% 45%,rgba(255,251,238,.28) 0%,rgba(255,251,238,0) 62%),var(--so-paper-url);
 --so-paper-admin:linear-gradient(rgba(246,218,150,.70),rgba(246,218,150,.70)),radial-gradient(ellipse 115% 85% at 45% 45%,rgba(255,240,200,.22) 0%,rgba(255,240,200,0) 62%),var(--so-paper-url);
 --so-ink:#2b2118;--so-ink-2:#4a3826;--so-link:#552800;--so-edge:rgba(96,68,38,.55);
 --so-paper-shadow:inset 0 0 0 1px rgba(255,249,232,.35),inset 0 0 3px rgba(96,62,28,.45),inset 0 0 22px rgba(118,78,36,.28),0 1px 2px rgba(0,0,0,.55),0 3px 6px rgba(0,0,0,.35),0 10px 22px rgba(0,0,0,.5)}
.so-paper,.post,.hid,.notice-row{background-color:#ece0c4;background-image:var(--so-paper);background-size:100% 100%,cover,cover;background-position:center,center,right top;background-repeat:no-repeat;color:var(--so-ink);border:1px solid var(--so-edge);box-shadow:var(--so-paper-shadow)}
.post{border-radius:.5rem;padding:1rem 1.15rem;margin:0 0 1rem}
.post:last-child{margin-bottom:0;border-bottom:1px solid var(--so-edge)}
.post>div{min-width:0}
.post .pb{line-height:1.68;font-size:.98rem;overflow-wrap:anywhere;color:var(--so-ink)}
.post .ph{color:var(--so-ink)}.post .ph .t,.post .where,.hid,.notice-row .t{color:var(--so-ink-2)}
.post a,.post .where a,.hid a,.notice-row a{color:var(--so-link);text-decoration:underline;text-underline-offset:2px}
.post .ph b a{text-decoration:none}
.post .exp{color:#4a3a2a}.post .exp.f{color:#7a1414;font-weight:700}
.post .reacts{margin-top:.65rem;padding-top:.6rem;border-top:1px solid rgba(96,68,38,.28)}
.post .tags{margin:.5rem 0 .1rem}
.post.is-op+.post.is-reply{margin-top:1.2rem}
.post:target{box-shadow:0 0 0 3px rgba(212,160,23,.7),var(--so-paper-shadow)}
.post.fading{opacity:1;filter:none;border-style:dashed}.post.fading .exp{font-weight:700}
/* chips on paper: solid light fills + dark ink */
.post .trust,.tl .trust,.pend{font-weight:700}
.post .trust.v,.tl .trust.v,.post .bump{color:#14532d;background:#d7f0dc;border-color:#3f8a57;box-shadow:none}
.post .trust.u,.tl .trust.u{color:#6b4a00;background:#f6e7b4;border-color:#b08320}
.post .trust.h,.tl .trust.h{color:#1e3a8a;background:#dbe6fb;border-color:#5a7bd0}
.post .trust.f,.tl .trust.f{color:#7f1d1d;background:#f8d7d7;border-color:#c25b5b}
.post .bump.cap{color:#6b4a00;background:#f6e7b4;border-color:#b08320}
.post .xp{color:#6b4a00;background:#f3e3b5;border-color:#b08320}
.post .tg,.hid .tg,.tl .tg{color:#33302b;background:#e9e2d2;border-color:#8c8270}
.post .tg.bi,.hid .tg.bi,.tl .tg.bi{color:#5a3d00;background:#f2d98a;border-color:#a77d12}
.post .re{color:var(--so-ink);background:#f3ead6;border-color:rgba(96,68,38,.45);text-decoration:none}
.post .re.me{background:#f0d99a;border-color:#a77d12}
.post button.re:hover,.post a.re:hover{border-color:#6b3300;background:#fff6e0}
.post .quote{color:#3b2e22;background:#efe2c2;border-left-color:#a77d12}.post .quote b{color:#552800}
.post .pend{color:#5a3d00;background:#f8e9b8;border-color:#b08320}
.post details.pick .pal{color:#f3f0ea}
/* admin-authored: warmer aged-gold parchment + accent left border + badge */
.post.post-admin,.tl tr.row-admin{background-color:#e6c98a;background-image:var(--so-paper-admin)}
.post.post-admin{border-color:#a77d12;border-left:6px solid var(--accent,#d4a017);box-shadow:0 0 0 1px rgba(212,160,23,.35),var(--so-paper-shadow)}
.admin-badge{display:inline-flex;align-items:center;gap:.2rem;border-radius:999px;padding:.08rem .5rem;font:800 .68rem system-ui;letter-spacing:.03em;color:#2b1a00;background:#e0ac2a;border:1px solid #8a6408}
.hid{border-radius:.5rem;padding:.7rem 1rem;margin:0 0 1rem}
.notice-row{border-radius:.5rem;padding:.75rem .9rem;margin:0 0 .6rem}
/* board thread lists: each row is a paper card */
.tl{border-collapse:separate;border-spacing:0 .7rem;margin-top:-.45rem}
.tl th{border-bottom:0}
.tl tbody tr{background-color:#ece0c4;background-image:var(--so-paper);background-size:100% 100%,cover,cover;background-position:center,center,right top;background-repeat:no-repeat;clip-path:inset(0 round .5rem);box-shadow:inset 0 0 0 1px var(--so-edge),inset 0 0 22px rgba(118,78,36,.28)}
.tl tbody td{background:transparent;color:var(--so-ink);border:0;padding:.85rem .7rem;line-height:1.5}
.tl tbody td:first-child{padding-left:1rem}
.tl tbody td a{color:var(--so-ink)!important}.tl tbody td a:hover{color:var(--so-link)!important;text-decoration:underline!important}
.tl .small.muted,.tl .muted,.tl tr.hidrow td{color:var(--so-ink-2)}
.tl tbody td.n{color:var(--so-ink)}.tl tbody .exp{color:#4a3a2a}.tl tbody .exp.f{color:#7a1414;font-weight:700}
.tl tr.fading td{opacity:1}.tl tr.new td:first-child b::before{color:#8a5a00}
.tl tr.hidrow a{color:var(--so-link)!important}
.tl tr.row-admin{box-shadow:inset 6px 0 0 var(--accent,#d4a017),inset 0 0 0 1px #a77d12,inset 0 0 22px rgba(118,78,36,.3)}
.tl tr.row-admin td:first-child{padding-left:1.25rem}
/* admin pending queue: paper rows */
table.so-pending{border-collapse:separate;border-spacing:0 .7rem}
table.so-pending>tbody>tr{background-color:#ece0c4;background-image:var(--so-paper);background-size:100% 100%,cover,cover;background-position:center,center,right top;background-repeat:no-repeat;clip-path:inset(0 round .5rem);box-shadow:inset 0 0 0 1px var(--so-edge),inset 0 0 22px rgba(118,78,36,.28)}
table.so-pending>tbody>tr>td{background:transparent;--bs-table-bg:transparent;--bs-table-color:var(--so-ink);color:var(--so-ink);border:0;padding:.8rem .65rem;line-height:1.6;box-shadow:none}
table.so-pending .text-muted{color:var(--so-ink-2)!important}
table.so-pending .exp{color:#4a3a2a}table.so-pending .exp.f{color:#7a1414;font-weight:700}
table.so-pending .btn-outline-success{color:#14532d;border-color:#14532d}table.so-pending .btn-outline-warning{color:#6b4a00;border-color:#8a6408}table.so-pending .btn-outline-danger{color:#7f1d1d;border-color:#7f1d1d}
table.so-pending .btn:hover{color:#fff}
table.so-pending .form-control{background:#fffaf0;color:var(--so-ink);border-color:#8c8270}
@media(max-width:760px){
 .post{grid-template-columns:2.2rem 1fr;gap:.6rem;padding:.85rem .8rem}
 .post .ava{width:2.2rem;height:2.2rem}
 /* phone: thread list rows stack into full-width paper cards */
 .tl thead{display:none}
 .tl,.tl tbody{display:block;width:100%}
 .tl tbody tr{display:grid;grid-template-columns:1fr auto;gap:.25rem .6rem;margin:0 0 .75rem;padding:.8rem .9rem;clip-path:none;border-radius:.5rem;box-shadow:inset 0 0 0 1px var(--so-edge),inset 0 0 22px rgba(118,78,36,.28),0 3px 8px rgba(0,0,0,.4)}
 .tl tr.row-admin{box-shadow:inset 6px 0 0 var(--accent,#d4a017),inset 0 0 0 1px #a77d12,0 3px 8px rgba(0,0,0,.4);padding-left:1.2rem}
 .tl tbody td{display:block;padding:0!important}
 .tl tbody td:first-child{grid-column:1/-1}
 .tl tbody td.n::before{content:"💬 ";}
 .tl tbody td.n{text-align:left;font-size:.85rem}
 .tl tbody td:last-child:not(.n){justify-self:end}
 .tl tbody td[colspan]{grid-column:1/-1}
 table.so-pending>thead{display:none}
 table.so-pending,table.so-pending>tbody,table.so-pending>tbody>tr,table.so-pending>tbody>tr>td{display:block;width:100%}
 table.so-pending>tbody>tr{margin:0 0 .8rem;clip-path:none;border-radius:.5rem}
 table.so-pending>tbody>tr>td{max-width:none!important}
}
/* --- SOLID SURFACES (Social pages only: social.css loads only on /social and /Admin/Social).
   No see-through backgrounds on bordered panels/chips/dialogs; paper cards above are untouched. --- */
:root{--so-s0:#12121a;--so-s1:#1b1a24;--so-s2:#23212e;--so-s-gold:#2a2311;--so-line:#34313f}
.site-main .card,.site-main .dlg,.site-main .rail .card{background:var(--so-s0)}
.site-main .btn:not(.ok){background:var(--so-s1)}
.site-main .btn:not(.ok):hover{background:var(--so-s2)}
.site-main .chip{background:var(--so-s2);color:#c9c3b8}
.site-main .inp,.site-main .sel,.site-main textarea{background:#0b0b11}
.brd{background:var(--so-s0)}
.brd:hover,.brd.on{background:#221d12}
.unread.z{background:var(--so-s1);border-color:var(--so-line)}
.re{background:var(--so-s1);border-color:var(--so-line)}
.re.me{background:#2e2511}
.trust.v{background:#11281a}.trust.u{background:#2b2108}.trust.h{background:#141d36}.trust.f{background:#2d1316}
.xp{background:#221d10}
.online span{background:var(--so-s2)}
.meter{background:var(--so-s2)}
.quote{background:#1f1b12}
.reply{background:var(--so-s1);border-color:var(--so-line)}
.reply textarea,.reply .inp{background:#0b0b11}
.tb span,.tb button{background:var(--so-s2)}
.chain .lk{background:var(--so-s2);border-color:var(--so-line)}
.scrim{background:#07070b;backdrop-filter:none}
.dlg{background:var(--so-s1)}
.warnbox{background:#2a2009}.dangerbox{background:#2a1214}
.opt{background:var(--so-s1)}.opt.on{background:#2a2311}
.tg{background:#1f2229;color:#d6dbe3}.tg.bi{background:#2e2610;color:#f0cf6a}
.tagbar{background:#211c10}
.pend{background:#2a240e}
.ac{background:var(--so-s1)}.ac div.on,.ac button:hover,.ac button.on{background:#2e2511}.ac .ach{background:var(--so-s2)}
.sug{background:var(--so-s1)}
fieldset.soon{background:var(--so-s1);opacity:1;color:#a8a29a}
.rules{background:#1f1b12}
.prin{background:#1f1b12}
.lifespan{background:#1f1b12}
.bump{background:#10241a}.bump.cap{background:#2a240e}
details.pick .pal{background:var(--so-s1)}details.pick .pal button{background:var(--so-s2)}
.so-flash{background:#10241a}.so-flash.err{background:#2a1214}
.exp.big{background:var(--so-s1)}
.notice-row.unr{font-weight:600}
/* the :target highlight must not wipe the paper */
.post:target{background-color:#ece0c4;background-image:var(--so-paper);background-size:100% 100%,cover,cover;background-position:center,center,right top;background-repeat:no-repeat}
.post.post-admin:target{background-color:#e6c98a;background-image:var(--so-paper-admin)}
/* admin Social pages (admin layout, site.css palette) */
main[role=main] .table-admin{--bs-table-bg:#1a1d26;--bs-table-striped-bg:#1f2330;--bs-table-hover-bg:#232839;--bs-table-accent-bg:#1a1d26}
main[role=main] .admin-engine-tag{background:#1e2333}
main[role=main] .btn[class*=btn-outline-]{background-color:#1a1d26}
main[role=main] .btn[class*=btn-outline-]:hover{background-color:var(--bs-btn-hover-bg)}
main[role=main] .alert{background:#1e2230;color:#e8eaed;border-color:#343b4a}
main[role=main] .table-admin .tg{background:#1f2229}
/* --- TWO-COLUMN LAYOUT: main content left (~2/3), one right column (rail panels, then boards) --- */
.so3,.so3.so-2col,.so2{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1.25rem}
.so3>.rail,.so2>.rail{grid-column:auto;order:0;min-width:0}
.rail>*+*{margin-top:1rem!important}
@media(max-width:900px){.so3,.so3.so-2col,.so2{grid-template-columns:minmax(0,1fr)}.so3>.rail,.so2>.rail{order:2}}
