/* Shared styles for press.html and social.html (index.html keeps its own inline copy). */
:root {
  --paper:#f4edd9; --card:#fffdf5; --ink:#1d1b16; --muted:#6c675a; --line:#cfc6aa;
  --red:#c8102e; --blue:#1d3a8a; --amber:#e0b731;
  --serif: Georgia, "Times New Roman", serif;
  --shadow: 4px 4px 0 var(--ink);
}
@media (prefers-color-scheme: dark) {
  :root { --paper:#16151a; --card:#211f27; --ink:#f2ecda; --muted:#a39e90; --line:#3a3744;
          --red:#ff5a6e; --blue:#8aa4ff; --shadow:4px 4px 0 #000; }
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font:16px/1.55 system-ui,sans-serif; min-height:100vh;
       background:
         radial-gradient(circle at 20% 10%, color-mix(in srgb,var(--red) 7%,transparent), transparent 40%),
         radial-gradient(circle at 85% 70%, color-mix(in srgb,var(--blue) 8%,transparent), transparent 45%),
         var(--paper); }
main { max-width:620px; margin:0 auto; padding:0 16px 64px; overflow-x:clip; }
.topbar { background:var(--red); height:26px; margin:0 -16px; }
header { text-align:center; padding:22px 0 8px; border-bottom:4px double var(--ink); margin-bottom:12px; }
h1 { margin:0; font:900 clamp(2.4rem,11vw,3.6rem)/1 var(--serif); letter-spacing:-.02em; text-transform:uppercase; }
h1 a { color:inherit; text-decoration:none; }
h1 em { font-style:normal; color:var(--red); }
.tag { font:italic .95rem var(--serif); color:var(--muted); margin:6px 0 10px; }
.stamp { display:inline-block; transform:rotate(-4deg); border:3px solid var(--red); color:var(--red); margin-bottom:10px;
         font:900 .68rem/1.1 system-ui; letter-spacing:.14em; text-transform:uppercase; padding:4px 9px; border-radius:6px; opacity:.9; }

.nav { display:flex; justify-content:center; gap:6px; margin:0 0 18px; flex-wrap:wrap; }
.nav a { font:800 .78rem system-ui; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--ink);
         padding:8px 14px; border:2px solid var(--ink); border-radius:4px; background:var(--card); box-shadow:2px 2px 0 var(--ink); }
.nav a:hover { transform:translate(-1px,-1px); box-shadow:3px 3px 0 var(--ink); }
.nav a[aria-current="page"] { background:var(--ink); color:var(--card); }
.nav a:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }

.card { background:var(--card); border:2px solid var(--ink); border-radius:4px; box-shadow:var(--shadow);
        padding:22px 20px 20px; margin:22px 0; position:relative; }
.card.tab::before { content:attr(data-tab); position:absolute; top:-12px; left:16px; background:var(--ink); color:var(--card);
        font:700 .7rem/1 ui-monospace,monospace; letter-spacing:.1em; padding:5px 8px; }
h2 { font-family:var(--serif); line-height:1.2; margin:0 0 8px; }
h3 { font:800 .72rem system-ui; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:22px 0 6px; }
.small { color:var(--muted); font-size:.9rem; }
.kicker { font:700 .72rem system-ui; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
a { color:var(--blue); font-weight:600; }
.fill { background:color-mix(in srgb,var(--amber) 40%,transparent); border-radius:3px; padding:0 3px; font-weight:600; }

/* press release */
.pr h2.head { font-size:clamp(1.5rem,6vw,2rem); text-transform:none; }
.pr .sub { font:italic 1.1rem/1.4 var(--serif); color:var(--muted); margin:0 0 16px; }
.pr blockquote { margin:16px 0; padding:4px 0 4px 14px; border-left:4px solid var(--red); font:italic 1.05rem/1.5 var(--serif); }
.pr ul { padding-left:1.2rem; } .pr li { margin:6px 0; }
.meta { border-top:2px solid var(--ink); border-bottom:1px solid var(--line); padding:8px 0; margin:0 0 16px; font-size:.9rem; }

/* social posts */
.post pre { white-space:pre-wrap; word-wrap:break-word; font:inherit; background:color-mix(in srgb,var(--amber) 14%,transparent);
            border:1px solid var(--line); border-radius:4px; padding:12px 14px; margin:8px 0 12px; }
.post .alt { font-size:.85rem; color:var(--muted); margin:-4px 0 12px; }
.chars { font:600 .75rem ui-monospace,monospace; color:var(--muted); margin-left:auto; }
.row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
button { font:inherit; cursor:pointer; color:var(--ink); background:var(--card); border:2px solid var(--ink); border-radius:4px;
         padding:7px 12px; box-shadow:2px 2px 0 var(--ink); transition:transform .08s, box-shadow .08s; }
button:hover { transform:translate(-1px,-1px); box-shadow:3px 3px 0 var(--ink); }
button:active { transform:translate(2px,2px); box-shadow:0 0 0 var(--ink); }
button.primary { background:var(--red); color:#fff; font-weight:700; }
@media (prefers-color-scheme: dark) { button.primary { color:#111; } }
.thread pre + .row { margin-bottom:18px; }
footer { text-align:center; color:var(--muted); font-size:.8rem; margin-top:28px; }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; } }

.chip { display:inline-block; font:800 .66rem system-ui; letter-spacing:.12em; text-transform:uppercase; padding:3px 8px; border-radius:3px; color:#fff; background:var(--red); }
.chip.policy { background:var(--blue); }
@media (prefers-color-scheme: dark) { .chip, .chip.policy { color:#111; } }

/* picture gallery */
.gallery { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.gallery figure { margin:0; }
.gallery img { width:100%; height:auto; display:block; border:1px solid var(--line); border-radius:4px; -webkit-touch-callout:default; }
.gallery figcaption { font-size:.78rem; color:var(--muted); text-align:center; margin-top:4px; }

/* banners */
.banners { display:grid; gap:18px; margin-top:14px; }
.banners figure { margin:0; }
.banners img { width:100%; height:auto; display:block; border:1px solid var(--line); border-radius:4px; -webkit-touch-callout:default; }
.banners figcaption { font-size:.85rem; margin-top:6px; }
