* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  background: #08090d;
  color: #e2e8f0;
  font-family: 'Segoe UI', system-ui, sans-serif;
  min-height: 100vh;
}
.screen {
  display: none;
}
.screen.active {
  display: block;
}
.hero {
  padding: 48px 24px 32px;
  text-align: center;
  background: radial-gradient(
    ellipse at 50% 0%,
    rgba(251, 146, 60, 0.12) 0%,
    transparent 65%
  );
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.btc-icon {
  font-size: 52px;
  margin-bottom: 12px;
}
.hero h1 {
  font-size: clamp(24px, 5vw, 38px);
  font-weight: 900;
  margin: 0 0 8px;
  background: linear-gradient(135deg, #fbbf24, #f97316, #ef4444);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p {
  color: #64748b;
  font-size: 14px;
  margin: 0 0 20px;
}
.badges {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.badge {
  padding: 10px 20px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 700;
}
.badge-xp {
  background: rgba(251, 146, 60, 0.1);
  border: 1px solid rgba(251, 146, 60, 0.2);
  color: #fbbf24;
}
.badge-prog {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #94a3b8;
}
.prog-bar-wrap {
  max-width: 320px;
  margin: 16px auto 0;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
}
.prog-bar {
  height: 100%;
  background: linear-gradient(90deg, #fbbf24, #f97316);
  border-radius: 4px;
  transition: width 0.5s ease;
}
.chapters {
  max-width: 600px;
  margin: 0 auto;
  padding: 24px 16px 60px;
}
.chapter-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  margin-bottom: 10px;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.04);
}
.chapter-item:hover {
  transform: translateX(4px);
}
.chapter-item.locked {
  opacity: 0.4;
  cursor: not-allowed;
}
.ch-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.08);
}
.ch-info {
  flex: 1;
}
.ch-title {
  font-weight: 700;
  font-size: 15px;
  color: #f1f5f9;
  margin-bottom: 3px;
}
.ch-sub {
  font-size: 12px;
  color: #475569;
}
.ch-meta {
  font-size: 11px;
  color: #334155;
  margin-top: 2px;
}
.ch-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.ch-xp {
  font-size: 10px;
  color: #f97316;
  font-weight: 700;
}
.complete-box {
  padding: 28px;
  text-align: center;
  background: linear-gradient(
    135deg,
    rgba(251, 146, 60, 0.12),
    rgba(239, 68, 68, 0.08)
  );
  border: 1px solid rgba(251, 146, 60, 0.3);
  border-radius: 20px;
  margin: 16px 0;
}
.complete-box h2 {
  font-size: 20px;
  font-weight: 800;
  color: #fbbf24;
  margin: 12px 0 8px;
}
.complete-box p {
  color: #94a3b8;
  font-size: 14px;
  line-height: 1.8;
}
.chapter-screen {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 0 60px;
}
.top-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: sticky;
  top: 0;
  background: rgba(8, 9, 13, 0.95);
  backdrop-filter: blur(10px);
  z-index: 10;
}
.back-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  font-size: 16px;
}
.top-bar-info {
  flex: 1;
}
.top-bar-label {
  font-size: 12px;
  color: #475569;
}
.section-prog {
  height: 4px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  margin-top: 6px;
}
.section-prog-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.4s ease;
}
.top-bar-count {
  font-size: 12px;
  color: #475569;
}
.section-content {
  padding: 28px 20px;
}
.section-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.section-title {
  font-size: 22px;
  font-weight: 800;
  color: #f1f5f9;
  margin: 0 0 20px;
  line-height: 1.3;
}
.section-body {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.9;
  color: #94a3b8;
}
.section-body strong {
  color: #f1f5f9;
  font-weight: 700;
}
.next-btn {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.next-btn:hover {
  opacity: 0.85;
}
.dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.dot {
  height: 8px;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.quiz-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 16px;
}
.quiz-q {
  font-size: 20px;
  font-weight: 800;
  color: #f1f5f9;
  margin: 0 0 28px;
  line-height: 1.4;
}
.options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.option {
  padding: 16px 20px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #94a3b8;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 12px;
}
.option:hover {
  background: rgba(255, 255, 255, 0.07);
}
.option.correct {
  background: rgba(16, 185, 129, 0.12);
  border-color: #10b981;
  color: #10b981;
}
.option.wrong {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
  color: #ef4444;
}
.opt-letter {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.08);
}
.explanation {
  padding: 20px;
  border-radius: 14px;
  margin-bottom: 20px;
}
.explanation.correct {
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.25);
}
.explanation.wrong {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
}
.exp-title {
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
}
.exp-text {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1.7;
}
.finish-btn {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.service-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(8, 9, 13, 0.9);
  backdrop-filter: blur(14px);
}
.service-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f8fafc;
  font-size: 13px;
  font-weight: 800;
}
.service-brand span {
  color: #f97316;
}
.service-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.service-btn {
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.05);
  color: #cbd5e1;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.service-btn.primary {
  border-color: rgba(249, 115, 22, 0.35);
  background: rgba(249, 115, 22, 0.13);
  color: #fb923c;
}
.service-btn:hover {
  background: rgba(255, 255, 255, 0.09);
}
.service-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
}
.service-modal-backdrop.open {
  display: flex;
}
.service-modal {
  width: min(520px, 100%);
  max-height: 90vh;
  overflow: auto;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 22px;
  background: #0d1016;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}
.service-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.service-modal h2 {
  color: #f8fafc;
  font-size: 21px;
  margin-bottom: 4px;
}
.service-muted {
  color: #64748b;
  font-size: 12px;
  line-height: 1.6;
}
.service-close {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.dashboard-card {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.035);
}
.dashboard-label {
  color: #64748b;
  font-size: 11px;
  margin-bottom: 8px;
}
.dashboard-value {
  color: #f8fafc;
  font-size: 22px;
  font-weight: 900;
}
.dashboard-value.orange {
  color: #fb923c;
}
.account-panel {
  padding: 16px;
  border: 1px solid rgba(249, 115, 22, 0.2);
  border-radius: 15px;
  background: rgba(249, 115, 22, 0.06);
}
.account-title {
  color: #f8fafc;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 5px;
}
.account-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.sync-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.09);
  color: #34d399;
  font-size: 10px;
  font-weight: 700;
}
.service-error {
  display: none;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: 10px;
  background: rgba(239, 68, 68, 0.08);
  color: #fca5a5;
  font-size: 11px;
  line-height: 1.5;
}
.service-error.visible {
  display: block;
}
@media (max-width: 520px) {
  .service-brand strong {
    display: none;
  }
  .service-btn {
    padding: 8px 10px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr 1fr;
  }
  .service-modal {
    padding: 20px;
  }
}

.service-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  justify-content: center;
  overflow-x: auto;
  scrollbar-width: none;
}
.service-tabs::-webkit-scrollbar { display: none; }
.service-tab {
  border: 0;
  background: transparent;
  color: #64748b;
  padding: 8px 10px;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  white-space: nowrap;
}
.service-tab:hover, .service-tab.active {
  color: #f8fafc;
  background: rgba(255,255,255,.06);
}
.integrity-link {
  margin-top: 16px;
  border: 1px solid rgba(16,185,129,.22);
  background: rgba(16,185,129,.07);
  color: #6ee7b7;
  padding: 9px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.platform-screen { min-height: calc(100vh - 58px); }
.platform-shell {
  width: min(1000px, calc(100% - 32px));
  margin: 0 auto;
  padding: 52px 0 80px;
}
.platform-kicker {
  color: #fb923c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  margin-bottom: 10px;
}
.platform-kicker.integrity { color: #34d399; }
.platform-shell h1 {
  color: #f8fafc;
  font-size: clamp(25px, 4vw, 40px);
  line-height: 1.18;
  margin-bottom: 12px;
}
.platform-lead {
  max-width: 760px;
  color: #94a3b8;
  line-height: 1.8;
  font-size: 14px;
  margin-bottom: 26px;
}
.module-roadmap {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 22px;
}
.module-chip {
  border: 1px solid rgba(255,255,255,.07);
  color: #475569;
  background: rgba(255,255,255,.025);
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
}
.module-chip.live { color: #fbbf24; border-color: rgba(251,191,36,.18); }
.hub-grid, .integrity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.hub-card, .integrity-card {
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 20px;
}
.hub-card span, .integrity-card b {
  color: #fb923c;
  font-size: 10px;
  letter-spacing: .1em;
}
.integrity-card b { color: #34d399; }
.hub-card h3 { color: #f1f5f9; margin: 8px 0; font-size: 16px; }
.hub-card p, .integrity-card p { color: #64748b; font-size: 12px; line-height: 1.7; }
.locked-card { opacity: .72; }
.source-box {
  margin-top: 18px;
  border: 1px solid rgba(16,185,129,.18);
  background: rgba(16,185,129,.05);
  border-radius: 18px;
  padding: 20px;
  display: grid;
  gap: 8px;
}
.source-box h3 { color: #d1fae5; font-size: 13px; margin-bottom: 4px; }
.source-box a { color: #6ee7b7; font-size: 12px; text-decoration: none; }
.source-box a:hover { text-decoration: underline; }
.sim-integrity {
  border: 1px solid rgba(59,130,246,.2);
  background: rgba(59,130,246,.06);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 14px;
}
.sim-integrity b { color: #60a5fa; font-size: 10px; letter-spacing: .1em; }
.sim-integrity p { color: #94a3b8; font-size: 12px; line-height: 1.7; margin-top: 5px; }
.sim-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.sim-stats > div, .sim-controls, .sim-columns section, .confirmed-list {
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.025);
  border-radius: 16px;
}
.sim-stats > div { padding: 14px; }
.sim-stats span { display:block; color:#475569; font-size:9px; font-weight:800; margin-bottom:6px; }
.sim-stats b { color:#f8fafc; font-size:16px; }
.sim-controls { padding: 16px; display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:12px; }
.sim-controls label { color:#cbd5e1; font-size:11px; font-weight:700; display:flex; flex-direction:column; gap:7px; }
.sim-controls input { width:100%; border:1px solid rgba(255,255,255,.09); background:#08090d; color:#f8fafc; border-radius:10px; padding:11px; font-size:14px; }
.sim-controls small { color:#475569; font-size:9px; font-weight:500; }
.sim-buttons { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; }
.sim-buttons button { border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.05); color:#cbd5e1; border-radius:10px; padding:10px 13px; font-size:11px; font-weight:800; cursor:pointer; }
.sim-buttons .sim-primary { background:rgba(249,115,22,.14); color:#fb923c; border-color:rgba(249,115,22,.28); }
.sim-message { grid-column:1/-1; color:#6ee7b7; font-size:11px; line-height:1.6; padding:10px 12px; background:rgba(16,185,129,.06); border-radius:10px; }
.sim-message.error { color:#fca5a5; background:rgba(239,68,68,.07); }
.sim-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.sim-columns section, .confirmed-list { padding:16px; }
.sim-heading { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:12px; }
.sim-heading h3 { color:#f1f5f9; font-size:13px; }
.sim-heading span { color:#475569; font-size:9px; }
.utxo-row { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:10px; margin-top:7px; border:1px solid rgba(255,255,255,.05); border-radius:11px; }
.utxo-row b { display:block; color:#cbd5e1; font-size:10px; }
.utxo-row span { display:block; color:#475569; font-size:9px; margin-top:3px; }
.utxo-row strong { color:#f8fafc; font-size:10px; }
.utxo-row em { color:#34d399; font-size:8px; font-style:normal; font-weight:900; }
.utxo-row.mempool-spent em { color:#fbbf24; }
.utxo-row.spent { opacity:.45; }
.utxo-row.spent em { color:#f87171; }
.tx-card { padding:11px; margin-top:7px; border:1px solid rgba(251,191,36,.12); background:rgba(251,191,36,.035); border-radius:11px; }
.tx-card.confirmed { border-color:rgba(16,185,129,.13); background:rgba(16,185,129,.035); }
.tx-card > div { display:flex; justify-content:space-between; gap:10px; }
.tx-card b { color:#f1f5f9; font-size:10px; }
.tx-card span { color:#fbbf24; font-size:9px; }
.tx-card.confirmed span { color:#34d399; }
.tx-card p { color:#64748b; font-size:9px; line-height:1.6; margin-top:5px; }
.empty-state { color:#475569; font-size:10px; padding:12px 0; }
.sim-footnote { color:#64748b; font-size:10px; line-height:1.7; margin-top:12px; }
@media (max-width: 820px) {
  .service-nav { flex-wrap:wrap; }
  .service-tabs { order:3; width:100%; justify-content:flex-start; }
  .hub-grid, .integrity-grid { grid-template-columns:1fr; }
  .sim-stats { grid-template-columns:1fr 1fr; }
  .sim-columns { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .platform-shell { width:min(100% - 24px, 1000px); padding-top:32px; }
  .sim-controls { grid-template-columns:1fr; }
  .sim-controls label, .sim-buttons, .sim-message { grid-column:1; }
  .sim-stats { grid-template-columns:1fr 1fr; }
  .utxo-row { grid-template-columns:1fr auto; }
  .utxo-row em { grid-column:1/-1; }
}

.lab-switcher { display:flex; gap:8px; margin-bottom:14px; }
.lab-tab { border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); color:#64748b; padding:10px 14px; border-radius:11px; font-size:11px; font-weight:900; cursor:pointer; }
.lab-tab.active { color:#fb923c; background:rgba(249,115,22,.1); border-color:rgba(249,115,22,.25); }
.lab-panel { display:none; }
.lab-panel.active { display:block; }
.wallet-lab { display:grid; gap:12px; }
.wallet-warning { border:1px solid rgba(239,68,68,.24); background:rgba(239,68,68,.07); border-radius:16px; padding:15px 17px; }
.wallet-warning b { color:#fca5a5; font-size:11px; letter-spacing:.08em; }
.wallet-warning p { color:#94a3b8; font-size:11px; line-height:1.65; margin-top:5px; }
.wallet-start, .wallet-step, .wallet-notes > div { border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); border-radius:18px; }
.wallet-start { padding:24px; }
.wallet-start h2, .wallet-toolbar h2 { color:#f8fafc; font-size:20px; margin-bottom:6px; }
.wallet-start p { color:#64748b; font-size:12px; margin-bottom:16px; }
.wallet-actions { display:flex; gap:8px; flex-wrap:wrap; }
.wallet-actions button, .sign-controls button { border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.05); color:#cbd5e1; border-radius:10px; padding:10px 13px; font-size:11px; font-weight:800; cursor:pointer; }
.wallet-actions button.sim-primary, .sign-controls button.sim-primary { background:rgba(249,115,22,.14); color:#fb923c; border-color:rgba(249,115,22,.28); }
.wallet-actions button.danger { color:#fca5a5; border-color:rgba(239,68,68,.2); }
.wallet-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:4px 2px; }
.wallet-kicker { color:#fb923c; font-size:9px; font-weight:900; letter-spacing:.13em; margin-bottom:6px; }
.vector-status { width:max-content; max-width:100%; padding:7px 10px; border-radius:999px; font-size:9px; font-weight:900; letter-spacing:.05em; }
.vector-status.neutral { color:#93c5fd; background:rgba(59,130,246,.08); }
.vector-status.pass { color:#34d399; background:rgba(16,185,129,.08); }
.vector-status.fail { color:#f87171; background:rgba(239,68,68,.08); }
.wallet-step { display:grid; grid-template-columns:54px 1fr; overflow:hidden; }
.step-number { display:flex; align-items:flex-start; justify-content:center; padding-top:21px; border-right:1px solid rgba(255,255,255,.06); color:#334155; font-size:12px; font-weight:900; }
.step-content { min-width:0; padding:20px; }
.step-label { color:#fb923c; font-size:9px; font-weight:900; letter-spacing:.1em; margin-bottom:6px; }
.step-content h3 { color:#f1f5f9; font-size:16px; margin-bottom:13px; }
.step-copy { color:#64748b; font-size:11px; line-height:1.7; margin-bottom:14px; }
.long-code { display:block; max-width:100%; overflow-wrap:anywhere; word-break:break-all; color:#94a3b8; background:#08090d; border:1px solid rgba(255,255,255,.05); border-radius:9px; padding:10px; font-size:9px; line-height:1.6; }
.mnemonic-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:12px 0; }
.mnemonic-grid div { border:1px solid rgba(251,146,60,.12); background:rgba(251,146,60,.045); color:#f8fafc; border-radius:9px; padding:9px; font-size:11px; font-weight:700; }
.mnemonic-grid span { color:#7c2d12; margin-right:6px; font-size:8px; }
.wallet-step details, .sign-result details { margin-top:9px; }
.wallet-step summary, .sign-result summary { color:#64748b; font-size:10px; cursor:pointer; margin-bottom:7px; }
.path-flow { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-bottom:13px; }
.path-flow code { color:#fbbf24; background:rgba(251,191,36,.06); border:1px solid rgba(251,191,36,.12); border-radius:8px; padding:7px 9px; font-size:10px; }
.path-flow span { color:#334155; }
.crypto-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.crypto-grid > div { min-width:0; border:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.018); border-radius:10px; padding:10px; }
.crypto-grid span { display:block; color:#475569; font-size:9px; margin-bottom:5px; }
.crypto-grid code { display:block; color:#cbd5e1; font-size:9px; line-height:1.55; overflow-wrap:anywhere; word-break:break-all; }
.address-card { border:1px solid rgba(16,185,129,.16); background:rgba(16,185,129,.04); border-radius:13px; padding:14px; display:grid; gap:7px; }
.address-card span, .mini-addresses span { color:#64748b; font-size:9px; }
.address-card strong { color:#6ee7b7; font-size:clamp(12px,2.2vw,17px); overflow-wrap:anywhere; }
.address-card code, .mini-addresses code { color:#94a3b8; font-size:9px; overflow-wrap:anywhere; }
.mini-addresses { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.mini-addresses > div { display:grid; gap:5px; border:1px solid rgba(255,255,255,.05); border-radius:10px; padding:10px; }
.sign-controls { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:8px; }
.sign-controls label { display:flex; flex-direction:column; gap:6px; color:#94a3b8; font-size:10px; font-weight:700; }
.sign-controls input { border:1px solid rgba(255,255,255,.09); background:#08090d; color:#f8fafc; border-radius:9px; padding:10px; font-size:12px; }
.sign-controls small { color:#475569; font-size:8px; }
.wallet-error { margin-top:10px; border:1px solid rgba(239,68,68,.2); background:rgba(239,68,68,.06); color:#fca5a5; border-radius:10px; padding:10px; font-size:10px; }
.wallet-empty { margin-top:12px; color:#475569; border:1px dashed rgba(255,255,255,.08); border-radius:11px; padding:14px; font-size:10px; line-height:1.65; }
.sign-result { margin-top:12px; border:1px solid rgba(255,255,255,.07); border-radius:13px; padding:14px; }
.sign-result.verified { border-color:rgba(16,185,129,.18); background:rgba(16,185,129,.03); }
.sign-result.failed { border-color:rgba(239,68,68,.18); background:rgba(239,68,68,.03); }
.sign-status { color:#34d399; font-size:10px; font-weight:900; margin-bottom:10px; }
.sign-result.failed .sign-status { color:#f87171; }
.wallet-notes { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wallet-notes > div { padding:15px; }
.wallet-notes b { color:#cbd5e1; font-size:10px; }
.wallet-notes p { color:#64748b; font-size:10px; line-height:1.65; margin-top:5px; }
.wallet-sources { display:flex; gap:8px; flex-wrap:wrap; }
.wallet-sources a { color:#60a5fa; font-size:10px; text-decoration:none; border:1px solid rgba(59,130,246,.15); background:rgba(59,130,246,.05); border-radius:999px; padding:7px 10px; }
@media (max-width: 720px) {
  .wallet-toolbar { align-items:flex-start; flex-direction:column; }
  .mnemonic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .crypto-grid, .mini-addresses, .wallet-notes { grid-template-columns:1fr; }
  .sign-controls { grid-template-columns:1fr 1fr; }
  .sign-controls button { grid-column:1/-1; }
}
@media (max-width: 480px) {
  .wallet-step { grid-template-columns:38px 1fr; }
  .step-content { padding:16px 13px; }
  .mnemonic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sign-controls { grid-template-columns:1fr; }
  .sign-controls button { grid-column:1; }
}

.edu-callout { margin:10px 0 14px; padding:13px 14px; border:1px solid rgba(59,130,246,.16); background:rgba(59,130,246,.055); border-radius:12px; }
.edu-callout b { color:#93c5fd; font-size:10px; }
.edu-callout p { color:#94a3b8; font-size:11px; line-height:1.75; margin-top:5px; }
.edu-callout code { color:#fbbf24; }
.tech-details { margin-top:10px; padding:10px 12px; border:1px solid rgba(255,255,255,.06); border-radius:10px; background:rgba(255,255,255,.015); }
.tech-details > summary { color:#64748b; font-size:10px; font-weight:700; cursor:pointer; }
.tech-details[open] > summary { margin-bottom:10px; }
.network-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.network-actions button, .network-mine-btn { border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.05); color:#cbd5e1; border-radius:10px; padding:11px 13px; font-size:11px; font-weight:800; cursor:pointer; }
.network-actions .sim-primary, .network-mine-btn.sim-primary { background:rgba(249,115,22,.14); color:#fb923c; border-color:rgba(249,115,22,.28); }
.danger-soft { color:#fca5a5 !important; border-color:rgba(239,68,68,.2) !important; }
.wallet-empty b { display:block; color:#cbd5e1; margin-bottom:5px; }
.wallet-empty p { color:#64748b; line-height:1.7; }
.network-lab { display:grid; gap:12px; }
.network-intro, .network-foot { padding:17px; border:1px solid rgba(249,115,22,.16); background:rgba(249,115,22,.045); border-radius:16px; }
.network-intro b, .network-foot b { color:#fdba74; font-size:12px; }
.network-intro p, .network-foot p { color:#94a3b8; font-size:11px; line-height:1.75; margin-top:6px; }
.role-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.role-map article { border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); border-radius:14px; padding:15px; }
.role-map span { color:#fb923c; font-size:9px; font-weight:900; letter-spacing:.08em; }
.role-map h3 { color:#f1f5f9; font-size:13px; margin:7px 0 5px; }
.role-map p { color:#64748b; font-size:10px; line-height:1.65; }
.network-status { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.network-status > div { border:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.025); border-radius:12px; padding:12px; }
.network-status span { display:block; color:#475569; font-size:8px; font-weight:900; margin-bottom:5px; }
.network-status b { color:#f8fafc; font-size:13px; }
.network-message { padding:12px 14px; border-radius:11px; background:rgba(16,185,129,.055); border:1px solid rgba(16,185,129,.14); color:#a7f3d0; font-size:11px; line-height:1.65; }
.network-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:10px; }
.network-grid > section, .miner-panel { border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); border-radius:16px; padding:16px; }
.node-checks { display:grid; gap:7px; }
.node-check { display:flex; gap:9px; padding:10px; border-radius:10px; border:1px solid rgba(255,255,255,.05); }
.node-check > span { font-weight:900; }
.node-check.pass > span { color:#34d399; }
.node-check.fail > span { color:#f87171; }
.node-check b { color:#cbd5e1; font-size:10px; }
.node-check p { color:#64748b; font-size:9px; line-height:1.55; margin-top:3px; }
.network-empty { color:#475569; font-size:10px; padding:13px 0; }
.network-tx { padding:10px; margin-top:7px; border:1px solid rgba(251,191,36,.12); background:rgba(251,191,36,.035); border-radius:10px; }
.network-tx.confirmed { border-color:rgba(16,185,129,.14); background:rgba(16,185,129,.035); }
.network-tx > div { display:flex; justify-content:space-between; gap:10px; }
.network-tx b { color:#e2e8f0; font-size:9px; }
.network-tx span { color:#fbbf24; font-size:9px; }
.network-tx.confirmed span { color:#34d399; }
.network-tx p { color:#64748b; font-size:9px; margin-top:5px; }
.pow-result { margin-top:10px; padding:12px; border-radius:11px; border:1px solid rgba(16,185,129,.15); background:rgba(16,185,129,.04); }
.pow-result b { color:#34d399; font-size:10px; }
.pow-result p { color:#64748b; font-size:9px; margin:4px 0; }
.pow-result code { display:block; overflow-wrap:anywhere; color:#94a3b8; font-size:8px; }
@media (max-width: 820px) {
  .role-map { grid-template-columns:1fr 1fr; }
  .network-grid { grid-template-columns:1fr; }
  .network-status { grid-template-columns:1fr 1fr; }
}
@media (max-width: 520px) {
  .role-map { grid-template-columns:1fr; }
  .network-actions { flex-direction:column; }
  .network-actions button { width:100%; }
}

.start-here-card { width:min(620px,100%); margin:22px auto 0; padding:16px; border:1px solid rgba(249,115,22,.22); background:linear-gradient(135deg,rgba(249,115,22,.09),rgba(255,255,255,.02)); border-radius:16px; text-align:left; }
.start-here-card span { display:block; color:#fb923c; font-size:9px; font-weight:900; letter-spacing:.16em; }
.start-here-card b { display:block; color:#fff7ed; font-size:16px; margin:5px 0; }
.start-here-card p { color:#94a3b8; font-size:11px; line-height:1.6; }
.start-here-card button { margin-top:11px; border:1px solid rgba(249,115,22,.28); background:rgba(249,115,22,.14); color:#fb923c; border-radius:10px; padding:9px 12px; font-size:10px; font-weight:900; cursor:pointer; }
.why-shell { max-width:1040px; }
.why-academy { display:grid; gap:14px; }
.why-hero { padding:28px; border:1px solid rgba(249,115,22,.16); background:radial-gradient(circle at top right,rgba(249,115,22,.12),transparent 42%),rgba(255,255,255,.02); border-radius:22px; }
.why-hero h1 { max-width:760px; margin:6px 0 12px; }
.why-hero > p { max-width:820px; color:#94a3b8; font-size:13px; line-height:1.8; }
.why-principle { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:17px; padding:11px 13px; border:1px solid rgba(255,255,255,.06); border-radius:11px; background:rgba(0,0,0,.14); }
.why-principle b { color:#fb923c; font-size:9px; }
.why-principle span { color:#cbd5e1; font-size:10px; }
.why-map { display:flex; gap:6px; flex-wrap:wrap; }
.why-map span { padding:7px 9px; border:1px solid rgba(255,255,255,.06); border-radius:999px; color:#64748b; background:rgba(255,255,255,.02); font-size:9px; font-weight:800; }
.why-section { display:grid; grid-template-columns:52px 1fr; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); border-radius:18px; overflow:hidden; }
.why-section > div:last-child { min-width:0; padding:22px; }
.why-number { padding-top:23px; text-align:center; border-right:1px solid rgba(255,255,255,.055); color:#334155; font-size:11px; font-weight:900; }
.why-label { color:#fb923c; font-size:9px; font-weight:900; letter-spacing:.12em; }
.why-section h2 { color:#f1f5f9; font-size:19px; margin:5px 0 11px; }
.why-copy { color:#94a3b8; font-size:11px; line-height:1.8; }
.money-functions, .tradeoff-grid, .trust-compare { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:13px; }
.money-functions > div, .tradeoff-grid section, .trust-compare section { border:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.018); border-radius:12px; padding:14px; }
.money-functions b, .tradeoff-grid h3, .trust-compare span { color:#e2e8f0; font-size:11px; }
.money-functions p, .tradeoff-grid p, .trust-compare li { color:#64748b; font-size:10px; line-height:1.65; margin-top:5px; }
.tradeoff-grid, .trust-compare { grid-template-columns:1fr 1fr; }
.tradeoff-grid section > b { display:block; color:#94a3b8; font-size:9px; margin-top:10px; }
.why-fact, .why-caution, .why-result, .why-satoshi { margin-top:12px; padding:13px 14px; border-radius:11px; font-size:10px; line-height:1.7; }
.why-fact { border:1px solid rgba(59,130,246,.14); background:rgba(59,130,246,.045); }
.why-fact b { color:#93c5fd; }
.why-fact p { color:#94a3b8; margin-top:4px; }
.why-caution { border:1px solid rgba(251,191,36,.13); background:rgba(251,191,36,.035); color:#94a3b8; }
.why-result { border:1px solid rgba(16,185,129,.14); background:rgba(16,185,129,.04); color:#a7f3d0; }
.credit-controls { display:flex; gap:8px; flex-wrap:wrap; align-items:end; margin-top:12px; }
.credit-controls label { display:grid; gap:5px; color:#94a3b8; font-size:9px; }
.credit-controls input { width:200px; border:1px solid rgba(255,255,255,.08); background:#08090d; color:#f8fafc; border-radius:9px; padding:9px; }
.credit-controls button, .question-card button, .why-next button { border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.05); color:#cbd5e1; border-radius:9px; padding:9px 11px; font-size:10px; font-weight:800; cursor:pointer; }
.balance-sheet { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
.balance-sheet section { border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:13px; }
.balance-sheet section > span { color:#fb923c; font-size:9px; font-weight:900; }
.balance-sheet section > div { display:flex; justify-content:space-between; gap:10px; margin-top:8px; }
.balance-sheet small { color:#475569; font-size:9px; }
.balance-sheet b { color:#cbd5e1; font-size:10px; text-align:right; }
.slider-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:13px; }
.slider-grid label { display:grid; gap:8px; color:#94a3b8; font-size:10px; }
.slider-grid label b { color:#fb923c; }
.slider-grid input { width:100%; accent-color:#f97316; }
.power-results { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:13px; }
.power-results > div { border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:14px; }
.power-results span { display:block; color:#64748b; font-size:9px; line-height:1.5; }
.power-results b { display:block; color:#f8fafc; font-size:20px; margin-top:6px; }
.timeline { display:grid; gap:8px; margin-top:12px; }
.timeline > div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:12px; border-left:2px solid rgba(249,115,22,.35); background:rgba(255,255,255,.018); }
.timeline b { color:#fb923c; font-size:11px; }
.timeline p { color:#94a3b8; font-size:10px; line-height:1.7; }
.flow-line { margin:9px 0; padding:9px; border-radius:8px; background:#08090d; color:#94a3b8; font-size:9px; line-height:1.6; }
.trust-compare ul { padding-left:17px; }
.why-satoshi { border:1px solid rgba(249,115,22,.14); background:rgba(249,115,22,.04); }
.why-satoshi span { color:#fb923c; font-size:9px; font-weight:900; }
.why-satoshi p { color:#94a3b8; margin-top:5px; }
.question-section { border-color:rgba(249,115,22,.16); }
.question-card { margin-top:13px; padding:20px; border:1px solid rgba(249,115,22,.18); background:rgba(249,115,22,.045); border-radius:14px; }
.question-card span { color:#7c2d12; font-size:9px; font-weight:900; }
.question-card p { color:#f1f5f9; font-size:15px; line-height:1.7; margin:9px 0 14px; }
.why-next { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.why-next .primary { color:#fb923c; border-color:rgba(249,115,22,.25); background:rgba(249,115,22,.1); }
.why-sources { display:grid; gap:7px; padding:16px; border:1px solid rgba(255,255,255,.06); border-radius:14px; }
.why-sources b { color:#64748b; font-size:9px; letter-spacing:.1em; }
.why-sources a { color:#60a5fa; font-size:10px; text-decoration:none; }
.why-sources a:hover { text-decoration:underline; }
@media (max-width: 720px) {
  .money-functions { grid-template-columns:1fr; }
  .tradeoff-grid, .trust-compare, .balance-sheet, .slider-grid, .power-results { grid-template-columns:1fr; }
  .timeline > div { grid-template-columns:1fr; gap:4px; }
}
@media (max-width: 480px) {
  .why-section { grid-template-columns:38px 1fr; }
  .why-section > div:last-child { padding:16px 13px; }
  .why-hero { padding:20px 16px; }
  .credit-controls { align-items:stretch; flex-direction:column; }
  .credit-controls input { width:100%; }
}

.practice-lab { display:grid; gap:13px; }
.practice-intro { display:flex; justify-content:space-between; gap:18px; align-items:flex-end; padding:24px; border:1px solid rgba(249,115,22,.16); background:radial-gradient(circle at top right,rgba(249,115,22,.1),transparent 48%),rgba(255,255,255,.025); border-radius:20px; }
.practice-intro h1 { max-width:720px; color:#f8fafc; font-size:clamp(22px,4vw,34px); line-height:1.15; margin:7px 0 10px; }
.practice-intro p { max-width:720px; color:#94a3b8; font-size:11px; line-height:1.75; }
.practice-score { min-width:155px; border:1px solid rgba(255,255,255,.07); background:rgba(0,0,0,.16); border-radius:14px; padding:14px; }
.practice-score span, .practice-score small { display:block; color:#64748b; font-size:8px; font-weight:900; }
.practice-score b { display:block; color:#fb923c; font-size:22px; margin:5px 0; }
.practice-rule { padding:13px 15px; border:1px solid rgba(59,130,246,.14); background:rgba(59,130,246,.045); border-radius:12px; }
.practice-rule b { color:#93c5fd; font-size:10px; }
.practice-rule p { color:#94a3b8; font-size:10px; line-height:1.65; margin-top:4px; }
.mission-grid { display:grid; gap:10px; }
.mission-card { border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); border-radius:17px; padding:18px; }
.mission-card.complete { border-color:rgba(16,185,129,.18); background:rgba(16,185,129,.035); }
.mission-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.mission-head span { color:#fb923c; font-size:8px; font-weight:900; letter-spacing:.12em; }
.mission-head h3 { color:#f1f5f9; font-size:16px; margin-top:4px; }
.mission-reward { flex:0 0 auto; color:#fb923c; background:rgba(249,115,22,.08); border:1px solid rgba(249,115,22,.16); border-radius:999px; padding:6px 9px; font-size:8px; font-weight:900; }
.mission-card.complete .mission-reward { color:#34d399; background:rgba(16,185,129,.08); border-color:rgba(16,185,129,.16); }
.mission-summary { color:#64748b; font-size:10px; line-height:1.65; margin:8px 0 12px; }
.mission-progress { height:4px; overflow:hidden; background:rgba(255,255,255,.05); border-radius:999px; margin-bottom:12px; }
.mission-progress > div { height:100%; background:linear-gradient(90deg,#f97316,#fbbf24); border-radius:999px; transition:width .25s ease; }
.mission-card.complete .mission-progress > div { background:#10b981; }
.mission-step-list { display:grid; gap:6px; }
.mission-step { display:flex; gap:8px; align-items:center; padding:8px 9px; border:1px solid rgba(255,255,255,.045); border-radius:9px; }
.mission-step span { color:#475569; font-size:12px; }
.mission-step p { color:#64748b; font-size:10px; }
.mission-step.done span { color:#34d399; }
.mission-step.done p { color:#cbd5e1; }
.mission-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-top:13px; }
.mission-bottom small { display:block; color:#475569; font-size:7px; font-weight:900; }
.mission-bottom b { display:block; color:#94a3b8; font-size:9px; margin-top:3px; }
.mission-bottom button { border:1px solid rgba(249,115,22,.22); background:rgba(249,115,22,.09); color:#fb923c; border-radius:9px; padding:9px 11px; font-size:9px; font-weight:900; cursor:pointer; }
.achievement-shelf { border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02); border-radius:15px; padding:16px; }
.achievement-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.achievement-list span { border:1px solid rgba(251,191,36,.16); background:rgba(251,191,36,.05); color:#fde68a; border-radius:999px; padding:7px 10px; font-size:9px; font-weight:800; }
.mission-toast { position:fixed; right:20px; bottom:20px; z-index:10000; display:grid; gap:3px; max-width:310px; padding:13px 15px; border:1px solid rgba(16,185,129,.28); background:#07130f; box-shadow:0 16px 50px rgba(0,0,0,.4); border-radius:12px; animation:mission-in .2s ease-out; }
.mission-toast b { color:#34d399; font-size:9px; }
.mission-toast span { color:#e2e8f0; font-size:11px; }
@keyframes mission-in { from { transform:translateY(8px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@media (max-width: 640px) {
  .practice-intro { align-items:stretch; flex-direction:column; padding:18px; }
  .practice-score { min-width:0; }
  .mission-bottom { align-items:stretch; flex-direction:column; }
  .mission-bottom button { width:100%; }
  .mission-toast { left:12px; right:12px; bottom:12px; max-width:none; }
}

/* Mining Lab — real header structure + clearly labeled educational PoW target */
.mining-lab { display:grid; gap:18px; }
.mining-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:26px; border:1px solid rgba(249,115,22,.18); background:radial-gradient(circle at top right,rgba(249,115,22,.11),transparent 48%),rgba(255,255,255,.025); border-radius:22px; }
.mining-kicker, .mining-section-head > span { color:#fb923c; font-size:11px; font-weight:900; letter-spacing:.14em; }
.mining-hero h2 { color:#f8fafc; font-size:clamp(25px,4vw,38px); line-height:1.16; margin:7px 0 10px; }
.mining-hero p { max-width:720px; color:#b6c2d2; font-size:15px; line-height:1.75; }
.mining-hero p strong { color:#fde68a; }
.mining-badge { flex:0 0 170px; padding:17px; border:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.18); border-radius:16px; }
.mining-badge span, .mining-badge small { display:block; color:#94a3b8; font-size:11px; font-weight:800; }
.mining-badge b { display:block; color:#fb923c; font-size:25px; margin:5px 0; }
.mining-integrity { padding:15px 17px; border:1px solid rgba(59,130,246,.18); background:rgba(59,130,246,.055); border-radius:14px; }
.mining-integrity b { color:#93c5fd; font-size:13px; }
.mining-integrity p { color:#b6c2d2; font-size:13px; line-height:1.72; margin-top:5px; }
.mining-integrity strong:first-child { color:#6ee7b7; }
.mining-integrity strong:last-of-type { color:#fbbf24; }
.mining-section { padding:24px; border:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.025); border-radius:20px; }
.mining-section-head h3 { color:#f1f5f9; font-size:21px; line-height:1.3; margin:6px 0 7px; }
.mining-section-head p { max-width:800px; color:#a5b4c7; font-size:14px; line-height:1.75; }
.merkle-tree { display:grid; gap:10px; margin-top:18px; }
.merkle-level { display:grid; gap:9px; }
.tx-level { grid-template-columns:repeat(4,minmax(0,1fr)); }
.parent-level { grid-template-columns:repeat(2,minmax(0,1fr)); width:74%; margin:0 auto; }
.merkle-node, .merkle-root-card { min-width:0; padding:13px; border:1px solid rgba(255,255,255,.07); background:#0a0c11; border-radius:12px; text-align:center; }
.merkle-node.parent { border-color:rgba(59,130,246,.16); background:rgba(59,130,246,.035); }
.merkle-node span, .merkle-root-card span { display:block; color:#94a3b8; font-size:11px; font-weight:900; margin-bottom:7px; }
.merkle-node code { color:#cbd5e1; font-size:11px; overflow-wrap:anywhere; }
.merkle-arrow { color:#64748b; font-size:12px; text-align:center; font-weight:700; }
.merkle-root-card { width:min(680px,100%); margin:0 auto; border-color:rgba(249,115,22,.22); background:rgba(249,115,22,.055); }
.merkle-root-card span { color:#fb923c; }
.merkle-root-card code { color:#fde68a; font-size:12px; overflow-wrap:anywhere; word-break:break-all; }
.header-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.header-fields article { min-width:0; padding:15px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:13px; }
.header-fields article > div { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.header-fields span { color:#fb923c; font-size:11px; font-weight:900; letter-spacing:.06em; }
.header-fields em { color:#94a3b8; font-size:11px; font-style:normal; }
.header-fields code { display:block; color:#e2e8f0; font-size:12px; margin-top:9px; overflow-wrap:anywhere; word-break:break-all; }
.header-fields p { color:#8998ac; font-size:12px; line-height:1.6; margin-top:7px; }
.mining-details { margin-top:14px; padding:13px 15px; border:1px solid rgba(255,255,255,.065); background:rgba(0,0,0,.12); border-radius:12px; }
.mining-details summary { color:#a5b4c7; font-size:12px; font-weight:800; cursor:pointer; }
.mining-details code { display:block; margin-top:10px; color:#94a3b8; font-size:10px; line-height:1.65; overflow-wrap:anywhere; word-break:break-all; }
.mining-details p { color:#94a3b8; font-size:12px; line-height:1.7; margin-top:10px; }
.target-controls { display:grid; grid-template-columns:1fr 1.1fr; gap:16px; margin-top:18px; }
.target-controls label, .retarget-lab > label { display:grid; gap:9px; padding:16px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:13px; color:#a5b4c7; font-size:12px; }
.target-controls label > span, .retarget-lab label > span { font-weight:800; }
.target-controls label > b, .retarget-lab label > b { color:#f8fafc; font-size:16px; }
.target-controls small { color:#7f8ea3; font-size:11px; line-height:1.5; }
.target-controls input, .retarget-lab input { accent-color:#f97316; width:100%; }
.target-stats { display:grid; gap:8px; }
.target-stats > div { min-width:0; padding:12px 14px; border:1px solid rgba(255,255,255,.06); border-radius:11px; background:rgba(255,255,255,.018); }
.target-stats span { display:block; color:#94a3b8; font-size:11px; font-weight:800; margin-bottom:5px; }
.target-stats b { color:#fde68a; font-size:15px; }
.target-stats code { display:block; color:#cbd5e1; font-size:10px; overflow-wrap:anywhere; word-break:break-all; }
.target-visual { height:14px; overflow:hidden; margin-top:15px; border:1px solid rgba(255,255,255,.07); background:#08090d; border-radius:999px; }
.target-visual > div { height:100%; background:linear-gradient(90deg,#f97316,#fbbf24); border-radius:999px; transition:width .2s ease; }
.target-caption { color:#8998ac; font-size:12px; line-height:1.6; margin-top:7px; }
.mining-run { width:100%; margin-top:18px; border:1px solid rgba(249,115,22,.3); background:rgba(249,115,22,.14); color:#fb923c; border-radius:12px; padding:14px 16px; font-size:14px; font-weight:900; cursor:pointer; }
.mining-empty { margin-top:12px; padding:15px; border:1px dashed rgba(255,255,255,.09); border-radius:12px; color:#8998ac; font-size:13px; }
.mining-success { display:grid; gap:13px; margin-top:14px; padding:17px; border:1px solid rgba(16,185,129,.2); background:rgba(16,185,129,.05); border-radius:14px; }
.mining-success > div > span { display:block; color:#34d399; font-size:12px; font-weight:900; }
.mining-success > div > b { display:block; color:#ecfdf5; font-size:22px; margin-top:4px; }
.mining-success dl { display:grid; gap:8px; }
.mining-success dl > div { min-width:0; display:grid; grid-template-columns:80px 1fr; gap:10px; }
.mining-success dt { color:#94a3b8; font-size:11px; font-weight:800; }
.mining-success dd { color:#e2e8f0; font-size:12px; min-width:0; }
.mining-success code { overflow-wrap:anywhere; word-break:break-all; }
.mining-success p { color:#a7f3d0; font-size:13px; line-height:1.65; }
.retarget-lab { display:grid; gap:13px; margin-top:18px; }
.retarget-equation { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:9px; align-items:center; }
.retarget-equation > div:not(.equation-arrow) { min-height:82px; display:flex; flex-direction:column; justify-content:center; padding:13px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:12px; text-align:center; }
.retarget-equation span { color:#94a3b8; font-size:11px; font-weight:800; }
.retarget-equation b { color:#f8fafc; font-size:15px; margin-top:6px; }
.equation-arrow { color:#fb923c; font-size:20px; font-weight:900; }
.retarget-reading { padding:13px 15px; border-left:3px solid #f97316; background:rgba(249,115,22,.045); color:#d5dde8; font-size:13px; line-height:1.65; }
.mining-summary { padding:18px; border:1px solid rgba(249,115,22,.2); background:rgba(249,115,22,.055); border-radius:15px; }
.mining-summary b { color:#fdba74; font-size:14px; }
.mining-summary p { color:#d5dde8; font-size:14px; line-height:1.72; margin-top:5px; }
.mining-sources { padding-bottom:4px; }
@media (max-width:820px) { .mining-hero { align-items:stretch; flex-direction:column; } .mining-badge { flex:0 0 auto; } .tx-level { grid-template-columns:repeat(2,minmax(0,1fr)); } .parent-level { width:100%; } .target-controls { grid-template-columns:1fr; } .retarget-equation { grid-template-columns:1fr; } .equation-arrow { transform:rotate(90deg); text-align:center; } }
@media (max-width:600px) { .mining-section { padding:18px; } .mining-hero { padding:20px; } .mining-hero p { font-size:14px; } .header-fields { grid-template-columns:1fr; } .tx-level { grid-template-columns:1fr 1fr; } .mining-success dl > div { grid-template-columns:1fr; gap:3px; } .merkle-root-card code { font-size:10px; } }

/* Typography system v1 — readability and information hierarchy */
:root {
  --text-primary: #f8fafc;
  --text-body: #d7dee9;
  --text-secondary: #a8b3c5;
  --text-muted: #7d8ba1;
  --text-faint: #64748b;
}
html { font-size:16px; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', system-ui, sans-serif;
  line-height:1.65;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button, input { font:inherit; }

.hero { padding:56px 24px 38px; }
.hero h1 { font-size:clamp(30px,5vw,44px); letter-spacing:-.035em; }
.hero p { max-width:680px; margin:0 auto 24px; color:var(--text-secondary); font-size:16px; line-height:1.7; }
.badge { font-size:14px; }
.chapters, .chapter-screen { max-width:680px; }
.chapter-item { gap:18px; padding:21px 22px; margin-bottom:12px; }
.ch-title { color:var(--text-primary); font-size:17px; font-weight:800; line-height:1.35; }
.ch-sub { color:var(--text-secondary); font-size:14px; line-height:1.55; margin-top:3px; }
.ch-meta { color:var(--text-muted); font-size:12px; line-height:1.5; margin-top:5px; }
.ch-xp { font-size:11px; font-weight:800; }
.top-bar-label, .top-bar-count { color:var(--text-secondary); font-size:13px; }
.section-content { padding:34px 24px; }
.section-tag { font-size:12px; letter-spacing:.04em; }
.section-title { color:var(--text-primary); font-size:clamp(24px,4vw,29px); line-height:1.3; letter-spacing:-.025em; margin-bottom:18px; }
.section-body { max-width:66ch; color:var(--text-body); font-size:16px; line-height:1.9; }
.section-body strong { color:#fff; font-weight:800; }
.next-btn, .finish-btn { min-height:48px; font-size:15px; }
.quiz-tag { font-size:12px; }
.quiz-q { color:var(--text-primary); font-size:23px; line-height:1.45; }
.option { color:var(--text-body); font-size:15px; line-height:1.55; padding:15px 16px; }
.exp-title { font-size:16px; }
.exp-text { color:var(--text-secondary); font-size:14px; line-height:1.75; }
.complete-box h2 { font-size:23px; }
.complete-box p { color:var(--text-secondary); font-size:15px; }

.service-nav { min-height:58px; padding:11px 18px; }
.service-brand { font-size:14px; }
.service-btn { font-size:13px; padding:9px 13px; }
.service-tab { color:var(--text-muted); font-size:12px; padding:9px 11px; letter-spacing:.035em; }
.service-modal { width:min(580px,100%); padding:28px; }
.service-modal h2 { font-size:24px; }
.service-muted { color:var(--text-secondary); font-size:13px; line-height:1.7; }
.dashboard-card { padding:18px; }
.dashboard-label { color:var(--text-secondary); font-size:12px; font-weight:700; }
.dashboard-value { font-size:25px; }
.account-title { font-size:16px; }
.sync-pill { font-size:11px; }
.service-error { font-size:12px; }

.platform-shell { width:min(1060px,calc(100% - 36px)); padding:58px 0 92px; }
.platform-kicker { font-size:12px; letter-spacing:.14em; }
.platform-shell h1 { font-size:clamp(30px,4.6vw,44px); letter-spacing:-.032em; }
.platform-lead { max-width:780px; color:var(--text-secondary); font-size:16px; line-height:1.8; }
.module-chip { color:var(--text-muted); font-size:11px; padding:8px 11px; }
.hub-card, .integrity-card { padding:23px; }
.hub-card span, .integrity-card b { font-size:11px; font-weight:900; }
.hub-card h3 { font-size:19px; line-height:1.35; }
.hub-card p, .integrity-card p { color:var(--text-secondary); font-size:14px; line-height:1.75; }
.source-box h3 { font-size:14px; }
.source-box a { font-size:13px; }
.integrity-link { font-size:12px; padding:10px 14px; }

.sim-integrity { padding:18px; }
.sim-integrity b { font-size:11px; }
.sim-integrity p { color:var(--text-secondary); font-size:13px; line-height:1.75; }
.sim-stats span, .network-status span { color:var(--text-muted); font-size:10px; letter-spacing:.05em; }
.sim-stats b, .network-status b { font-size:18px; }
.sim-controls { padding:19px; gap:14px; }
.sim-controls label, .sign-controls label { color:var(--text-secondary); font-size:13px; }
.sim-controls input, .sign-controls input { font-size:14px; padding:12px; }
.sim-controls small, .sign-controls small { color:var(--text-muted); font-size:10px; }
.sim-buttons button, .wallet-actions button, .sign-controls button, .network-actions button, .network-mine-btn { min-height:42px; font-size:13px; padding:11px 14px; }
.sim-message, .network-message { font-size:13px; line-height:1.7; padding:13px 14px; }
.sim-heading h3 { font-size:16px; }
.sim-heading span { color:var(--text-muted); font-size:11px; }
.utxo-row b, .utxo-row strong, .tx-card b { font-size:12px; }
.utxo-row span, .tx-card span { color:var(--text-muted); font-size:11px; }
.utxo-row em { font-size:10px; }
.tx-card p, .sim-footnote, .empty-state { color:var(--text-muted); font-size:11px; line-height:1.7; }
.lab-tab { font-size:13px; padding:11px 15px; }
.wallet-warning { padding:17px 19px; }
.wallet-warning b { font-size:12px; }
.wallet-warning p { color:var(--text-secondary); font-size:13px; line-height:1.7; }
.wallet-start { padding:27px; }
.wallet-start h2, .wallet-toolbar h2 { font-size:24px; letter-spacing:-.02em; }
.wallet-start p { color:var(--text-secondary); font-size:14px; line-height:1.7; }
.wallet-kicker, .step-label { font-size:11px; }
.vector-status { font-size:10px; padding:8px 11px; }
.wallet-step { grid-template-columns:60px 1fr; }
.step-number { font-size:13px; }
.step-content { padding:24px; }
.step-content h3 { font-size:19px; line-height:1.4; }
.step-copy { color:var(--text-secondary); font-size:14px; line-height:1.75; }
.mnemonic-grid div { font-size:13px; padding:10px; }
.mnemonic-grid span { font-size:10px; }
.wallet-step summary, .sign-result summary, .tech-details > summary { color:var(--text-muted); font-size:12px; }
.path-flow code { font-size:12px; }
.crypto-grid span, .address-card span, .mini-addresses span { color:var(--text-muted); font-size:11px; }
.crypto-grid code, .address-card code, .mini-addresses code, .long-code { font-size:10px; line-height:1.65; }
.address-card strong { font-size:clamp(14px,2.2vw,18px); }
.wallet-error { font-size:12px; }
.wallet-empty { color:var(--text-secondary); font-size:13px; }
.sign-status { font-size:12px; }
.wallet-notes b { font-size:12px; }
.wallet-notes p { color:var(--text-secondary); font-size:12px; line-height:1.7; }
.wallet-sources a { font-size:11px; }
.edu-callout { padding:15px 16px; }
.edu-callout b { font-size:12px; }
.edu-callout p { color:var(--text-secondary); font-size:13px; line-height:1.8; }
.network-intro, .network-foot { padding:20px; }
.network-intro b, .network-foot b { font-size:15px; }
.network-intro p, .network-foot p { color:var(--text-secondary); font-size:13px; line-height:1.8; }
.role-map { gap:12px; }
.role-map article { padding:18px; }
.role-map span { font-size:11px; }
.role-map h3 { font-size:16px; margin:8px 0 7px; }
.role-map p { color:var(--text-secondary); font-size:12px; line-height:1.7; }
.node-check { padding:12px; }
.node-check b { font-size:12px; }
.node-check p { color:var(--text-muted); font-size:11px; line-height:1.65; }
.network-empty { color:var(--text-muted); font-size:12px; }
.network-tx { padding:12px; }
.network-tx b, .network-tx span { font-size:11px; }
.network-tx p { color:var(--text-muted); font-size:11px; line-height:1.6; }
.pow-result b { font-size:12px; }
.pow-result p { color:var(--text-muted); font-size:11px; }
.pow-result code { font-size:9px; }

.start-here-card { padding:19px; }
.start-here-card span { font-size:11px; }
.start-here-card b { font-size:19px; line-height:1.35; }
.start-here-card p { color:var(--text-secondary); font-size:13px; }
.start-here-card button { font-size:12px; padding:10px 13px; }
.why-hero { padding:34px; }
.why-hero > p { color:var(--text-secondary); font-size:15px; line-height:1.85; }
.why-principle { padding:13px 15px; }
.why-principle b { font-size:11px; }
.why-principle span { font-size:12px; }
.why-map { gap:8px; }
.why-map span { color:var(--text-muted); font-size:11px; padding:8px 10px; }
.why-section { grid-template-columns:58px 1fr; }
.why-section > div:last-child { padding:27px; }
.why-number { font-size:12px; }
.why-label { font-size:11px; }
.why-section h2 { font-size:23px; line-height:1.35; margin:7px 0 14px; }
.why-copy { max-width:72ch; color:var(--text-body); font-size:14px; line-height:1.85; }
.money-functions, .tradeoff-grid, .trust-compare { gap:12px; }
.money-functions > div, .tradeoff-grid section, .trust-compare section { padding:17px; }
.money-functions b, .tradeoff-grid h3, .trust-compare span { font-size:14px; }
.money-functions p, .tradeoff-grid p, .trust-compare li { color:var(--text-secondary); font-size:12px; line-height:1.75; }
.tradeoff-grid section > b { font-size:11px; }
.why-fact, .why-caution, .why-result, .why-satoshi { font-size:13px; line-height:1.75; padding:15px 16px; }
.why-fact p, .why-satoshi p { color:var(--text-secondary); }
.credit-controls label { color:var(--text-secondary); font-size:12px; }
.credit-controls input { font-size:14px; padding:11px; }
.credit-controls button, .question-card button, .why-next button { font-size:12px; padding:10px 13px; }
.balance-sheet section { padding:16px; }
.balance-sheet section > span { font-size:11px; }
.balance-sheet small { color:var(--text-muted); font-size:11px; }
.balance-sheet b { font-size:12px; }
.slider-grid label { color:var(--text-secondary); font-size:12px; }
.power-results span { color:var(--text-secondary); font-size:11px; }
.power-results b { font-size:22px; }
.timeline > div { padding:15px; }
.timeline b { font-size:13px; }
.timeline p { color:var(--text-secondary); font-size:12px; line-height:1.8; }
.flow-line { color:var(--text-secondary); font-size:11px; padding:11px; }
.question-card { padding:23px; }
.question-card span { color:#fb923c; font-size:11px; }
.question-card p { font-size:18px; line-height:1.7; }
.why-sources b { font-size:11px; }
.why-sources a { font-size:12px; }

.practice-intro { padding:28px; }
.practice-intro h1 { font-size:clamp(26px,4vw,38px); }
.practice-intro p { color:var(--text-secondary); font-size:14px; line-height:1.8; }
.practice-score { padding:17px; }
.practice-score span, .practice-score small { color:var(--text-muted); font-size:10px; }
.practice-score b { font-size:25px; }
.practice-rule { padding:15px 17px; }
.practice-rule b { font-size:12px; }
.practice-rule p { color:var(--text-secondary); font-size:12px; line-height:1.75; }
.mission-grid { gap:13px; }
.mission-card { padding:20px; }
.mission-head span { font-size:10px; }
.mission-head h3 { font-size:18px; line-height:1.4; }
.mission-reward { font-size:10px; padding:7px 10px; }
.mission-summary { color:var(--text-secondary); font-size:13px; line-height:1.75; }
.mission-step { padding:10px 11px; }
.mission-step span { font-size:14px; }
.mission-step p { color:var(--text-secondary); font-size:12px; line-height:1.55; }
.mission-bottom small { color:var(--text-muted); font-size:10px; }
.mission-bottom b { color:var(--text-secondary); font-size:11px; }
.mission-bottom button { font-size:11px; padding:10px 12px; }
.achievement-shelf { padding:19px; }
.achievement-list span { font-size:11px; padding:8px 11px; }
.mission-toast b { font-size:11px; }
.mission-toast span { font-size:13px; }

@media (max-width: 720px) {
  .platform-shell { width:min(100% - 24px,1060px); padding-top:38px; }
  .hero { padding:42px 18px 30px; }
  .section-content { padding:28px 18px; }
  .section-body { font-size:15px; line-height:1.85; }
  .service-nav { padding:9px 10px; gap:6px; }
  .service-brand { font-size:13px; }
  .service-tab { font-size:11px; padding:8px 9px; }
  .service-btn { font-size:12px; padding:8px 10px; }
  .why-hero { padding:25px 20px; }
  .why-section { grid-template-columns:44px 1fr; }
  .why-section > div:last-child { padding:20px 16px; }
  .wallet-step { grid-template-columns:46px 1fr; }
  .step-content { padding:19px 15px; }
  .role-map p, .node-check p, .network-tx p { font-size:12px; }
}

@media (max-width: 480px) {
  .hero p, .platform-lead { font-size:15px; }
  .ch-title { font-size:16px; }
  .ch-sub { font-size:13px; }
  .service-muted { font-size:12px; }
  .platform-shell h1 { font-size:29px; }
  .why-section h2 { font-size:21px; }
  .question-card p { font-size:17px; }
}

/* Fork / Reorg / Chainwork Lab */
.fork-lab { display:grid; gap:18px; }
.fork-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:28px; border:1px solid rgba(139,92,246,.2); background:radial-gradient(circle at top right,rgba(139,92,246,.13),transparent 48%),rgba(255,255,255,.025); border-radius:22px; }
.fork-kicker, .fork-section-head > span { color:#c4b5fd; font-size:11px; font-weight:900; letter-spacing:.14em; }
.fork-hero h2 { color:var(--text-primary); font-size:clamp(25px,4vw,38px); line-height:1.16; margin:7px 0 10px; }
.fork-hero p { max-width:750px; color:var(--text-secondary); font-size:15px; line-height:1.8; }
.fork-active-badge { min-width:190px; padding:15px 17px; border:1px solid rgba(167,139,250,.22); background:rgba(76,29,149,.14); border-radius:15px; }
.fork-active-badge span, .fork-active-badge small { display:block; color:#a8b3c5; font-size:10px; font-weight:800; }
.fork-active-badge b { display:block; color:#ddd6fe; font-size:22px; margin:4px 0; }
.fork-integrity { padding:17px 19px; border:1px solid rgba(59,130,246,.18); background:rgba(59,130,246,.055); border-radius:15px; }
.fork-integrity b { color:#93c5fd; font-size:12px; }
.fork-integrity p { color:var(--text-secondary); font-size:13px; line-height:1.8; margin-top:5px; }
.fork-integrity code { color:#fde68a; }
.fork-section { padding:24px; border:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.025); border-radius:20px; }
.fork-section-head h3 { color:var(--text-primary); font-size:21px; line-height:1.35; margin:6px 0 7px; }
.fork-section-head p { max-width:820px; color:var(--text-secondary); font-size:14px; line-height:1.8; }
.fork-presets { display:flex; flex-wrap:wrap; gap:8px; margin:17px 0 14px; }
.fork-presets button, .fork-controls button { border:1px solid rgba(167,139,250,.24); background:rgba(139,92,246,.09); color:#ddd6fe; border-radius:10px; padding:10px 13px; font-size:12px; font-weight:800; cursor:pointer; }
.fork-presets button:hover, .fork-controls button:hover { background:rgba(139,92,246,.16); }
.fork-common { width:max-content; max-width:100%; margin:0 auto 14px; text-align:center; padding:12px 16px; border:1px solid rgba(255,255,255,.08); background:#0a0c11; border-radius:13px; }
.fork-common span { display:block; color:var(--text-muted); font-size:10px; font-weight:900; letter-spacing:.08em; }
.fork-common b { display:block; color:#e2e8f0; font-size:15px; margin:3px 0; }
.fork-common code { color:#94a3b8; font-size:10px; }
.fork-branches { display:grid; grid-template-columns:1fr 1fr; gap:12px; position:relative; }
.fork-branch { min-width:0; padding:16px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:15px; }
.fork-branch.active { border-color:rgba(167,139,250,.32); box-shadow:inset 0 0 0 1px rgba(139,92,246,.08); }
.fork-branch header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px; }
.fork-branch header span { display:block; color:#c4b5fd; font-size:10px; font-weight:900; letter-spacing:.08em; }
.fork-branch header b { display:block; color:var(--text-secondary); font-size:12px; margin-top:3px; }
.fork-branch header strong { color:#f8fafc; font-size:14px; }
.fork-block-row { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; }
.fork-block { flex:0 0 132px; padding:10px; border:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.02); border-radius:11px; }
.fork-block.active { border-color:rgba(167,139,250,.2); background:rgba(139,92,246,.06); }
.fork-block > div { display:flex; justify-content:space-between; gap:6px; }
.fork-block span { color:#f1f5f9; font-size:11px; font-weight:900; }
.fork-block em { color:#a78bfa; font-size:9px; font-style:normal; }
.fork-block code { display:block; color:#94a3b8; font-size:9px; margin:7px 0; }
.fork-block small { display:block; color:var(--text-muted); font-size:9px; line-height:1.45; }
.fork-controls { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.fork-controls section { display:grid; gap:9px; padding:14px; border:1px solid rgba(255,255,255,.06); border-radius:13px; }
.fork-controls section > div { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.fork-controls span { color:var(--text-secondary); font-size:11px; font-weight:800; }
.fork-controls select { border:1px solid rgba(255,255,255,.09); background:#08090d; color:#e2e8f0; border-radius:8px; padding:8px; font-size:12px; }
.fork-message { margin-top:13px; padding:13px 15px; border:1px solid rgba(167,139,250,.18); background:rgba(139,92,246,.055); color:#ddd6fe; border-radius:11px; font-size:13px; line-height:1.7; }
.chainwork-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:17px; }
.chainwork-grid article { display:grid; gap:6px; padding:16px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:13px; }
.chainwork-grid article.winner { border-color:rgba(16,185,129,.26); background:rgba(16,185,129,.04); }
.chainwork-grid span { color:#c4b5fd; font-size:10px; font-weight:900; letter-spacing:.08em; }
.chainwork-grid b { color:#cbd5e1; font-size:13px; }
.chainwork-grid strong { color:#f8fafc; font-size:20px; }
.chainwork-grid code { color:#94a3b8; font-size:10px; overflow-wrap:anywhere; }
.chainwork-reading { margin-top:12px; padding:15px 17px; border-left:3px solid #a78bfa; background:rgba(139,92,246,.045); }
.chainwork-reading b { color:#ddd6fe; font-size:12px; }
.chainwork-reading p { color:var(--text-secondary); font-size:13px; line-height:1.75; margin-top:5px; }
.reorg-empty { margin-top:17px; padding:19px; border:1px dashed rgba(255,255,255,.11); border-radius:13px; }
.reorg-empty b { color:#f8fafc; font-size:14px; }
.reorg-empty p { color:var(--text-secondary); font-size:13px; line-height:1.75; margin-top:5px; }
.reorg-result { display:grid; gap:13px; margin-top:17px; }
.reorg-title { padding:15px 17px; border:1px solid rgba(249,115,22,.22); background:rgba(249,115,22,.055); border-radius:13px; }
.reorg-title span { color:#fb923c; font-size:10px; font-weight:900; letter-spacing:.1em; }
.reorg-title b { display:block; color:#fff7ed; font-size:18px; margin-top:4px; }
.reorg-title p { color:#fdba74; font-size:12px; margin-top:4px; }
.reorg-steps { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.reorg-steps article { padding:14px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.reorg-steps span, .reorg-mempool > section > span, .fork-tx-grid > section > span { color:#a78bfa; font-size:10px; font-weight:900; letter-spacing:.07em; }
.reorg-steps b { display:block; color:#f1f5f9; font-size:14px; margin:5px 0; }
.reorg-steps p { color:var(--text-muted); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.reorg-mempool, .fork-tx-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.reorg-mempool > section, .fork-tx-grid > section { padding:15px; border:1px solid rgba(255,255,255,.06); border-radius:12px; }
.tx-outcome, .fork-tx-grid section > div { margin-top:9px; padding:10px 11px; border-radius:9px; background:rgba(255,255,255,.025); }
.tx-outcome.keep { border-left:3px solid #34d399; }
.tx-outcome.drop { border-left:3px solid #f87171; }
.tx-outcome b, .fork-tx-grid b { color:#e2e8f0; font-size:12px; }
.tx-outcome p, .fork-tx-grid p { color:var(--text-secondary); font-size:11px; line-height:1.6; margin-top:3px; }
.fork-tx-grid em { display:block; color:#34d399; font-size:10px; font-style:normal; margin-top:4px; }
.fork-tx-grid > section:last-child em { color:#fbbf24; }
.fork-muted { color:var(--text-muted); font-size:12px; margin-top:9px; }
.fork-summary { padding:18px 20px; border:1px solid rgba(167,139,250,.2); background:rgba(139,92,246,.05); border-radius:15px; }
.fork-summary b { color:#c4b5fd; font-size:12px; }
.fork-summary p { color:var(--text-secondary); font-size:14px; line-height:1.8; margin-top:5px; }
.fork-sources { padding-bottom:4px; }
@media (max-width:820px) { .fork-hero { align-items:stretch; flex-direction:column; } .fork-active-badge { min-width:0; } .fork-branches, .fork-controls, .chainwork-grid, .reorg-mempool, .fork-tx-grid { grid-template-columns:1fr; } .reorg-steps { grid-template-columns:1fr; } }
@media (max-width:600px) { .fork-section { padding:18px; } .fork-hero { padding:20px; } .fork-hero p { font-size:14px; } .fork-block { flex-basis:122px; } .fork-controls section > div { align-items:stretch; flex-direction:column; } .fork-controls select { width:100%; } }

/* Multi-Node P2P Propagation Lab */
.multinode-lab { display:grid; gap:18px; }
.multinode-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:28px; border:1px solid rgba(14,165,233,.2); background:radial-gradient(circle at top right,rgba(14,165,233,.12),transparent 48%),rgba(255,255,255,.025); border-radius:22px; }
.multinode-kicker, .multinode-head > span { color:#7dd3fc; font-size:11px; font-weight:900; letter-spacing:.14em; }
.multinode-hero h2 { color:var(--text-primary); font-size:clamp(25px,4vw,38px); line-height:1.16; margin:7px 0 10px; }
.multinode-hero p { max-width:760px; color:var(--text-secondary); font-size:15px; line-height:1.8; }
.multinode-status { min-width:190px; padding:15px 17px; border:1px solid rgba(56,189,248,.22); background:rgba(3,105,161,.12); border-radius:15px; }
.multinode-status.ok { border-color:rgba(52,211,153,.26); background:rgba(16,185,129,.08); }
.multinode-status span, .multinode-status small { display:block; color:#a8b3c5; font-size:10px; font-weight:800; }
.multinode-status b { display:block; color:#bae6fd; font-size:21px; margin:4px 0; }
.multinode-status.ok b { color:#a7f3d0; }
.multinode-integrity { padding:17px 19px; border:1px solid rgba(59,130,246,.18); background:rgba(59,130,246,.055); border-radius:15px; }
.multinode-integrity b { color:#93c5fd; font-size:12px; }
.multinode-integrity p { color:var(--text-secondary); font-size:13px; line-height:1.8; margin-top:5px; }
.multinode-integrity strong:first-child { color:#6ee7b7; }
.multinode-integrity strong:last-of-type { color:#fbbf24; }
.multinode-section { padding:24px; border:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.025); border-radius:20px; }
.multinode-head h3 { color:var(--text-primary); font-size:21px; line-height:1.35; margin:6px 0 7px; }
.multinode-head p { max-width:820px; color:var(--text-secondary); font-size:14px; line-height:1.8; }
.multinode-topology { margin-top:17px; }
.peer-line { display:flex; justify-content:center; align-items:center; gap:10px; margin-bottom:11px; color:#bae6fd; font-size:11px; font-weight:900; }
.peer-line i { color:#64748b; font-style:normal; font-weight:600; }
.multinode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.multinode-card { min-width:0; padding:16px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:14px; }
.multinode-card.converged { border-color:rgba(52,211,153,.24); background:rgba(16,185,129,.035); }
.multinode-card header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.multinode-card header span { display:block; color:#7dd3fc; font-size:10px; font-weight:900; letter-spacing:.08em; }
.multinode-card header b { display:block; color:#f1f5f9; font-size:13px; margin-top:3px; }
.multinode-card header strong { color:#a7f3d0; font-size:12px; }
.multinode-chain { display:flex; flex-wrap:wrap; gap:4px; align-items:center; margin:14px 0; padding:11px; border:1px solid rgba(255,255,255,.05); border-radius:10px; background:rgba(255,255,255,.018); }
.multinode-chain span { display:flex; align-items:center; gap:4px; color:#94a3b8; font-size:11px; font-weight:800; }
.multinode-chain span.tip { color:#f8fafc; }
.multinode-chain i { color:#475569; font-style:normal; }
.multinode-card dl { display:grid; gap:7px; }
.multinode-card dl > div { display:flex; justify-content:space-between; gap:10px; }
.multinode-card dt { color:var(--text-muted); font-size:9px; font-weight:900; }
.multinode-card dd { color:#cbd5e1; font-size:10px; text-align:right; overflow-wrap:anywhere; }
.multinode-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:17px; }
.multinode-step { display:flex; gap:11px; align-items:flex-start; min-height:82px; padding:13px; border:1px solid rgba(56,189,248,.15); background:rgba(14,165,233,.045); border-radius:12px; text-align:left; cursor:pointer; }
.multinode-step:hover { background:rgba(14,165,233,.08); }
.multinode-step.done { border-color:rgba(52,211,153,.18); background:rgba(16,185,129,.045); }
.multinode-step > span { flex:0 0 26px; height:26px; display:grid; place-items:center; border-radius:999px; background:rgba(14,165,233,.12); color:#7dd3fc; font-size:11px; font-weight:900; }
.multinode-step.done > span { background:rgba(16,185,129,.12); color:#6ee7b7; }
.multinode-step b { color:#e2e8f0; font-size:13px; }
.multinode-step p { color:var(--text-secondary); font-size:11px; line-height:1.55; margin-top:4px; }
.multinode-toolbar { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.multinode-toolbar button { border:1px solid rgba(56,189,248,.2); background:rgba(14,165,233,.07); color:#bae6fd; border-radius:10px; padding:10px 13px; font-size:12px; font-weight:800; cursor:pointer; }
.multinode-toolbar button:last-child { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.035); color:#94a3b8; }
.multinode-message { margin-top:12px; padding:13px 15px; border:1px solid rgba(56,189,248,.17); background:rgba(14,165,233,.045); color:#bae6fd; border-radius:11px; font-size:13px; line-height:1.7; }
.multinode-log { display:grid; gap:7px; max-height:330px; overflow:auto; margin-top:15px; padding-right:4px; }
.multinode-log > div { display:grid; grid-template-columns:30px 1fr; gap:9px; padding:10px 11px; border:1px solid rgba(255,255,255,.05); background:#0a0c11; border-radius:9px; }
.multinode-log > div.latest { border-color:rgba(56,189,248,.18); }
.multinode-log span { color:#38bdf8; font-size:9px; font-weight:900; }
.multinode-log p { color:var(--text-secondary); font-size:11px; line-height:1.6; }
.multinode-concepts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.multinode-concepts article { padding:16px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.multinode-concepts span { color:#7dd3fc; font-size:9px; font-weight:900; letter-spacing:.08em; }
.multinode-concepts h4 { color:#f1f5f9; font-size:15px; margin:5px 0; }
.multinode-concepts p { color:var(--text-secondary); font-size:12px; line-height:1.7; }
.multinode-summary { padding:18px 20px; border:1px solid rgba(56,189,248,.2); background:rgba(14,165,233,.05); border-radius:15px; }
.multinode-summary b { color:#7dd3fc; font-size:12px; }
.multinode-summary p { color:var(--text-secondary); font-size:14px; line-height:1.8; margin-top:5px; }
.multinode-sources { padding-bottom:4px; }
@media (max-width:820px) { .multinode-hero { align-items:stretch; flex-direction:column; } .multinode-status { min-width:0; } .multinode-grid { grid-template-columns:1fr; } .peer-line { display:none; } }
@media (max-width:600px) { .multinode-section { padding:18px; } .multinode-hero { padding:20px; } .multinode-hero p { font-size:14px; } .multinode-actions, .multinode-concepts { grid-template-columns:1fr; } .multinode-step { min-height:0; } }

/* Mempool Policy / Fee Market / RBF Lab */
.policy-lab { display:grid; gap:18px; }
.policy-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:28px; border:1px solid rgba(245,158,11,.2); background:radial-gradient(circle at top right,rgba(245,158,11,.12),transparent 48%),rgba(255,255,255,.025); border-radius:22px; }
.policy-kicker, .policy-head > span { color:#fbbf24; font-size:11px; font-weight:900; letter-spacing:.14em; }
.policy-hero h2 { color:var(--text-primary); font-size:clamp(25px,4vw,38px); line-height:1.16; margin:7px 0 10px; }
.policy-hero p { max-width:760px; color:var(--text-secondary); font-size:15px; line-height:1.8; }
.policy-badge { min-width:185px; padding:15px 17px; border:1px solid rgba(251,191,36,.22); background:rgba(120,53,15,.12); border-radius:15px; }
.policy-badge span, .policy-badge small { display:block; color:#a8b3c5; font-size:10px; font-weight:800; }
.policy-badge b { display:block; color:#fde68a; font-size:21px; margin:4px 0; }
.policy-integrity { padding:17px 19px; border:1px solid rgba(59,130,246,.18); background:rgba(59,130,246,.055); border-radius:15px; }
.policy-integrity b { color:#93c5fd; font-size:12px; }
.policy-integrity p { color:var(--text-secondary); font-size:13px; line-height:1.8; margin-top:5px; }
.policy-integrity strong:first-child { color:#6ee7b7; }
.policy-integrity strong:last-of-type { color:#fbbf24; }
.policy-section { padding:24px; border:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.025); border-radius:20px; }
.policy-head h3 { color:var(--text-primary); font-size:21px; line-height:1.35; margin:6px 0 7px; }
.policy-head p { max-width:840px; color:var(--text-secondary); font-size:14px; line-height:1.8; }
.policy-builder { display:grid; grid-template-columns:1fr 1fr .8fr; gap:11px; margin-top:17px; }
.policy-builder label, .fee-capacity label { display:grid; gap:8px; padding:14px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; color:var(--text-secondary); font-size:12px; }
.policy-builder label b, .fee-capacity label b { color:#f8fafc; font-size:16px; }
.policy-builder input, .fee-capacity input { width:100%; accent-color:#f59e0b; }
.policy-rate { display:flex; flex-direction:column; justify-content:center; padding:14px; border:1px solid rgba(251,191,36,.16); background:rgba(245,158,11,.045); border-radius:12px; }
.policy-rate span { color:#fbbf24; font-size:10px; font-weight:900; }
.policy-rate b { color:#fde68a; font-size:22px; margin:3px 0; }
.policy-rate small { color:var(--text-muted); font-size:10px; }
.policy-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 15px; }
.policy-buttons button, .rbf-actions button { border:1px solid rgba(251,191,36,.22); background:rgba(245,158,11,.08); color:#fde68a; border-radius:10px; padding:10px 13px; font-size:12px; font-weight:800; cursor:pointer; }
.policy-buttons button:last-child { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.035); color:#94a3b8; }
.policy-node-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.policy-node { min-width:0; padding:15px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:14px; }
.policy-node header { display:flex; justify-content:space-between; gap:10px; }
.policy-node header span { color:#fbbf24; font-size:10px; font-weight:900; }
.policy-node header b { display:block; color:#f1f5f9; font-size:13px; margin-top:3px; }
.policy-node header em { color:#94a3b8; font-size:11px; font-style:normal; }
.policy-node > p { color:var(--text-muted); font-size:10px; line-height:1.55; margin:8px 0; }
.policy-outcome { display:grid; gap:2px; padding:9px 10px; border-radius:9px; margin-bottom:9px; }
.policy-outcome b { font-size:10px; }
.policy-outcome span { font-size:10px; color:var(--text-secondary); }
.policy-outcome.accept { border:1px solid rgba(52,211,153,.18); background:rgba(16,185,129,.05); }
.policy-outcome.accept b { color:#6ee7b7; }
.policy-outcome.reject { border:1px solid rgba(248,113,113,.18); background:rgba(239,68,68,.04); }
.policy-outcome.reject b { color:#fca5a5; }
.policy-pool { display:grid; gap:6px; }
.policy-tx { padding:9px 10px; border:1px solid rgba(255,255,255,.05); background:rgba(255,255,255,.02); border-radius:9px; }
.policy-tx > div { display:flex; justify-content:space-between; gap:8px; }
.policy-tx b { color:#e2e8f0; font-size:10px; }
.policy-tx span { color:#fbbf24; font-size:10px; }
.policy-tx p { color:var(--text-muted); font-size:9px; line-height:1.5; margin-top:3px; }
.policy-empty { color:var(--text-muted); font-size:11px; padding:10px; border:1px dashed rgba(255,255,255,.07); border-radius:9px; }
.fee-capacity { display:grid; grid-template-columns:1fr .75fr; gap:11px; margin-top:17px; }
.fee-capacity > div { display:flex; flex-direction:column; justify-content:center; padding:14px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.fee-capacity > div span { color:var(--text-muted); font-size:10px; font-weight:900; }
.fee-capacity > div b { color:#f8fafc; font-size:18px; }
.fee-capacity > div small { color:var(--text-muted); font-size:10px; }
.fee-market-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:11px; }
.fee-market-grid > section { padding:14px; border:1px solid rgba(255,255,255,.06); border-radius:12px; }
.fee-market-grid > section > span { display:block; color:#fbbf24; font-size:10px; font-weight:900; margin-bottom:8px; }
.rbf-workbench { display:grid; gap:11px; margin-top:17px; }
.rbf-current { padding:15px; border:1px solid rgba(255,255,255,.065); background:#0a0c11; border-radius:12px; }
.rbf-current span, .rbf-current small { display:block; color:var(--text-muted); font-size:10px; font-weight:800; }
.rbf-current b { display:block; color:#f8fafc; font-size:18px; margin:4px 0; }
.rbf-actions { display:flex; flex-wrap:wrap; gap:8px; }
.rbf-actions button:disabled { opacity:.4; cursor:not-allowed; }
.rbf-result, .rbf-hint { padding:15px; border-radius:12px; }
.rbf-result.accept { border:1px solid rgba(52,211,153,.2); background:rgba(16,185,129,.05); }
.rbf-result.reject { border:1px solid rgba(248,113,113,.2); background:rgba(239,68,68,.045); }
.rbf-result > span { color:#fbbf24; font-size:10px; font-weight:900; }
.rbf-result > b { display:block; color:#f8fafc; font-size:14px; margin:4px 0 10px; }
.rbf-hint { border:1px dashed rgba(255,255,255,.09); color:var(--text-secondary); font-size:12px; }
.rbf-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.rbf-checks > div { padding:10px; border:1px solid rgba(255,255,255,.05); border-radius:9px; }
.rbf-checks em { display:block; color:var(--text-muted); font-size:9px; font-style:normal; }
.rbf-checks strong { display:block; color:#cbd5e1; font-size:11px; margin-top:3px; }
.rbf-rules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.rbf-rules article { padding:12px; border:1px solid rgba(255,255,255,.055); background:#0a0c11; border-radius:10px; }
.rbf-rules span { color:#fbbf24; font-size:9px; font-weight:900; }
.rbf-rules b { display:block; color:var(--text-secondary); font-size:11px; line-height:1.55; margin-top:4px; }
.policy-footnote { color:var(--text-muted); font-size:11px; line-height:1.7; margin-top:10px; }
.consensus-policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:15px; }
.consensus-policy-grid article { padding:15px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.consensus-policy-grid span { color:#fbbf24; font-size:9px; font-weight:900; }
.consensus-policy-grid b { display:block; color:#f1f5f9; font-size:14px; margin:5px 0; }
.consensus-policy-grid p { color:var(--text-secondary); font-size:11px; line-height:1.65; }
.policy-summary { padding:18px 20px; border:1px solid rgba(251,191,36,.2); background:rgba(245,158,11,.05); border-radius:15px; }
.policy-summary b { color:#fbbf24; font-size:12px; }
.policy-summary p { color:var(--text-secondary); font-size:14px; line-height:1.8; margin-top:5px; }
.policy-sources { padding-bottom:4px; }
@media (max-width:820px) { .policy-hero { align-items:stretch; flex-direction:column; } .policy-badge { min-width:0; } .policy-node-grid, .policy-builder, .consensus-policy-grid { grid-template-columns:1fr; } .rbf-rules { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .policy-section { padding:18px; } .policy-hero { padding:20px; } .policy-hero p { font-size:14px; } .fee-capacity, .fee-market-grid, .rbf-checks, .rbf-rules { grid-template-columns:1fr; } }

/* CPFP / Parent-Child / Package Relay Lab */
.cpfp-lab { display:grid; gap:18px; }
.cpfp-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:28px; border:1px solid rgba(20,184,166,.2); background:radial-gradient(circle at top right,rgba(20,184,166,.12),transparent 48%),rgba(255,255,255,.025); border-radius:22px; }
.cpfp-kicker, .cpfp-head > span { color:#5eead4; font-size:11px; font-weight:900; letter-spacing:.14em; }
.cpfp-hero h2 { color:var(--text-primary); font-size:clamp(25px,4vw,38px); line-height:1.16; margin:7px 0 10px; }
.cpfp-hero p { max-width:760px; color:var(--text-secondary); font-size:15px; line-height:1.8; }
.cpfp-badge { min-width:205px; padding:15px 17px; border:1px solid rgba(45,212,191,.22); background:rgba(13,148,136,.1); border-radius:15px; }
.cpfp-badge span, .cpfp-badge small { display:block; color:#a8b3c5; font-size:10px; font-weight:800; }
.cpfp-badge b { display:block; color:#99f6e4; font-size:21px; margin:4px 0; }
.cpfp-integrity { padding:17px 19px; border:1px solid rgba(59,130,246,.18); background:rgba(59,130,246,.055); border-radius:15px; }
.cpfp-integrity b { color:#93c5fd; font-size:12px; }
.cpfp-integrity p { color:var(--text-secondary); font-size:13px; line-height:1.8; margin-top:5px; }
.cpfp-integrity strong:first-child { color:#6ee7b7; }
.cpfp-integrity strong:last-of-type { color:#fbbf24; }
.cpfp-section { padding:24px; border:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.025); border-radius:20px; }
.cpfp-head h3 { color:var(--text-primary); font-size:21px; line-height:1.35; margin:6px 0 7px; }
.cpfp-head p { max-width:850px; color:var(--text-secondary); font-size:14px; line-height:1.8; }
.cpfp-controls { display:grid; grid-template-columns:1fr 1fr .9fr; gap:11px; margin-top:17px; }
.cpfp-controls label { display:grid; gap:8px; padding:14px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; color:var(--text-secondary); font-size:12px; }
.cpfp-controls label b { color:#f8fafc; font-size:16px; }
.cpfp-controls input { width:100%; accent-color:#14b8a6; }
.cpfp-rate { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:14px; border:1px solid rgba(45,212,191,.16); background:rgba(20,184,166,.045); border-radius:12px; }
.cpfp-rate span { color:#5eead4; font-size:10px; font-weight:900; }
.cpfp-rate b { color:#99f6e4; font-size:21px; margin:3px 0; }
.cpfp-rate small { color:var(--text-muted); font-size:10px; line-height:1.5; }
.cpfp-rate.boosted { border-color:rgba(52,211,153,.2); }
.cpfp-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.cpfp-buttons button, .cpfp-submit { border:1px solid rgba(45,212,191,.22); background:rgba(20,184,166,.08); color:#99f6e4; border-radius:10px; padding:10px 13px; font-size:12px; font-weight:800; cursor:pointer; }
.cpfp-buttons button:last-child { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.035); color:#94a3b8; }
.cpfp-empty { margin-top:10px; padding:13px; border:1px dashed rgba(255,255,255,.08); border-radius:10px; color:var(--text-muted); font-size:12px; }
.cpfp-result { margin-top:10px; padding:13px 15px; border-radius:10px; }
.cpfp-result.accept { border:1px solid rgba(52,211,153,.2); background:rgba(16,185,129,.05); }
.cpfp-result.reject { border:1px solid rgba(248,113,113,.2); background:rgba(239,68,68,.045); }
.cpfp-result span { color:#5eead4; font-size:10px; font-weight:900; }
.cpfp-result.reject span { color:#fca5a5; }
.cpfp-result p { color:var(--text-secondary); font-size:12px; line-height:1.65; margin-top:4px; }
.cpfp-flow { display:grid; grid-template-columns:1fr auto 1fr; gap:11px; align-items:center; margin-top:17px; }
.cpfp-flow article { padding:16px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.cpfp-flow span, .cpfp-math span, .cpfp-miner span, .cpfp-compare span, .cpfp-limits span { color:#5eead4; font-size:9px; font-weight:900; letter-spacing:.08em; }
.cpfp-flow b { display:block; color:#f1f5f9; font-size:15px; margin:4px 0; }
.cpfp-flow strong { display:block; color:#99f6e4; font-size:12px; }
.cpfp-flow p { color:var(--text-muted); font-size:10px; margin-top:5px; }
.cpfp-arrow { color:#5eead4; font-size:11px; font-weight:900; text-align:center; }
.cpfp-math { display:grid; grid-template-columns:1fr auto 1fr auto 1.2fr; gap:9px; align-items:center; margin-top:17px; }
.cpfp-math > div:not(.cpfp-plus):not(.cpfp-equals) { min-width:0; padding:14px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.cpfp-math .package { border-color:rgba(45,212,191,.2); background:rgba(20,184,166,.045); }
.cpfp-math b { display:block; color:#cbd5e1; font-size:12px; margin:4px 0; }
.cpfp-math strong { display:block; color:#f8fafc; font-size:17px; }
.cpfp-plus, .cpfp-equals { color:#64748b; font-size:18px; font-weight:900; }
.cpfp-eval { margin:11px 0; padding:13px 15px; border-left:3px solid #14b8a6; background:rgba(20,184,166,.04); }
.cpfp-eval span { color:var(--text-muted); font-size:10px; font-weight:900; }
.cpfp-eval b { display:block; color:#99f6e4; font-size:18px; }
.cpfp-eval p { color:var(--text-secondary); font-size:11px; line-height:1.6; margin-top:3px; }
.cpfp-submit { width:100%; min-height:43px; }
.cpfp-miner, .cpfp-compare, .cpfp-limits { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:15px; }
.cpfp-miner article, .cpfp-compare article, .cpfp-limits article { padding:15px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.cpfp-miner article.package { border-color:rgba(45,212,191,.2); }
.cpfp-miner b, .cpfp-compare b, .cpfp-limits b { display:block; color:#f1f5f9; font-size:14px; line-height:1.5; margin:5px 0; }
.cpfp-miner strong { display:block; color:#99f6e4; font-size:18px; }
.cpfp-miner p, .cpfp-compare p, .cpfp-limits p { color:var(--text-secondary); font-size:11px; line-height:1.65; }
.cpfp-reading { margin-top:10px; padding:13px 15px; border:1px solid rgba(45,212,191,.14); background:rgba(20,184,166,.035); border-radius:10px; color:#ccfbf1; font-size:12px; line-height:1.65; }
.cpfp-limits { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cpfp-summary { padding:18px 20px; border:1px solid rgba(45,212,191,.2); background:rgba(20,184,166,.05); border-radius:15px; }
.cpfp-summary b { color:#5eead4; font-size:12px; }
.cpfp-summary p { color:var(--text-secondary); font-size:14px; line-height:1.8; margin-top:5px; }
.cpfp-sources { padding-bottom:4px; }
@media (max-width:820px) { .cpfp-hero { align-items:stretch; flex-direction:column; } .cpfp-badge { min-width:0; } .cpfp-controls, .cpfp-miner, .cpfp-compare, .cpfp-limits { grid-template-columns:1fr; } .cpfp-flow, .cpfp-math { grid-template-columns:1fr; } .cpfp-arrow { transform:rotate(90deg); } .cpfp-plus, .cpfp-equals { text-align:center; transform:rotate(90deg); } }
@media (max-width:600px) { .cpfp-section { padding:18px; } .cpfp-hero { padding:20px; } .cpfp-hero p { font-size:14px; } }

/* Lightning Network Lab */
.lightning-lab { display:grid; gap:18px; }
.ln-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:28px; border:1px solid rgba(250,204,21,.2); background:radial-gradient(circle at top right,rgba(124,58,237,.16),transparent 44%),radial-gradient(circle at bottom left,rgba(250,204,21,.08),transparent 42%),rgba(255,255,255,.025); border-radius:22px; }
.ln-kicker, .ln-head > span { color:#fde047; font-size:11px; font-weight:900; letter-spacing:.14em; }
.ln-hero h2 { color:var(--text-primary); font-size:clamp(25px,4vw,38px); line-height:1.16; margin:7px 0 10px; }
.ln-hero p { max-width:760px; color:var(--text-secondary); font-size:15px; line-height:1.8; }
.ln-badge { min-width:205px; padding:15px 17px; border:1px solid rgba(250,204,21,.22); background:rgba(113,63,18,.12); border-radius:15px; }
.ln-badge span, .ln-badge small { display:block; color:#a8b3c5; font-size:10px; font-weight:800; }
.ln-badge b { display:block; color:#fef08a; font-size:20px; margin:4px 0; }
.ln-integrity { padding:17px 19px; border:1px solid rgba(139,92,246,.2); background:rgba(124,58,237,.055); border-radius:15px; }
.ln-integrity b { color:#c4b5fd; font-size:12px; }
.ln-integrity p { color:var(--text-secondary); font-size:13px; line-height:1.8; margin-top:5px; }
.ln-integrity strong:first-child { color:#6ee7b7; }
.ln-integrity strong:last-of-type { color:#fbbf24; }
.ln-section { padding:24px; border:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.025); border-radius:20px; }
.ln-head h3 { color:var(--text-primary); font-size:21px; line-height:1.35; margin:6px 0 7px; }
.ln-head p { max-width:850px; color:var(--text-secondary); font-size:14px; line-height:1.8; }
.ln-funding-grid, .ln-commit-grid, .ln-route-detail, .ln-onion { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.ln-funding-grid article, .ln-commit-grid article, .ln-route-detail article, .ln-onion article, .ln-htlc-grid article { min-width:0; padding:15px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; }
.ln-funding-grid span, .ln-commit-grid span, .ln-route-detail span, .ln-onion span, .ln-htlc-grid span { color:#fde047; font-size:9px; font-weight:900; letter-spacing:.08em; }
.ln-funding-grid b, .ln-commit-grid b, .ln-route-detail b, .ln-onion b, .ln-htlc-grid b { display:block; color:#f1f5f9; font-size:14px; margin:5px 0; }
.ln-funding-grid strong { display:block; color:#a7f3d0; font-size:12px; margin:4px 0; }
.ln-funding-grid code, .ln-htlc-grid code { display:block; color:#c4b5fd; font-size:10px; overflow-wrap:anywhere; word-break:break-all; margin:5px 0; }
.ln-funding-grid p, .ln-commit-grid p, .ln-route-detail p, .ln-onion p, .ln-htlc-grid p { color:var(--text-secondary); font-size:11px; line-height:1.65; }
.ln-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.ln-actions.compact { margin-top:0; align-content:center; }
.ln-actions button, .ln-update-control button, .ln-close-grid button { border:1px solid rgba(250,204,21,.2); background:rgba(250,204,21,.07); color:#fef08a; border-radius:10px; padding:10px 13px; font-size:12px; font-weight:800; cursor:pointer; }
.ln-actions button:disabled, .ln-update-control button:disabled, .ln-close-grid button:disabled { opacity:.4; cursor:not-allowed; }
.ln-balance { display:flex; min-height:76px; overflow:hidden; margin-top:17px; border:1px solid rgba(255,255,255,.075); border-radius:13px; }
.ln-balance > div { min-width:82px; display:flex; flex-direction:column; justify-content:center; padding:12px 14px; transition:width .25s ease; }
.ln-balance .alice { background:rgba(124,58,237,.13); }
.ln-balance .bob { align-items:flex-end; background:rgba(250,204,21,.075); }
.ln-balance span { color:var(--text-muted); font-size:10px; font-weight:900; }
.ln-balance b { color:#f8fafc; font-size:15px; }
.ln-update-control { display:grid; grid-template-columns:1fr auto; gap:11px; align-items:end; margin-top:12px; }
.ln-update-control label { display:grid; gap:8px; padding:14px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; color:var(--text-secondary); font-size:12px; }
.ln-update-control label b { color:#f8fafc; font-size:16px; }
.ln-update-control input { width:100%; accent-color:#eab308; }
.ln-update-control > button { min-height:45px; }
.ln-model-note { margin-top:10px; padding:12px 14px; border-left:3px solid #8b5cf6; background:rgba(124,58,237,.04); color:var(--text-secondary); font-size:11px; line-height:1.7; }
.ln-model-note strong { color:#c4b5fd; }
.ln-htlc-grid { display:grid; grid-template-columns:1.4fr .8fr 1.4fr; gap:10px; margin-top:16px; }
.ln-status { margin-top:11px; padding:12px 14px; border:1px solid rgba(250,204,21,.15); background:rgba(250,204,21,.035); border-radius:10px; }
.ln-status span { color:#fde047; font-size:9px; font-weight:900; }
.ln-status b { display:block; color:#f8fafc; font-size:13px; margin-top:3px; }
.ln-route { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:9px; align-items:center; margin-top:17px; }
.ln-route > article { padding:15px; border:1px solid rgba(255,255,255,.06); background:#0a0c11; border-radius:12px; text-align:center; }
.ln-route > article span { color:#fde047; font-size:9px; font-weight:900; }
.ln-route > article b { display:block; color:#f1f5f9; font-size:15px; margin:4px 0; }
.ln-route > article small { color:var(--text-muted); font-size:10px; }
.ln-hop { min-width:120px; text-align:center; }
.ln-hop strong { display:block; color:#c4b5fd; font-size:10px; }
.ln-hop span { display:block; color:var(--text-muted); font-size:9px; }
.ln-hop i { display:block; color:#fde047; font-style:normal; font-size:18px; }
.ln-route-detail { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ln-onion { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ln-close-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.ln-close-grid button { text-align:left; min-height:112px; }
.ln-close-grid span { display:block; color:#fde047; font-size:9px; letter-spacing:.08em; }
.ln-close-grid b { display:block; color:#f8fafc; font-size:15px; margin:5px 0; }
.ln-close-grid p { color:var(--text-secondary); font-size:10px; line-height:1.55; }
.ln-close-result { margin-top:11px; padding:15px; border:1px dashed rgba(255,255,255,.09); border-radius:12px; }
.ln-close-result span { color:#fde047; font-size:9px; font-weight:900; }
.ln-close-result b { display:block; color:#f8fafc; font-size:14px; margin:4px 0; }
.ln-close-result p { color:var(--text-secondary); font-size:11px; line-height:1.7; }
.ln-close-result.success { border-style:solid; border-color:rgba(52,211,153,.2); background:rgba(16,185,129,.04); }
.ln-close-result.warn { border-style:solid; border-color:rgba(251,191,36,.2); background:rgba(245,158,11,.04); }
.ln-close-result.danger { border-style:solid; border-color:rgba(248,113,113,.2); background:rgba(239,68,68,.04); }
.ln-message { padding:14px 16px; border:1px solid rgba(139,92,246,.17); background:rgba(124,58,237,.045); color:#ddd6fe; border-radius:11px; font-size:13px; line-height:1.7; }
.ln-summary { padding:18px 20px; border:1px solid rgba(250,204,21,.18); background:rgba(250,204,21,.045); border-radius:15px; }
.ln-summary b { color:#fde047; font-size:12px; }
.ln-summary p { color:var(--text-secondary); font-size:14px; line-height:1.8; margin-top:5px; }
.ln-sources { padding-bottom:4px; }
@media (max-width:900px) { .ln-route { grid-template-columns:1fr; } .ln-hop { min-width:0; } .ln-hop i { transform:rotate(90deg); } .ln-route-detail, .ln-onion, .ln-close-grid, .ln-htlc-grid { grid-template-columns:1fr; } }
@media (max-width:820px) { .ln-hero { align-items:stretch; flex-direction:column; } .ln-badge { min-width:0; } .ln-funding-grid, .ln-commit-grid, .ln-update-control { grid-template-columns:1fr; } }
@media (max-width:600px) { .ln-section { padding:18px; } .ln-hero { padding:20px; } .ln-hero p { font-size:14px; } .ln-balance { min-height:92px; } .ln-balance > div { min-width:72px; padding:10px; } .ln-balance b { font-size:12px; } }
