/* ============================================================== *
 *  The Block Drop - Bitcoin news, fixed. Self-contained: no CDN,
 *  no external fonts, no trackers. Institutional-blue identity
 *  (AMEX x Walmart x China Mobile x J&J): strong blue + deep navy,
 *  pale-blue tints, single-purpose accents (gold=subscriber,
 *  green=up, red=breaking). Digest/newsletter layout. Light
 *  default, navy dark toggle. A Uplinkd Group publication.
 * ============================================================== */
:root{
  --blue:#0053E2; --blue-2:#0084CE; --blue-3:#006FCF; --navy:#00175A; --navy-2:#041F41;
  --sky:#E6F4FB; --sky-2:#78B9E7; --gold:#FFC220; --green:#5FA800; --green-2:#8CC518; --red:#D71600;
  --bg:#FFFFFF; --surface:#FFFFFF; --tint:#EEF6FD; --tint-2:#E6F4FB;
  --ink:#041F41; --ink-2:#475467; --ink-3:#8A93A3; --line:#DCE6F1; --line-2:#C6D6E8;
  --accent:var(--blue);
  --sans:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --wrap:1120px; --read:720px; --r:12px;
  --shadow:0 1px 2px rgba(4,31,65,.06),0 12px 30px rgba(4,31,65,.08);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#001233; --surface:#04214A; --tint:#052A5C; --tint-2:#062F66;
  --ink:#EAF2FB; --ink-2:#A9BCd6; --ink-3:#7C90AE; --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.2);
  --blue:#3B86FF; --blue-2:#4DB2F0; --accent:#3B86FF; --sky:#0A356E; --navy:#EAF2FB; --green:#8CC518;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;
  -webkit-font-smoothing:antialiased;transition:background .2s,color .2s}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{max-width:100%;height:auto;display:block}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.drop{color:var(--blue)}

/* top bar */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 90%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:18px;height:62px}
.brand{display:inline-flex;align-items:center;gap:8px;margin-right:auto;font-weight:800;font-size:1.4rem;letter-spacing:-.01em;color:var(--ink)}
.brand .dt{color:var(--blue);font-size:.8em}
.tnav{display:flex;gap:2px}
.tnav a{padding:8px 12px;border-radius:8px;font-size:.92rem;font-weight:500;color:var(--ink-2)}
.tnav a:hover{color:var(--blue);background:var(--tint)}
.tnav a[aria-current]{color:var(--blue)}
.top-r{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;gap:7px;border-radius:9px;font-weight:700;font-size:.9rem;padding:9px 16px;border:1px solid transparent}
.btn--sub{background:var(--blue);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.05),0 8px 18px rgba(0,83,226,.28)}
.btn--sub:hover{background:#0047c2}
.theme-toggle{display:inline-flex;align-items:center;background:transparent;color:currentColor;border:1px solid var(--line);border-radius:6px;padding:.4rem;line-height:0;cursor:pointer}
.theme-toggle:hover{color:var(--blue)}
.theme-toggle .ico-sun{display:none}.theme-toggle .ico-moon{display:inline}
:root[data-theme="dark"] .theme-toggle .ico-sun{display:inline}:root[data-theme="dark"] .theme-toggle .ico-moon{display:none}
@media(max-width:720px){.tnav{display:none}}

/* hero + subscribe */
.hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}
.hero-in{padding:56px 0 44px;max-width:760px}
.kick{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue);font-weight:600;margin:0 0 14px}
.kick .pip{width:8px;height:8px;border-radius:50%;background:var(--green-2);box-shadow:0 0 0 0 rgba(140,197,24,.6);animation:pip 2.4s ease-out infinite}
@keyframes pip{0%{box-shadow:0 0 0 0 rgba(140,197,24,.5)}70%{box-shadow:0 0 0 7px rgba(140,197,24,0)}100%{box-shadow:0 0 0 0 rgba(140,197,24,0)}}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.4rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;margin:0;color:var(--ink)}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .sub{font-size:clamp(1.05rem,1.7vw,1.28rem);color:var(--ink-2);margin:16px 0 0;max-width:46ch}
.subscribe{display:flex;gap:10px;margin-top:26px;max-width:480px}
.subscribe input[type=email]{flex:1;min-width:0;padding:14px 16px;border:1.5px solid var(--line-2);border-radius:10px;
  font-size:1rem;background:var(--surface);color:var(--ink)}
.subscribe input[type=email]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,83,226,.15)}
.subscribe button{padding:14px 22px;border:none;border-radius:10px;background:var(--blue);color:#fff;font-weight:700;font-size:1rem;white-space:nowrap}
.subscribe button:hover{background:#0047c2}
.hero-note{margin-top:12px;font-size:.82rem;color:var(--ink-3)}
.hero-note b{color:var(--green)}
@media(max-width:520px){.subscribe{flex-direction:column}}

/* section frame */
.sec{padding:44px 0}
.sec--tint{background:var(--tint-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.head h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--ink)}
.head .more{font-family:var(--mono);font-size:.78rem;color:var(--blue);font-weight:600}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-2);font-weight:600;display:block;margin-bottom:6px}

/* today's drop - summary list card */
.today{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--r);
  padding:26px 28px;box-shadow:var(--shadow)}
.today .t-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.today .badge{font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:var(--blue);border-radius:5px;padding:3px 8px}
.today time{font-family:var(--mono);font-size:.78rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.today h3{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;margin:2px 0 14px}
.dl-kick{display:block;font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.a-title .dl-kick{font-size:.8rem;letter-spacing:.12em;margin-bottom:9px}
.today h3 a:hover{color:var(--blue)}
.sumlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sumlist li{position:relative;padding-left:26px;color:var(--ink-2);font-size:.98rem;line-height:1.5}
.sumlist li::before{content:"";position:absolute;left:6px;top:9px;width:8px;height:8px;border-radius:2px;background:var(--blue);transform:rotate(45deg)}
.today .read{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:700;color:var(--blue)}

/* featured pull-outs */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}
.feat{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .15s,box-shadow .15s}
.feat:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.feat .fimg{aspect-ratio:16/9;background:var(--sky) center/cover no-repeat;display:block}
.feat .fb{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}
.feat .meta{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.feat h3{font-size:1.08rem;font-weight:700;line-height:1.28;margin:0}
.feat h3 a:hover{color:var(--blue)}
.feat p{color:var(--ink-2);font-size:.92rem;margin:0}

/* recent drops - compact digest list */
.drops{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.drow{padding:16px 20px;border-bottom:1px solid var(--line)}
.drow:last-child{border-bottom:none}
.drow:hover{background:var(--tint)}
.drow .d-date{font-family:var(--mono);font-size:.74rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.drow h3{font-size:1.05rem;font-weight:700;margin:0 0 4px;line-height:1.3}
.drow h3 a:hover{color:var(--blue)}
.drow p{color:var(--ink-2);font-size:.9rem;margin:0}
.drow .chips{margin-top:7px}
@media(max-width:560px){.drow{grid-template-columns:1fr;gap:5px}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--blue-2);
  background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
a.chip:hover{border-color:var(--blue)}

/* free vs subscriber tiers */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:720px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.tier.pro{border:2px solid var(--gold);position:relative}
.tier .plan{font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.tier.pro .plan{color:#9a6b00}
.tier .price{font-size:1.8rem;font-weight:800;margin:4px 0 2px;color:var(--ink)}
.tier .price small{font-size:.85rem;font-weight:500;color:var(--ink-3);font-family:var(--mono)}
.tier ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.tier li{position:relative;padding-left:26px;color:var(--ink-2);font-size:.95rem}
.tier li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.tier.pro li::before{color:var(--gold)}
.tier .flag{position:absolute;top:-11px;right:20px;background:var(--gold);color:#3a2600;font-family:var(--mono);
  font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:4px 10px}
.tier .btn{margin-top:18px;width:100%;justify-content:center}
.tier.pro .btn{background:var(--gold);color:#3a2600}
.tier.pro .btn:hover{background:#f0b400}

/* final cta band */
.cta-band{background:linear-gradient(120deg,var(--navy-2),var(--blue));color:#fff;border-radius:18px;padding:40px 34px;text-align:center}
:root[data-theme="dark"] .cta-band{background:linear-gradient(120deg,#02163a,#0a49b0)}
.cta-band h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:0 0 8px;color:#fff}
.cta-band p{color:rgba(255,255,255,.85);margin:0 0 20px}
.cta-band .subscribe{margin:0 auto;justify-content:center}
.cta-band input[type=email]{background:rgba(255,255,255,.95)}
.cta-band button{background:var(--gold);color:#3a2600}
.cta-band button:hover{background:#f0b400}

/* article */
.article{max-width:var(--read);padding:34px 24px 60px}
.back{font-family:var(--mono);font-size:.78rem;color:var(--ink-3)} .back:hover{color:var(--blue)}
.a-meta{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px}
.a-title{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;line-height:1.14;letter-spacing:-.02em;margin:.2rem 0 .5rem;color:var(--ink)}
.a-feat img{border-radius:var(--r);border:1px solid var(--line);margin:14px 0 6px}
.article .chips{margin:14px 0 6px}
.article-body{background:#fff;color:#0f172a;border:1px solid var(--line);border-radius:var(--r);padding:30px 34px;margin-top:18px;overflow-x:auto}
.article-body a{color:var(--blue-3);text-decoration:underline;text-underline-offset:2px}
.article-body img{border-radius:8px;margin:1.2rem auto}
.article-body hr{border:none;border-top:1px solid #e2e8f0;margin:1.6rem 0}
.article-body table{width:100%;border-collapse:collapse}
@media(max-width:560px){.article-body{padding:20px 16px}}
.a-sub{margin-top:34px;background:var(--tint-2);border:1px solid var(--line);border-radius:16px;padding:26px 28px}
.a-sub h3{margin:0 0 4px;font-size:1.2rem;font-weight:800}
.a-sub p{color:var(--ink-2);margin:0 0 16px}

/* footer */
.foot{border-top:1px solid var(--line);background:var(--tint-2);padding:34px 0 14px;margin-top:10px}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}
.foot .fb{font-weight:800;font-size:1.05rem}
.foot .ftag{color:var(--ink-3);font-size:.85rem;margin:.4rem 0 0;max-width:44ch}
.foot nav{display:flex;gap:16px;font-size:.9rem}
.foot nav a{color:var(--ink-2)} .foot nav a:hover{color:var(--blue)}
.foot .sub-line{font-family:var(--mono);font-size:.68rem;letter-spacing:.03em;color:var(--ink-3);padding-top:18px;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.pip{animation:none!important}}
