/* Terminal style: one monospace family, near-black, flat panels with hairline borders,
   dense one-line rows. Orange is the only accent; coin tags are plain blue text. */
:root {
  --bg: #050505;
  --surface: #0c0d0f;
  --panel-head: #121417;
  --ink: #c6c9ce;
  --bright: #eef0f2;
  --muted: #7b8189;
  --rule: #23262b;
  --chip: #1a1d21;
  --tag: #58a6e8;
  --bull: #3fb950;
  --bear: #f0524a;
  --fg-1: #e5534b;
  --fg-2: #ee8d48;
  --fg-3: #a69f7c;
  --fg-4: #66b77b;
  --fg-5: #2ea865;
  --focus: #58a6e8;
  --accent: #f0883e;
  --radius: 0;
  --mono: "Noto Sans Mono", "Droid Sans Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  color-scheme: dark;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 13px/1.5 var(--mono);
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); }
:focus-visible { outline: 1px solid var(--focus); outline-offset: 2px; }
button { font: inherit; color: inherit; cursor: pointer; }
h1, h2, h3 { line-height: 1.25; margin: 0; color: var(--bright); font-weight: 600; }
h1 { font-size: 22px; }
h2 { font-size: 13px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hp { position: absolute; left: -9999px; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; background: var(--surface); padding: .5rem .75rem; z-index: 10; }
.empty { color: var(--muted); margin: .5rem 0 0; }
.note { color: var(--muted); font-size: 12px; }

/* ---- Header ---- */
.top { border-bottom: 1px solid var(--rule); background: var(--bg); position: sticky; top: 0; z-index: 5; }
.top-inner { max-width: 1440px; margin: 0 auto; padding: 0 16px; height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { font-weight: 700; font-size: 17px; color: var(--bright); display: flex; align-items: center; gap: 10px; letter-spacing: -.02em; }
.brand-mark { height: 26px; width: auto; aspect-ratio: 50 / 31; display: block; flex-shrink: 0; overflow: visible; }
.top-nav { display: flex; height: 100%; }
.top-nav a { display: flex; align-items: center; padding: 0 14px; color: var(--muted); border-left: 1px solid var(--rule); }
.top-nav a:last-child { border-right: 1px solid var(--rule); }
.top-nav a:hover { color: var(--bright); background: var(--surface); }
.top-nav a[aria-current] { color: var(--bright); background: var(--surface); box-shadow: inset 0 -2px 0 var(--accent); }

/* ---- Price ticker ---- */
.ticker-wrap { border-bottom: 1px solid var(--rule); background: var(--surface); position: sticky; top: 44px; z-index: 4; }
.ticker { max-width: 1280px; margin: 0 auto; padding: 0 16px; height: 30px; list-style: none; display: flex; align-items: center; gap: 22px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; font-size: 12px; }
.ticker::-webkit-scrollbar { display: none; }
.ticker a { display: inline-flex; gap: 7px; align-items: baseline; }
.t-sym { color: var(--muted); }
.t-price { color: var(--bright); }
.t-ch.up { color: var(--bull); }
.t-ch.down { color: var(--bear); }

/* ---- Home layout ---- */
.home { max-width: 1280px; margin: 0 auto; padding: 16px; display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 16px; align-items: start; }
.col-main, .col-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.col-side { position: sticky; top: 90px; }

/* Left price column (home page, wide screens). It stays put while the feed scrolls. */
.price-col { display: none; }
@media (min-width: 1100px) {
  .home.has-prices { max-width: 1440px; grid-template-columns: 112px minmax(0, 1fr) 290px; }
  .is-home .ticker-wrap { display: none; }
  .is-home .col-side { top: 60px; }
  .price-col { display: block; position: sticky; top: 60px; align-self: start; background: var(--surface); border: 1px solid var(--rule); max-height: calc(100vh - 76px); overflow-y: auto; }
  .price-col .period { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--rule); background: var(--panel-head); }
  .price-col .period button { background: none; border: 0; border-left: 1px solid var(--rule); padding: 5px 0; font-size: 11px; color: var(--muted); }
  .price-col .period button:first-child { border-left: 0; }
  .price-col .period button[aria-pressed="true"] { color: var(--bright); box-shadow: inset 0 -2px 0 var(--accent); }
  .price-col .period button:hover { color: var(--bright); }
  .price-col .ticker { flex-direction: column; align-items: stretch; height: auto; gap: 0; padding: 0; overflow: visible; font-size: 11px; }
  .price-col .ticker li { border-bottom: 1px solid var(--rule); }
  .price-col .ticker li:last-child { border-bottom: 0; }
  .price-col .ticker a { display: grid; grid-template-columns: auto 1fr; gap: 1px 6px; padding: 6px 8px; line-height: 1.35; }
  .price-col .ticker a:hover { background: var(--panel-head); color: inherit; }
  .price-col .t-sym { color: var(--muted); }
  .price-col .t-price { grid-column: 2; grid-row: 1; text-align: right; color: var(--bright); }
  .price-col .t-ch { grid-column: 1 / -1; grid-row: 2; text-align: right; font-size: 11px; }
}

/* Panels: flat box with a header strip */
.brief, .card, .signup.compact, .feed { background: var(--surface); border: 1px solid var(--rule); }
.brief > h2, .brief-head, .card > h2, .card-head, .signup.compact > h2, .feed-head {
  background: var(--panel-head); border-bottom: 1px solid var(--rule); padding: 0 12px; min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.card > *:not(h2):not(.card-head):not(.gauge):not(.cmp-list):not(.events):not(.ev-group), .signup.compact > *:not(h2) { margin-left: 12px; margin-right: 12px; }
.card > :last-child, .signup.compact > :last-child { margin-bottom: 12px; }

/* ---- Brief ---- */
.brief h2 { font-size: 12px; }
.brief-time { margin: 0; color: var(--muted); font-size: 12px; }
.brief-list { list-style: none; margin: 0; padding: 4px 0; }
.brief-list li { padding: 6px 12px 6px 26px; position: relative; color: var(--ink); border-bottom: 1px solid var(--rule); font-size: 12px; line-height: 1.5; }
.brief-list li:last-child { border-bottom: 0; }
.brief-list li::before { content: ">"; position: absolute; left: 12px; color: var(--accent); }
.brief-list .src { color: var(--muted); font-size: 10px; white-space: nowrap; margin-left: 6px; }
.brief-list .src:hover { color: var(--accent); }

/* ---- Feed ---- */
.feed-head h2 { font-size: 13px; }
.tabs { display: flex; align-self: stretch; }
.tabs button { background: none; border: 0; border-left: 1px solid var(--rule); padding: 0 12px; color: var(--muted); }
.tabs button[aria-selected="true"] { color: var(--bright); background: var(--surface); box-shadow: inset 0 -2px 0 var(--accent); }
.tabs button:hover { color: var(--bright); }
.filter-note { margin: 0; padding: 8px 12px; color: var(--muted); border-bottom: 1px solid var(--rule); }
.stories { list-style: none; margin: 0; padding: 0; }
.story { display: grid; grid-template-columns: 52px minmax(0, 1fr) 34px; gap: 0 10px; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--rule); position: relative; }
.story:hover { background: #0f1114; }
.story.is-new { animation: arrive 1.2s ease-out; }
@keyframes arrive { from { background: color-mix(in srgb, var(--accent) 14%, transparent); } to { background: transparent; } }
.ago { color: var(--muted); font-size: 11px; text-align: right; padding-top: 1px; }
.headline { font: inherit; font-size: 13px; font-weight: 400; line-height: 1.45; color: var(--bright); }
.headline button { background: none; border: 0; padding: 0; text-align: left; color: inherit; line-height: inherit; }
.headline button:hover { text-decoration: underline; text-underline-offset: 3px; }
.meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-top: 2px; font-size: 11px; color: var(--muted); }
.copies { color: var(--muted); }
.chip { color: var(--tag); font-size: 11px; }
.chip:hover { color: var(--accent); }
.sent { font-size: 11px; }
.sent.bull { color: var(--bull); }
.sent.bear { color: var(--bear); }
.detail { margin-top: 8px; padding: 8px 10px; background: var(--bg); border: 1px solid var(--rule); }
.detail p { margin: 0 0 6px; }
.summary { max-width: 80ch; color: var(--ink); }
.detail-links { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; }
.detail-links a { color: var(--tag); }
.others { margin: 4px 0 0; padding-left: 16px; font-size: 12px; }
.others li { margin: 2px 0; }
.others .source { color: var(--muted); font-size: 11px; }
.new-stories { display: block; width: 100%; padding: 8px; border: 0; border-bottom: 1px solid var(--rule); background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent); }
.load-more { display: block; width: 100%; background: none; border: 0; padding: 10px; color: var(--muted); }
.load-more:hover { color: var(--bright); background: var(--panel-head); }
.empty-trending { padding: 16px 12px; color: var(--muted); }
.stories > .empty { padding: 16px 12px; margin: 0; }
.feed-empty { padding: 0 12px 12px; }

/* Votes */
.votes { display: flex; flex-direction: column; align-items: center; align-self: start; }
.vote-btn { background: none; border: 0; padding: 2px 6px; line-height: 0; color: var(--muted); }
.vote-btn svg { width: 11px; height: 7px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; }
.vote-btn:hover { color: var(--bright); }
.vote-btn.up[aria-pressed="true"] { color: var(--bull); }
.vote-btn.down[aria-pressed="true"] { color: var(--bear); }
.vote-score { font-size: 11px; color: var(--ink); min-width: 2ch; text-align: center; line-height: 1.3; }
.votes[data-my-vote="1"] .vote-score { color: var(--bull); }
.votes[data-my-vote="-1"] .vote-score { color: var(--bear); }
.story-head { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; }

/* ---- Sidebar cards ---- */
.card h2 a:hover { color: var(--accent); }
.link-btn { background: none; border: 0; padding: 0; color: var(--tag); font-size: 12px; }
.link-btn:hover { color: var(--accent); }

/* Gauge */
.gauge { position: relative; max-width: 240px; margin: 14px auto 0; }
.gauge svg { display: block; width: 100%; height: auto; }
.gauge .band { fill: none; stroke-width: 16; stroke-linecap: butt; }
.gauge .needle { stroke: var(--bright); stroke-width: 3; stroke-linecap: square; }
.gauge .hub { fill: var(--bright); }
.gauge-read { display: flex; flex-direction: column; align-items: center; }
.gauge-value { font-weight: 700; font-size: 44px; line-height: 1; color: var(--bright); letter-spacing: -.04em; }
.gauge-label { color: var(--muted); font-size: 12px; margin-top: 2px; }
.gauge-large .gauge-value { font-size: 48px; }
.cmp-list { display: grid; grid-template-columns: repeat(3, 1fr); margin: 12px 0 0; border-top: 1px solid var(--rule); }
.cmp { text-align: center; padding: 8px 4px; border-left: 1px solid var(--rule); }
.cmp:first-child { border-left: 0; }
.cmp dt { font-size: 11px; color: var(--muted); }
.cmp dd { margin: 0; }
.cmp-v { font-weight: 700; font-size: 16px; color: var(--bright); }
.cmp-l { display: block; font-size: 10px; color: var(--muted); }

/* Events */
.ev-group { font-size: 11px; font-weight: 400; color: var(--muted); margin: 0; padding: 6px 12px; border-bottom: 1px solid var(--rule); background: var(--bg); }
.events { list-style: none; margin: 0; padding: 0; }
.events li { display: grid; grid-template-columns: 78px 1fr; gap: 0 10px; padding: 7px 12px; border-bottom: 1px solid var(--rule); align-items: baseline; }
.card .events:last-child li:last-child { border-bottom: 0; }
.events time { white-space: nowrap; font-size: 12px; color: var(--ink); }
.events .chip { grid-column: 2; justify-self: start; }
.ev-title { color: var(--bright); }
.ev-detail { grid-column: 2; font-size: 11px; color: var(--muted); }
.ev-when { display: flex; flex-direction: column; line-height: 1.3; }
.ev-day { font-size: 10px !important; color: var(--muted) !important; }
.events li.is-past { opacity: .5; }
.events.wide { border: 1px solid var(--rule); background: var(--surface); }
.events.wide li { grid-template-columns: 90px 1fr; padding: 9px 12px; }
.events.wide li:last-child { border-bottom: 0; }
.ev-day-block h2 { font-size: 13px; margin: 20px 0 6px; color: var(--muted); font-weight: 400; }
.card .empty { padding: 8px 0; }

/* Poll */
.poll-q { margin: 10px 12px 8px; color: var(--bright); }
.poll-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vote { border: 1px solid currentColor; background: none; padding: 6px; }
.vote.bull { color: var(--bull); }
.vote.bear { color: var(--bear); }
.vote:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.poll[data-voted] .poll-buttons { display: none; }
.poll[data-voted=""] .poll-buttons { display: grid; }
.bar { height: 6px; background: var(--bear); overflow: hidden; margin-top: 4px; }
.bar span { display: block; height: 100%; background: var(--bull); transition: width .5s ease; }
.poll-result p { margin: 6px 0 0; font-size: 12px; }
.pct { color: var(--bright); }
.streak { color: var(--accent); }
.outcome { font-size: 11px; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 8px; margin-top: 10px; }

/* ---- Signup ---- */
.signup.compact p { margin: 10px 12px 8px; font-size: 12px; color: var(--muted); }
.signup-row { display: flex; gap: 6px; margin-top: 4px; }
.signup input[type="email"] { flex: 1; min-width: 0; padding: 7px 9px; border: 1px solid var(--rule); background: var(--bg); color: var(--bright); font: inherit; }
.signup input[type="email"]:focus { border-color: var(--accent); outline: 0; }
.signup button[type="submit"], .button { background: none; color: var(--accent); border: 1px solid var(--accent); padding: 7px 14px; display: inline-block; }
.signup button[type="submit"]:hover, .button:hover { background: var(--accent); color: #000; }
.freq { border: 0; padding: 0; margin: 8px 0 0; display: flex; gap: 16px; font-size: 12px; }
.freq input { accent-color: var(--accent); }
.signup .consent { font-size: 11px; color: var(--muted); margin-top: 8px; }
.signup .consent a { color: var(--tag); }
.form-msg:empty { display: none; }
.form-msg { margin-top: 8px; }
.form-msg.ok { color: var(--bull); }
.form-msg.err { color: var(--bear); }

/* ---- Plain pages ---- */
.page { max-width: 1280px; margin: 0 auto; padding: 24px 16px 40px; }
.page.narrow { max-width: 760px; }
.page h2 { margin: 28px 0 10px; font-size: 14px; }
.lede { font-size: 13px; color: var(--muted); max-width: 72ch; margin: 8px 0 20px; }
.back { margin: 0 0 14px; }
.back a, .prose a, .article a, .h-news a, .sources a, .follow a, .pager a, .notice a { color: var(--tag); }
.story-page .meta { margin: 10px 0 14px; font-size: 12px; }
.notice { padding: 9px 12px; border: 1px solid var(--rule); }
.notice.ok { border-color: var(--bull); color: var(--bull); }
.notice.err { border-color: var(--bear); color: var(--bear); }
.prose p { max-width: 76ch; }
.fg-hero { display: grid; grid-template-columns: 300px 1fr; gap: 24px; align-items: center; background: var(--surface); border: 1px solid var(--rule); padding: 20px; }
.fg-hero .gauge { margin: 0; max-width: 300px; }
.fg-hero .cmp-list { border: 0; margin: 0; }
.fg-hero .cmp-v { font-size: 28px; }
.history { width: 100%; height: auto; display: block; background: var(--surface); border: 1px solid var(--rule); padding: 8px; }
.history .hband { opacity: .16; }
.history .hline { fill: none; stroke: var(--bright); stroke-width: 1.5; stroke-linejoin: round; }
.history .hdot { fill: var(--accent); }
.history .tick { fill: var(--muted); font-size: 11px; font-family: var(--mono); }
.inputs { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--rule); }
.inputs th, .inputs td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--rule); vertical-align: top; font-weight: 400; }
.inputs tbody th { color: var(--bright); }
.inputs thead th { font-size: 11px; color: var(--muted); background: var(--panel-head); }
.inputs .num { text-align: right; white-space: nowrap; color: var(--bright); }
.page .signup { margin-top: 32px; }
.page .signup.compact > h2, .page .card > h2 { margin: 0; font-size: 13px; }
.page .signup:not(.compact) label { color: var(--muted); }
.event-form { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 8px; align-items: end; margin-bottom: 12px; }
.event-form label { display: grid; gap: 4px; font-size: 11px; color: var(--muted); }
.event-form input, .event-form select { padding: 6px; border: 1px solid var(--rule); background: var(--bg); color: var(--bright); font: inherit; }
.event-form button { background: none; color: var(--accent); border: 1px solid var(--accent); padding: 6px 12px; }

.foot { border-top: 1px solid var(--rule); max-width: 1440px; margin: 0 auto; padding: 14px 16px 28px; color: var(--muted); font-size: 11px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.foot p { margin: 0; }
.foot a { margin-left: 14px; }
.foot a:hover { color: var(--accent); }

/* ---- Articles ---- */
.article-list { list-style: none; margin: 12px 0 0; padding: 0; border-top: 1px solid var(--rule); }
.article-card { padding: 14px 0; border-bottom: 1px solid var(--rule); }
.article-card h2 { margin: 0; font-size: 15px; }
.article-card h2 a:hover { color: var(--accent); }
.article-card p { margin: 6px 0 0; max-width: 80ch; }
.article-card .meta, .article .meta { font-size: 11px; color: var(--muted); }
.article-list.compact .article-card h2 { font-size: 13px; }
.kind { color: var(--accent); }
.article { line-height: 1.7; }
.article h1 { font-size: 24px; line-height: 1.3; }
.article h2 { font-size: 15px; margin: 26px 0 8px; }
.article p { margin: 0 0 14px; max-width: 76ch; }
.article .lede { margin-bottom: 8px; }
.article .meta { margin-bottom: 20px; }
.sources { padding-left: 18px; font-size: 12px; }
.sources .source { color: var(--muted); font-size: 11px; }
.follow { margin-top: 20px; }
.pager { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; color: var(--muted); }
.drafts { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
.drafts li { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.drafts a { color: var(--bright); }
.drafts .note { margin: 4px 0 0; }
.drafts button[type="submit"]:not(.link-btn) { background: none; color: var(--accent); border: 1px solid var(--accent); padding: 5px 12px; }
.job-msg { font-size: 11px; color: var(--muted); }
.job-msg .bad { color: var(--bear); }

/* ---- Bitcoin halving: the clock is the one loud element ---- */
.halving h1 { font-size: 24px; }
.h-hero { background: var(--surface); border: 1px solid var(--rule); border-top: 2px solid var(--accent); padding: 28px 20px 22px; text-align: center; }
.h-clock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 760px; margin: 0 auto; }
.h-clock > div { display: flex; flex-direction: column; align-items: center; border-left: 1px solid var(--rule); }
.h-clock > div:first-child { border-left: 0; }
.h-num { font-weight: 700; font-size: clamp(36px, 8vw, 72px); line-height: 1; color: var(--bright); letter-spacing: -.05em; }
.h-unit { color: var(--muted); font-size: 11px; margin-top: 8px; }
.h-date { margin: 22px 0 14px; color: var(--bright); }
.h-progress { max-width: 520px; margin: 0 auto; }
.h-progress .bar { background: var(--chip); height: 6px; }
.h-progress .bar span { background: var(--accent); }
.h-progress p { margin: 6px 0 0; font-size: 11px; color: var(--muted); }
.h-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); margin: 16px 0 0; }
.h-stat { background: var(--surface); padding: 10px 12px; }
.h-stat dt { font-size: 11px; color: var(--muted); }
.h-stat dd { margin: 3px 0 0; font-weight: 700; font-size: 17px; color: var(--bright); }
.h-note { display: block; font-weight: 400; font-size: 10px; color: var(--muted); }
.inputs tr.is-next th, .inputs tr.is-next td { color: var(--bright); font-weight: 700; }
.h-news { padding-left: 18px; }
.h-news li { margin: 5px 0; }
.h-news .source { color: var(--muted); font-size: 11px; }
.h-faq details { border-bottom: 1px solid var(--rule); padding: 10px 0; }
.h-faq summary { cursor: pointer; color: var(--bright); }
.h-faq summary:hover { color: var(--accent); }
.h-faq details p { margin: 8px 0 0; max-width: 76ch; color: var(--ink); }

/* ---- Small screens: brief, gauge, feed, then the rest ---- */
@media (max-width: 900px) {
  .home { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 12px; }
  .col-main, .col-side { display: contents; }
  .brief { order: 1; }
  .fg-card { order: 2; }
  .feed { order: 3; }
  .col-side > :not(.fg-card) { order: 4; }
  .fg-hero { grid-template-columns: 1fr; }
  .event-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .top-inner { padding: 0 0 0 12px; gap: 8px; }
  .top-nav { overflow-x: auto; scrollbar-width: none; }
  .top-nav::-webkit-scrollbar { display: none; }
  .top-nav a { white-space: nowrap; padding: 0 10px; font-size: 12px; }
  .h-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story { grid-template-columns: 40px minmax(0, 1fr) 30px; gap: 0 8px; }
  .ticker { gap: 16px; font-size: 11px; padding: 0 12px; }
  .tabs button { padding: 0 9px; }
  .feed-head h2 { display: none; }
  .feed-head { justify-content: flex-end; }
  .fg-card .gauge { max-width: 200px; }
  .h-clock > div { border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before { animation: none !important; transition: none !important; }
}

/* Cookie consent bar (only when Google Analytics is configured) */
.consent-bar { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 20; max-width: 760px; margin: 0 auto; background: var(--panel-head); border: 1px solid var(--rule); border-top: 2px solid var(--accent); padding: 12px 14px; display: flex; gap: 14px; align-items: center; justify-content: space-between; font-size: 12px; }
.consent-bar p { margin: 0; }
.consent-bar a { color: var(--tag); }
.consent-actions { display: flex; gap: 8px; flex-shrink: 0; }
.consent-actions button { background: none; border: 1px solid var(--rule); color: var(--ink); padding: 6px 14px; }
.consent-actions button.accept { border-color: var(--accent); color: var(--accent); }
.consent-actions button:hover { color: var(--bright); border-color: var(--bright); }
@media (max-width: 620px) { .consent-bar { flex-direction: column; align-items: stretch; } .consent-actions button { flex: 1; } }
