*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-bg:#fafbfc;--color-surface:#f1f4f8;--color-card:#fff;--color-border:#e4e9f0;--color-ink:#0e1726;--color-muted:#5a6678;--color-brand:#e46609;--color-brand-deep:#c4540a;--color-brand-soft:#fdf0e6;--color-up:#16a34a;--color-down:#dc2626;--color-chip:#eef2f7}html{font-feature-settings:"cv02","cv03","cv04","ss01"}body{background-color:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,h1,h2,h3,h4{color:var(--color-ink)}h1,h2,h3,h4{font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}a{color:var(--color-brand)}a:hover{color:var(--color-brand-deep)}.num,.tabular,table td,table th{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.wrap{margin-left:auto;margin-right:auto;max-width:1280px;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.wrap{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.wrap{padding-left:2rem;padding-right:2rem}}.article-wrap{margin-left:auto;margin-right:auto;max-width:720px;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.article-wrap{padding-left:1.5rem;padding-right:1.5rem}}.eyebrow{font-weight:700;letter-spacing:.12em;color:var(--color-brand)}.eyebrow,.eyebrow-muted{font-family:Inter,sans-serif;font-size:.6875rem;text-transform:uppercase}.eyebrow-muted{font-weight:600;letter-spacing:.1em;color:var(--color-muted)}.section-head{margin-bottom:1.5rem}@media (min-width:768px){.section-head{margin-bottom:2rem}}.section-head .eyebrow{margin-bottom:.5rem;display:block}.section-head h2{font-size:1.875rem;line-height:1.2;letter-spacing:-.02em;font-weight:800}.section-head .lede{margin-top:.5rem;font-size:1rem;line-height:1.5rem;color:var(--color-muted)}.topbar{background:var(--color-card);border-bottom:1px solid var(--color-border);font-family:Inter,sans-serif;font-size:.75rem}.topbar,.topbar a{color:var(--color-muted)}.topbar a:hover{color:var(--color-ink)}.topbar .fng{display:inline-flex;align-items:center;gap:.375rem;padding:2px 8px;background:var(--color-brand-soft);color:var(--color-brand-deep);border-radius:999px;font-weight:600;font-size:.7rem}.ticker{background:var(--color-card);border-bottom:1px solid var(--color-border);overflow:hidden;position:sticky;top:0;z-index:30}.ticker-track{display:flex;gap:1.75rem;padding:.625rem 0;animation:ticker-scroll 90s linear infinite;width:-moz-max-content;width:max-content}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.ticker-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap}.ticker-item img{width:18px;height:18px;border-radius:999px}.ticker-sym{font-weight:700;color:var(--color-ink)}.ticker-price{color:var(--color-ink)}.ticker-chg-up,.ticker-price{font-family:JetBrains Mono,monospace}.ticker-chg-up{color:var(--color-up)}.ticker-chg-down{color:var(--color-down);font-family:JetBrains Mono,monospace}.mast{background:var(--color-card);border-bottom:1px solid var(--color-border)}.mast .brand{display:inline-flex;align-items:baseline;gap:.4rem;font-family:Manrope,sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:-.025em;color:var(--color-ink);text-decoration:none}.mast .brand .accent{color:var(--color-brand)}.nav a{color:var(--color-ink);font-weight:500;font-size:.9375rem;padding:.5rem .75rem;text-decoration:none;border-radius:6px;transition:color .15s,background .15s}.nav a:hover{background:var(--color-brand-soft)}.nav a.active,.nav a:hover{color:var(--color-brand)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1.125rem;border-radius:8px;font-weight:600;font-size:.9375rem;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.btn-brand{background:var(--color-brand);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06)}.btn-brand:hover{background:var(--color-brand-deep);color:#fff}.btn-outline{background:transparent;color:var(--color-ink);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-ink)}.btn-sm{padding:.4rem .875rem;font-size:.8125rem}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 4px 6px -1px rgba(14,23,38,.08)}.stat{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.125rem}.stat .label{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.375rem}.stat .value{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:700;color:var(--color-ink);line-height:1.1;letter-spacing:-.01em}.stat .delta{font-family:JetBrains Mono,monospace;font-size:.8125rem;margin-top:.25rem}.delta.up{color:var(--color-up)}.delta.down{color:var(--color-down)}.coin-pill{display:inline-flex;align-items:center;gap:.5rem;padding:6px 10px;background:var(--color-chip);border-radius:999px;font-size:.8125rem}.coin-pill img{width:18px;height:18px;border-radius:999px}.story{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:box-shadow .2s}.story:hover{box-shadow:0 4px 6px -1px rgba(14,23,38,.08)}.story .cover{aspect-ratio:16/9;overflow:hidden;background:var(--color-surface)}.story .cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.story:hover .cover img{transform:scale(1.03)}.story .body{padding:1rem 1.125rem 1.25rem}.story .kicker{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.5rem}.story .headline{font-family:Manrope,sans-serif;font-size:1.0625rem;font-weight:700;line-height:1.3;color:var(--color-ink);text-decoration:none}.story .headline:hover{color:var(--color-brand)}.story .byline{margin-top:.625rem}.crumb,.story .byline{font-size:.75rem;color:var(--color-muted)}.crumb{padding:.75rem 0}.crumb a{color:var(--color-muted);text-decoration:none}.crumb a:hover{color:var(--color-brand)}.crumb .sep{margin:0 .4rem;color:var(--color-border)}.top-pick{background:linear-gradient(135deg,var(--color-brand-soft) 0,var(--color-card) 100%);border:1px solid var(--color-brand-soft);border-radius:14px;padding:1.75rem}.top-pick .badge{display:inline-flex;align-items:center;gap:.375rem;padding:4px 10px;background:var(--color-brand);color:#fff;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.pred{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:1rem;transition:border-color .15s,transform .15s;text-decoration:none;color:inherit}.pred:hover{border-color:var(--color-brand)}.pred .rank{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--color-muted)}.pred .name{font-family:Manrope,sans-serif;font-weight:700;font-size:.9375rem;color:var(--color-ink);margin-bottom:.125rem}.pred .sym{font-size:.75rem;color:var(--color-muted)}.pred .price{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700;margin-top:.625rem}.pred .target{font-size:.75rem;color:var(--color-muted);margin-top:.25rem}.pred .target .pct{font-weight:600}.heat-tile,.pred .target .pct{font-family:JetBrains Mono,monospace}.heat-tile{border-radius:4px;padding:8px;color:#fff;font-size:.75rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.heat-tile .sym{font-weight:700}.heat-tile .chg{font-size:.6875rem;opacity:.95}.nl-band{background:var(--color-ink);border-radius:14px;padding:2.25rem 2rem}.nl-band,.nl-band h2{color:#fff}.nl-band .muted{color:rgba(234,240,248,.7)}.nl-band input[type=email]{flex:1;padding:.75rem 1rem;border-radius:8px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.06);color:#fff;font-size:.9375rem}.nl-band input[type=email]::-moz-placeholder{color:rgba(234,240,248,.5)}.nl-band input[type=email]::placeholder{color:rgba(234,240,248,.5)}.foot{background:var(--color-card);border-top:1px solid var(--color-border);padding:3.5rem 0 2rem;color:var(--color-muted);font-size:.875rem}.foot h3{font-family:Inter,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink);margin-bottom:.875rem}.foot ul li{margin-bottom:.5rem}.foot a{color:var(--color-muted);text-decoration:none}.foot a:hover{color:var(--color-brand)}.foot-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border);font-size:.75rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.data-table th{text-align:left;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);background:var(--color-surface);font-family:Inter,sans-serif}.data-table td,.data-table th{padding:.875rem 1rem;border-bottom:1px solid var(--color-border)}.data-table td{color:var(--color-ink)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg)}.data-table .num{text-align:right}.prose{font-family:Inter,sans-serif;color:var(--color-ink)}.prose p{font-size:1.0625rem;line-height:1.75;margin-bottom:1.25rem}.prose h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:2.5rem 0 .875rem}.prose h3{font-size:1.25rem;font-weight:700;margin:2rem 0 .625rem}.prose a{color:var(--color-brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose ol,.prose ul{padding-left:1.25rem;margin-bottom:1.25rem}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.5rem}.prose blockquote{border-left:3px solid var(--color-brand);padding-left:1.25rem;font-style:italic;color:var(--color-muted);margin:1.5rem 0}.prose code{background:var(--color-surface);padding:.125rem .375rem;border-radius:4px;font-size:.875em}.prose img{max-width:100%;height:auto;border-radius:8px;margin:1.25rem 0}.prose .keytakeaways{background:var(--color-brand-soft);border:1px solid #f3c597;border-radius:10px;padding:1.25rem 1.5rem;margin:1.5rem 0}.prose .keytakeaways h3{margin-top:0;color:var(--color-brand-deep);font-size:1rem}.disclaimer{background:var(--color-surface);border-left:3px solid var(--color-muted);padding:1rem 1.25rem;border-radius:6px;font-size:.8125rem;color:var(--color-muted);margin:1.5rem 0}.faq details{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:.625rem;transition:border-color .15s}.faq details[open]{border-color:var(--color-brand)}.faq summary{font-weight:600;cursor:pointer;color:var(--color-ink);list-style:none;position:relative;padding-right:1.5rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:0;color:var(--color-brand);font-size:1.25rem;font-weight:400;transition:transform .2s}.faq details[open] summary:after{content:"−"}.faq p{margin-top:.625rem;color:var(--color-muted);font-size:.9375rem}.anchor-nav{position:sticky;top:60px;z-index:10;background:var(--color-card);border-bottom:1px solid var(--color-border);padding:.625rem 0;overflow-x:auto;white-space:nowrap}.anchor-nav a{display:inline-block;padding:.375rem .875rem;margin-right:.25rem;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--color-muted);text-decoration:none}.anchor-nav a:hover{background:var(--color-surface);color:var(--color-ink)}.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip:focus{position:fixed;top:1rem;left:1rem;width:auto;height:auto;padding:.5rem 1rem;background:var(--color-brand);color:#fff;z-index:1000;border-radius:6px}.static{position:static}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.m-0{margin:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:6px}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-auto{height:auto}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(228 233 240/var(--tw-divide-opacity,1))}.self-start{align-self:flex-start}.overflow-x-auto{overflow-x:auto}.text-balance{text-wrap:balance}.rounded-card{border-radius:.625rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity:1;border-color:rgb(228 233 240/var(--tw-border-opacity,1))}.bg-bg{background-color:rgb(250 251 252/var(--tw-bg-opacity,1))}.bg-bg,.bg-card{--tw-bg-opacity:1}.bg-card{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif}.font-mono{font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.text-display{font-size:2.5rem;line-height:1.1;letter-spacing:-.025em}.text-h2{font-size:1.875rem;line-height:1.2;letter-spacing:-.02em}.text-h3{font-size:1.375rem;line-height:1.3}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.text-ink{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.text-muted{--tw-text-opacity:1;color:rgb(90 102 120/var(--tw-text-opacity,1))}.text-balance{text-wrap:balance}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-brand:focus{--tw-border-opacity:1;border-color:rgb(228 102 9/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:w-80{width:20rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-self-end{justify-self:end}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}}@media (min-width:1024px){.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:260px;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.08);padding:.5rem;display:none;z-index:50}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:.6rem .75rem;border-radius:6px;color:var(--color-ink);font-size:.9375rem;text-decoration:none;font-weight:500}.nav-dropdown-menu a span{display:inline;margin-left:.4rem;color:var(--color-muted);font-weight:400;font-size:.8125rem}.nav-dropdown-menu a:hover{background:var(--color-brand-soft);color:var(--color-brand)}
.up{color:#16A34A;font-weight:600}.down{color:#DC2626;font-weight:600}.lede{font-size:1.125rem;line-height:1.6;color:var(--color-muted);max-width:60ch}.input{border:1px solid var(--color-border);border-radius:8px;background:var(--color-card);padding:.5rem .75rem;font-size:.9375rem;color:var(--color-ink);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft)}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th{text-align:left;padding:.5rem .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-weight:600;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.data-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border)}.data-table tr:hover td{background:var(--color-brand-soft)}.num{font-family:var(--font-mono);font-feature-settings:'tnum'}.list-clean{list-style:none;margin:0;padding:0}.list-clean li{padding:.25rem 0}.list-clean a{color:var(--color-brand);text-decoration:none}.list-clean a:hover{text-decoration:underline}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:1rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-weight:600}.callout{padding:1rem 1.25rem;background:var(--color-brand-soft);border-left:4px solid var(--color-brand);border-radius:6px;margin:1.5rem 0}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-ink)}.btn-ghost:hover{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand)}.btn-primary{background:var(--color-brand);color:white;border:1px solid var(--color-brand)}.btn-primary:hover{background:var(--color-brand-dim,var(--color-brand));filter:brightness(.95)}
#reading-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--color-brand);z-index:100;transition:width .15s ease-out}
.crumb{font-size:.75rem;color:var(--color-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;line-height:1.5}.crumb a{color:var(--color-muted);text-decoration:none}.crumb a:hover{color:var(--color-brand)}.crumb .sep{opacity:.5}.crumb .truncate{max-width:540px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}
.tag-pill{display:inline-flex;align-items:center;padding:.3rem .65rem;border:1px solid var(--color-border);border-radius:999px;font-size:.8125rem;color:var(--color-ink);text-decoration:none;background:var(--color-card);transition:border-color .15s,color .15s,background .15s}.tag-pill:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft)}.tag-pill-active{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft);font-weight:600}
.story{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.story:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.07);border-color:var(--color-brand)}.story .cover{display:block;aspect-ratio:16/9;background:#f1f5f9;overflow:hidden}.story .cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.story:hover .cover img{transform:scale(1.04)}.story .body{padding:1rem 1.1rem 1.2rem}.story .kicker{display:inline-block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-brand);font-weight:700;text-decoration:none;margin-bottom:.4rem}.story .headline{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;line-height:1.3;color:var(--color-ink);text-decoration:none;display:block;margin-bottom:.4rem}.story .headline:hover{color:var(--color-brand)}.story .byline{font-size:.75rem;color:var(--color-muted);margin:0}
.sticky-sidebar{position:sticky;top:90px}
@media(max-width:1023px){.sticky-sidebar{position:static}.article-sidebar{margin-top:2rem}}
.disclaimer{padding:1rem 1.25rem;border-radius:8px;background:#fef3c7;border-left:4px solid #f59e0b;font-size:.875rem}.disclaimer strong{color:#92400e}
.archive-pagination a{display:inline-flex;align-items:center;gap:.3rem}
.btn-sm{padding:.4rem .85rem;font-size:.8125rem}
.skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip:focus{left:.5rem;top:.5rem;width:auto;height:auto;background:var(--color-ink);color:white;padding:.5rem 1rem;z-index:1000;border-radius:6px}
.prose h2{margin-top:2.2rem;margin-bottom:.8rem;font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1.3;scroll-margin-top:90px}.prose h3{margin-top:1.6rem;margin-bottom:.6rem;font-family:var(--font-display);font-weight:600;font-size:1.2rem;scroll-margin-top:90px}.prose p{margin:0 0 1.1rem;line-height:1.75}.prose ul,.prose ol{margin:0 0 1.1rem 1.25rem;line-height:1.7}.prose li{margin-bottom:.35rem}.prose a{color:var(--color-brand);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--color-brand-strong,var(--color-brand))}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9375rem}.prose th,.prose td{padding:.6rem .8rem;border-bottom:1px solid var(--color-border);text-align:left}.prose th{font-weight:600;background:var(--color-bg)}.prose blockquote{margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;border-left:4px solid var(--color-brand);color:var(--color-muted);font-style:italic;font-size:1.05rem}.prose code{font-family:var(--font-mono);background:var(--color-bg);padding:.15rem .35rem;border-radius:4px;font-size:.875em}
@media(max-width:639px){.text-display{font-size:2rem;line-height:1.15}}
/* ─── Sprint G — comprehensive design polish ─── */

/* ====== STORY CARD COVER FALLBACK ====== */
/* Even if image fails to load, the cover area still looks intentional */
.story .cover {
  background: linear-gradient(135deg, hsl(220, 14%, 96%), hsl(220, 14%, 90%));
  position: relative;
  overflow: hidden;
}
.story .cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 30% 30%, rgba(228, 102, 9, 0.06), transparent 60%);
  pointer-events: none;
}
.story .cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}
.story .body {
  padding: 1rem 1.1rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.story .body .byline {
  margin-top: auto;
  padding-top: 0.4rem;
}

/* ====== HEATMAP TILES ====== */
.heat-tile {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0.75rem 0.5rem;
  border-radius: 8px;
  color: white;
  text-decoration: none;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
  min-height: 64px;
  line-height: 1.25;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.heat-tile:hover {
  transform: scale(1.03);
  filter: brightness(1.1);
  z-index: 5;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.heat-tile .sym {
  font-weight: 800;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
}
.heat-tile.col-span-2 {
  min-height: 88px;
}
.heat-tile.row-span-2 {
  min-height: 130px;
}
.heat-tile.row-span-2 .sym {
  font-size: 1.125rem;
}
.heat-tile .chg {
  font-size: 0.75rem;
  opacity: 0.92;
  margin-top: 0.2rem;
}

/* ====== TICKER — better mobile spacing ====== */
.ticker {
  background: var(--color-card);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: 0.55rem 0;
  overflow: hidden;
  position: relative;
}
.ticker-track {
  display: flex;
  gap: 2.5rem;
  white-space: nowrap;
  animation: twlTickerScroll 90s linear infinite;
}
@keyframes twlTickerScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  text-decoration: none;
  color: var(--color-ink);
  flex-shrink: 0;
}
.ticker-item img {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ticker-sym {
  font-weight: 700;
}
.ticker-price {
  font-family: var(--font-mono);
  color: var(--color-ink);
}
.ticker-chg-up { color: #16A34A; font-family: var(--font-mono); font-weight: 600; }
.ticker-chg-down { color: #DC2626; font-family: var(--font-mono); font-weight: 600; }
@media (max-width: 640px) {
  .ticker-track { gap: 1.5rem; }
  .ticker-item { font-size: 0.75rem; }
}

/* ====== HEADER MAST — polish ====== */
.mast { position: sticky; top: 0; z-index: 40; box-shadow: 0 1px 0 var(--color-border); }
.mast .brand { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.5rem; letter-spacing: -0.025em; }
.mast .brand .accent { color: var(--color-brand); }

/* ====== TABLE — make data-tables sticky-header-friendly ====== */
.data-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.9375rem; }
.data-table thead th {
  position: sticky;
  top: 0;
  background: var(--color-card);
  z-index: 2;
  text-align: left;
  padding: 0.65rem 0.85rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-muted);
  font-weight: 700;
  border-bottom: 2px solid var(--color-border);
}
.data-table tbody td {
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
}
.data-table tbody tr:hover td {
  background: var(--color-bg);
}
.data-table tr:last-child td {
  border-bottom: 0;
}
/* Compare table — first column wider + sticky on horizontal scroll */
#main .data-table th:first-child,
#main .data-table td:first-child {
  min-width: 140px;
}

/* ====== HERO TOP PICK — refined ====== */
.toppick-card {
  background: linear-gradient(135deg, #fffbf2, #fff5e6);
  border: 1px solid #f3d9b1;
  border-radius: 14px;
  padding: 1.5rem;
  box-shadow: 0 4px 16px rgba(228, 102, 9, 0.06);
}
.toppick-card .coin-meta { display: flex; align-items: center; gap: 0.8rem; }
.toppick-card .coin-meta img {
  width: 56px; height: 56px; border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  background: white;
  padding: 4px;
}

/* ====== STAT CARDS ====== */
.stat {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 0.95rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.stat .label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--color-muted);
  font-weight: 700;
}
.stat .value {
  font-family: var(--font-mono);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-ink);
  line-height: 1.15;
}
.stat .delta {
  font-size: 0.75rem;
  font-family: var(--font-mono);
  font-weight: 600;
}
.stat .delta.up { color: #16A34A; }
.stat .delta.down { color: #DC2626; }

/* ====== SECTION HEAD CONSISTENCY ====== */
.section-head {
  margin-bottom: 1.5rem;
}
.section-head .eyebrow {
  display: inline-block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-brand);
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.section-head h2 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.6rem, 2.5vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin: 0;
}

/* ====== CONVERT PAGE — better swap button ====== */
#conv-swap {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--color-card);
  color: var(--color-ink);
  font-size: 0.825rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
#conv-swap:hover {
  border-color: var(--color-brand);
  color: var(--color-brand);
  background: rgba(228,102,9,0.06);
}
#conv-swap svg { transition: transform 0.3s; }
#conv-swap:hover svg { transform: rotate(180deg) !important; }

/* ====== ARTICLE SIDEBAR — make sure grid renders ====== */
@media (min-width: 1024px) {
  .article-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 2.5rem;
  }
}

/* ====== AUTHOR ARCHIVE — better avatar fallback ====== */
.author-hero img.rounded-full,
.author-hero img[class*="avatar"] {
  border: 4px solid var(--color-card);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  background: linear-gradient(135deg, var(--color-brand-soft), white);
}

/* ====== EMPTY STATES ====== */
.empty-state {
  text-align: center;
  padding: 4rem 1.5rem;
  background: var(--color-card);
  border: 1px dashed var(--color-border);
  border-radius: 12px;
}
.empty-state svg {
  width: 64px;
  height: 64px;
  color: var(--color-muted);
  opacity: 0.4;
  margin-bottom: 1rem;
}
.empty-state p {
  color: var(--color-muted);
  max-width: 460px;
  margin: 0.5rem auto 1.5rem;
}

/* ====== BUTTONS — tighter, more confident ====== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.625rem 1.15rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.1s;
  line-height: 1;
}
.btn:active { transform: translateY(1px); }
.btn-brand,
.btn-primary {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: white;
}
.btn-brand:hover,
.btn-primary:hover {
  background: #C9580A;
  border-color: #C9580A;
  color: white;
}
.btn-ghost {
  background: transparent;
  border-color: var(--color-border);
  color: var(--color-ink);
}
.btn-ghost:hover {
  border-color: var(--color-brand);
  color: var(--color-brand);
  background: var(--color-brand-soft, rgba(228, 102, 9, 0.06));
}
.btn-outline {
  background: var(--color-card);
  border-color: var(--color-border);
  color: var(--color-ink);
}
.btn-sm {
  padding: 0.45rem 0.9rem;
  font-size: 0.825rem;
}
.btn:disabled { opacity: 0.55; cursor: not-allowed; }

/* ====== FOOTER — polish ====== */
.foot {
  background: var(--color-card);
  border-top: 1px solid var(--color-border);
  padding: 3rem 0 2rem;
  margin-top: 4rem;
}
.foot h3 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--color-ink);
  font-weight: 800;
  margin-bottom: 1rem;
}
.foot ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.foot ul a {
  font-size: 0.875rem;
  color: var(--color-muted);
  text-decoration: none;
  transition: color 0.15s;
}
.foot ul a:hover {
  color: var(--color-brand);
}
.foot-bottom {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--color-muted);
  flex-wrap: wrap;
  gap: 1rem;
}
.foot .brand {
  font-size: 1.4rem;
  text-decoration: none;
}

/* ====== ARTICLE PROSE — refined typography ====== */
.article-wrap {
  max-width: 720px;
}
.prose {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #1f2937;
}
.prose > * + * { margin-top: 1.15rem; }
.prose h2 {
  margin-top: 2.5rem !important;
  margin-bottom: 0.85rem !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.625rem !important;
  line-height: 1.25;
  letter-spacing: -0.01em;
  scroll-margin-top: 90px;
  color: #111827;
}
.prose h3 {
  margin-top: 1.8rem !important;
  margin-bottom: 0.6rem !important;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.25rem !important;
  scroll-margin-top: 90px;
  color: #111827;
}
.prose p { margin: 0 0 1.15rem; }
.prose ul, .prose ol {
  margin: 0 0 1.2rem;
  padding-left: 1.5rem;
}
.prose li {
  margin-bottom: 0.45rem;
  line-height: 1.7;
}
.prose a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.prose a:hover {
  text-decoration-thickness: 2px;
}
.prose blockquote {
  margin: 1.75rem 0;
  padding: 0.6rem 0 0.6rem 1.4rem;
  border-left: 3px solid var(--color-brand);
  font-style: italic;
  color: #4b5563;
  font-size: 1.1rem;
}
.prose code {
  font-family: var(--font-mono);
  background: var(--color-bg);
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.875em;
  border: 1px solid var(--color-border);
}
.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.75rem 0;
  font-size: 0.95rem;
}
.prose table th,
.prose table td {
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}
.prose table th {
  font-weight: 700;
  background: var(--color-bg);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-muted);
}

/* ====== KEY TAKEAWAYS CALLOUT ====== */
.callout {
  background: linear-gradient(180deg, rgba(228, 102, 9, 0.04), rgba(228, 102, 9, 0.02));
  border-left: 3px solid var(--color-brand);
  border-radius: 6px;
  padding: 1.1rem 1.4rem;
  margin: 1.75rem 0;
}
.callout p { margin: 0; }
.callout strong { color: var(--color-brand); }

/* ====== DISCLAIMER ====== */
.disclaimer {
  background: #fffaf3;
  border: 1px solid #fde7c8;
  border-left: 3px solid #f59e0b;
  border-radius: 6px;
  padding: 0.9rem 1.2rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #78350f;
}
.disclaimer strong { color: #92400e; }

/* ====== TAG PILLS ====== */
.tag-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.7rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 0.8125rem;
  color: var(--color-ink);
  text-decoration: none;
  background: var(--color-card);
  font-weight: 500;
  transition: all 0.15s;
}
.tag-pill:hover {
  border-color: var(--color-brand);
  color: var(--color-brand);
  background: var(--color-brand-soft, rgba(228, 102, 9, 0.06));
}
.tag-pill-active {
  border-color: var(--color-brand);
  color: var(--color-brand);
  background: var(--color-brand-soft, rgba(228, 102, 9, 0.06));
  font-weight: 600;
}

/* ====== BYLINE ROW ====== */
.byline-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.byline-row img {
  border: 2px solid var(--color-card);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* ====== TYPOGRAPHY LEVELS ====== */
.text-display {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.025em;
}
.text-h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.015em;
}
.text-h3 {
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  line-height: 1.5;
  font-weight: 400;
  color: var(--color-muted);
}
.text-balance { text-wrap: balance; }

/* ====== KICKER / EYEBROW ====== */
.kicker {
  display: inline-block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--color-brand);
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-decoration: none;
}
.eyebrow {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-muted);
  font-weight: 700;
}
.eyebrow-muted {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--color-muted);
  font-weight: 500;
}

/* ====== COIN HERO ====== */
.coin-hero {
  background: linear-gradient(135deg, var(--color-card), var(--color-bg));
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 1.5rem 1.75rem;
}

/* ====== INPUTS ====== */
input.input,
select.input,
textarea.input,
.input {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-card);
  padding: 0.55rem 0.85rem;
  font-size: 0.9375rem;
  color: var(--color-ink);
  outline: none;
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.input:focus {
  border-color: var(--color-brand);
  box-shadow: 0 0 0 3px rgba(228, 102, 9, 0.12);
}

/* ====== READING PROGRESS BAR ====== */
#reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: var(--color-brand);
  z-index: 100;
  transition: width 0.12s ease-out;
  border-radius: 0 2px 2px 0;
}

/* ====== STICKY SIDEBAR ====== */
.sticky-sidebar {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 1023px) {
  .sticky-sidebar { position: static; }
  .article-sidebar { margin-top: 2.5rem; }
}

/* ====== BREADCRUMBS ====== */
.crumb {
  font-size: 0.75rem;
  color: var(--color-muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  line-height: 1.5;
}
.crumb a {
  color: var(--color-muted);
  text-decoration: none;
}
.crumb a:hover { color: var(--color-brand); }
.crumb .sep {
  opacity: 0.4;
  font-weight: 500;
}

/* ====== NAV DROPDOWN ====== */
.nav-dropdown { position: relative; }
.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.10);
  padding: 0.5rem;
  display: none;
  z-index: 50;
  margin-top: 0.4rem;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  display: block;
}
.nav-dropdown-menu a {
  display: block;
  padding: 0.65rem 0.85rem;
  border-radius: 6px;
  color: var(--color-ink);
  font-size: 0.9375rem;
  text-decoration: none;
  font-weight: 500;
}
.nav-dropdown-menu a span {
  display: inline;
  margin-left: 0.4rem;
  color: var(--color-muted);
  font-weight: 400;
  font-size: 0.8125rem;
}
.nav-dropdown-menu a:hover {
  background: var(--color-brand-soft, rgba(228, 102, 9, 0.07));
  color: var(--color-brand);
}

/* ====== UP/DOWN HELPERS ====== */
.up { color: #16A34A; font-weight: 600; }
.down { color: #DC2626; font-weight: 600; }

/* ====== UTILITIES ====== */
.lede {
  font-size: 1.125rem;
  line-height: 1.65;
  color: var(--color-muted);
  max-width: 65ch;
}
.num {
  font-family: var(--font-mono);
  font-feature-settings: 'tnum';
}
.list-clean {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list-clean li { padding: 0.25rem 0; }
.list-clean a {
  color: var(--color-brand);
  text-decoration: none;
}
.list-clean a:hover { text-decoration: underline; }
.card {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 1rem 1.15rem;
}

/* ====== TOP BAR ====== */
.topbar {
  background: var(--color-card);
  border-bottom: 1px solid var(--color-border);
  font-size: 0.75rem;
  color: var(--color-muted);
}
.topbar .fng {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.18rem 0.55rem;
  background: rgba(245, 158, 11, 0.1);
  color: #92400e;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
}
.topbar .fng strong { color: #c2410c; font-family: var(--font-mono); }
.topbar a { color: var(--color-muted); text-decoration: none; }
.topbar a:hover { color: var(--color-brand); }

/* ====== NAV ====== */
.nav a {
  color: var(--color-ink);
  font-weight: 500;
  font-size: 0.95rem;
  padding: 0.5rem 0.85rem;
  text-decoration: none;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
}
.nav a:hover {
  color: var(--color-brand);
  background: var(--color-brand-soft, rgba(228, 102, 9, 0.07));
}
.nav a.active { color: var(--color-brand); }

/* ====== WATCHLIST EMPTY STATE BUTTONS ====== */
.wl-seed.btn-primary,
.wl-seed.btn-ghost {
  margin: 0 0.25rem;
}

/* ====== ARCHIVE PAGINATION ====== */
.archive-pagination {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}

/* ====== MOBILE TIGHTENING ====== */
@media (max-width: 640px) {
  .wrap { padding-left: 1rem; padding-right: 1rem; }
  .py-10 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .py-8 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .text-display { font-size: 1.875rem !important; line-height: 1.15 !important; }
  .data-table { font-size: 0.8125rem; }
  .data-table th, .data-table td { padding: 0.5rem 0.45rem; }
  .heat-tile { font-size: 0.7rem; min-height: 52px; padding: 0.5rem 0.3rem; }
  .heat-tile.row-span-2 { min-height: 100px; }
  .stat .value { font-size: 1.1rem; }
}

/* ====== HIDE EMPTY/BROKEN IMG INDICATORS ====== */
img[alt=""] { font-size: 0; color: transparent; }
img { max-width: 100%; height: auto; }

/* ====== SUBSCRIBE CTA NEAR FOOTER ====== */
.newsletter-band {
  background: var(--color-ink);
  color: white;
  border-radius: 14px;
  padding: 2.5rem 2rem;
  text-align: center;
}
.newsletter-band h2 { color: white; margin-bottom: 0.5rem; }
.newsletter-band p { color: rgba(255, 255, 255, 0.7); margin-bottom: 1.5rem; }

/* ====== A11Y SKIP LINK ====== */
.skip {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip:focus {
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  background: var(--color-ink);
  color: white;
  padding: 0.6rem 1.2rem;
  z-index: 1000;
  border-radius: 6px;
  font-weight: 600;
}
/* Sprint G — ensure Tailwind .hidden wins over .btn display */
.hidden { display: none !important; }
@media (min-width: 768px) {
  .md\:inline-flex { display: inline-flex !important; }
  .md\:flex { display: flex !important; }
  .md\:block { display: block !important; }
  .md\:hidden { display: none !important; }
}
