:root{
  --bg:#0F172A; --surface:#161E31; --muted:#272F42; --border:#334155;
  --fg:#F8FAFC; --dim:#94A3B8; --primary:#F59E0B; --secondary:#FBBF24;
  --accent:#A78BFA; --good:#34D399; --bad:#F87171; --radius:16px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  background:var(--bg); color:var(--fg); min-height:100dvh;
  font-family:"Exo 2",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.6;
  font-variant-numeric:tabular-nums;
  background-image:radial-gradient(60% 40% at 50% -5%, rgba(245,158,11,.08), transparent 70%);
  background-attachment:fixed;
}
a{color:var(--primary);}
.egn{max-width:920px; margin:0 auto; padding:clamp(24px,5vw,48px) clamp(16px,4vw,24px); text-align:center;}

/* Header */
.egn-title{font-family:"Orbitron",sans-serif; font-weight:700; letter-spacing:.02em;
  font-size:clamp(1.7rem,5vw,2.6rem); margin-bottom:.45em;}
.egn-sub{margin:0 auto; max-width:48ch; color:var(--dim); font-size:clamp(1rem,2.5vw,1.1rem);}
.egn-accent{color:var(--primary); font-weight:600;}

/* Live hero readout */
.egn-hero{position:relative; background:radial-gradient(120% 120% at 50% 0,#1E293B 0,var(--surface) 60%);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:clamp(24px,5vw,40px) 20px clamp(20px,4vw,30px); margin:clamp(24px,5vw,36px) auto 0;
  max-width:560px; overflow:hidden;}
.egn-hero::before{content:""; position:absolute; inset:0 0 auto; height:3px;
  background:linear-gradient(90deg,var(--good),var(--primary),var(--accent));}
.egn-hero-top{display:flex; justify-content:space-between; align-items:center; gap:12px;
  font-size:.8rem; color:var(--dim); margin-bottom:10px;}
.egn-live{display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--good);
  text-transform:uppercase; letter-spacing:.08em; font-size:.72rem;}
.egn-dot{width:8px; height:8px; border-radius:50%; background:var(--good);
  box-shadow:0 0 0 0 rgba(52,211,153,.6); animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5);}70%{box-shadow:0 0 0 9px rgba(52,211,153,0);}100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}}
.egn-readout{display:flex; align-items:baseline; justify-content:center; gap:.4ch; line-height:1;}
.egn-gwei{font-family:"Orbitron",sans-serif; font-weight:700; font-size:clamp(3.6rem,16vw,6rem);
  color:var(--primary); letter-spacing:-.01em; transition:color .4s ease;}
.egn-unit{font-size:clamp(1.1rem,3vw,1.5rem); color:var(--dim); font-weight:500;}
.egn-readout-label{margin-top:.5em; color:var(--dim); font-size:.92rem;}
.egn-meta{margin-top:16px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; font-size:.92rem;}
.egn-meta b{color:var(--secondary); font-weight:600;}
.egn-sep{color:var(--border);}

/* Speed tiers */
.egn-tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(10px,2vw,16px);
  max-width:560px; margin:clamp(16px,3vw,20px) auto 0;}
.egn-tier{background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:16px 10px; display:flex; flex-direction:column; align-items:center; gap:2px;}
.egn-tier-name{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--dim); font-weight:600;}
.egn-tier-gwei{font-family:"Orbitron",sans-serif; font-weight:600; font-size:clamp(1.5rem,5vw,2.1rem);}
.egn-tier--slow .egn-tier-gwei{color:var(--good);}
.egn-tier--normal .egn-tier-gwei{color:var(--primary);}
.egn-tier--fast .egn-tier-gwei{color:var(--accent);}
.egn-tier-u{font-size:.72rem; color:var(--dim);}
.egn-tier-time{margin-top:6px; font-size:.78rem; color:var(--dim);}

/* NFT marketplace section (SEO) */
.egn-market{text-align:left; margin-top:clamp(36px,7vw,56px);}
.egn-market-title{display:flex; align-items:center; gap:12px; margin-bottom:.3em;
  font-family:"Orbitron",sans-serif; font-weight:600; font-size:clamp(1.4rem,4vw,1.9rem);}
.egn-market-logo{width:1.25em; height:1.25em; flex:none;}
.egn-market-sub{margin-bottom:18px; color:var(--dim); font-size:.95rem; max-width:60ch;}
.egn-actions{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(10px,2vw,16px);}
.egn-action{background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:20px 10px; display:flex; flex-direction:column; align-items:center; gap:12px;
  transition:border-color .2s ease, transform .2s ease;}
.egn-action:hover{border-color:var(--primary); transform:translateY(-2px);}
.egn-ico{width:32px; height:32px; color:var(--fg);}
.egn-action-name{font-size:.95rem; font-weight:600;}
.egn-action-usd{font-family:"Orbitron",sans-serif; font-weight:600; font-size:1.1rem; color:var(--secondary);}
.egn-action-gwei{font-size:.74rem; color:var(--dim);}
.egn-disclaimer{margin-top:16px; font-size:.8rem; color:var(--dim); max-width:70ch;}

/* Explainer copy for SEO */
.egn-info{text-align:left; margin-top:clamp(36px,7vw,56px); border-top:1px solid var(--border); padding-top:clamp(24px,5vw,32px);}
.egn-info h2{font-family:"Orbitron",sans-serif; font-weight:600; font-size:1.3rem; margin-bottom:.5em;}
.egn-info h3{font-size:1.05rem; margin:1.4em 0 .3em; color:var(--fg);}
.egn-info p{color:var(--dim); margin-bottom:.8em; max-width:72ch;}

.egn-error{margin-top:16px; color:var(--bad); font-size:.9rem;}
.egn-credit{margin-top:28px; font-size:.76rem; color:var(--dim);}
.egn-stale .egn-dot{background:var(--secondary); box-shadow:none; animation:none;}

@media (max-width:560px){ .egn-actions{grid-template-columns:repeat(2,1fr);} }
@media (prefers-reduced-motion:reduce){ *{animation:none !important; transition:none !important;} }

/* Inner pages (calculator) */
.egn-page .egn-block, .egn-page .egn-toc, .egn-page .egn-crumbs{text-align:left;}
.egn-crumbs{font-size:.85rem; color:var(--dim); margin-bottom:clamp(16px,4vw,28px);}
.egn-crumbs a{color:var(--dim);}
.egn-toc{display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:center; margin:clamp(20px,4vw,28px) auto 0; font-size:.95rem;}
.egn-block{margin-top:clamp(36px,7vw,56px);}
.egn-block h2{font-family:"Orbitron",sans-serif; font-weight:600; font-size:clamp(1.25rem,3.6vw,1.6rem); letter-spacing:-.02em; margin-bottom:.6em;}
.egn-note{color:var(--dim); font-size:.95rem; margin-top:12px;}
.egn-note b{color:var(--secondary); font-weight:600;}

.egn-calc{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius); padding:clamp(16px,4vw,24px);}
.egn-field{display:flex; flex-direction:column; gap:6px; font-size:.9rem; color:var(--dim); min-width:0;}
.egn-field--wide{grid-column:1 / -1;}
.egn-field select, .egn-field input{font:inherit; font-size:1.05rem; color:var(--fg); background:var(--bg);
  border:1px solid var(--border); border-radius:10px; padding:10px 12px; width:100%;}
.egn-field select:focus-visible, .egn-field input:focus-visible{outline:2px solid var(--primary); outline-offset:1px; border-color:var(--primary);}
.egn-calc-out{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px;
  border-top:1px solid var(--border); padding-top:16px; margin-top:4px;}
.egn-calc-usd{font-family:"Orbitron",sans-serif; font-weight:700; font-size:clamp(2rem,8vw,2.8rem); color:var(--primary); letter-spacing:-.02em; line-height:1.1;}
.egn-calc-eth{color:var(--dim); font-size:1rem;}

.egn-table{width:100%; border-collapse:collapse; font-size:1rem;}
.egn-table th, .egn-table td{padding:12px 8px; border-bottom:1px solid var(--border); text-align:right;}
.egn-table thead th{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--dim); font-weight:600;}
.egn-table th[scope="row"], .egn-table thead th:first-child{text-align:left; font-weight:600;}
.egn-table th[scope="row"] small{display:block; font-weight:400; font-size:.8rem; color:var(--dim);}
.egn-table td{font-family:"Orbitron",sans-serif; font-size:.95rem; color:var(--secondary); white-space:nowrap;}

.egn-prose p{color:var(--dim); font-size:1.125rem; max-width:70ch; margin-bottom:.9em;}
.egn-prose p b{color:var(--fg); font-weight:600;}
.egn-formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:1rem !important; color:var(--fg) !important;
  background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:12px 14px; overflow-wrap:anywhere;}
.egn-qa{margin-top:1.4em;}
.egn-qa h3{font-size:1.15rem; margin-bottom:.35em; color:var(--fg);}

@media (max-width:560px){
  .egn-calc{grid-template-columns:1fr;}
  .egn-table th, .egn-table td{padding:10px 4px;}
  .egn-table td{font-size:.85rem;}
}

/* Base L2 widget (homepage) */
.egn-base-readout{display:flex; flex-wrap:wrap; align-items:baseline; gap:.4ch 10px; margin:0 0 14px;}
.egn-base-gwei{font-family:"Orbitron",sans-serif; font-weight:700; font-size:clamp(2rem,8vw,2.6rem); color:var(--primary); letter-spacing:-.02em; line-height:1.1;}
.egn-base-label{color:var(--dim); font-size:.95rem;}
.egn-base-table td{font-size:1rem;}
