:root{
  --red:#a4161a;
  --red-dark:#6e0d12;
  --nav:#7a1016;
  --gold:#c9a23c;
  --gold-soft:#e8c15a;
  --ink:#1b1b1f;
  --muted:#6a6a73;
  --line:#e6e1d6;
  --page:#fbfaf7;
  --box:#ffffff;
  --margin:#efe7d4;
  --pattern:#c2ad78;
  --head:#b3202a;
  --serif:'Merriweather',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
[data-theme="dark"]{
  --ink:#ece9e2;
  --muted:#a2a0a8;
  --line:#33333a;
  --page:#16161a;
  --box:#1f1f25;
  --margin:#0e0e11;
  --pattern:#4a3d1c;
  --head:#ee6a6f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--ink);line-height:1.55;
  background-color:var(--margin);
  background-image:url("/img/damask-light.png");background-size:90px 133px;
}
[data-theme="dark"] body{
  background-image:url("/img/damask-dark.png");background-size:90px 133px;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--head)}
.small{font-size:.82rem;color:var(--muted)}

/* boxed page with patterned margin */
.page{max-width:1240px;margin:0 auto;background:var(--page);box-shadow:0 0 28px rgba(0,0,0,.22);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.content{padding:36px 40px 20px}

/* nav */
.sitenav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;background:var(--nav);color:#fff;padding:0 14px;min-height:46px;border-bottom:3px solid var(--gold)}
.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.menu>li>a,.ddbtn{background:none;border:0;color:#fff;font:600 .88rem var(--sans);padding:7px 11px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.menu>li>a.home{background:rgba(255,255,255,.18)}
.menu>li>a:hover,.ddbtn:hover{background:rgba(255,255,255,.14);color:#fff}
.ddbtn i{border:4px solid transparent;border-top-color:currentColor;margin-top:4px}
.dd{position:relative}
.ddmenu{display:none;list-style:none;margin:0;padding:6px 0;position:absolute;left:0;top:100%;min-width:190px;background:var(--box);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.ddmenu.right{left:auto;right:0}
.ddmenu a{display:block;padding:8px 16px;font-size:.88rem}
.ddmenu a:hover{background:rgba(164,22,26,.08)}
.dd.open>.ddmenu{display:block}
@media (hover:hover){.dd:hover>.ddmenu{display:block}}
.navtools{display:flex;align-items:center;gap:4px}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#fff;font-size:1rem;padding:8px 10px;border-radius:3px;cursor:pointer}
.iconbtn:hover{background:rgba(255,255,255,.14)}
.navtoggle{display:none;background:none;border:0;color:#fff;font-size:1.3rem;padding:8px 10px;cursor:pointer}
.navtoggle .i{width:1.4em;height:1.4em}
.searchbar{background:var(--box);border-bottom:1px solid var(--line);padding:10px 40px}
.searchbar form{display:flex;gap:8px;align-items:center}
.searchbar .btn{border:0;cursor:pointer;font:600 .86rem var(--sans);padding:10px 18px}
.searchbar input{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--ink);font:500 .95rem var(--sans)}

/* ticker */
.ticker{display:flex;align-items:center;gap:14px;background:#2a0b0d;color:#fff;padding:7px 40px;overflow:hidden}
.ticker-label{background:var(--gold-soft);color:#3b0b0e;font-weight:700;font-size:.7rem;letter-spacing:.1em;padding:3px 9px;border-radius:2px;flex:none}
.ticker-track{overflow:hidden;flex:1;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-move{display:flex;width:max-content;animation:belt var(--ticker-dur,60s) linear infinite;will-change:transform}
.ticker-track:hover .ticker-move,.ticker-track:focus-within .ticker-move{animation-play-state:paused}
.ticker-unit{display:flex;flex:none}
.ticker-set{display:flex;flex:none;align-items:center}
.ticker-item{color:#fff;font-size:.88rem;padding:3px 0}
.ticker-item:hover{color:var(--gold-soft);text-decoration:underline}
.ticker-sep{display:inline-flex;margin:0 34px;color:var(--gold-soft)}
.ticker-sep .i{width:.75em;height:.75em;fill:currentColor}
@keyframes belt{to{transform:translateX(-50%)}}

/* masthead */
.masthead{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;text-align:left}
.masthead h1{margin:0;font-family:var(--serif);font-weight:900;font-size:clamp(1.2rem,3.4vw,2rem);letter-spacing:.07em;color:var(--head)}
.masthead p{margin:2px 0 0}

/* proclamation */
.proclamation{max-width:800px;margin:0 auto 28px;background:var(--box);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:10px;padding:18px 26px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.proclamation p{margin:4px 0;font-size:1rem}

/* slider */
.slider{position:relative;height:360px;max-width:1000px;margin:0 auto 32px;border-radius:6px;overflow:hidden;background:#222;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s,visibility 0s .7s;display:flex;align-items:flex-end;justify-content:center;padding:28px;color:#fff}
.slide.on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s}
.slide:hover .slide-cap h3{text-decoration:underline}
.slide:focus-visible{outline:3px solid var(--gold-soft);outline-offset:-3px}
.slide-art{position:absolute;inset:0}
.slide-cap{position:relative;z-index:2;max-width:640px;background:rgba(20,6,8,.78);color:#fff;border-radius:10px;padding:14px 22px;text-align:center;backdrop-filter:blur(3px)}
.slide-cap h3{margin:0 0 8px;font-family:var(--serif);font-size:1.05rem;line-height:1.4}
.slide-cap .meta{font-size:.78rem;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.chip{display:inline-block;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:3px}
.slider-badge{position:absolute;z-index:5;left:16px;top:16px;background:rgba(20,6,8,.78);color:#fff;font-size:.8rem;font-weight:600;padding:7px 14px;border-radius:20px}
.arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(20,6,8,.6);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.arrow .i{width:1.4rem;height:1.4rem}
.arrow:hover{background:rgba(164,22,26,.9)}
.prev{left:16px}.next{right:16px}
.dots{position:absolute;z-index:5;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:7px}
.dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.45);padding:0;cursor:pointer}
.dots button.on{background:var(--gold-soft)}

/* boxes */
.cols{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:26px;margin-bottom:26px;align-items:start}
.triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:26px}
.card-box{background:var(--box);border:1px solid var(--line);border-radius:10px;padding:18px 20px;box-shadow:0 4px 14px rgba(0,0,0,.05);margin-bottom:22px;scroll-margin-top:70px}
.cols .card-box:last-child{margin-bottom:0}
.box-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:6px;border-bottom:2px solid var(--line)}
.box-head h2{margin:0;font-family:var(--serif);font-size:1.15rem;color:var(--head);position:relative}
.box-head h2::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;background:var(--head)}
.btn{background:var(--red);color:#fff;font-size:.78rem;font-weight:600;padding:4px 11px;border-radius:4px}
.btn:hover{background:var(--red-dark);color:#fff}

/* news feed cards */
.newsitem{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:14px;background:var(--box)}
.banner{position:relative;height:150px;padding:14px 18px;color:#fff;background:linear-gradient(135deg,#5b0f14 0%,#8c1a20 55%,#4a0b10 100%);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.banner .region{position:absolute;right:16px;top:14px;background:rgba(255,255,255,.14);padding:3px 12px;font-size:.78rem;border-radius:3px}
.banner .btext{font-family:var(--serif);font-size:1.05rem;line-height:1.5;text-align:center;font-weight:700}
.nbody{display:flex;justify-content:space-between;gap:16px;padding:12px 14px 4px}
.nbody h3{margin:0;font-family:var(--serif);font-size:1.02rem;line-height:1.5}
.nbody time{flex:none;width:70px;font-size:.78rem;color:var(--muted);line-height:1.3}
.nmeta{display:flex;gap:12px;align-items:center;padding:6px 14px 12px;font-size:.78rem;color:var(--muted)}

/* curated */
.curated{max-height:430px;overflow-y:auto;padding-right:6px}
.curated .c{border-bottom:1px dashed var(--line);padding:10px 0}
.curated .c:last-child{border-bottom:0}
.curated .c h4{margin:6px 0 4px;font-size:.92rem;line-height:1.45;font-family:var(--serif)}
.curated .c p{margin:0;font-size:.82rem;color:var(--muted)}

/* lists */
.plain,.newslist{list-style:none;margin:0;padding:0}
.plain li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.plain li:last-child{border-bottom:0}
.newslist li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.newslist li:last-child{border-bottom:0}
.newslist time{display:block;font-size:.74rem;color:var(--muted)}
.newslist a{font-weight:600}
.about p{margin:0}
.empty{color:var(--muted);text-align:center;padding:20px}

.footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#1a0a0c;color:#d8d3d3;padding:22px 40px;border-top:3px solid var(--gold)}
.footer .small{color:#a39a9a}
.footer a{text-decoration:underline}

/* responsive */
@media (max-width:980px){
  .cols{grid-template-columns:1fr}
  .triple{grid-template-columns:1fr}
  .content{padding:26px 20px 14px}
  .searchbar,.ticker,.footer{padding-left:20px;padding-right:20px}
}
@media (max-width:820px){
  .sitenav{flex-wrap:wrap;padding:0 8px}
  .navtoggle{display:block}
  .menu{display:none;flex-direction:column;align-items:stretch;order:3;width:100%;padding-bottom:8px}
  .menu.open{display:flex}
  .navtools{margin-left:auto}
  .ddmenu{position:static;box-shadow:none;border:0;border-left:3px solid var(--gold);margin-left:10px}
  .slider{height:280px}
  .slide-cap h3{font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){
  .ticker-move{animation:none}
  .ticker-unit+.ticker-unit{display:none}
  .ticker-track{overflow-x:auto}
  .slide,.slide.on{transition:none}
}

/* ---- additions for dynamic stories and article pages ---- */
[hidden]{display:none !important}
.nsum{margin:6px 0 0;font-size:.88rem;color:var(--muted)}
.article{max-width:820px;margin:0 auto 26px;padding:26px 30px}
.article-title{font-family:var(--serif);font-size:1.8rem;line-height:1.3;margin:12px 0 6px}
.dateline{color:var(--muted);font-size:.85rem;margin:0 0 18px}
.article-img{display:block;max-width:100%;width:auto;height:auto;margin:0 auto 20px;border-radius:6px}
.article-body p{font-family:var(--serif);font-size:1.02rem;line-height:1.85;margin:0 0 1.1em}
.article-back{margin:26px 0 0}
@media (max-width:820px){
  .article{padding:20px}
  .article-title{font-size:1.4rem}
}

/* ---- accounts and comments ---- */
.authlinks{display:flex;align-items:center;gap:2px}
.authlink{color:#fff;font-size:.86rem;font-weight:600;padding:7px 10px;border-radius:3px}
.authlink:hover{background:rgba(255,255,255,.14);color:#fff}
.authlink.strong{background:rgba(255,255,255,.18)}
.whoami{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:.86rem;font-weight:600;padding:0 6px}
.textbtn{font:600 .86rem var(--sans)}
.inline{display:inline;margin:0}
.authbox{max-width:420px;margin:0 auto 26px;padding:26px 28px}
.authbox h2{font-family:var(--serif);color:var(--head);margin:0 0 14px}
.authbox label{display:block;font-weight:600;font-size:.9rem;margin-bottom:16px}
.authbox label small{display:block;font-weight:400;color:var(--muted);margin-top:4px}
.authbox input{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--ink);font:400 .95rem var(--sans)}
.authbox input:focus,.commentform textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.authbox .btn{border:0;cursor:pointer;font:600 .92rem var(--sans);padding:9px 20px;margin-bottom:6px}
.notice{border-radius:6px;padding:10px 14px;margin:0 0 14px;font-size:.9rem}
.notice.error{background:#fdeaea;border:1px solid #e9aaaa;color:#8a1c1c}
[data-theme="dark"] .notice.error{background:#3a1a1c;border-color:#7a3236;color:#f3b4b8}
.comments h2{font-family:var(--serif);font-size:1.15rem;color:var(--head);margin:0 0 14px}
.comment{border-top:1px solid var(--line);padding:12px 0}
.comment header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:.85rem}
.comment time{color:var(--muted);font-size:.78rem}
.comment .linkbtn{margin-left:auto;background:none;border:0;padding:0;color:var(--head);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline}
.comment p{margin:6px 0 0;font-size:.95rem;overflow-wrap:anywhere}
.commentform{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}
.commentform label{display:block;font-weight:600;font-size:.9rem;margin-bottom:8px}
.commentform textarea{display:block;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--ink);font:400 .95rem var(--sans);resize:vertical;margin-bottom:10px}
.commentform .btn{border:0;cursor:pointer;font:600 .9rem var(--sans);padding:9px 18px}
.loginprompt{border-top:1px solid var(--line);padding-top:14px;margin:8px 0 0}
.nmeta span+span{margin-left:2px}
.authbox a,.loginprompt a,.small a{color:var(--head);text-decoration:underline;font-weight:600}

/* ---- icons ---- */
.i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.2em}

/* ---- tags and subtags ---- */
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip.sub{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.slide-cap .chip.sub{color:#fff}
.filters{margin:-4px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line);display:grid;gap:10px}
.filterrow{display:flex;gap:12px;align-items:flex-start}
.filterlabel{flex:none;width:78px;padding-top:5px;font-size:.78rem;font-weight:600;color:var(--muted)}
.chip-btn{font:600 .76rem var(--sans);padding:4px 11px;border-radius:999px;border:1px solid var(--line);background:var(--page);color:var(--ink);cursor:pointer}
.chip-btn:hover{border-color:var(--head);color:var(--head)}
.chip-btn.on{background:var(--red);border-color:var(--red);color:#fff}
.chip-btn:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
button.btn{border:0;cursor:pointer;font-family:var(--sans)}
.btn.more{display:block;margin:6px auto 0;padding:8px 20px;font-size:.84rem}

/* ---- whole-card links ---- */
a.newsitem{display:block;color:inherit;transition:border-color .15s,box-shadow .15s}
a.newsitem:hover,a.newsitem:focus-visible{border-color:var(--head);box-shadow:0 6px 18px rgba(0,0,0,.12);color:inherit}
a.newsitem:hover h3,a.newsitem:focus-visible h3{color:var(--head)}
.stat{display:inline-flex;align-items:center;gap:5px}
.curated a.c{display:block;color:inherit}
.curated a.c:hover h4,.curated a.c:focus-visible h4{color:var(--head)}
.curated .c .chips{margin-bottom:2px}

/* ---- one box per tag ---- */
.tagsections{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin-bottom:26px}
.tagsections .card-box{margin-bottom:0}
.newslist li{padding:0;border-bottom:1px solid var(--line)}
.newslist li a{display:block;padding:11px 0}
.newslist li a:hover .ltitle{color:var(--head)}
.lmeta{display:flex;gap:12px;align-items:center;font-size:.74rem;color:var(--muted);margin-bottom:2px}
.lmeta time{display:inline}
.where{display:inline-flex;align-items:center;gap:4px}
.ltitle{font-weight:600}
.plain li a{display:block}

@media (max-width:820px){
  .filterrow{flex-direction:column;gap:4px}
  .filterlabel{width:auto;padding-top:0}
}

/* ---- shared top bar (same on every page) ---- */
.menu>li.dd.split{display:flex;align-items:center}
.dd.split>a{padding-right:2px}
.ddcaret{background:none;border:0;color:#fff;cursor:pointer;padding:7px 8px 7px 3px;border-radius:3px;display:inline-flex;align-items:center}
.ddcaret:hover{background:rgba(255,255,255,.14)}
.ddcaret i{border:4px solid transparent;border-top-color:currentColor;margin-top:4px}
.ddnote{display:block;padding:8px 16px;font-size:.84rem;color:var(--muted)}
.ddmenu a[aria-current]{font-weight:700}
.navtools .authlinks{display:flex;align-items:center;gap:2px;margin-right:4px}
.masthead h1 a{color:inherit}
.masthead h1 a:hover{color:inherit}
.proclamation.inpage{margin:0 0 22px;box-shadow:none}
.subnav{margin:0 0 20px}
.filters.subnav{margin-top:0}
mark{background:rgba(201,162,60,.35);color:inherit;border-radius:2px;padding:0 1px}

/* tag / place links (article page) */
a.chip:hover{background:var(--red-dark);color:#fff}
a.chip.sub:hover{background:rgba(164,22,26,.1);color:inherit}

/* ---- /news page ---- */
.newspage{max-width:900px;margin:0 auto 26px}
.chip-btn{display:inline-block;text-decoration:none}
a.chip-btn:hover{color:var(--head)}
a.chip-btn.on:hover{color:#fff}
.chip-btn .n{opacity:.7;font-weight:500;margin-left:2px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}

/* ---- search results ---- */
.sr-h{font-family:var(--serif);font-size:1rem;color:var(--head);margin:22px 0 6px}
.srlist{list-style:none;margin:0;padding:0}
.srlist li{border-bottom:1px solid var(--line)}
.srlist li:last-child{border-bottom:0}
a.sr{display:block;padding:12px 0}
a.sr:hover .ltitle{color:var(--head)}
.sr-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.76rem;color:var(--muted);margin-bottom:3px}
.sr-snip{display:block;font-size:.88rem;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.ltitle{display:block}
.sr .ltitle{font-family:var(--serif)}

/* bold / italic inside stories */
.article-body strong{font-weight:700}
.article-body em{font-style:italic}

/* ---- menu: icons, More menu, log in / log out ---- */
.menu>li>a .i,.ddbtn .i{width:1.1em;height:1.1em}
.ddmenu a,.ddmenu .ddlink{display:flex;align-items:center;gap:9px}
.ddmenu .ddlink{width:100%;background:none;border:0;color:inherit;font:inherit;font-size:.88rem;text-align:left;padding:8px 16px;cursor:pointer}
.ddmenu .ddlink:hover{background:rgba(164,22,26,.08)}
.ddmenu .i{width:1.05em;height:1.05em;opacity:.85}
.ddsep{height:1px;margin:6px 0;background:var(--line)}
.ddmenu li form{margin:0}
.whoami{text-decoration:none}
.whoami:hover{background:rgba(255,255,255,.14);color:#fff;border-radius:3px}
.whoami .avatar{box-shadow:0 0 0 1px rgba(255,255,255,.5)}
@media (max-width:820px){.whoami span{display:none}}

/* ---- profile pictures ---- */
.avatar{display:inline-block;border-radius:50%;object-fit:cover;flex:none;background:var(--line);vertical-align:middle}
.avatar.sm{width:24px;height:24px}
.avatar.lg{width:128px;height:128px}
.avatar.ph{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-weight:700}
.avatar.ph.sm{font-size:.75rem}
.avatar.ph.lg{font-size:3.4rem;font-family:var(--serif)}
.ulink{display:inline-flex;align-items:center;gap:7px}
.ulink:hover strong{color:var(--head);text-decoration:underline}

/* ---- profile page ---- */
.profile{max-width:820px;margin:0 auto 22px}
.profilehead{display:flex;gap:22px;align-items:center;margin-bottom:12px}
.profilehead .article-title{margin:0 0 4px}
.bio{margin:8px 0 0;overflow-wrap:anywhere}
.profileform{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}
.profileform h3,.topicform h3{margin:0 0 10px;font-family:var(--serif);font-size:1rem;color:var(--head)}
.profileform label,.topicform label{display:block;font-weight:600;font-size:.9rem;margin-bottom:12px}
.profileform label small{font-weight:400;color:var(--muted)}
.profileform input[type=file]{display:block;margin-top:6px}
.profileform label.check{display:flex;gap:8px;font-weight:400}
.profileform textarea,.topicform textarea,.topicform input[type=text]{display:block;width:100%;margin:6px 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--ink);font:400 .95rem var(--sans);resize:vertical}
.profileform .btn,.topicform .btn{border:0;cursor:pointer;font:600 .9rem var(--sans);padding:9px 18px}
.notice.ok{background:#e6f4ea;border:1px solid #a8d5b5;color:#1d5a30}
[data-theme="dark"] .notice.ok{background:#16301f;border-color:#2f6a41;color:#a9dfb9}
@media (max-width:560px){.profilehead{flex-direction:column;align-items:flex-start}}

/* ---- comments: votes and sorting ---- */
.comments-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.comments-head h2{margin:0}
.sortbar{display:inline-flex;gap:6px;flex-wrap:wrap}
.sortbtn{display:inline-flex;align-items:center;gap:6px;font:600 .76rem var(--sans);padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--page);color:var(--ink)}
.sortbtn:hover{border-color:var(--head);color:var(--head)}
.sortbtn.on{background:var(--red);border-color:var(--red);color:#fff}
.sortbtn.on:hover{color:#fff}
.comment{display:flex;gap:12px}
.cvote{flex:none}
.cmain{flex:1;min-width:0}
.comment header{align-items:center}
.comment .ctx{color:var(--muted);font-size:.78rem}
.comment .ctx a{text-decoration:underline}
.votes{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0}
.votebtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:0;border-radius:6px;color:var(--muted);cursor:pointer}
.votebtn:hover{background:rgba(164,22,26,.1);color:var(--head)}
.votebtn.on{color:var(--red)}
.votebtn[value="-1"].on{color:#3b6fb6}
.votebtn .i{width:1.1rem;height:1.1rem;stroke-width:2.4}
.score{font:700 .85rem var(--sans);color:var(--muted);min-width:1.5em;text-align:center}
.score.pos{color:var(--red)}
.score.neg{color:#3b6fb6}

/* ---- discussions and announcements ---- */
.topiclist{list-style:none;margin:0 0 18px;padding:0}
.topic{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.topic:last-child{border-bottom:0}
.topic-main{min-width:0}
.topic .ltitle{font-family:var(--serif);overflow-wrap:anywhere}
.topic a.ltitle:hover{color:var(--head)}
.badge{display:inline-flex;align-items:center;gap:4px;background:rgba(201,162,60,.22);color:var(--ink);font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}
.badge .i{width:.9em;height:.9em}
.staffctl{display:inline-flex;gap:12px;margin-top:4px}
.staffctl .linkbtn,.topic .linkbtn{background:none;border:0;padding:0;color:var(--head);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline}
.topicform{border-top:1px solid var(--line);padding-top:16px}
.announcement{border-top:1px solid var(--line);padding:16px 0 4px}
.announcement h3{margin:0 0 2px;font-family:var(--serif);font-size:1.15rem}

/* ---- uploaded video, audio and documents ---- */
.medialist{list-style:none;margin:0;padding:0}
.medialist li{border-bottom:1px solid var(--line)}
.medialist li:last-child{border-bottom:0}
a.mediaitem{display:flex;gap:14px;align-items:flex-start;padding:14px 0}
a.mediaitem:hover .ltitle{color:var(--head)}
.mi-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:10px;background:var(--red);color:#fff}
.mi-icon .i{width:1.5rem;height:1.5rem}
.mi-text{display:block;min-width:0}
.article-title .i{width:.9em;height:.9em;color:var(--head)}
.article-back .btn{display:inline-flex;align-items:center;gap:6px}

/* footer */
.sitefoot{margin-top:auto;color:#eee9e9}
.sitefoot a{color:inherit}
.foot-card{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#4a4446;border-top:3px solid var(--gold);padding:38px 40px 30px}
.foot-title{font-family:var(--serif);font-weight:900;font-size:clamp(2.2rem,5vw,3.2rem);color:var(--gold-soft);line-height:1.1;margin-bottom:14px}
.foot-blurb{flex:1;min-width:0}
.foot-blurb>p{margin:0 0 22px;max-width:520px;font-size:1.08rem;line-height:1.6;color:#f1eded}
.foot-blurb strong{color:#fff}
.foot-logo{width:clamp(110px,22vw,230px);height:auto;flex:none;border-radius:50%}
.support{max-width:490px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:14px 16px}
.support-label{font-size:.92rem;margin-bottom:8px;color:#e4dfdf}
.support-row{display:flex;align-items:center;gap:10px}
.support-row code{flex:1;min-width:0;background:#1f1a1c;border-radius:4px;padding:10px 12px;font:.72rem/1.45 ui-monospace,Menlo,Consolas,monospace;color:var(--gold-soft);word-break:break-all}
.copybtn{flex:none;background:none;border:1px solid #fff;border-radius:5px;color:#fff;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.copybtn:hover,.copybtn.done{background:rgba(255,255,255,.16)}
.support-coin{margin-top:8px;font-size:.85rem;color:#b3aaac;display:flex;align-items:center;gap:6px}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:46px 40px 14px;background:linear-gradient(#4a4446,#1a0a0c 75%)}
.foot-left{display:flex;align-items:center;gap:16px}
.foot-arms{height:52px;width:auto;object-fit:contain;flex:none}
.foot-id{display:flex;flex-direction:column;line-height:1.35}
.foot-id strong{font-weight:700;font-size:1.15rem;color:#fff}
.foot-domain{color:#c9c0c2;font-size:.95rem}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-links a{text-decoration:none;color:var(--gold-soft);font-weight:600}
.foot-links a:hover{text-decoration:underline;color:#fff}
.foot-legal{text-align:center;background:#1a0a0c;padding:6px 40px 24px;font-size:.85rem;color:#a39a9a;min-height:1.5em}
@media(max-width:640px){.foot-card{flex-direction:column-reverse;align-items:flex-start;padding:24px 20px}.foot-logo{width:130px}.foot-bottom,.foot-legal{padding-left:20px;padding-right:20px}}
[dir="rtl"] .ddmenu.right{right:auto;left:0}
.langopt{cursor:pointer}

/* ---- media + PDF viewers ---- */
body.noscroll{overflow:hidden}
.vplayer,.aplayer{position:relative;margin:0 0 20px;border-radius:10px;overflow:hidden;background:#0d0708;color:#fff;outline-offset:3px}
.vplayer video{display:block;width:100%;max-height:70vh;background:#000}
.mc{display:none;align-items:center;gap:8px;padding:10px 12px;color:#fff}
.enhanced .mc{display:flex}
.vplayer .mc{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.82));padding-top:28px;transition:opacity .25s}
.vplayer.idle .mc{opacity:0;pointer-events:none}.vplayer.idle{cursor:none}
.mc-btn{background:none;border:0;color:#fff;cursor:pointer;width:34px;height:34px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;font:inherit}
.mc-btn:hover{background:rgba(255,255,255,.18)}
.mc-btn .i{width:20px;height:20px}
.mc-back b,.mc-fwd b{position:absolute;font-size:.5rem;font-weight:700;top:50%;left:50%;transform:translate(-50%,-42%)}
.mc-speed{width:auto;padding:0 8px;font-size:.82rem;font-weight:600}
.mc-time{font-size:.8rem;font-variant-numeric:tabular-nums;color:#e9e4e4;flex:none}
.mc-range{-webkit-appearance:none;appearance:none;height:5px;border-radius:3px;background:linear-gradient(to right,var(--gold-soft) var(--p,0%),rgba(255,255,255,.28) var(--p,0%));cursor:pointer;margin:0}
.mc-seek{flex:1;min-width:60px}
.mc-vol{width:72px;flex:none}
.mc-range::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--gold-soft);border:0}
.mc-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--gold-soft);border:0}
.bigplay{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(20,6,8,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bigplay .i{width:30px;height:30px;margin-left:4px}
.bigplay:hover{background:rgba(179,32,42,.8)}
.vplayer:not(.enhanced) .bigplay,.vplayer.playing .bigplay{display:none}
.mc-err{margin:0;padding:10px 14px;background:#6e0d12;font-size:.85rem}
.aplayer{display:flex;align-items:center;gap:18px;padding:14px 16px;background:linear-gradient(135deg,#3a1418,#14090b)}
.aplayer audio{width:100%}
.aplayer.enhanced{flex-direction:column;align-items:stretch;text-align:center}
.aplayer.enhanced audio{display:none}
.aplayer .mc{padding:12px 4px 4px;flex-wrap:wrap;justify-content:center}
.aplayer .mc-seek{flex:1 1 220px}
.pdfview{margin:0 0 20px}
.pdfstage{position:relative;background:#e9e4d8;border:1px solid var(--line);border-radius:8px;padding:18px;display:flex;justify-content:center;cursor:zoom-in;min-height:200px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
[data-theme="dark"] .pdfstage{background:#2a2426}
.pdfcanvas{display:block;max-width:100%;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.28)}
.pdfview:not(.ready) .pdfcanvas{display:none}
.pdfload{align-self:center;color:var(--muted);font-size:.9rem}
.pdfbar{text-align:center;margin-top:8px;font-size:.82rem;color:var(--muted)}
.pdfreader{position:fixed;inset:0;z-index:200;background:rgba(14,8,9,.96);display:flex;flex-direction:column}
.pr-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 14px;background:#1c1012;border-bottom:2px solid var(--gold);color:#fff}
.pr-title{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:120px}
.pr-ctl{display:flex;align-items:center;gap:6px}
.pr-b{background:none;border:0;color:#fff;width:34px;height:34px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.pr-b:hover{background:rgba(255,255,255,.16)}
.pr-b .i{width:19px;height:19px}
.pr-page{display:inline-flex;align-items:center;gap:5px;font-size:.88rem}
.pr-page input{width:52px;padding:4px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;text-align:center;font:inherit}
.pr-zoom{font-size:.82rem;min-width:42px;text-align:center}
.pr-sep{width:1px;height:22px;background:rgba(255,255,255,.25);margin:0 6px}
.pr-scroll{flex:1;overflow:auto;padding:16px 0 40px}
.pr-pages{display:flex;flex-direction:column;align-items:center;gap:14px}
.pr-pg{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.5);flex:none}
.pr-pg canvas{display:block}
.pr-fail{color:#fff;text-align:center;padding:40px}
.pr-fail a{text-decoration:underline;color:var(--gold-soft)}
@media(max-width:640px){.mc-vol{display:none}.pr-sep,.pr-zoom{display:none}}

/* fullscreen video fills the whole screen */
.vplayer:fullscreen,.vplayer:-webkit-full-screen{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;border-radius:0;margin:0;background:#000}
.vplayer:fullscreen video,.vplayer:-webkit-full-screen video{width:100%;height:100%;max-height:none;object-fit:contain}
/* files in one upload */
.plistbox{margin:0 0 20px}
.plisthead{font-size:.95rem;margin:0 0 8px;color:var(--head)}
.plist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--box)}
.plist li+li{border-top:1px solid var(--line)}
.plist a{display:flex;align-items:center;gap:12px;padding:10px 14px}
.plist a:hover{background:rgba(201,162,60,.12)}
.plist a.on{background:rgba(179,32,42,.1);font-weight:600;box-shadow:inset 3px 0 0 var(--head)}
.plist .pn{flex:none;width:24px;height:24px;border-radius:50%;background:var(--head);color:#fff;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center}

/* footer sits at the bottom of the window on short pages */
.page>.content{flex:1 0 auto;width:100%;box-sizing:border-box}
.page>.sitefoot{flex:none;padding-top:0}
.page>.content{padding-bottom:40px}

/* ---- "account deleted" notice on the login page ---- */
.authbox .btnrow{display:flex;gap:10px;flex-wrap:wrap}
.authbox a.btn{color:#fff;text-decoration:none;font-weight:600}

.authbox .article-title{margin:0 0 14px}

.mainstack{min-width:0}
.mainstack .card-box:last-child{margin-bottom:0}

.mi-cover{flex:none;width:96px;height:64px;object-fit:contain;border-radius:8px;background:var(--line)}

/* warning shown at the top of anything that contains a link (small, like the date line) */
.linkwarn{display:flex;align-items:center;gap:6px;margin:0 0 14px;color:#e8710a;font-family:var(--sans,inherit);font-size:.85rem;font-weight:600}
.linkwarn .i{flex:none;width:1.05em;height:1.05em;stroke:currentColor;fill:none;stroke-width:2}
[data-theme="dark"] .linkwarn{color:#ff9a3c}
.byline+.linkwarn,.dateline+.linkwarn{margin-top:-10px}
.bio-wrap .linkwarn,.profilehead .linkwarn{margin:8px 0 0}
.comment .linkwarn{margin:2px 0 0;font-size:.78rem}
.comment .linkwarn .i{width:1em;height:1em}
/* links inside anything users or staff wrote (stories, uploads, statuses, discussions, comments, bios): red, black on hover */
a.userlink{color:#d10000;text-decoration:underline;overflow-wrap:anywhere}
a.userlink:hover,a.userlink:focus-visible{color:#000}
[data-theme="dark"] a.userlink{color:#ff5a5a}
[data-theme="dark"] a.userlink:hover,[data-theme="dark"] a.userlink:focus-visible{color:#fff} /* black would vanish on the dark background */
.topic-stats{display:inline-flex;align-items:center;gap:12px;flex:none}
.topicform input[type=file]{display:block;width:100%;margin:6px 0 10px;font:400 .9rem var(--sans);color:var(--ink)}
.topicform label small{font-weight:400;color:var(--muted)}
.topicform .notice[hidden]{display:none}
.status-first{margin:18px 0 8px}
.status-first img{display:block;max-width:100%;width:auto;height:auto;margin:0 auto;border-radius:6px}
.seemore{margin:8px 0}
.seemore summary{cursor:pointer;color:var(--head);font-size:.88rem;font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}
.seemore summary::-webkit-details-marker{display:none}
.seemore summary::after{content:"";width:.45em;height:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.seemore[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.seemore .status-gallery{margin:10px 0 0}
.story-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0 0 20px;align-items:start}
.story-gallery img{display:block;width:100%;height:auto;border-radius:6px}

/* admin accounts */
.adminbadge{display:inline-block;margin-left:0;padding:0 6px;border-radius:999px;background:#1d6fd8;color:#fff;font-size:.58rem;line-height:1.5;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.article-title .adminbadge{font-size:.6rem;margin-left:8px}
.adminstories{margin:14px 0 4px}
.adminstories h3{margin:0 0 6px;font-size:1rem}
.adminstories small{color:var(--muted);margin-left:6px}

.uwrap{display:inline-flex;align-items:center;gap:4px}
.byline{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin:0 0 18px;font-size:.85rem;color:var(--muted)}
.byline-by{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px}
.byline-sep{opacity:.6}
.byline-stats{margin-left:auto;display:inline-flex;align-items:center;gap:14px}
.byline-stats .stat{display:inline-flex;align-items:center;gap:5px}
.byline-stats .i{width:1.05em;height:1.05em}
.byline .ulink strong{color:var(--text,inherit)}

/* threaded replies (main comment -> reply -> reply -> reply) */
.creplies{margin-left:18px;padding-left:14px;border-left:2px solid var(--line)}
.creplies .comment{border-top:1px dashed var(--line)}
.cactions{margin-top:6px}
.cactions .linkbtn,.cactions .replylink{margin-left:0;display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:0;color:var(--head);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:none;list-style:none}
.cactions .replylink:hover{text-decoration:underline}
.cactions summary::-webkit-details-marker{display:none}
.cactions .replylink .i{width:1em;height:1em}
.replyform{border-top:0;margin-top:8px;padding-top:0}
.replyform textarea{margin-bottom:8px}
.replyform .btn{padding:7px 14px;font-size:.85rem}
@media (max-width:560px){.creplies{margin-left:8px;padding-left:8px}}

/* contributors get a yellow label instead of the blue admin one */
.adminbadge.contrib{background:#f2b705;color:#3a2c00}

/* ---- statuses feed: every status shown open, one after the other ---- */
.statuspost{border-top:1px solid var(--line);padding:18px 0 6px}
.statuspost h2{font-family:var(--serif);font-size:1.3rem;line-height:1.35;margin:0 0 4px;overflow-wrap:anywhere}
.statuspost h2 a:hover{color:var(--head)}
.statuspost .chips{margin-bottom:6px}
.statusfoot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:10px 0 12px}
.statusfoot .staffctl{margin-top:0}
.statusfeed{margin-top:22px}
.topicform{margin-bottom:6px}

/* ---------- status form: chosen pictures (reorder with the handle, remove with the x) ---------- */
.filepick-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;overflow:hidden;pointer-events:none}
.filepick-btn{margin:6px 0 10px}
.filepick-btn[disabled]{opacity:.5;cursor:not-allowed}
.filelist{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.filelist[hidden]{display:none}
.fileitem{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card,transparent);position:relative}
.fileitem.dragging{opacity:.55;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.fileitem.dropat{border-color:var(--head);box-shadow:0 0 0 1px var(--head)}
.filegrip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;color:var(--muted);cursor:grab;touch-action:none;user-select:none;flex:none;border-radius:4px}
.filegrip:hover,.filegrip:focus-visible{color:var(--head)}
.filegrip:active{cursor:grabbing}
.filethumb{width:44px;height:44px;object-fit:contain;background:var(--line);border-radius:4px;flex:none}
.filename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.filename small{display:block;color:var(--muted);font-size:.75rem}
.fileremove{flex:none;width:30px;height:30px;border:0;background:none;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:50%}
.fileremove:hover,.fileremove:focus-visible{color:var(--head);background:rgba(128,128,128,.15)}

/* search button is just the magnifying glass */
.searchbar .btn.searchgo{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px}
.searchbar .btn.searchgo .i{width:1.2em;height:1.2em}

/* ---------- card grid (/news pages and the front-page Important section) ----------
   Every card has the same width; the cover decides the height, but a cover is never taller than square (1:1). */
.gridfeed{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;align-items:start}
.gridfeed>.empty{grid-column:1/-1}
.gridfeed .newsitem{margin:0}
.gcard{display:flex;flex-direction:column}
.gcover{container-type:inline-size;background:#1b1b20;overflow:hidden}
.gcover img{display:block;width:100%;height:auto}
.gcard .banner{height:auto;min-height:130px;padding:18px}
.gbody{padding:14px 16px 12px}
.gbody .chips{margin-bottom:10px}
.gbody h3{margin:0 0 12px;font-family:var(--serif);font-size:1.12rem;line-height:1.35;overflow-wrap:anywhere}
.gfoot{display:flex;align-items:center;gap:14px;font-size:.8rem;color:var(--muted)}
.gfoot .stat{display:inline-flex;align-items:center;gap:5px}
.gfoot .gdate{margin-left:auto;display:inline-flex;align-items:center;gap:5px}
.newsgridpage{max-width:none}

/* ---------- numbered pager: ‹ 1 2 3 › ---------- */
.pager{display:flex;justify-content:center;margin:22px 0 4px}
.pagination{display:inline-flex;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:center}
.pagination li{margin:0 0 0 -1px}
.pagination li:first-child{margin-left:0}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:40px;height:38px;padding:0 12px;border:1px solid var(--line);background:var(--box);color:var(--head);font-size:.92rem;line-height:1}
.pagination li:first-child>*{border-radius:6px 0 0 6px}
.pagination li:last-child>*{border-radius:0 6px 6px 0}
.pagination a:hover,.pagination a:focus-visible{background:rgba(164,22,26,.08);color:var(--head)}
.pagination .on span{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;position:relative;z-index:1}
.pagination .off span,.pagination .gap span{color:var(--muted);background:var(--box)}
.pagination .off span{opacity:.55}

/* pictures are shown whole, never cropped */
.slide-art{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:#1b1b20}
.fullcover{position:relative;background:#1b1b20}
.fullcover img{display:block;width:100%;height:auto}
.fullcover .region{position:absolute;right:12px;top:12px;background:rgba(0,0,0,.6);color:#fff;padding:3px 12px;font-size:.78rem;border-radius:3px}

/* /news: 3 cards wide (12 per page = 4 rows) */
.newsgridpage .gridfeed{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:820px){.newsgridpage .gridfeed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.newsgridpage .gridfeed{grid-template-columns:minmax(0,1fr)}}

/* ---- phone bottom tab bar: hidden on desktop, so the top bar there is untouched ---- */
.tabbar{display:none}
@media (max-width:820px){
  .sitenav{display:none}
  .page{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--nav);color:#fff;border-top:3px solid var(--gold);padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:flex-start}
  .tab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;color:#fff;font:600 .72rem var(--sans);padding:0;cursor:pointer;text-decoration:none}
  .tab:hover{color:#fff}
  .tabic{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;overflow:hidden}
  .tab.on .tabic,.tab.open .tabic{background:rgba(255,255,255,.34)}
  .tab.on .tabic{box-shadow:0 0 0 2px var(--gold)}
  .tabic .i{width:22px;height:22px}
  .tabic img{width:100%;height:100%;object-fit:cover;display:block}
  .tablbl{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
  /* every popup opens straight above the bar, full width */
  .tabpop{list-style:none;margin:0;padding:6px 0;position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);max-height:60vh;overflow-y:auto;background:var(--box);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;box-shadow:0 -8px 22px rgba(0,0,0,.25)}
  .tabpop[hidden]{display:none}
  .tabpop a,.tabpop .ddlink{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:.92rem;color:inherit}
  .tabpop .ddlink{width:100%;background:none;border:0;font:inherit;font-size:.92rem;text-align:left;cursor:pointer}
  .tabpop .i{width:1.1em;height:1.1em;opacity:.85}
  .tabpop li form{margin:0}
  .moretools{padding:8px 12px 4px}
  .mtrow{display:flex;align-items:center;gap:8px}
  .moretools .iconbtn,.moretools .ddbtn{color:var(--ink);border:1px solid var(--line);border-radius:6px;background:none}
  .moretools .iconbtn:hover,.moretools .ddbtn:hover{background:rgba(164,22,26,.08);color:var(--ink)}
  .mtlangs{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--line)}
  .mtlangs[hidden]{display:none}
  .mtlangs a{display:block;padding:8px 4px;font-size:.88rem}
}

/* ---- post votes (discussions, stories, uploads) ---- */
.votes.row{flex-direction:row;gap:4px}
.postvote{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.postvote .pvlabel{font-size:.85rem;color:var(--muted)}
.scorestat.pos{color:var(--red)}
.scorestat.neg{color:#3b6fb6}
.topic-stats{display:inline-flex;align-items:center;gap:14px;flex:none}

/* "7 Nov 2026, 06:32 · by [pic] Name [Admin]" in lists: keep "by", the picture and the name on one line */
.sr-by{display:inline-flex;align-items:center;gap:5px}
.sr-meta .avatar.sm{width:20px;height:20px}
.sr-meta .avatar.ph.sm{font-size:.65rem}
.sr-meta .ulink strong{font-weight:600}

/* ---- audio page: cover + title, search / shuffle / ZIP, scrolling numbered list ---- */
.ahead{display:flex;gap:18px;align-items:flex-start;margin:0 0 12px}
.ahead-cover{flex:none;width:120px;height:120px;border-radius:10px;object-fit:cover;background:#14090b;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.ahead-cover.ph{display:inline-flex;align-items:center;justify-content:center;color:var(--gold-soft);background:linear-gradient(135deg,#3a1418,#14090b)}
.ahead-cover.ph .i{width:44px;height:44px}
.ahead-text{min-width:0}
.ahead-text .article-title{margin:0 0 6px}
.atotal{margin:0;color:var(--muted);font-size:.9rem}
.atools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.asearch{flex:1 1 200px;max-width:300px;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--box);color:var(--ink);font:400 .92rem var(--sans)}
.asearch:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.ashuffle{flex:none;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--box);color:var(--head);cursor:pointer}
.ashuffle:hover{border-color:var(--head)}
.ashuffle[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.ashuffle .i{width:1.1rem;height:1.1rem}
.atools .btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;font-size:.84rem}
.alist{max-height:372px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--box);margin:0 0 14px;scrollbar-width:thin;scrollbar-color:var(--head) var(--margin)}
.alist::-webkit-scrollbar{width:10px}
.alist::-webkit-scrollbar-track{background:var(--margin)}
.alist::-webkit-scrollbar-thumb{background:var(--head);border-radius:6px;border:2px solid var(--margin)}
.alist .plist{border:0;border-radius:0}
.alist .plist li[hidden]{display:none}
.alist .plist a{padding:14px 16px}
.alist .plist a.on{background:linear-gradient(135deg,#3a1418,#14090b);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--gold)}
.alist .plist a.on .pn{background:var(--gold);color:#1b1b1f}
.anone{margin:0 0 14px}
.anow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.anow-name{font-weight:600;color:var(--head);overflow-wrap:anywhere;min-width:0}
.anow .btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;font-size:.84rem}
@media(max-width:520px){.ahead-cover{width:88px;height:88px}.asearch{max-width:none}.atools .btn{margin-left:0}}
.alist{position:relative}
.audiopage .chips{margin-bottom:16px}
.ahead-text .article-title{margin-top:0}

/* Pictures with a transparent background sit on gray (light mode) or near-black (dark mode). */
:root{--imgbg:#cfcfd4}
[data-theme="dark"]{--imgbg:#08080a}
.article-img,.status-first img,.story-gallery img,.ahead-cover,.mi-cover,.gcover,.gcover img,.avatar{background-color:var(--imgbg)}
.avatar.ph{background-color:var(--red)}
.ahead-cover.ph{background:linear-gradient(135deg,#3a1418,#14090b)}

/* extra story pictures with a description underneath */
.story-fig{margin:0}
.story-fig figcaption{margin:5px 2px 0;font-size:.85rem;line-height:1.35;color:var(--muted)}
.filemain{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.filemain .filename{flex:none}
.filecaption{width:100%;font:inherit;font-size:.85rem;padding:4px 8px;border:1px solid var(--line);border-radius:4px;box-sizing:border-box}

.imgwarn{margin:5px 0 0;font-size:.75rem}
.imgwarn .i{width:.95em;height:.95em}
.censbox{font-size:.8rem;font-weight:400;display:inline-flex;align-items:center;gap:4px}
.current .censbox{margin-left:6px}

/* story pictures: one is shown large, two side by side, more as a grid */
.story-gallery.gal-1{grid-template-columns:minmax(0,640px)}
.story-gallery.gal-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.story-gallery.gal-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media (max-width:520px){.story-gallery.gal-2{grid-template-columns:minmax(0,1fr)}}
