/* ─── blog rows ─── */
/* blog: reddit-grade voting rail, terminal skin */
.sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.sortbtn{background:none;border:1px solid #26262e;color:#8B93A3;font:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;cursor:pointer;transition:.1s linear}
.sortbtn:hover{color:#8b95a8;border-color:#3a3a44}
.sortbtn[aria-pressed="true"]{color:#F15A24;border-color:#F15A24}
.netmode{font-size:10px;letter-spacing:.12em;color:#66708a;text-transform:uppercase;margin-left:auto}
.netmode b{color:#F15A24;font-weight:400}
.authbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.authbox{border:1px solid #1c1c24;background:rgba(255,255,255,.01);padding:12px 14px;margin-bottom:12px}
.authrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px}
.authin{flex:1;min-width:160px;background:#0d0d12;border:1px solid #22222a;color:var(--bone);font:inherit;font-size:12px;padding:7px 10px}
.authin:focus{outline:2px solid #F15A24;outline-offset:1px}
.codespre{margin:0;padding:10px 12px;background:#0d0d12;border:1px dashed #F15A24;color:#e8e8ef;font:inherit;font-size:12px;line-height:1.7;white-space:pre;overflow-x:auto}
#auth-status b{color:#F15A24;font-weight:400}
.post{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;border:1px solid #22222a;background:rgba(255,255,255,.01);padding:16px 18px;transition:border-color .12s linear,transform .12s linear}
.post:hover{border-color:#3a3a44;transform:translate(-2px,-2px)}
.post .pt{display:block;font-size:14px;font-weight:700;color:var(--bone);margin:6px 0 6px}
.post .pt a{color:inherit;text-decoration:none}
.post .pt a:focus-visible{outline-offset:3px}
.post:hover .pt{color:#F15A24}
.post .pd{display:block;font-size:11px;letter-spacing:.12em;color:#8B93A3;text-transform:uppercase}
.post .pd .tag{color:#F15A24}
.post .signal{display:block;font-size:10px;letter-spacing:.12em;color:#66708a;text-transform:uppercase;margin-top:6px}
.post .signal b{color:#8b95a8;font-weight:400}
.post .ship,.post .mirror{display:block;font-size:10px;letter-spacing:.1em;color:#565f78;text-transform:uppercase;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post .ship b{color:#8b95a8;font-weight:400}
.post .mirror .ok{color:#F15A24}
.post .mirror .err{color:#cc3333}
.post .mirror .no{color:#565f78}
.post + .post{margin-top:10px}
.vote{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:44px;padding:4px 0;user-select:none}
.vote button{background:none;border:1px solid #26262e;color:#8B93A3;width:26px;height:24px;line-height:1;font:inherit;font-size:11px;padding:0;cursor:pointer;transition:.1s linear}
.vote button:hover{color:#F15A24;border-color:#F15A24}
.vote button:focus-visible{outline-offset:1px}
.vote button.on{color:#F15A24;border-color:#F15A24;background:rgba(241,90,36,.08)}
.vote button:disabled{cursor:default;opacity:.45}
.vote button:disabled:hover{color:#8B93A3;border-color:#26262e}
.vote button.on:disabled{opacity:1;color:#F15A24;border-color:#F15A24;background:rgba(241,90,36,.08)}
.vote .score{font-size:13px;font-weight:700;color:var(--bone);min-width:2ch;text-align:center;transition:transform .12s linear}
.vote .score.bump{transform:scale(1.3)}
.vote .flash{position:fixed;font-size:11px;color:#F15A24;pointer-events:none;z-index:60;animation:voteFloat .7s ease-out forwards}
@keyframes voteFloat{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}
@media (max-width:640px){.post{padding:14px 12px;column-gap:10px}}
