
body{margin:0;background:#E6EEF8}
a{color:#0A0A0A}a:hover{color:#0A0A0A}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #0A0A0A;outline-offset:3px}
summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}
.e-card{background:#FFFFFF;border-radius:24px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 14px 34px rgba(20,50,110,.18)}
.e-night{background:radial-gradient(120% 90% at 20% 0%,#1E2A45 0%,#0C1626 60%);color:#E8EEF8;border-radius:24px;box-shadow:0 14px 34px rgba(20,50,110,.28)}
.e-gloss{background:linear-gradient(180deg,#3A4A6E 0%,#152238 48%,#0C1626 100%);color:#FFF;box-shadow:inset 0 2px 0 rgba(255,255,255,.28),inset 0 -4px 8px rgba(0,0,0,.6),0 8px 18px rgba(20,50,110,.28)}
.e-gloss:active{transform:translateY(1px)}
.e-cream{background:#FFFFFF;color:#0A0A0A;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 8px 18px rgba(20,50,110,.18)}
.e-cream:active{transform:translateY(1px)}
.e-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:999px;border:0;font:600 16px 'Archivo',system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:transform .15s ease-out}
.e-pill.sm{min-height:44px;padding:0 18px;font-size:14px}
.e-nav button{font:500 15px 'Archivo',system-ui,sans-serif;color:#3B4A63;background:transparent;border:0;border-radius:999px;min-height:43px;padding:0 16px;cursor:pointer}
.e-nav button.on{background:linear-gradient(180deg,#3A4A6E 0%,#152238 48%,#0C1626 100%);color:#FFF;box-shadow:inset 0 2px 0 rgba(255,255,255,.28),inset 0 -4px 8px rgba(0,0,0,.6),0 8px 18px rgba(20,50,110,.28)}
.e-ca{font-family:'Geist Mono',ui-monospace,monospace}
.e-pre{font-weight:600;color:#1D4ED8;background:#DBE7FF;border-radius:5px;padding:0 3px}
.e-pre.dark{background:#1E3A7A;color:#F4F8FF}
.e-mid{color:#3B4A63}.e-mid.dark{color:#9FB0CB}
.e-input{font:400 16px 'Archivo',system-ui,sans-serif;color:#0A0A0A;background:#FFFFFF;border:1px solid #D6E0EE;border-radius:14px;min-height:50px;padding:12px 14px;box-sizing:border-box;width:100%}
.e-input.mono{font-family:'Geist Mono',ui-monospace,monospace;font-size:18px}
@keyframes eScroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes eBurn{from{width:0}to{width:100%}}
@keyframes ePulse{0%,100%{opacity:1}50%{opacity:.35}}
.e-roll{animation:eScroll 9s linear infinite}
.e-burn{animation:eBurn .3s ease-out 1s both}
.e-dot{animation:ePulse 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.e-roll,.e-burn,.e-dot{animation:none}.e-burn{width:100%}}

[hidden]{display:none!important}
[data-route]{display:flex;flex-direction:column;gap:24px}
main{gap:24px!important}
header{gap:14px 24px!important;padding-top:20px!important}
.e-card,.e-night{margin:0}
@media (max-width:640px){[data-route]{gap:18px}main{gap:18px!important}}
@media (max-width:640px){main{padding:20px 16px 48px!important}header{padding:14px 16px 0!important}.e-card,.e-night{padding:22px!important}}

.e-field{display:flex;flex-direction:column;gap:6px}
.e-field label{font-size:14px;font-weight:500}
.e-field .hint{color:#3B4A63;font-weight:400}
.e-err{font-size:14px;color:#B42318}
.e-toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#3B4A63;cursor:pointer;min-height:44px}
.e-toggle input{width:18px;height:18px;accent-color:#2563EB}
.e-drop{display:flex;align-items:center;gap:14px;border:1px dashed #B9C7DB;border-radius:14px;padding:12px;cursor:pointer;min-height:76px;background:#F7FAFE}
.e-drop img{width:52px;height:52px;border-radius:12px;object-fit:cover;background:#E6EEF8}
.e-steps{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.e-steps li{display:flex;align-items:center;gap:10px;font-size:15px;color:#9FB0CB}
.e-steps li .dot{width:20px;height:20px;border-radius:50%;border:2px solid #2A3A58;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.e-steps li.active{color:#E8EEF8}.e-steps li.active .dot{border-color:#4F86FF;box-shadow:0 0 0 4px rgba(79,134,255,.18)}
.e-steps li.done{color:#E8EEF8}.e-steps li.done .dot{background:#2563EB;border-color:#2563EB}
.e-steps li.fail{color:#FDA29B}.e-steps li.fail .dot{border-color:#F04438}
.e-coin{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:#F7FAFE;text-decoration:none;color:inherit;min-width:0}
.e-coin img,.e-coin .ph{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:#DBE7FF}
.e-coin .meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.e-coin .ca{font-family:'Geist Mono',ui-monospace,monospace;font-size:13px;color:#3B4A63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0C1626;color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:50}
button[disabled]{opacity:.5;cursor:not-allowed}

/* glitching header logo: only the blue band moves */
a[aria-label="Etch home"] svg{overflow:visible}
a[aria-label="Etch home"] svg text:nth-of-type(3){animation:eBand 3.2s steps(1,end) infinite}
@keyframes eBand{
  0%,15%,22%,55%,60%,100%{transform:none;filter:none;opacity:1}
  16%{transform:translateX(16px);filter:drop-shadow(-3px 0 #FF2E63) drop-shadow(3px 0 #22D3EE)}
  17%{transform:translateX(-12px);opacity:.5}
  18%{transform:translateX(26px);filter:drop-shadow(3px 0 #FF2E63) drop-shadow(-3px 0 #22D3EE)}
  19%{transform:translateX(-6px) translateY(2px);opacity:0}
  20%{transform:translateX(10px);filter:drop-shadow(-2px 0 #FF2E63) drop-shadow(2px 0 #22D3EE)}
  21%{transform:translateX(3px)}
  56%{transform:translateX(-14px);filter:drop-shadow(3px 0 #FF2E63) drop-shadow(-3px 0 #22D3EE)}
  57%{transform:translateX(20px);opacity:.4}
  58%{transform:translateX(6px) translateY(-2px);filter:drop-shadow(-3px 0 #FF2E63) drop-shadow(3px 0 #22D3EE)}
  59%{transform:translateX(-3px)}
}
a[aria-label="Etch home"]:hover svg text:nth-of-type(3){animation-duration:.5s}
@media (prefers-reduced-motion:reduce){a[aria-label="Etch home"] svg text:nth-of-type(3){animation:none}}

/* bigger coins section */
#coins>section:first-child{flex:1 1 100%!important;padding:32px!important;min-height:340px;gap:20px!important}
#coins>section:first-child h2{font-size:32px!important;letter-spacing:-.03em!important}
#coinList,#meList{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:16px!important}
#coinList .e-coin,#meList .e-coin{padding:18px;gap:16px;border-radius:20px;border:1px solid #E1E9F5;transition:transform .15s ease-out,box-shadow .15s ease-out}
#coinList .e-coin:hover,#meList .e-coin:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,50,110,.14)}
#coinList .e-coin img,#coinList .e-coin .ph,#meList .e-coin img,#meList .e-coin .ph{width:72px;height:72px;border-radius:16px}
#coinList .e-coin b,#meList .e-coin b{font-size:19px}
#coinList .e-coin .ca,#meList .e-coin .ca{font-size:15px!important}
#coinEmpty{padding:40px!important}
@media (max-width:640px){#coins>section:first-child{padding:22px!important;min-height:0}#coinList,#meList{grid-template-columns:1fr!important}}

/* explore: search, sort, filters */
.e-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.e-tools #coinQ{flex:1 1 260px;min-width:0}
.e-tools select{flex:0 0 auto;width:auto;min-height:50px;padding:0 14px;cursor:pointer}
.e-chips{display:flex;flex-wrap:wrap;gap:6px}
.e-chips button{font:500 14px 'Archivo',system-ui,sans-serif;color:#3B4A63;background:#EEF3FA;border:0;border-radius:999px;min-height:40px;padding:0 14px;cursor:pointer}
.e-chips button.on{background:#0C1626;color:#fff}
.e-sub{font-size:13px;color:#6B7A93}
#coinCount{margin-left:auto}
.e-none{background:#EEF3FA;border-radius:16px;padding:22px;font-size:15px;color:#3B4A63}
.e-link{background:none;border:0;padding:0;font:inherit;color:#2563EB;font-weight:600;cursor:pointer;text-decoration:underline}
@media (max-width:640px){#coinCount{margin-left:0;width:100%}.e-tools select{flex:1 1 auto}}

/* full CAs on coin cards */
#coinList,#meList{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important}
#coinList .e-coin .ca,#meList .e-coin .ca{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-all;line-height:1.45;font-size:14px!important}
@media (max-width:640px){#coinList,#meList{grid-template-columns:1fr!important}}
