:root {
  color-scheme: light;
  --bg: #f7f8f9;
  --surface: #ffffff;
  --surface-2: #eef0f2;
  --surface-3: #e4e7e9;
  --border: #d8dcdf;
  --border-strong: #c2c7cc;
  --text: #0f1115;
  --muted: #5b6168;
  --muted-2: #969ba1;
  --green: #731d30;
  --green-soft: rgba(115, 29, 48, .09);
  --link: #3f647c;
  --success: #28715a;
  --success-soft: rgba(40, 113, 90, .09);
  --blue: #496f89;
  --yellow: #9a6917;
  --red: #b43c4d;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { min-height: 100vh; margin: 0; color: var(--text); background: var(--bg); font-family: var(--sans); font-size: 15px; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.shell { width: min(1480px, calc(100% - 48px)); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.mono { font-family: var(--mono); }

.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(216,220,223,.92); background: rgba(247,248,249,.93); backdrop-filter: blur(16px); }
.header-inner { display: flex; position: relative; height: 68px; align-items: center; gap: 22px; }
.brand { display: flex; align-items: center; gap: 11px; }
.brand-logo { display: block; width: 38px; height: 38px; flex: 0 0 38px; }
.brand-copy { display: flex; align-items: baseline; gap: 6px; }
.brand-copy strong { font-size: 15px; font-weight: 720; letter-spacing: -.02em; }
.brand-copy small { color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { display: flex; align-self: stretch; gap: 2px; margin-left: 22px; }
.main-nav a { display: flex; position: relative; align-items: center; padding: 0 16px; color: var(--muted); font-size: 13px; font-weight: 620; transition: color .2s ease, background-color .2s ease; }
.main-nav a:hover { color: var(--text); }
.main-nav a.active { color: var(--text); }
.main-nav a.active::after { position: absolute; right: 15px; bottom: -1px; left: 15px; height: 2px; background: var(--green); content: ""; animation: nav-line .28s cubic-bezier(.2,.8,.2,1) both; transform-origin: center; }
.network-pill { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.network-pill span { width: 7px; height: 7px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(231,189,99,.1); }
.network-pill.ready span { background: var(--success); box-shadow: 0 0 0 4px rgba(40,113,90,.1); animation: status-pulse 2.4s ease-in-out infinite; }
.network-pill.offline span { background: var(--red); box-shadow: 0 0 0 4px rgba(239,109,120,.1); }
.network-pill strong { font-weight: 630; }
.mobile-menu { display: none; border: 1px solid var(--border); background: var(--surface); padding: 8px 11px; }

.sync-banner { border-bottom: 1px solid rgba(154,105,23,.28); background: #fff8e8; }
.sync-banner[hidden] { display: none; }
.sync-banner-inner { display: flex; min-height: 56px; align-items: center; gap: 12px; padding-block: 9px; }
.sync-icon { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border: 1px solid rgba(231,189,99,.5); color: var(--yellow); font-size: 12px; font-weight: 800; }
.sync-banner strong { display: block; color: #765111; font-size: 12px; }
.sync-banner p { margin: 3px 0 0; color: #856b3f; font-size: 11px; }
.sync-heights { margin-left: auto; color: #856b3f; font-family: var(--mono); font-size: 11px; }

.header-search { position: relative; min-width: 250px; max-width: 430px; flex: 1; margin-left: auto; }
.chain-search { display: flex; height: 38px; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 4px; background: var(--surface); transition: border-color .15s ease, box-shadow .15s ease; }
.chain-search:focus-within { border-color: rgba(115,29,48,.7); box-shadow: 0 0 0 3px rgba(115,29,48,.08); }
.chain-search input { min-width: 0; flex: 1; padding: 0 13px; border: 0; outline: 0; color: var(--text); background: transparent; font-family: var(--mono); font-size: 12px; }
.chain-search input::placeholder { color: var(--muted-2); }
.chain-search button { padding: 0 17px; border: 0; border-left: 1px solid var(--border-strong); color: #fff; background: var(--green); font-size: 11px; font-weight: 740; cursor: pointer; }
.search-feedback { position: absolute; z-index: 6; top: calc(100% + 7px); right: 0; left: 0; margin: 0; padding: 9px 11px; border: 1px solid rgba(180,60,77,.28); border-radius: 3px; color: var(--red); background: #fff7f8; box-shadow: 0 8px 22px rgba(15,17,21,.1); font-size: 11px; }

.site-main { min-height: calc(100vh - 250px); padding-top: 38px; padding-bottom: 60px; view-transition-name: explorer-content; }
.is-navigating .site-main { opacity: .62; transition: opacity .16s ease; }
.site-main.page-entering > * { animation: page-rise .42s cubic-bezier(.2,.75,.25,1) both; }
.site-main.page-entering > :nth-child(2) { animation-delay: .035s; }
.site-main.page-entering > :nth-child(3) { animation-delay: .07s; }
.site-main.page-entering > :nth-child(4) { animation-delay: .105s; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.page-heading h1 { margin: 4px 0 0; font-size: clamp(26px, 3vw, 38px); font-weight: 680; letter-spacing: -.045em; line-height: 1.08; }
.page-heading p { max-width: 680px; margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.eyebrow { color: var(--green); font-size: 10px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }
.height-chip { min-width: 140px; padding-left: 18px; border-left: 1px solid var(--border-strong); }
.height-chip span, .height-chip strong { display: block; }
.height-chip span { color: var(--muted); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.height-chip strong { margin-top: 5px; font-family: var(--mono); font-size: 22px; font-weight: 620; }

.panel { border: 1px solid var(--border); background: var(--surface); transition: border-color .22s ease, box-shadow .22s ease; }
.panel:hover { border-color: #c5c9cd; box-shadow: 0 12px 34px rgba(15,17,21,.07); }
.panel-head { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; border-bottom: 1px solid var(--border); }
.panel-head h2 { margin: 4px 0 0; font-size: 17px; font-weight: 650; letter-spacing: -.02em; }
.text-link { color: var(--link); font-size: 12px; font-weight: 680; }
.text-link:hover { text-decoration: underline; }
.table-meta { color: var(--muted); font-size: 12px; }

.mining-overview { display: grid; grid-template-columns: 305px minmax(0, 1fr); gap: 18px; }
.metric-stack { padding: 0 20px; }
.stack-metric { min-height: 92px; padding: 19px 2px; border-bottom: 1px solid var(--border); }
.stack-metric:last-child { border-bottom: 0; }
.stack-metric > span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.stack-metric > span small { margin-left: 5px; color: var(--muted-2); font-size: 9px; }
.stack-metric strong { font-size: 24px; font-weight: 610; letter-spacing: -.04em; }
.stack-metric.primary { min-height: 108px; }
.stack-metric.primary strong { font-size: 29px; }
.stack-metric.primary div { display: flex; align-items: baseline; gap: 11px; }
.stack-metric em { color: var(--success); font-size: 11px; font-style: normal; font-weight: 650; }
.stack-metric em.negative { color: var(--red); }
.chart-panel { min-width: 0; }
.chart-head { border-bottom: 0; }
.range-tabs, .filter-tabs { display: flex; border: 1px solid var(--border); }
.range-tabs button, .filter-tabs button { position: relative; overflow: hidden; padding: 8px 11px; border: 0; border-right: 1px solid var(--border); color: var(--muted); background: transparent; font-size: 11px; font-weight: 650; cursor: pointer; }
.range-tabs button:last-child, .filter-tabs button:last-child { border-right: 0; }
.range-tabs button.active, .filter-tabs button.active { color: var(--text); background: var(--surface-3); }
.range-tabs.is-loading button.active::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: var(--green); content: ""; animation: range-progress .8s ease-in-out infinite; transform-origin: left; }
.chart-legend { display: flex; gap: 22px; padding: 0 20px 10px; color: var(--muted); font-size: 11px; }
.chart-legend span::before { display: inline-block; width: 13px; height: 2px; margin: 0 6px 3px 0; background: currentColor; content: ""; }
.chart-legend .rate { color: var(--green); }
.chart-legend .difficulty { color: var(--text); }
.chart-legend .block-time { color: var(--blue); }
.chart-wrap { position: relative; height: 440px; padding: 0 10px 10px; }
.chart-wrap canvas { display: block; width: 100%; height: 100%; cursor: crosshair; transition: opacity .3s ease, transform .38s cubic-bezier(.2,.75,.25,1), filter .3s ease; transform-origin: center; }
.chart-wrap.is-switching canvas { opacity: .2; filter: blur(.6px); transform: translateY(4px) scale(.994); }
.chart-wrap.chart-revealing canvas { pointer-events: none; animation: chart-canvas-arrive .72s cubic-bezier(.2,.75,.25,1) both; }
.chart-empty { display: grid; position: absolute; inset: 0; place-items: center; color: var(--muted-2); font-size: 11px; pointer-events: none; }
.chart-empty[hidden] { display: none; }
.chart-tooltip { position: absolute; z-index: 8; top: 12px; right: 18px; width: 190px; padding: 12px 13px; border: 1px solid var(--border-strong); background: rgba(255,255,255,.97); box-shadow: 0 14px 35px rgba(15,17,21,.16); pointer-events: none; animation: tooltip-in .12s ease-out both; }
.chart-tooltip[hidden] { display: none; }
.chart-tooltip strong, .chart-tooltip small { display: block; }
.chart-tooltip strong { margin-bottom: 8px; color: var(--text); font-family: var(--mono); font-size: 12px; }
.chart-tooltip span { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 6px; margin-top: 6px; color: var(--muted); font-size: 11px; }
.chart-tooltip span i { width: 6px; height: 6px; border-radius: 50%; }
.chart-tooltip span b { color: var(--text); font-family: var(--mono); font-size: 11px; font-weight: 600; }
.chart-tooltip small { margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--border); color: var(--muted-2); font-size: 10px; }
.chart-tooltip .rate-dot { background: var(--green); }
.chart-tooltip .difficulty-dot { background: var(--text); }
.chart-tooltip .time-dot { background: var(--blue); }

.summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.summary-card { min-width: 0; padding: 17px 18px; border: 1px solid var(--border); border-top: 2px solid var(--border-strong); background: var(--surface); }
.summary-card > span { display: block; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.summary-card strong, .summary-card > a { display: block; overflow: hidden; margin-top: 8px; font-size: 20px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.summary-card small { display: block; margin-top: 4px; color: var(--muted-2); font-size: 11px; }
.summary-card small b { color: var(--text); font-weight: 650; }
.summary-card .hash-link { color: var(--link); font-family: var(--mono); font-size: 14px; }
.summary-card-link { position: relative; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.summary-card-link:hover { border-color: var(--link); box-shadow: 0 10px 28px rgba(15,17,21,.08); transform: translateY(-2px); }
.summary-card-link small b { margin-left: 3px; color: var(--link); }
.reward-card { border-top-color: var(--blue); }
.reward-card strong { color: var(--text); }
.reward-card #metric-reward-eta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }

.data-panel { min-width: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
.blocks-table { min-width: 1180px; }
th { padding: 13px 16px; border-bottom: 1px solid var(--border); color: var(--muted); background: var(--surface-2); font-size: 10px; font-weight: 720; letter-spacing: .09em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { height: 62px; padding: 13px 16px; border-bottom: 1px solid rgba(216,220,223,.8); color: #33383e; font-size: 13px; white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { color: var(--text); background: rgba(115,29,48,.035); }
.loading-cell, .empty-cell { color: var(--muted-2); text-align: center; }
.block-height { color: var(--text); font-family: var(--mono); font-weight: 650; }
.hash-link, .address-link { color: var(--link); font-family: var(--mono); }
.hash-link:hover, .address-link:hover { text-decoration: underline; }
.address-link.alias-link { display: inline-flex; align-items: center; gap: 6px; padding: 3px 7px; border: 1px solid var(--border); border-radius: 999px; color: var(--text); background: var(--surface-2); font-family: var(--sans); font-weight: 700; text-decoration: none; }
.address-link.alias-link::before { width: 6px; height: 6px; border-radius: 50%; background: var(--green); content: ""; }
.address-link.alias-link:hover { border-color: rgba(115,29,48,.38); color: var(--green); text-decoration: none; }
.muted { color: var(--muted); }
.positive { color: var(--success); }
.negative { color: var(--red); }
.type-label { color: var(--muted); font-size: 10px; font-weight: 680; letter-spacing: .05em; text-transform: uppercase; }
.type-label.reward { color: var(--yellow); }
.status-label { color: var(--success); font-size: 9px; font-weight: 680; text-transform: uppercase; }
.status-label.pending { color: var(--yellow); }
.pagination { display: flex; min-height: 64px; align-items: center; justify-content: flex-end; gap: 8px; padding: 13px 16px; border-top: 1px solid var(--border); }
.pagination button { min-width: 34px; height: 32px; padding: 0 10px; border: 1px solid var(--border); color: var(--muted); background: var(--surface-2); font-size: 11px; cursor: pointer; }
.pagination button, .range-tabs button, .filter-tabs button, .chain-search button { transition: color .18s ease, border-color .18s ease, background-color .18s ease, opacity .18s ease; }
.pagination button:hover:not(:disabled), .pagination button.active { border-color: var(--green); color: var(--text); }
.pagination button:disabled { opacity: .38; cursor: not-allowed; }
.pagination span { margin: 0 5px; color: var(--muted-2); font-size: 11px; }

.holders-overview { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .7fr); gap: 18px; margin-bottom: 18px; }
.distribution-body { display: grid; min-height: 330px; grid-template-columns: 330px minmax(0, 1fr); align-items: center; gap: 30px; padding: 24px; }
.donut-wrap { position: relative; width: min(100%, 290px); height: auto; aspect-ratio: 1; margin: auto; }
.donut-wrap canvas { display: block; width: 100%; height: 100%; aspect-ratio: 1; cursor: crosshair; }
.distribution-body.chart-revealing .donut-wrap canvas { pointer-events: none; animation: donut-canvas-arrive .7s cubic-bezier(.2,.75,.25,1) both; }
.distribution-body.chart-revealing .donut-center { animation: donut-center-arrive .58s .22s cubic-bezier(.2,.8,.25,1) both; }
.distribution-body.chart-revealing .legend-row { animation: holder-legend-arrive .44s cubic-bezier(.2,.75,.25,1) both; }
.distribution-body.chart-revealing .legend-row:nth-child(2) { animation-delay: .035s; }
.distribution-body.chart-revealing .legend-row:nth-child(3) { animation-delay: .07s; }
.distribution-body.chart-revealing .legend-row:nth-child(4) { animation-delay: .105s; }
.distribution-body.chart-revealing .legend-row:nth-child(5) { animation-delay: .14s; }
.distribution-body.chart-revealing .legend-row:nth-child(6) { animation-delay: .175s; }
.distribution-body.chart-revealing .legend-row:nth-child(7) { animation-delay: .21s; }
.distribution-body.chart-revealing .legend-row:nth-child(8) { animation-delay: .245s; }
.distribution-body.chart-revealing .legend-row:nth-child(9) { animation-delay: .28s; }
.distribution-body.chart-revealing .legend-row:nth-child(10) { animation-delay: .315s; }
.distribution-body.chart-revealing .legend-row:nth-child(11) { animation-delay: .35s; }
.distribution-body.chart-revealing .legend-row:nth-child(12) { animation-delay: .385s; }
.donut-center { display: flex; position: absolute; inset: 72px; align-items: center; justify-content: center; flex-direction: column; border-radius: 50%; background: var(--surface); text-align: center; }
.donut-center { pointer-events: none; }
.holder-tooltip { top: 7px; right: 7px; width: 210px; }
.holder-tooltip span { min-height: 16px; grid-template-columns: 8px minmax(0,1fr) auto; line-height: 1.25; }
.holder-tooltip span b { white-space: nowrap; }
.donut-center strong { font-size: 17px; font-weight: 650; }
.donut-center span { margin-top: 5px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.holder-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; }
.legend-row { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; }
.legend-row i { width: 7px; height: 7px; }
.legend-row .swatch-0 { background: #731d30; }
.legend-row .swatch-1 { background: #496f89; }
.legend-row .swatch-2 { background: #a97826; }
.legend-row .swatch-3 { background: #725b91; }
.legend-row .swatch-4 { background: #b43c4d; }
.legend-row .swatch-5 { background: #4c817a; }
.legend-row .swatch-6 { background: #607da8; }
.legend-row .swatch-7 { background: #9a618d; }
.legend-row .swatch-8 { background: #728847; }
.legend-row .swatch-9 { background: #a86e47; }
.legend-row .swatch-10 { background: #7f858c; }
.legend-row .swatch-11 { background: #c2c7cc; }
.swatch-0 { --swatch: #731d30; }
.swatch-1 { --swatch: #496f89; }
.swatch-2 { --swatch: #a97826; }
.swatch-3 { --swatch: #725b91; }
.swatch-4 { --swatch: #b43c4d; }
.swatch-5 { --swatch: #4c817a; }
.swatch-6 { --swatch: #607da8; }
.swatch-7 { --swatch: #9a618d; }
.swatch-8 { --swatch: #728847; }
.swatch-9 { --swatch: #a86e47; }
.swatch-10 { --swatch: #7f858c; }
.swatch-11 { --swatch: #c2c7cc; }
.legend-row a { overflow: hidden; color: var(--text); font-family: var(--mono); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.legend-row span { color: var(--muted); font-size: 11px; }
.holder-insight { padding: 27px; }
.holder-insight h2 { margin: 8px 0 10px; font-size: 21px; font-weight: 630; letter-spacing: -.035em; }
.holder-insight > p { margin: 0 0 28px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.holder-insight > div { display: flex; align-items: center; justify-content: space-between; padding: 13px 0; border-top: 1px solid var(--border); }
.holder-insight > div span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.holder-insight > div strong { font-size: 13px; font-weight: 620; }

.block-miner-panel { margin-bottom: 18px; }
.miner-distribution-body { padding: 18px 20px 20px; transition: opacity .24s ease, transform .3s cubic-bezier(.2,.75,.25,1); }
.miner-distribution-body.is-switching { opacity: .48; transform: translateY(3px); }
.miner-summary-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--border); background: var(--surface-2); }
.miner-summary-strip > div { min-width: 0; padding: 13px 16px; border-right: 1px solid var(--border); }
.miner-summary-strip > div:last-child { border-right: 0; }
.miner-summary-strip span { display: block; color: var(--muted); font-size: 9px; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }
.miner-summary-strip strong { display: block; margin-top: 6px; color: var(--text); font-family: var(--mono); font-size: 17px; font-weight: 650; }
.miner-summary-strip strong b { font-weight: inherit; }
.miner-share-chart-wrap { position: relative; height: 72px; margin: 12px 0 10px; overflow: visible; }
.miner-share-chart-wrap canvas { display: block; width: 100%; height: 72px; cursor: crosshair; }
.miner-tooltip { top: 61px; right: auto; width: 190px; }
.miner-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.miner-card-grid > .loading-cell, .miner-card-grid > .empty-cell { grid-column: 1 / -1; padding: 50px 20px; }
.miner-card { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; padding: 13px 14px; border: 1px solid var(--border); background: var(--surface); transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.miner-card:hover { border-color: var(--border-strong); background: #fbfbfc; transform: translateY(-1px); }
.miner-card-top { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; }
.miner-card-top strong { margin-left: auto; font-family: var(--mono); font-size: 13px; font-weight: 700; }
.miner-card-top strong small { color: var(--muted); font-family: var(--sans); font-size: 9px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.miner-rank { color: var(--muted-2); font-family: var(--mono); font-size: 10px; }
.miner-swatch { width: 8px; height: 8px; border-radius: 50%; background: var(--swatch); }
.chart-tooltip [class^="swatch-"] { background: var(--swatch); }
.miner-card-address { min-width: 0; }
.miner-card-address > a, .miner-card-address > span { display: block; max-width: 100%; overflow: hidden; color: var(--link); font-family: var(--mono); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.miner-card-address > a.alias-link { display: inline-flex; }
.miner-card-address > small { display: block; margin-top: 5px; color: var(--muted-2); font-size: 9px; }
.miner-card-meta { min-width: 82px; text-align: right; }
.miner-card-meta b, .miner-card-meta span { display: block; }
.miner-card-meta b { color: var(--text); font-family: var(--mono); font-size: 13px; }
.miner-card-meta span { margin-top: 5px; color: var(--muted); font-family: var(--mono); font-size: 9px; }
.miner-card-other { background: var(--surface-2); }

.pool-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.pool-summary-grid .summary-card { border-top-color: var(--green); }
.pool-share-panel { margin-bottom: 18px; }
.pool-chart-wrap { position: relative; height: 148px; padding: 10px 20px 0; overflow: visible; }
.pool-chart-wrap canvas { display: block; width: 100%; height: 126px; cursor: crosshair; }
.pool-chart-wrap .chart-empty { inset: 10px 20px 0; }
.pool-tooltip { top: 110px; right: auto; }
.pool-method-note { margin: 0; padding: 0 20px 17px; color: var(--muted-2); font-size: 10px; line-height: 1.55; }
.pool-table { min-width: 980px; }
.pool-share-value { color: var(--text); font-family: var(--mono); font-size: 13px; }

.pending-panel { margin-bottom: 18px; }
.pending-panel .panel-head > div { display: flex; align-items: center; gap: 11px; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 5px rgba(231,189,99,.09); }
.mempool-layout { display: grid; min-height: 470px; grid-template-columns: minmax(0,1.8fr) minmax(330px,.72fr); }
.mempool-map-pane { min-width: 0; padding: 17px 18px 18px; border-right: 1px solid var(--border); background: var(--surface-2); }
.mempool-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--border); background: var(--surface); }
.mempool-kpis > div { padding: 11px 13px; border-right: 1px solid var(--border); }
.mempool-kpis > div:last-child { border-right: 0; }
.mempool-kpis span { display: block; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mempool-kpis strong { display: block; margin-top: 5px; font-family: var(--mono); font-size: 15px; font-weight: 650; }
.mempool-map-legend { display: flex; min-height: 35px; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; }
.mempool-map-legend i { width: 112px; height: 6px; border-radius: 999px; background: linear-gradient(90deg,#1a342d,#1f4c3a 22%,#276548 44%,#3d7d4f 65%,#758945 82%,#be9433); box-shadow: 0 0 0 1px rgba(31,76,58,.14); }
.mempool-map-legend small { margin-left: auto; color: var(--muted-2); font-size: 9px; }
.mempool-map-wrap { position: relative; height: 366px; overflow: hidden; border: 1px solid #26362f; border-radius: 4px; background: linear-gradient(135deg,#0d1411,#141b17); box-shadow: inset 0 0 0 1px rgba(39,101,72,.07), 0 10px 28px rgba(11,17,14,.14); }
.mempool-map-wrap canvas { display: block; width: 100%; height: 100%; cursor: crosshair; }
.mempool-map-empty { display: grid; position: absolute; inset: 0; place-items: center; color: var(--muted); font-size: 11px; }
.mempool-map-empty[hidden] { display: none; }
.mempool-tooltip { top: 10px; right: auto; width: 210px; }
.mempool-feed-pane { display: flex; min-width: 0; max-height: 470px; flex-direction: column; background: var(--surface); }
.mempool-feed-head { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--border); }
.mempool-feed-head h3 { margin: 3px 0 0; font-size: 15px; font-weight: 650; letter-spacing: -.02em; }
.mempool-feed-head > span { color: var(--muted); font-family: var(--mono); font-size: 10px; }
.pending-list { min-height: 0; flex: 1; overflow-y: auto; }
.pending-list > .loading-cell, .pending-list > .empty-cell { padding: 80px 18px; }
.pending-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 13px; padding: 12px 15px; border-bottom: 1px solid var(--border); background: var(--surface); transition: background-color .18s ease, box-shadow .18s ease; }
.pending-item:last-child { border-bottom: 0; }
.pending-item:hover { background: var(--surface-2); }
.pending-item.is-linked { background: var(--green-soft); box-shadow: inset 3px 0 0 var(--green); }
.pending-main { min-width: 0; }
.pending-main a { display: block; overflow: hidden; color: var(--link); font-family: var(--mono); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pending-main small { display: block; margin-top: 5px; color: var(--muted-2); font-size: 9px; }
.pending-stats { text-align: right; }
.pending-stats strong, .pending-stats span { display: block; }
.pending-stats strong { color: var(--text); font-family: var(--mono); font-size: 11px; font-weight: 650; }
.pending-stats span { margin-top: 5px; color: var(--muted); font-family: var(--mono); font-size: 9px; }

.back-link { display: inline-block; margin-bottom: 22px; color: var(--muted); font-size: 12px; }
.back-link:hover { color: var(--link); }
.detail-heading { align-items: center; }
.detail-hash { max-width: min(900px, 72vw) !important; overflow-wrap: anywhere; color: var(--muted) !important; font-size: 13px !important; }
.status-badge { padding: 8px 11px; border: 1px solid var(--border-strong); color: var(--muted); font-size: 10px; font-weight: 720; letter-spacing: .06em; text-transform: uppercase; }
.status-badge.confirmed { border-color: rgba(40,113,90,.3); color: var(--success); background: var(--success-soft); }
.status-badge.pending { border-color: rgba(231,189,99,.4); color: var(--yellow); }
.detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-bottom: 18px; background: var(--border); border: 1px solid var(--border); }
.fact-card { min-width: 0; padding: 18px; background: var(--surface); }
.fact-card span { display: block; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.fact-card strong { display: block; overflow: hidden; margin-top: 8px; color: var(--text); font-size: 15px; font-weight: 610; text-overflow: ellipsis; white-space: nowrap; }
.fact-card strong.mono { font-size: 12px; }
.io-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.io-list { max-height: 650px; overflow: auto; }
.io-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 67px; padding: 11px 17px; border-bottom: 1px solid var(--border); }
.io-row:last-child { border-bottom: 0; }
.io-index { color: var(--muted-2); font-family: var(--mono); font-size: 11px; }
.io-main { min-width: 0; }
.io-main a, .io-main span { display: block; overflow: hidden; font-family: var(--mono); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.io-main a { color: var(--link); }
.io-main small { display: block; margin-top: 4px; color: var(--muted-2); font-size: 10px; }
.io-value { font-family: var(--mono); font-size: 12px; }
.address-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.address-summary .fact-card { border: 1px solid var(--border); border-top: 2px solid var(--border-strong); }
.address-scope-note { display: flex; align-items: flex-start; gap: 11px; margin: -3px 0 18px; padding: 13px 15px; border: 1px solid rgba(57,174,232,.2); background: rgba(57,174,232,.055); }
.address-scope-note > span { display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; border: 1px solid rgba(57,174,232,.38); border-radius: 50%; color: var(--blue); font-family: var(--mono); font-size: 9px; }
.address-scope-note p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.address-scope-note strong { color: var(--text); font-weight: 650; }
.address-balance-panel { margin-bottom: 18px; overflow: hidden; box-shadow: 0 18px 48px rgba(15,17,21,.055); }
.address-balance-head { min-height: 88px; background: linear-gradient(120deg,#fff 55%,rgba(115,29,48,.035)); }
.address-balance-summary { min-width: 235px; padding: 11px 14px; border: 1px solid rgba(115,29,48,.14); border-radius: 7px; background: rgba(115,29,48,.045); text-align: right; }
.address-balance-summary span, .address-balance-summary strong { display: block; }
.address-balance-summary span { color: var(--muted); font-size: 9px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.address-balance-summary strong { margin-top: 7px; color: var(--green); font-family: var(--mono); font-size: 18px; font-weight: 680; }
.address-chart-meta { display: flex; min-height: 50px; align-items: center; gap: 8px; padding: 8px 20px; border-bottom: 1px solid var(--border); color: var(--muted); background: #f4f5f6; font-size: 10px; }
.address-chart-meta span { display: inline-flex; min-height: 27px; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 999px; background: rgba(255,255,255,.8); }
.address-chart-meta b { color: var(--text); font-family: var(--mono); font-weight: 650; }
.address-meta-skeleton { width: 145px; border: 0 !important; background: linear-gradient(90deg,#e1e4e6 25%,#f5f6f7 45%,#e1e4e6 65%) !important; background-size: 240% 100% !important; animation: address-skeleton 1.2s ease-in-out infinite; }
.address-meta-skeleton.short { width: 105px; }
.address-balance-chart-wrap { position: relative; height: 340px; padding: 13px 12px 9px; background: linear-gradient(180deg,#fff,#fafbfb); }
.address-balance-chart-wrap canvas { display: block; width: 100%; height: 100%; cursor: crosshair; }
.address-chart-loading { align-items: center; flex-direction: column; justify-content: center; gap: 7px; background: radial-gradient(circle at center,rgba(115,29,48,.025),transparent 46%); }
.address-chart-loading i { width: 28px; height: 28px; margin-bottom: 3px; border: 2px solid rgba(115,29,48,.13); border-top-color: var(--green); border-radius: 50%; animation: address-spinner .8s linear infinite; }
.address-chart-loading strong { color: var(--text); font-size: 12px; font-weight: 670; }
.address-chart-loading small { color: var(--muted-2); font-size: 10px; }
.address-chart-loading.is-error i { display: none; }
.address-chart-loading.is-error strong { color: var(--red); }
.address-balance-chart-wrap .chart-tooltip { top: 20px; right: 24px; width: 225px; }
.address-balance-chart-wrap .chart-tooltip .balance-dot { background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.address-balance-chart-wrap .chart-tooltip .change-dot { background: var(--success); }
.address-balance-chart-wrap .chart-tooltip .change-dot.negative { background: var(--red); }
.address-history-table { min-width: 1120px; table-layout: fixed; }
.address-history-table th:nth-child(1) { width: 23%; }
.address-history-table th:nth-child(2) { width: 41%; }
.address-history-table th:nth-child(3),
.address-history-table th:nth-child(4),
.address-history-table th:nth-child(5) { width: 12%; }
.address-history-table th:nth-child(n+3),
.address-history-table td:nth-child(n+3) { text-align: right; }
.address-history-table td { height: 78px; vertical-align: middle; }
.address-transaction > .hash-link { font-size: 13px; font-weight: 620; }
.address-transaction-meta { display: flex; gap: 13px; margin-top: 8px; color: var(--muted-2); font-size: 11px; }
.address-transaction-meta span + span::before { margin-right: 13px; color: var(--border-strong); content: "•"; }
.address-transaction-meta .hash-link { color: var(--muted); }
.transaction-route { display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr); align-items: center; gap: 11px; }
.route-side { min-width: 0; }
.route-side > small { display: block; margin-bottom: 6px; color: var(--muted-2); font-size: 10px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.route-arrow { color: var(--muted-2); font-size: 17px; text-align: center; }
.flow-list { display: flex; min-width: 0; align-items: stretch; flex-direction: column; gap: 5px; }
.flow-address { display: grid; width: 100%; max-width: none; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding-left: 8px; border-left: 2px solid var(--border-strong); }
.flow-address.self { border-left-color: var(--success); }
.flow-address .address-link { overflow: hidden; font-size: 11px; text-overflow: ellipsis; }
.flow-address small { color: var(--muted-2); font-family: var(--mono); font-size: 10px; }
.flow-more { color: var(--blue); font-size: 10px; font-weight: 650; }
.flow-origin { color: var(--muted-2); font-size: 11px; }
.flow-origin.reward { color: var(--yellow); font-weight: 650; }
.amount-cell { font-family: var(--mono); font-size: 12px; font-variant-numeric: tabular-nums; }
.net-amount { font-weight: 700; }

/* Interactive network explainer */
.story-heading { align-items: center; }
.story-heading h1 { max-width: 820px; font-size: clamp(36px, 4.6vw, 68px); font-weight: 710; letter-spacing: -.062em; }
.story-heading p { max-width: 800px; font-size: 15px; }
.story-live { display: flex; min-width: 238px; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid rgba(40,113,90,.25); border-radius: 8px; background: linear-gradient(135deg, rgba(40,113,90,.08), rgba(255,255,255,.82)); box-shadow: 0 12px 32px rgba(15,17,21,.05); }
.story-live > span { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 6px rgba(40,113,90,.1); animation: story-live-pulse 2.2s ease-in-out infinite; }
.story-live small, .story-live strong { display: block; }
.story-live small { color: var(--muted); font-size: 9px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.story-live strong { margin-top: 4px; font-family: var(--mono); font-size: 15px; }

.capacity-panel { display: grid; grid-template-columns: minmax(230px,.72fr) minmax(0,2.1fr); margin-bottom: 18px; overflow: hidden; border-radius: 10px; }
.capacity-intro { padding: 25px 26px; border-right: 1px solid var(--border); background: linear-gradient(145deg, #fff 15%, #f1f2f4); }
.capacity-intro h2 { margin: 7px 0 9px; font-size: 22px; letter-spacing: -.035em; }
.capacity-intro p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.capacity-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--border); gap: 1px; }
.capacity-grid article { min-width: 0; padding: 24px 20px; background: var(--surface); }
.capacity-grid article > span, .capacity-grid article > strong, .capacity-grid article > small { display: block; }
.capacity-grid article > span { color: var(--muted); font-size: 9px; font-weight: 740; letter-spacing: .09em; text-transform: uppercase; }
.capacity-grid article > strong { margin-top: 11px; font-family: var(--mono); font-size: clamp(18px,1.6vw,25px); font-weight: 700; letter-spacing: -.04em; }
.capacity-grid article > small { margin-top: 7px; color: var(--muted-2); font-size: 9px; line-height: 1.5; }
.capacity-grid article:nth-child(1) > strong { color: var(--green); }
.capacity-grid article:nth-child(2) > strong { color: var(--success); }
.capacity-grid .capacity-meaning { background: #16191e; }
.capacity-grid .capacity-meaning > span, .capacity-grid .capacity-meaning > small { color: #8f969d; }
.capacity-grid .capacity-meaning > strong { color: #fff; font-family: var(--sans); font-size: 17px; line-height: 1.25; }
.capacity-grid a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }

.story-panel { overflow: hidden; border-radius: 10px; }
.story-panel-head { min-height: 86px; padding-inline: 26px; background: linear-gradient(90deg,#fff,#fafafb); }
.story-panel-head h2 { font-size: 22px; }
.story-run-state { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: var(--surface); font-size: 10px; font-weight: 650; }
.story-run-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted-2); transition: background .25s ease, box-shadow .25s ease; }
.story-panel.is-running .story-run-state i { background: var(--green); box-shadow: 0 0 0 5px var(--green-soft); animation: story-live-pulse 1.1s ease-in-out infinite; }
.story-panel.is-complete .story-run-state i { background: var(--success); box-shadow: 0 0 0 5px var(--success-soft); }

.story-scene { display: grid; min-height: 500px; grid-template-columns: minmax(238px,.92fr) 40px minmax(270px,1.06fr) 40px minmax(225px,.88fr) 40px minmax(226px,.86fr); align-items: stretch; padding: 24px; background:
  radial-gradient(circle at 38% 40%, rgba(115,29,48,.055), transparent 26%),
  linear-gradient(180deg,#f5f6f7 0,#eef0f2 100%); perspective: 1250px; }
.story-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 10px; background: rgba(255,255,255,.88); box-shadow: 0 18px 45px rgba(15,17,21,.07); opacity: .56; filter: saturate(.45); transition: opacity .38s ease, filter .38s ease, border-color .38s ease, box-shadow .38s ease, transform .38s cubic-bezier(.2,.8,.2,1); transform: translateY(5px) rotateX(.7deg); transform-style: preserve-3d; }
.story-card.is-reached { opacity: 1; filter: saturate(1); transform: translateY(0) rotateX(0); }
.story-card.is-active { z-index: 2; border-color: rgba(115,29,48,.5); box-shadow: 0 24px 60px rgba(115,29,48,.14), 0 0 0 3px rgba(115,29,48,.06); transform: translateY(-3px) scale(1.012); }
.story-card-label { display: flex; min-height: 52px; align-items: center; gap: 9px; padding: 0 15px; border-bottom: 1px solid var(--border); color: var(--text); font-size: 11px; font-weight: 720; }
.story-card-label span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); font-family: var(--mono); font-size: 9px; }

.story-connector { display: flex; position: relative; min-width: 0; align-items: center; justify-content: center; opacity: .28; transition: opacity .3s ease; }
.story-connector::before { position: absolute; right: 2px; left: 2px; height: 1px; background: var(--border-strong); content: ""; }
.story-connector::after { position: absolute; right: 1px; width: 6px; height: 6px; border-top: 1px solid var(--muted); border-right: 1px solid var(--muted); content: ""; transform: rotate(45deg); }
.story-connector > span { position: absolute; z-index: 1; top: calc(50% - 27px); padding: 3px 5px; color: var(--muted-2); background: var(--surface-2); font-size: 7px; font-weight: 760; letter-spacing: .06em; text-align: center; text-transform: uppercase; white-space: nowrap; }
.story-connector > i { position: absolute; z-index: 2; left: 1px; width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px var(--green-soft); opacity: 0; }
.story-connector.is-reached { opacity: .85; }
.story-connector.is-active { opacity: 1; }
.story-connector.is-active::before { background: rgba(115,29,48,.45); }
.story-connector.is-active > i { opacity: 1; animation: story-packet 1s cubic-bezier(.3,.65,.35,1) infinite; }

.chat-window { display: flex; height: calc(100% - 52px); min-height: 405px; flex-direction: column; background: #fbfbfc; }
.chat-window-head { display: flex; min-height: 44px; align-items: center; gap: 8px; padding: 0 13px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 10px; }
.chat-window-head i { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px var(--success-soft); }
.chat-window-head span { color: var(--text); font-weight: 680; }
.chat-window-head small { margin-left: auto; color: var(--muted-2); font-size: 8px; }
.chat-transcript { display: flex; flex: 1; flex-direction: column; gap: 14px; padding: 18px 14px; }
.chat-bubble { max-width: 88%; padding: 12px 13px; border-radius: 12px; font-size: 11px; line-height: 1.6; }
.chat-bubble.user { align-self: flex-end; border-bottom-right-radius: 3px; color: #fff; background: var(--green); box-shadow: 0 8px 22px rgba(115,29,48,.16); }
.chat-bubble.assistant { position: relative; align-self: flex-start; border: 1px solid var(--border); border-bottom-left-radius: 3px; color: var(--muted); background: #fff; opacity: .45; transition: opacity .3s ease, border-color .3s ease, box-shadow .3s ease; }
.chat-bubble.assistant.is-reached { opacity: 1; }
.chat-bubble.assistant.is-active { border-color: rgba(40,113,90,.42); box-shadow: 0 10px 25px rgba(40,113,90,.1); }
.chat-bubble.assistant i { display: none; width: 4px; height: 13px; margin-left: 2px; vertical-align: middle; background: var(--success); animation: story-caret .7s steps(1) infinite; }
.chat-bubble.assistant.is-typing i { display: inline-block; }
.story-prompt { display: flex; margin: 0 12px 12px; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; }
.story-prompt input { min-width: 0; height: 43px; flex: 1; padding: 0 11px; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 9px; }
.story-prompt button, #story-replay { border: 0; color: #fff; background: var(--green); font-size: 9px; font-weight: 740; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.story-prompt button { padding: 0 13px; }
.story-prompt button:hover, #story-replay:hover { background: #8d263c; }
.story-prompt button:active, #story-replay:active { transform: translateY(1px); }

.story-network { padding-bottom: 18px; }
.miner-cloud { position: relative; height: 330px; margin: 8px 10px 0; overflow: hidden; border-radius: 9px; background:
  radial-gradient(circle at center, rgba(115,29,48,.13) 0, rgba(115,29,48,.045) 22%, transparent 45%),
  linear-gradient(rgba(115,29,48,.04) 1px, transparent 1px), linear-gradient(90deg,rgba(115,29,48,.04) 1px,transparent 1px), #15191d; background-size: auto, 28px 28px, 28px 28px, auto; perspective: 900px; }
.miner-cloud::before, .miner-cloud::after { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.miner-cloud::before { width: 180px; height: 180px; }
.miner-cloud::after { width: 265px; height: 265px; }
.miner-cloud-label { position: absolute; z-index: 4; top: 10px; left: 12px; color: #929aa2; font-size: 7px; font-weight: 730; letter-spacing: .12em; text-transform: uppercase; }
.routing-core { display: grid; position: absolute; z-index: 5; top: 50%; left: 50%; width: 88px; height: 88px; place-content: center; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; background: radial-gradient(circle at 35% 25%, #962d45,#551321 70%); box-shadow: 0 0 0 9px rgba(115,29,48,.12), 0 20px 36px rgba(0,0,0,.3); transform: translate(-50%,-50%) translateZ(28px); }
.routing-core img { width: 23px; height: 23px; filter: brightness(0) invert(1); }
.routing-core strong { margin-top: 4px; font-size: 9px; }
.routing-core span { color: rgba(255,255,255,.55); font-size: 6px; }
.miner-node { display: grid; position: absolute; z-index: 3; width: 64px; height: 48px; grid-template-columns: 12px 1fr; grid-template-rows: 1fr 1fr; align-items: center; padding: 7px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; color: #dfe4e7; background: linear-gradient(145deg,#2b333a,#1c2228); box-shadow: 0 8px 18px rgba(0,0,0,.28); transition: opacity .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease; animation: miner-float 4s ease-in-out infinite; }
.miner-node::after { position: absolute; width: 54px; height: 1px; background: linear-gradient(90deg,rgba(255,255,255,.18),transparent); content: ""; pointer-events: none; transform-origin: left; }
.miner-node i { width: 7px; height: 7px; grid-row: 1 / 3; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(40,113,90,.13); }
.miner-node span { font-size: 8px; font-weight: 700; }
.miner-node small { color: #7f8991; font-size: 6px; }
.miner-node.is-reached, .miner-node.selected.is-reached { border-color: rgba(255,255,255,.22); }
.miner-node.selected.is-active { border-color: #f1c66e; background: linear-gradient(145deg,#4e3d1d,#282319); box-shadow: 0 0 0 3px rgba(241,198,110,.12), 0 0 30px rgba(241,198,110,.32); transform: translateY(-5px) scale(1.12); }
.miner-node.selected.is-active i { background: #f1c66e; box-shadow: 0 0 0 4px rgba(241,198,110,.15); }
.miner-1 { top: 44px; left: 24px; animation-delay: -.4s; }
.miner-2 { top: 34px; right: 29px; animation-delay: -1.1s; }
.miner-3 { top: 128px; left: 16px; animation-delay: -2.3s; }
.miner-4 { top: 127px; right: 15px; animation-delay: -.8s; }
.miner-5 { bottom: 39px; left: 30px; animation-delay: -1.7s; }
.miner-6 { right: 30px; bottom: 37px; animation-delay: -2.8s; }
.miner-7 { bottom: 11px; left: 50%; animation-delay: -.3s; transform: translateX(-50%); }
.miner-8 { top: 12px; left: 50%; animation-delay: -2s; transform: translateX(-50%); }
.miner-1::after, .miner-3::after, .miner-5::after { left: 100%; transform: rotate(18deg); }
.miner-2::after, .miner-4::after, .miner-6::after { right: 100%; transform: rotate(162deg); transform-origin: right; }
.miner-cloud-3d { height: 350px; margin-top: 8px; border: 1px solid rgba(139,174,162,.18); background: #0e1518; box-shadow: inset 0 0 60px rgba(0,0,0,.32); cursor: grab; isolation: isolate; }
.miner-cloud-3d:active { cursor: grabbing; }
.miner-cloud-3d::before, .miner-cloud-3d::after { display: none; }
.miner-cloud-3d canvas { display: block; position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; outline: 0; opacity: 0; transition: opacity .55s ease; }
.miner-cloud-3d.is-3d-ready canvas { opacity: 1; }
.network-3d-topline { display: flex; position: absolute; z-index: 3; top: 12px; right: 13px; left: 13px; align-items: center; justify-content: space-between; gap: 8px; color: rgba(224,235,231,.76); pointer-events: none; }
.network-3d-topline span { display: flex; align-items: center; gap: 6px; font-size: 7px; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.network-3d-topline span i { width: 6px; height: 6px; border-radius: 50%; background: #6ae5b7; box-shadow: 0 0 0 4px rgba(106,229,183,.09), 0 0 14px rgba(106,229,183,.55); animation: story-live-pulse 2s ease-in-out infinite; }
.network-3d-topline strong { color: rgba(255,255,255,.45); font-family: var(--mono); font-size: 7px; font-weight: 560; }
.network-3d-legend { display: flex; position: absolute; z-index: 3; right: 12px; bottom: 11px; left: 12px; align-items: center; justify-content: center; gap: 14px; color: rgba(225,234,231,.52); pointer-events: none; }
.network-3d-legend span { display: flex; align-items: center; gap: 6px; font-size: 7px; }
.network-3d-legend i { width: 7px; height: 7px; border-radius: 2px; }
.network-3d-legend .miner-dot { background: #4d8f78; box-shadow: 0 0 8px rgba(77,143,120,.5); }
.network-3d-legend .route-dot { border-radius: 50%; background: #f1c46a; box-shadow: 0 0 9px rgba(241,196,106,.65); }
.network-3d-tooltip { position: absolute; z-index: 5; width: 166px; padding: 10px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; color: #edf2f0; background: rgba(14,21,24,.91); box-shadow: 0 14px 34px rgba(0,0,0,.4); backdrop-filter: blur(8px); pointer-events: none; animation: tooltip-in .13s ease both; }
.network-3d-tooltip[hidden] { display: none; }
.network-3d-tooltip strong, .network-3d-tooltip span { display: block; }
.network-3d-tooltip strong { font-family: var(--mono); font-size: 9px; }
.network-3d-tooltip span { margin-top: 4px; color: rgba(222,233,229,.55); font-size: 7px; line-height: 1.4; }
.network-3d-fallback { display: grid; position: absolute; z-index: 4; inset: 0; place-content: center; padding: 20px; color: #fff; text-align: center; }
.network-3d-fallback[hidden] { display: none; }
.network-3d-fallback strong, .network-3d-fallback span { display: block; }
.network-3d-fallback strong { font-size: 12px; }.network-3d-fallback span { margin-top: 7px; color: #8f999d; font-size: 9px; }
.story-network > p { margin: 14px 16px 0; color: var(--muted); font-size: 9px; line-height: 1.55; text-align: center; }
.story-network > p strong { color: var(--green); font-family: var(--mono); }

.inference-core { display: flex; height: calc(100% - 52px); min-height: 405px; align-items: stretch; flex-direction: column; justify-content: center; padding: 22px 16px; background: linear-gradient(150deg,#fff 0,#f2f0f1 100%); }
.model-chip { position: relative; padding: 19px 16px; border: 1px solid rgba(115,29,48,.25); border-radius: 8px; background: linear-gradient(145deg,#821f36,#50131f); box-shadow: 0 18px 35px rgba(115,29,48,.18); color: #fff; text-align: center; }
.model-chip::before, .model-chip::after { position: absolute; top: 10px; bottom: 10px; width: 5px; background: repeating-linear-gradient(180deg,rgba(255,255,255,.55) 0 3px,transparent 3px 7px); content: ""; }
.model-chip::before { left: -6px; }.model-chip::after { right: -6px; }
.model-chip span, .model-chip strong { display: block; }
.model-chip span { color: rgba(255,255,255,.55); font-size: 7px; letter-spacing: .09em; text-transform: uppercase; }
.model-chip strong { margin-top: 5px; font-family: var(--mono); font-size: 11px; }
.token-stream { display: flex; height: 80px; align-items: center; justify-content: center; gap: 5px; }
.token-stream i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); opacity: .22; }
.story-proof.is-active .token-stream i { animation: token-wave .82s ease-in-out infinite; }
.story-proof.is-active .token-stream i:nth-child(2) { animation-delay: .08s; }.story-proof.is-active .token-stream i:nth-child(3) { animation-delay: .16s; }.story-proof.is-active .token-stream i:nth-child(4) { animation-delay: .24s; }.story-proof.is-active .token-stream i:nth-child(5) { animation-delay: .32s; }.story-proof.is-active .token-stream i:nth-child(6) { animation-delay: .4s; }.story-proof.is-active .token-stream i:nth-child(7) { animation-delay: .48s; }.story-proof.is-active .token-stream i:nth-child(8) { animation-delay: .56s; }
.dual-output { display: grid; grid-template-columns: 1fr; gap: 8px; }
.dual-output > div { position: relative; padding: 13px 12px 13px 15px; border: 1px solid var(--border); border-left: 3px solid var(--muted-2); border-radius: 6px; background: #fff; opacity: .42; transform: translateY(5px); transition: opacity .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease; }
.dual-output > div:nth-child(2) { border-left-color: var(--green); }
.dual-output > div.is-reached { opacity: 1; transform: translateY(0); }
.dual-output > div.is-active { box-shadow: 0 9px 22px rgba(40,113,90,.08); }
.dual-output span, .dual-output strong, .dual-output small { display: block; }
.dual-output span { color: var(--muted-2); font-size: 7px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.dual-output strong { margin-top: 4px; font-size: 10px; }
.dual-output small { margin-top: 3px; color: var(--muted); font-size: 7px; }

.story-chain { padding-bottom: 14px; }
.validator-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; padding: 16px 12px 10px; }
.validator-row > div { display: grid; justify-items: center; gap: 6px; padding: 11px 3px; border: 1px solid var(--border); border-radius: 6px; background: #fafafb; }
.validator-row i { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid rgba(40,113,90,.25); border-radius: 50%; background: var(--success-soft); }
.validator-row i::after { color: var(--success); font-size: 10px; font-weight: 800; content: "✓"; }
.validator-row span { color: var(--muted); font-size: 7px; font-weight: 680; }
.story-chain.is-active .validator-row i { animation: validator-check .9s ease-in-out infinite alternate; }
.story-chain.is-active .validator-row > div:nth-child(2) i { animation-delay: .16s; }.story-chain.is-active .validator-row > div:nth-child(3) i { animation-delay: .32s; }
.proof-result { margin: 0 12px 10px; padding: 13px; border: 1px solid rgba(40,113,90,.24); border-radius: 7px; background: var(--success-soft); }
.proof-result span, .proof-result strong, .proof-result small { display: block; }
.proof-result span { color: var(--success); font-size: 7px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.proof-result strong { margin-top: 5px; font-size: 11px; }
.proof-result small { margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.5; }
.block-result { margin: 0 12px; padding-top: 10px; border-top: 1px solid var(--border); opacity: .25; transition: opacity .35s ease, transform .35s ease; transform: translateY(7px); }
.block-result.is-reached { opacity: 1; transform: translateY(0); }
.block-result > span { display: block; margin-bottom: 7px; color: var(--muted-2); font-size: 7px; text-align: center; }
.block-result > div { display: grid; grid-template-columns: 29px 1fr; grid-template-rows: 1fr 1fr; align-items: center; padding: 11px; border: 1px solid rgba(154,105,23,.32); border-radius: 7px; background: #fff9e9; }
.block-result img { width: 23px; height: 23px; grid-row: 1/3; }
.block-result strong { font-size: 10px; }.block-result small { color: var(--muted); font-size: 7px; }
.block-result.is-active > div { animation: block-arrive .7s cubic-bezier(.2,.8,.2,1) both; }

.story-timeline { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 0; padding: 0 24px 21px; background: var(--surface-2); }
.story-timeline > div { display: flex; position: relative; align-items: center; gap: 8px; padding-top: 17px; color: var(--muted-2); font-size: 8px; font-weight: 650; opacity: .55; transition: color .3s ease, opacity .3s ease; }
.story-timeline > div::before { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: var(--border-strong); content: ""; }
.story-timeline > div.is-reached { color: var(--text); opacity: 1; }
.story-timeline > div.is-reached::before { background: var(--green); }
.story-timeline > div.is-active::before { animation: timeline-glow 1s ease-in-out infinite alternate; }
.story-timeline i { display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; border-radius: 50%; color: var(--muted); background: var(--surface-3); font-family: var(--mono); font-size: 7px; font-style: normal; }
.story-timeline .is-reached i { color: #fff; background: var(--green); }
.story-explainer { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 25px; padding: 18px 24px; border-top: 1px solid var(--border); }
.story-explainer p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.story-explainer p strong { color: var(--text); }
#story-replay { min-height: 38px; padding: 0 16px; border-radius: 6px; }

.story-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.story-principles article { position: relative; min-height: 160px; padding: 24px; overflow: hidden; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.story-principles article::after { position: absolute; right: -25px; bottom: -35px; width: 120px; height: 120px; border: 1px solid var(--border); border-radius: 50%; content: ""; }
.story-principles span { color: var(--green); font-family: var(--mono); font-size: 10px; }
.story-principles h3 { margin: 20px 0 8px; font-size: 17px; letter-spacing: -.025em; }
.story-principles p { max-width: 380px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }

@keyframes story-live-pulse { 50% { box-shadow: 0 0 0 9px rgba(40,113,90,.025); transform: scale(.92); } }
@keyframes story-packet { from { left: 2px; } to { left: calc(100% - 9px); } }
@keyframes story-caret { 50% { opacity: 0; } }
@keyframes miner-float { 0%,100% { margin-top: 0; } 50% { margin-top: -4px; } }
@keyframes token-wave { 0%,100% { opacity: .18; transform: translateY(0) scale(.75); } 50% { opacity: 1; transform: translateY(-7px) scale(1.2); } }
@keyframes validator-check { from { box-shadow: 0 0 0 0 rgba(40,113,90,.06); } to { box-shadow: 0 0 0 7px rgba(40,113,90,.08); } }
@keyframes block-arrive { from { opacity: 0; transform: scale(.88) translateY(9px); } 70% { transform: scale(1.025) translateY(-1px); } to { opacity: 1; transform: none; } }
@keyframes timeline-glow { from { box-shadow: 0 0 0 rgba(115,29,48,0); } to { box-shadow: 0 0 14px rgba(115,29,48,.5); } }

.empty-page { display: flex; min-height: 470px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.empty-code { color: var(--green); font-family: var(--mono); font-size: 13px; }
.empty-page h1 { margin: 10px 0; font-size: 28px; font-weight: 650; letter-spacing: -.04em; }
.empty-page p { max-width: 520px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.empty-page a { margin-top: 22px; padding: 10px 15px; border: 1px solid var(--border-strong); color: var(--green); font-size: 12px; }

.site-footer { border-top: 1px solid var(--border); background: var(--surface-2); }
.footer-inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 30px; color: var(--muted-2); font-size: 10px; }
.footer-inner strong, .footer-inner span { display: block; }
.footer-inner strong { margin-bottom: 5px; color: var(--muted); font-size: 11px; }
.footer-status { display: flex; gap: 7px; }

@keyframes page-rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nav-line {
  from { opacity: 0; transform: scaleX(.25); }
  to { opacity: 1; transform: scaleX(1); }
}

@keyframes status-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(40,113,90,.1); }
  50% { box-shadow: 0 0 0 7px rgba(40,113,90,.03); }
}

@keyframes tooltip-in {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes range-progress {
  0% { opacity: .25; transform: scaleX(.08) translateX(-100%); }
  55% { opacity: 1; transform: scaleX(.65) translateX(30%); }
  100% { opacity: .2; transform: scaleX(.2) translateX(480%); }
}

@keyframes row-in {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes row-add {
  from { opacity: 0; box-shadow: inset 4px 0 var(--green); transform: translateY(-12px); }
  to { opacity: 1; box-shadow: inset 0 0 transparent; transform: translateY(0); }
}

@keyframes row-remove {
  to { opacity: 0; transform: translateY(6px); }
}

@keyframes chart-canvas-arrive {
  from { opacity: .18; filter: saturate(.75); transform: translateY(5px); }
  to { opacity: 1; filter: saturate(1); transform: translateY(0); }
}

@keyframes donut-canvas-arrive {
  from { opacity: .12; filter: saturate(.7); transform: scale(.94) rotate(-3deg); }
  to { opacity: 1; filter: saturate(1); transform: scale(1) rotate(0); }
}

@keyframes donut-center-arrive {
  from { opacity: 0; transform: scale(.88); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes holder-legend-arrive {
  from { opacity: 0; transform: translateX(8px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes address-skeleton { to { background-position: -240% 0; } }
@keyframes address-spinner { to { transform: rotate(360deg); } }

.row-new { animation: row-add .52s cubic-bezier(.2,.75,.25,1) both; }
.row-removing { pointer-events: none; animation: row-remove .24s ease both; }

::view-transition-old(explorer-content) { animation: .18s ease both content-out; }
::view-transition-new(explorer-content) { animation: .32s cubic-bezier(.2,.75,.25,1) both content-in; }

@keyframes content-out { to { opacity: 0; transform: translateY(-5px); } }
@keyframes content-in { from { opacity: 0; transform: translateY(8px); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1050px) {
  .header-inner { gap: 12px; }
  .brand-copy small { display: none; }
  .main-nav { margin-left: 4px; }
  .main-nav a { padding-inline: 11px; }
  .header-search { min-width: 210px; max-width: 310px; }
  .network-pill strong { display: none; }
  .mining-overview { grid-template-columns: 260px minmax(0,1fr); }
  .summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .distribution-body { grid-template-columns: 280px minmax(0,1fr); padding-inline: 14px; }
  .donut-wrap { width: min(100%, 250px); height: auto; }
  .donut-center { inset: 62px; }
  .holder-legend { grid-template-columns: 1fr; }
  .miner-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mempool-layout { grid-template-columns: minmax(0,1.45fr) minmax(310px,.8fr); }
  .pool-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .capacity-panel { grid-template-columns: 1fr; }
  .capacity-intro { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-scene { grid-template-columns: minmax(260px,1fr) 35px minmax(290px,1fr); }
  .story-proof { grid-column: 1; }
  .inference-connector { display: none; }
  .story-proof + .verify-connector { grid-column: 2; }
  .story-chain { grid-column: 3; }
}

@media (max-width: 840px) {
  .shell { width: min(100% - 30px, 1480px); }
  .header-inner { height: auto; min-height: 62px; flex-wrap: wrap; gap: 10px; padding-block: 10px; }
  .main-nav { display: none; position: absolute; top: 100%; right: 0; left: 0; height: auto; align-items: stretch; flex-direction: column; margin-left: 0; border: 1px solid var(--border); background: var(--surface); box-shadow: 0 14px 30px rgba(15,17,21,.12); }
  .main-nav.open { display: flex; }
  .main-nav a { min-height: 45px; padding: 0 16px; border-bottom: 1px solid var(--border); }
  .main-nav a.active::after { top: 0; right: auto; bottom: 0; left: -1px; width: 2px; height: auto; }
  .network-pill { margin-left: auto; }
  .mobile-menu { display: block; }
  .header-search { order: 5; min-width: 0; max-width: none; flex: 0 0 100%; margin-left: 0; }
  .mining-overview, .holders-overview, .dual-grid, .io-grid { grid-template-columns: 1fr; }
  .metric-stack { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stack-metric { min-height: 95px; padding-inline: 12px; border-right: 1px solid var(--border); }
  .stack-metric.primary { grid-column: 1 / -1; border-right: 0; }
  .chart-wrap { height: 380px; }
  .distribution-body { grid-template-columns: 1fr; }
  .miner-card-grid { grid-template-columns: 1fr; }
  .mempool-layout { grid-template-columns: 1fr; }
  .mempool-map-pane { border-right: 0; border-bottom: 1px solid var(--border); }
  .mempool-feed-pane { max-height: 440px; }
  .holder-legend { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-grid, .address-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-heading { align-items: flex-start; }
  .story-heading h1 { font-size: clamp(34px,9vw,54px); }
  .story-live { width: 100%; }
  .story-scene { grid-template-columns: 1fr; gap: 0; }
  .story-card, .story-proof, .story-chain { grid-column: 1; }
  .story-connector, .story-proof + .verify-connector { display: flex; width: 100%; height: 54px; grid-column: 1; }
  .story-connector::before { top: 3px; bottom: 3px; left: 50%; width: 1px; height: auto; }
  .story-connector::after { right: auto; bottom: 2px; left: calc(50% - 3px); transform: rotate(135deg); }
  .story-connector > span { top: 19px; left: calc(50% + 9px); }
  .story-connector > i { top: 2px; left: calc(50% - 4px); }
  .story-connector.is-active > i { animation: story-packet-vertical 1s cubic-bezier(.3,.65,.35,1) infinite; }
  .story-timeline { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 11px; }
  .story-explainer { grid-template-columns: 1fr; }
  .story-principles { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .shell { width: min(100% - 22px, 1480px); }
  .brand-copy small { display: none; }
  .network-pill { display: none; }
  .chain-search button { padding-inline: 15px; }
  .site-main { padding-top: 28px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .height-chip { min-width: 0; padding-left: 0; border-left: 0; }
  .metric-stack { grid-template-columns: 1fr; }
  .stack-metric.primary { grid-column: auto; }
  .stack-metric { border-right: 0; }
  .chart-head, .transfer-head { align-items: flex-start; flex-direction: column; }
  .pool-summary-grid { grid-template-columns: 1fr; }
  .range-tabs, .filter-tabs { width: 100%; }
  .range-tabs button, .filter-tabs button { flex: 1; }
  .miner-distribution-body { padding: 14px; }
  .miner-summary-strip { grid-template-columns: 1fr; }
  .miner-summary-strip > div { padding: 10px 12px; border-right: 0; border-bottom: 1px solid var(--border); }
  .miner-summary-strip > div:last-child { border-bottom: 0; }
  .chart-wrap { height: 330px; }
  .summary-grid { grid-template-columns: 1fr; }
  .mempool-map-pane { padding: 13px; }
  .mempool-kpis { grid-template-columns: 1fr; }
  .mempool-kpis > div { padding: 9px 11px; border-right: 0; border-bottom: 1px solid var(--border); }
  .mempool-kpis > div:last-child { border-bottom: 0; }
  .mempool-map-legend small { display: none; }
  .mempool-map-wrap { height: 315px; }
  .holder-legend { grid-template-columns: 1fr; }
  .detail-grid, .address-summary { grid-template-columns: 1fr; }
  .detail-hash { max-width: 90vw !important; }
  .address-balance-head { align-items: flex-start; flex-direction: column; }
  .address-balance-summary { width: 100%; padding: 10px 12px; text-align: left; }
  .address-chart-meta { align-items: flex-start; flex-direction: column; gap: 5px; padding-block: 10px; }
  .address-chart-meta span { width: 100%; justify-content: space-between; }
  .address-balance-chart-wrap { height: 300px; padding-inline: 4px; }
  .footer-inner { align-items: flex-start; flex-direction: column; justify-content: center; }
  .footer-status { display: flex; }
  .capacity-grid { grid-template-columns: 1fr; }
  .capacity-grid article { padding: 20px; }
  .story-panel-head { align-items: flex-start; flex-direction: column; }
  .story-run-state { width: 100%; }
  .story-scene { padding: 14px; }
  .miner-cloud { height: 310px; }
  .story-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 14px; }
}

@keyframes story-packet-vertical { from { top: 2px; } to { top: calc(100% - 10px); } }

/* Full-page Three.js network story */
body[data-page="learn"] { overflow-x: hidden; background: #071014; }
body[data-page="learn"] .site-main { width: 100%; min-height: 0; max-width: none; margin: 0; padding: 0; }
body[data-page="learn"] .site-footer { display: none; }
.story3d-page { --story-edge: clamp(32px,3.5vw,72px); position: relative; height: calc(100svh - 68px); min-height: 790px; overflow: hidden; color: #edf4f1; background: #071014; isolation: isolate; }
.story3d-page::before { position: absolute; z-index: 1; inset: 0; background:
  radial-gradient(circle at 50% 56%, transparent 0, transparent 37%, rgba(7,16,20,.22) 66%, rgba(7,16,20,.8) 100%),
  linear-gradient(180deg,rgba(7,16,20,.5),transparent 22%,transparent 72%,rgba(7,16,20,.72)); content: ""; pointer-events: none; }
#tensorcash-world-canvas { display: block; position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; outline: 0; opacity: 0; transition: opacity .8s ease; }
.story3d-page.is-3d-ready #tensorcash-world-canvas { opacity: 1; }
.story3d-vignette { position: absolute; z-index: 1; inset: 0; background: radial-gradient(ellipse at center,transparent 38%,rgba(4,9,12,.6) 100%); pointer-events: none; }
.story3d-scanlines { position: absolute; z-index: 1; inset: 0; opacity: .12; background: repeating-linear-gradient(180deg,transparent 0 3px,rgba(255,255,255,.035) 3px 4px); mix-blend-mode: soft-light; pointer-events: none; }

.story3d-hero { position: absolute; z-index: 3; top: 42px; left: var(--story-edge); width: min(640px,45vw); pointer-events: none; }
.story3d-eyebrow { display: flex; align-items: center; gap: 9px; color: rgba(210,229,222,.68); font-size: 9px; font-weight: 760; letter-spacing: .16em; text-transform: uppercase; }
.story3d-eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #65e0b2; box-shadow: 0 0 0 5px rgba(101,224,178,.08), 0 0 18px rgba(101,224,178,.55); animation: story-live-pulse 2.2s ease-in-out infinite; }
.story3d-hero h1 { margin: 17px 0 15px; color: #f8fbfa; font-size: clamp(42px,5.1vw,76px); font-weight: 680; letter-spacing: -.067em; line-height: .92; text-shadow: 0 12px 38px rgba(0,0,0,.34); }
.story3d-hero h1 em { color: #77cbb0; font-style: normal; font-weight: 540; }
.story3d-hero p { max-width: 565px; margin: 0; color: rgba(218,232,227,.66); font-size: 13px; line-height: 1.65; }

.story3d-capacity { position: absolute; z-index: 4; top: 40px; right: var(--story-edge); width: min(610px,43vw); overflow: hidden; border: 1px solid rgba(173,210,197,.18); border-radius: 10px; background: rgba(7,15,18,.72); box-shadow: 0 24px 70px rgba(0,0,0,.28); backdrop-filter: blur(15px); }
.story3d-capacity-head { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 15px; border-bottom: 1px solid rgba(173,210,197,.12); }
.story3d-capacity-head span { color: rgba(212,228,222,.55); font-size: 8px; font-weight: 740; letter-spacing: .12em; text-transform: uppercase; }
.story3d-capacity-head strong { color: #72dfb7; font-family: var(--mono); font-size: 9px; font-weight: 620; }
.story3d-capacity-grid { display: grid; grid-template-columns: .9fr .9fr 1.25fr; }
.story3d-capacity-grid article { min-width: 0; padding: 14px 15px 15px; border-right: 1px solid rgba(173,210,197,.12); }
.story3d-capacity-grid article:last-child { border-right: 0; }
.story3d-capacity-grid span, .story3d-capacity-grid strong, .story3d-capacity-grid small { display: block; }
.story3d-capacity-grid span { color: rgba(210,226,220,.42); font-size: 7px; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; }
.story3d-capacity-grid strong { overflow: hidden; margin-top: 7px; color: #f2f7f5; font-family: var(--mono); font-size: clamp(13px,1.25vw,18px); font-weight: 660; text-overflow: ellipsis; white-space: nowrap; }
.story3d-capacity-grid small { overflow: hidden; margin-top: 4px; color: rgba(207,223,217,.35); font-size: 7px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.story3d-capacity-grid a { color: rgba(143,202,183,.75); }

.story3d-map-key { display: flex; position: absolute; z-index: 4; top: 230px; right: max(36px,calc((100vw - 1480px)/2 + 24px)); align-items: center; gap: 16px; padding: 9px 11px; border: 1px solid rgba(173,210,197,.12); border-radius: 7px; color: rgba(219,233,228,.58); background: rgba(7,15,18,.55); backdrop-filter: blur(9px); pointer-events: none; }
.story3d-map-key > span { display: flex; align-items: center; gap: 6px; font-size: 8px; }
.story3d-map-key > span b { color: #86e5c2; font-family: var(--mono); font-weight: 650; }
.story3d-map-key i { display: block; width: 7px; height: 7px; }
.story3d-map-key i.gpu { border-radius: 50%; background: #65e0b2; box-shadow: 0 0 9px rgba(101,224,178,.8); }
.story3d-map-key i.route { height: 2px; background: #efc05f; box-shadow: 0 0 8px rgba(239,192,95,.65); }
.story3d-map-key small { padding-left: 14px; border-left: 1px solid rgba(173,210,197,.12); color: rgba(207,223,217,.34); font-size: 7px; }

.story3d-chat { position: absolute; z-index: 5; bottom: 104px; left: var(--story-edge); width: min(390px,31vw); overflow: hidden; border: 1px solid rgba(173,210,197,.18); border-radius: 10px; background: rgba(7,15,18,.78); box-shadow: 0 28px 70px rgba(0,0,0,.32); backdrop-filter: blur(16px); opacity: .78; transition: opacity .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.story3d-chat.is-active, .story3d-chat.is-reached { opacity: 1; }
.story3d-chat.is-active { border-color: rgba(207,83,112,.52); box-shadow: 0 28px 80px rgba(0,0,0,.36),0 0 0 3px rgba(150,39,64,.1); transform: translateY(-3px); }
.story3d-chat-head { display: flex; min-height: 40px; align-items: center; justify-content: space-between; padding: 0 13px; border-bottom: 1px solid rgba(173,210,197,.12); }
.story3d-chat-head span { color: #f0f5f3; font-size: 10px; font-weight: 680; }
.story3d-chat-head span::before { display: inline-block; width: 6px; height: 6px; margin: 0 7px 1px 0; border-radius: 50%; background: #65e0b2; box-shadow: 0 0 8px rgba(101,224,178,.6); content: ""; }
.story3d-chat-head small { color: rgba(207,223,217,.32); font-size: 7px; }
.story3d-messages { min-height: 95px; padding: 12px; }
.story3d-messages p { width: fit-content; max-width: 89%; margin: 0; padding: 9px 11px; border-radius: 9px; font-size: 9px; line-height: 1.48; }
.story3d-user-message { margin-left: auto !important; border-bottom-right-radius: 2px !important; color: #fff; background: #782039; }
.story3d-answer { margin-top: 8px !important; border: 1px solid rgba(173,210,197,.14); border-bottom-left-radius: 2px !important; color: rgba(218,233,227,.65); background: rgba(255,255,255,.045); opacity: .38; transition: opacity .3s ease, border-color .3s ease, color .3s ease; }
.story3d-answer.is-reached { color: #e9f1ee; opacity: 1; }
.story3d-answer.is-active { border-color: rgba(101,224,178,.45); }
.story3d-answer i { display: none; width: 3px; height: 11px; margin-left: 3px; vertical-align: middle; background: #65e0b2; animation: story-caret .7s steps(1) infinite; }
.story3d-answer.is-typing i { display: inline-block; }
.story3d-prompt { display: flex; margin: 0 11px 11px; overflow: hidden; border: 1px solid rgba(173,210,197,.2); border-radius: 7px; background: rgba(255,255,255,.045); }
.story3d-prompt input { min-width: 0; height: 40px; flex: 1; padding: 0 11px; border: 0; outline: 0; color: #f1f6f4; background: transparent; font-size: 8px; }
.story3d-prompt button { padding: 0 12px; border: 0; color: #fff; background: #782039; font-size: 8px; font-weight: 720; cursor: pointer; }
.story3d-prompt button span { margin-left: 5px; font-size: 11px; }

.story3d-process { position: absolute; z-index: 4; right: var(--story-edge); bottom: 105px; width: min(315px,25vw); padding: 15px; border: 1px solid rgba(173,210,197,.16); border-radius: 9px; background: rgba(7,15,18,.7); box-shadow: 0 22px 60px rgba(0,0,0,.27); backdrop-filter: blur(13px); }
.story3d-process-head { display: flex; align-items: center; justify-content: space-between; color: rgba(211,228,222,.46); font-size: 7px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.story3d-process-head i { width: 7px; height: 7px; border-radius: 50%; background: #7a8582; }
.story3d-page.is-running .story3d-process-head i { background: #65e0b2; box-shadow: 0 0 0 5px rgba(101,224,178,.07),0 0 14px rgba(101,224,178,.5); animation: story-live-pulse 1.2s ease-in-out infinite; }
.story3d-page.is-complete .story3d-process-head i { background: #efc05f; box-shadow: 0 0 13px rgba(239,192,95,.58); }
.story3d-process > strong { display: block; margin-top: 10px; color: #f2f7f5; font-size: 11px; line-height: 1.4; }
.story3d-process > p { margin: 7px 0 12px; color: rgba(211,227,221,.42); font-size: 8px; line-height: 1.55; }
#story-replay { padding: 8px 10px; border: 1px solid rgba(173,210,197,.18); border-radius: 5px; color: rgba(232,241,238,.72); background: rgba(255,255,255,.04); font-size: 7px; font-weight: 700; cursor: pointer; }
#story-replay:hover { color: #fff; border-color: rgba(101,224,178,.42); background: rgba(101,224,178,.08); }

.story3d-timeline { display: grid; position: absolute; z-index: 5; right: max(36px,calc((100vw - 1480px)/2 + 24px)); bottom: 24px; left: max(36px,calc((100vw - 1480px)/2 + 24px)); grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid rgba(173,210,197,.14); border-radius: 8px; background: rgba(7,15,18,.7); box-shadow: 0 18px 50px rgba(0,0,0,.24); backdrop-filter: blur(13px); }
.story3d-timeline > div { display: grid; min-width: 0; grid-template-columns: 28px 1fr; align-items: center; gap: 7px; padding: 10px 11px; border-right: 1px solid rgba(173,210,197,.1); color: rgba(207,224,218,.32); transition: color .3s ease, background .3s ease, box-shadow .3s ease; }
.story3d-timeline > div:last-child { border-right: 0; }
.story3d-timeline i { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(173,210,197,.13); border-radius: 50%; font-family: var(--mono); font-size: 7px; font-style: normal; }
.story3d-timeline span { overflow: hidden; font-size: 7px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.story3d-timeline > div.is-reached { color: rgba(235,244,240,.75); background: rgba(101,224,178,.035); }
.story3d-timeline > div.is-reached i { border-color: rgba(101,224,178,.42); color: #88e7c4; background: rgba(101,224,178,.08); }
.story3d-timeline > div.is-active { color: #fff; background: rgba(120,32,57,.22); box-shadow: inset 0 2px #bd4864; }
.story3d-timeline > div.is-active i { border-color: rgba(223,94,124,.65); color: #f4bdca; background: rgba(120,32,57,.34); box-shadow: 0 0 15px rgba(190,65,95,.25); }

.story3d-node-tooltip { position: absolute; z-index: 8; width: 210px; padding: 10px 11px; border: 1px solid rgba(173,210,197,.22); border-radius: 6px; color: #eef5f2; background: rgba(7,15,18,.92); box-shadow: 0 15px 40px rgba(0,0,0,.42); backdrop-filter: blur(12px); pointer-events: none; animation: tooltip-in .13s ease both; }
.story3d-node-tooltip[hidden] { display: none; }
.story3d-node-tooltip strong, .story3d-node-tooltip span { display: block; }
.story3d-node-tooltip strong { font-family: var(--mono); font-size: 9px; }
.story3d-node-tooltip span { margin-top: 5px; color: rgba(210,228,221,.48); font-size: 7px; line-height: 1.45; }
.story3d-page > .network-3d-fallback { position: absolute; z-index: 9; inset: 0; background: #071014; }

@media (max-width: 1080px) {
  .story3d-hero { width: 48vw; }
  .story3d-capacity { width: 46vw; }
  .story3d-map-key small { display: none; }
  .story3d-timeline span { font-size: 6px; }
}

@media (max-width: 760px) {
  body[data-page="learn"] { overflow-y: auto; }
  .story3d-page { height: 1080px; min-height: 1080px; }
  .story3d-hero { top: 26px; right: 18px; left: 18px; width: auto; }
  .story3d-hero h1 { margin-top: 12px; font-size: clamp(40px,12vw,58px); }
  .story3d-hero p { max-width: 92%; font-size: 11px; }
  .story3d-capacity { top: 230px; right: 18px; left: 18px; width: auto; }
  .story3d-capacity-head strong { max-width: 58%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .story3d-capacity-grid article { padding-inline: 10px; }
  .story3d-capacity-grid strong { font-size: 12px; }
  .story3d-map-key { top: 382px; right: 18px; left: 18px; justify-content: center; }
  .story3d-map-key small { display: none; }
  .story3d-chat { right: 18px; bottom: 178px; left: 18px; width: auto; }
  .story3d-process { top: 435px; right: 18px; bottom: auto; width: 245px; }
  .story3d-process > p { display: none; }
  .story3d-timeline { right: 18px; bottom: 22px; left: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .story3d-timeline > div { padding: 8px; }
  .story3d-timeline > div:nth-child(3) { border-right: 0; }
  .story3d-timeline > div:nth-child(-n+3) { border-bottom: 1px solid rgba(173,210,197,.1); }
  .story3d-timeline span { font-size: 6px; }
}
