/* WARDOGS NOW public shell.
   Loaded after tokens.css and components.css, and only by views/partials/public-head.php.

   What is left here is what only the public site has: the sticky site header, the footer with its
   socials and disclaimer, and the section rhythm. Buttons, panels, dots, forms, the pager and the
   type scale all live in components.css now, shared with the admin console, which is what stopped
   .dot and .pager being defined twice with different values. */

/* ---------- shell ---------- */
body.site {
  background: var(--bg-0); color: var(--text-hi);
  font-family: var(--sans); margin: 0; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

@view-transition { navigation: auto; }
::view-transition-old(root) { animation:wd-page-out .18s ease both; }
::view-transition-new(root) { animation:wd-page-in .22s ease both; }
@keyframes wd-page-out { to { opacity:0; transform:translateY(-4px); } }
@keyframes wd-page-in { from { opacity:0; transform:translateY(7px); } }
.site-head { view-transition-name:site-header; }
::view-transition-old(site-header),::view-transition-new(site-header) { animation-duration:.16s; }
.site h1, .site h2, .site h3, .site h4 {
  font-family: var(--display);
  letter-spacing: .005em;
  text-transform: uppercase;
  text-wrap: balance;
}

/* Buttons colour themselves. Without :not(.b) this selector (0,2,1) outranks .b-primary (0,1,0),
   and a button that is an <a> inherits the body text colour: light on orange, 3.1 contrast,
   failing AA. That is a real bug this file shipped with once. */
.site a:not(.b) { color: inherit; }
.site a { text-decoration: none; }
.site img, .site svg { display: block; max-width: 100%; }

/* Klipy picker shared by community and admin rich-text editors. */
.rte { position:relative; }
.rte-gif-panel { position:absolute; z-index:40; top:44px; right:10px; width:min(410px,calc(100% - 20px)); max-height:min(460px,calc(100vh - 120px)); overflow-y:auto; padding:13px; border:1px solid var(--line2); border-radius:10px; background:linear-gradient(150deg,var(--bg-1),var(--bg-0)); box-shadow:0 20px 48px -18px rgba(0,0,0,.8); }
.rte-gif-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:11px; }
.rte-gif-head strong { display:block; margin-top:3px; color:var(--text-hi); font:700 .95rem var(--display); letter-spacing:.02em; }
.rte-gif-kicker { color:var(--accent); font:600 .56rem var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.rte-gif-close { display:grid; place-items:center; width:27px; height:27px; padding:0; border:1px solid var(--line2); border-radius:6px; background:var(--bg-2); color:var(--text-mid); cursor:pointer; font-size:1.15rem; line-height:1; }
.rte-gif-close:hover,.rte-gif-close:focus-visible { border-color:var(--accent); color:var(--accent); }
.rte-gif-search input { width:100%; }
.rte-gif-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:10px; }
.rte-gif-tile { position:relative; display:block; aspect-ratio:4/3; padding:0; overflow:hidden; border:1px solid var(--line2); border-radius:7px; background:var(--bg-0); cursor:pointer; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.rte-gif-tile:hover,.rte-gif-tile:focus-visible { border-color:var(--accent); outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent); outline-offset:1px; transform:translateY(-2px); box-shadow:0 7px 16px rgba(0,0,0,.35); }
.rte-gif-tile img { display:block; width:100%; height:100%; object-fit:cover; }
.rte-gif-skeleton { display:block; aspect-ratio:4/3; border-radius:7px; background:linear-gradient(105deg,var(--bg-2) 25%,var(--bg-hover) 40%,var(--bg-2) 55%); background-size:220% 100%; animation:rte-gif-shimmer 1.35s ease-in-out infinite; }
@keyframes rte-gif-shimmer { to { background-position:-120% 0; } }
.rte-gif-note { margin:10px 0 0; color:var(--text-mid); font-size:.75rem; }
.rte-gif-credit { margin:10px 0 0; color:var(--text-mid); font:500 .56rem var(--mono); letter-spacing:.1em; text-align:right; text-transform:uppercase; }

.shell { max-width: 1180px; margin: 0 auto; padding: 0 24px; width: 100%; }
.site section { padding: 64px 0; }
.site section + section { border-top: 1px solid var(--line); }

/* ---------- header ---------- */
.site-head {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in srgb, var(--bg-0) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-head .shell { display: flex; align-items: stretch; gap: 0; height: 72px; }
.site-head .shell > a:first-child { display:flex; align-items:center; flex:0 0 auto; padding-right:22px; }
.site-nav { display: flex; align-items: stretch; gap: 0; margin-left:18px; border-left:2px solid var(--accent); padding-left:18px; }
.site-nav a {
  display:flex; align-items:center;
  padding: 0 17px; border-radius: 0;
  font-family: var(--sans); font-size: .88rem; font-weight: 600;
  letter-spacing: .035em; text-transform: uppercase; color: var(--text-mid);
  border: 0;
  transition: color .16s ease, background-color .16s ease;
}
.site-nav a:hover,
.site-nav a:focus-visible {
  color: #0B0E10; background-color: var(--accent);
}
.site-nav a:focus-visible { outline: 2px solid var(--text-hi); outline-offset: -4px; }
.site-nav a.on { color: #0B0E10; background-color: var(--accent); }
.site-head .rail { margin-left: auto; display: flex; align-items: center; gap: 9px; }
.site-search-menu{position:relative}.site-search-menu>summary{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--bg-1);cursor:pointer;list-style:none}.site-search-menu>summary::-webkit-details-marker{display:none}.site-search-menu>summary span[aria-hidden]{position:relative;width:14px;height:14px;border:1.5px solid var(--text-mid);border-radius:50%}.site-search-menu>summary span[aria-hidden]::after{content:"";position:absolute;width:6px;height:1.5px;right:-5px;bottom:-2px;background:var(--text-mid);transform:rotate(45deg)}.site-search-menu[open]>summary,.site-search-menu>summary:hover{border-color:var(--accent)}.site-search-panel{position:absolute;z-index:50;top:calc(100% + 10px);right:0;width:min(520px,calc(100vw - 28px));padding:18px;border:1px solid var(--line2);border-radius:10px;background:#0e1316;box-shadow:0 24px 62px rgba(0,0,0,.55)}.site-search-panel label{display:block;margin-bottom:9px;color:var(--text-mid);font:600 .58rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.site-search-panel form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.site-search-panel input{min-height:43px}.site-search-suggestions{display:grid;margin-top:10px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.site-search-suggestions a{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:11px 13px;color:inherit}.site-search-suggestions a+a{border-top:1px solid var(--line)}.site-search-suggestions a:hover,.site-search-suggestions a[aria-selected=true]{background:var(--bg-hover)}.site-search-suggestions span{color:var(--accent);font:600 .54rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.site-search-suggestions strong,.site-search-suggestions small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-search-suggestions strong{font-size:.76rem}.site-search-suggestions small{margin-top:3px;color:var(--text-mid);font-size:.65rem}.site-search-state{padding:15px 14px;color:var(--text-mid);font-size:.72rem;line-height:1.5}.site-search-state.is-error{color:#f1b39f}.is-submitting{cursor:progress}.is-working{opacity:.72;cursor:progress}
.site-menu-button { display:none; width:40px; height:40px; padding:9px; border:1px solid var(--line); background:var(--bg-2); color:var(--text-hi); }
.site-menu-button span:not(.sr-only) { display:block; width:100%; height:1px; margin:4px 0; background:currentColor; transition:transform .16s,opacity .16s; }
.site-menu-button[aria-expanded="true"] span:nth-child(1) { transform:translateY(5px) rotate(45deg); }
.site-menu-button[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.site-menu-button[aria-expanded="true"] span:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
.site-mobile-nav { border-top:1px solid var(--line); background:var(--bg-0); }
.site-mobile-nav .shell { display:grid; height:auto; padding-top:10px; padding-bottom:12px; }
.site-mobile-nav a { display:flex; align-items:center; min-height:52px; padding:11px 14px; border-bottom:1px solid var(--line); color:var(--text-mid); font:600 .9rem/1.2 var(--sans); letter-spacing:.04em; text-transform:uppercase; }
.site-mobile-nav a:hover,.site-mobile-nav a:focus-visible,.site-mobile-nav a.on { color:#0B0E10; background:var(--accent); }

/* ---------- footer ---------- */
.site-foot { position:relative; overflow:hidden; border-top:1px solid var(--line2); background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 5%,var(--bg-1)) 0,var(--bg-1) 34%,var(--bg-0) 100%); padding:56px 0 32px; }
.site-foot::before { content:""; position:absolute; inset:0 0 auto; height:1px; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 64%,transparent),transparent); }
.site-foot::after { content:""; position:absolute; width:420px; height:420px; right:-220px; top:-270px; border:1px solid color-mix(in srgb,var(--accent) 10%,transparent); border-radius:50%; box-shadow:0 0 90px color-mix(in srgb,var(--accent) 5%,transparent); pointer-events:none; }
.site-foot .shell { position:relative; z-index:1; }
.foot-command { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:0 0 34px; border-bottom:1px solid var(--line); }
.foot-brand { display:flex; align-items:flex-start; gap:24px; max-width:760px; }
.foot-logo { flex:0 0 auto; padding-top:5px; }
.foot-kicker { display:block; margin-bottom:8px; color:var(--accent); font:600 .58rem/1 var(--mono); letter-spacing:.18em; text-transform:uppercase; }
.foot-brand strong { display:block; color:var(--text-hi); font:700 clamp(1.35rem,2.5vw,2rem)/1.08 var(--display); letter-spacing:.015em; text-transform:uppercase; }
.foot-brand p { max-width:620px; margin:9px 0 0; color:var(--text-mid); font-size:.82rem; line-height:1.65; }
.foot-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex:0 0 auto; }
.foot-resources { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:30px; }
.foot-resources > div { display:grid; align-content:start; gap:8px; }
.foot-resources span { margin-bottom:2px; color:var(--accent); font:600 .75rem/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.foot-resources a { width:max-content; max-width:100%; color:var(--text-hi); font-size:.85rem; }
.foot-resources a:hover { color:var(--accent); }
.foot-socials { margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.socials { display: flex; gap: 10px; flex-wrap: wrap; }
.social {
  display: inline-flex; align-items: center; gap: 9px; padding: 10px 15px;
  background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm);
  font-size: .84rem; font-weight: 600; color: var(--text-mid); transition: .14s;
}
.social:hover { border-color: var(--accent); color: var(--text-hi); }
.social svg { width: 19px; height: 19px; }
.foot-lower { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:30px; margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.disclaimer { max-width:800px; margin:0; color:var(--text-mid); font-size:.74rem; line-height:1.7; }
.disclaimer p { margin:7px 0 0; }
.foot-copyright { display:block; color:var(--text-hi); font:600 .63rem/1.2 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.developer-line { display:flex; align-items:flex-end; justify-content:flex-end; gap:10px; flex-direction:column; color:var(--text-mid); font:600 .63rem/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.developer-line a { color:var(--accent)!important; }
.developer-heart { color:var(--accent); font-size:.95rem; }

/* Shared legal readers use the same field-report language as the news modal. */
.legal-reader[hidden] { display:none; }
.legal-reader { position:fixed; inset:0; z-index:280; display:grid; place-items:center; padding:24px; }
.legal-reader-backdrop { position:absolute; inset:0; border:0; background:rgba(3,5,6,.91); backdrop-filter:blur(8px); }
.legal-reader-dialog { position:relative; display:flex; flex-direction:column; width:min(920px,96vw); max-height:min(880px,92vh); overflow:hidden; border:1px solid var(--line2); background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 28%),#101418; box-shadow:0 30px 90px rgba(0,0,0,.74); animation:legal-reader-in .3s cubic-bezier(.18,.76,.24,1) both; }
.legal-reader-dialog::before { content:""; height:3px; flex:0 0 auto; background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 22%,transparent),transparent); }
.legal-reader-head,.legal-reader-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; background:rgba(7,9,10,.76); }
.legal-reader-head { border-bottom:1px solid var(--line); }
.legal-reader-head small { display:block; margin-top:5px; color:var(--text-mid); font:500 .58rem/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.legal-reader-close { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border:1px solid var(--line2); background:var(--bg-2); color:var(--text-hi); cursor:pointer; }
.legal-reader-close:hover,.legal-reader-close:focus-visible { border-color:var(--accent); color:var(--accent); outline:0; }
.legal-reader-content { overflow:auto; overscroll-behavior:contain; padding:38px 46px 44px; }
.legal-reader-intro { padding-bottom:28px; border-bottom:1px solid var(--line); }
.legal-reader-intro > span { color:var(--accent); font:600 .58rem/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; }
.legal-reader-intro h2 { margin:9px 0 12px; font-size:clamp(2.35rem,6vw,4rem); line-height:.94; text-transform:uppercase; }
.legal-reader-intro p { max-width:700px; margin:0; color:var(--text-mid); font-size:.92rem; line-height:1.75; }
.legal-highlight { display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px; margin-top:26px; padding:20px 22px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line2)); background:color-mix(in srgb,var(--accent) 5%,var(--bg-2)); }
.legal-highlight strong { color:var(--text-hi); font:700 1.1rem/1.15 var(--display); text-transform:uppercase; }
.legal-highlight p { margin:0; color:var(--text-mid); font-size:.82rem; line-height:1.7; }
.legal-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin-top:14px; }
.legal-sections section { padding:24px 0; border-top:1px solid var(--line); }
.legal-sections section:nth-child(-n+2) { border-top:0; }
.legal-sections h3 { margin:0 0 8px; color:var(--text-hi); font-size:1.05rem; line-height:1.15; text-transform:uppercase; }
.legal-sections p { margin:0; color:#b9c3cb; font-size:.8rem; line-height:1.75; }
.legal-reader-foot { border-top:1px solid var(--line); }
.legal-reader-foot > span { color:var(--text-mid); font:500 .58rem/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
body.legal-reader-open { overflow:hidden; }
@keyframes legal-reader-in { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:none; } }

/* ---------- responsive ---------- */
@media (max-width: 820px) {
  .site-head .shell { height: 60px; gap: 10px; }
  .site-nav { display: none; }
  .site-menu-button { display:block; }
  .site-head .rail { margin-left:auto; }
  .site-head .rail .b:first-child { display:none; }
  .site-mobile-nav {
    position:absolute; top:100%; right:0; left:0;
    height:calc(100dvh - 60px); overflow-y:auto; overscroll-behavior:contain;
    background:var(--bg-0); box-shadow:0 24px 60px rgba(0,0,0,.56);
  }
  .site-mobile-nav .shell { display:grid; align-content:start; height:auto; padding:14px 20px 28px; }
  .site-mobile-nav a { min-height:58px; padding:14px 2px; }
  body.site-menu-open { overflow:hidden; }
  .site section { padding: 44px 0; }
  .shell { padding: 0 16px; }
  .site-foot { padding-top:42px; }
  .foot-command,.foot-brand { align-items:flex-start; flex-direction:column; }
  .foot-actions { width:100%; justify-content:flex-start; }
  .foot-resources { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .foot-lower { grid-template-columns:1fr; }
  .developer-line { align-items:flex-start; }
  .legal-reader { padding:10px; }
  .legal-reader-dialog { width:100%; max-height:96vh; }
  .legal-reader-content { padding:28px 20px 34px; }
  .legal-highlight,.legal-sections { grid-template-columns:1fr; }
  .legal-highlight { gap:8px; }
  .legal-sections section:nth-child(2) { border-top:1px solid var(--line); }
  .legal-reader-foot { align-items:stretch; flex-direction:column; padding:16px 20px; }
  .legal-reader-foot .b { justify-content:center; }
}
@media (max-width:520px) {
  .foot-resources { grid-template-columns:1fr; gap:24px; }
  .foot-actions .b { flex:1 1 0; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  *,*::before,*::after { scroll-behavior:auto!important; }
  .legal-reader-dialog { animation:none; }
  .site-nav a { transition:none; }
}
/* Shared account menu and notification affordance. */
.site-account-menu{position:relative}.site-account-menu summary{list-style:none;cursor:pointer}.site-account-menu summary::-webkit-details-marker{display:none}.site-account-panel{position:absolute;z-index:40;right:0;top:calc(100% + 9px);display:grid;min-width:190px;padding:7px;border:1px solid var(--line2);border-radius:10px;background:var(--bg-1);box-shadow:0 18px 45px rgba(0,0,0,.35)}.site-account-panel a{padding:10px 11px;color:var(--text-mid);font-size:.8rem;border-radius:6px}.site-account-panel a:hover{background:var(--bg-2);color:var(--text-hi)}.site-notification-link{position:relative;display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:8px;color:var(--text-dim);font-size:.55rem}.site-notification-link:hover{border-color:var(--accent);color:var(--accent)}.site-notification-link b{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#111;text-align:center;font:700 .58rem/17px var(--mono)}
@media(max-width:620px){.site-account-panel{position:fixed;right:12px;top:58px}}
.follow-alert-link{display:block;margin-top:5px;color:var(--text-mid);font:600 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase;text-align:center}.follow-alert-link:hover{color:var(--accent)}
.follow-copy{display:block;flex-basis:100%;max-width:300px;color:var(--text-dim);font-size:.72rem;line-height:1.45;text-align:right}
@media(max-width:700px){.follow-copy{max-width:none;text-align:left}}
.approval-welcome-modal{position:fixed;inset:0;z-index:295;display:grid;place-items:center;padding:24px}.approval-welcome-backdrop{position:absolute;inset:0;margin:0}.approval-welcome-backdrop button{width:100%;height:100%;border:0;background:rgba(3,5,6,.92);backdrop-filter:blur(8px);cursor:default}.approval-welcome-dialog{position:relative;width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:42px 44px 40px;border:1px solid var(--line2);background:#101418;box-shadow:0 30px 90px rgba(0,0,0,.72);animation:approval-welcome-in .24s ease-out both}.approval-welcome-dialog:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent)}.approval-welcome-close{position:absolute;top:18px;right:18px;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line2);background:var(--bg-2);color:var(--text-hi);cursor:pointer}.approval-welcome-close:hover,.approval-welcome-close:focus-visible{border-color:var(--accent);color:var(--accent);outline:0}.approval-welcome-mark{display:grid;width:58px;height:58px;place-items:center;margin-bottom:24px;border:1px solid var(--accent);color:var(--accent);font:700 .72rem var(--mono);letter-spacing:.08em}.approval-welcome-dialog h2{max-width:610px;margin:10px 0 14px;color:var(--text-hi);font-size:clamp(2rem,6vw,3.35rem);line-height:.96;text-transform:uppercase}.approval-welcome-dialog>p{max-width:620px;margin:0;color:var(--text-mid);font-size:.96rem;line-height:1.7}.approval-welcome-features{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}.approval-welcome-features div{display:grid;gap:5px;padding:17px 0;border-bottom:1px solid var(--line)}.approval-welcome-features strong{color:var(--text-hi);font-size:.9rem}.approval-welcome-features span{color:var(--text-mid);font-size:.82rem;line-height:1.55}.approval-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}body.approval-welcome-open{overflow:hidden}@keyframes approval-welcome-in{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}@media(max-width:600px){.approval-welcome-modal{padding:10px;align-items:end}.approval-welcome-dialog{max-height:calc(100vh - 20px);padding:34px 24px 26px}.approval-welcome-actions{display:grid}.approval-welcome-actions .b{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.approval-welcome-dialog{animation:none}}
.auth-action-dialog{width:min(560px,calc(100% - 32px));padding:40px;border:1px solid var(--line2);border-radius:14px;background:var(--bg-1);color:var(--text-hi)}.auth-action-dialog::backdrop{background:rgba(4,6,7,.8);backdrop-filter:blur(4px)}.auth-action-dialog h2{margin:11px 0 10px;font:700 clamp(2rem,5vw,3.1rem)/.95 var(--display);text-transform:uppercase}.auth-action-dialog p{margin:0;color:var(--text-mid);line-height:1.65}.auth-action-dialog>small{display:block;margin-top:20px;color:var(--text-mid);font-size:.7rem;line-height:1.55}.auth-action-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--bg-2);color:var(--text-hi);cursor:pointer}.auth-action-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.auth-action-options .b{justify-content:center;min-height:48px}.auth-discord{background:#5865f2;color:#fff}.auth-steam{background:#1b2838;color:#fff;border-color:#2a3f5a}@media(max-width:560px){.auth-action-dialog{padding:24px}.auth-action-options{grid-template-columns:1fr}.auth-action-close{top:10px;right:10px}}
.share-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}.share-controls [data-share-status]{color:var(--text-mid);font:600 .56rem var(--mono);letter-spacing:.06em;text-transform:uppercase}

/* One public media viewer replaces the separate thread and landing implementations. */
.public-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(5,7,8,.96);color:var(--text-hi)}
.public-lightbox::backdrop{background:rgba(5,7,8,.96)}
.public-lightbox-frame{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;padding:72px 84px 30px}
.public-lightbox-stage{display:grid;min-height:0;place-items:center}
.public-lightbox-image{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;opacity:0;transition:opacity .16s ease}
.public-lightbox.is-ready .public-lightbox-image{opacity:1}
.public-lightbox-state{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:var(--text-mid);font:600 .75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.public-lightbox.is-ready .public-lightbox-state{display:none}
.public-lightbox-caption{min-height:34px;margin:18px auto 0;color:var(--text-mid);font-size:.9rem;line-height:1.5;text-align:center}
.public-lightbox-close,.public-lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line2);border-radius:0;background:var(--bg-1);color:var(--text-hi);cursor:pointer;font:500 1.5rem/1 var(--sans)}
.public-lightbox-close{top:18px;right:22px}
.public-lightbox-nav{top:50%;transform:translateY(-50%);font-size:2rem}
.public-lightbox-prev{left:22px}.public-lightbox-next{right:22px}
.public-lightbox-close:hover,.public-lightbox-close:focus-visible,.public-lightbox-nav:hover,.public-lightbox-nav:focus-visible{border-color:var(--accent);background:var(--accent);color:#0B0E10}
.public-lightbox-count{position:absolute;top:30px;left:30px;color:var(--text-mid);font:600 .75rem/1 var(--mono);letter-spacing:.08em}
.public-lightbox[data-single=true] .public-lightbox-nav,.public-lightbox[data-single=true] .public-lightbox-count{display:none}
[data-lightbox],.post-body img,.news-article-body img,.news-reader-rich img{cursor:zoom-in}
body.public-lightbox-open{overflow:hidden}
@media(max-width:700px){.public-lightbox-frame{padding:70px 18px 26px}.public-lightbox-nav{top:auto;bottom:20px}.public-lightbox-prev{left:18px}.public-lightbox-next{right:18px}.public-lightbox-caption{padding:0 58px}.public-lightbox-image{max-height:calc(100dvh - 160px)}}
@media(prefers-reduced-motion:reduce){.public-lightbox-image{transition:none}}
