/* Stratoveil — page basics, hover states, animation and responsive rules.
   Change --ac to re-theme the accent color across the whole site. */
html{scroll-behavior:smooth}
body{margin:0;background:#110C08;--ac:#FF8A3D;font-family:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;color:#F5EDE4;-webkit-font-smoothing:antialiased}
a{color:#F5EDE4;text-decoration:none}
a:hover{color:var(--ac)}
.btn-p{transition:transform .18s ease, box-shadow .18s ease}
.btn-p:hover{color:#1A0D04;transform:translateY(-2px);box-shadow:0 10px 30px -10px var(--ac)}
.btn-s{transition:border-color .18s ease}
.btn-s:hover{border-color:var(--ac) !important}
.opt{transition:border-color .15s ease, color .15s ease}
.opt:hover{border-color:var(--ac) !important}
.blink{animation:blink 1s steps(2,start) infinite}
@keyframes blink{
to{visibility:hidden}
}
.card{transition:border-color .2s ease, background .2s ease}
.card:hover{border-color:rgba(255,138,61,.45) !important;background:#21170E !important}
.pulse{animation:pulse 3.2s ease-in-out infinite;transform-origin:280px 48px}
@keyframes pulse{
0%{opacity:.55;transform:scale(1)}
50%{opacity:0;transform:scale(2.6)}
100%{opacity:0;transform:scale(2.6)}
}
.drift{animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{
from{transform:translateY(0)}
to{transform:translateY(-10px)}
}
@media (prefers-reduced-motion:reduce){
.pulse,.drift,.blink{animation:none}
html{scroll-behavior:auto}
}
@media (max-width:960px){
.stack{grid-template-columns:minmax(0,1fr) !important}
.two{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.span2{grid-column:auto !important}
.hide-m{display:none !important}
.h1{font-size:54px !important}
.h2{font-size:40px !important}
.big{font-size:64px !important}
.sec{padding-top:88px !important;padding-bottom:88px !important}
.wrap{padding-left:20px !important;padding-right:20px !important}
}
@media (max-width:560px){
.two{grid-template-columns:minmax(0,1fr) !important}
.h1{font-size:44px !important}
.big{font-size:44px !important}
}

/* Token contract address pill (header) — set the address in index.html: data-ca="0x..." */
.ca-pill{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:4px 12px 4px 4px;margin-right:auto;margin-left:8px;border-radius:999px;border:1px solid rgba(255,225,200,.16);background:rgba(255,225,200,.04);color:#F5EDE4;font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.ca-pill:hover{border-color:var(--ac);background:rgba(255,138,61,.08)}
.ca-pill:active{transform:scale(.97)}
.ca-pill .ca-tag{padding:6px 11px;border-radius:999px;background:var(--ac);color:#1A0D04;font-family:'Geist Mono',ui-monospace,Menlo,monospace;font-size:12px;font-weight:600;letter-spacing:.06em}
.ca-pill .ca-addr{font-family:'Geist Mono',ui-monospace,Menlo,monospace;font-size:13px;color:#CDBFB1}
.ca-pill .ca-ico{color:#CDBFB1}
.ca-pill.empty{cursor:default}
.ca-pill.empty:hover{border-color:rgba(255,225,200,.16);background:rgba(255,225,200,.04)}
.ca-pill.empty .ca-ico{display:none}
.ca-pill.copied{border-color:var(--ac)}
@media (max-width:560px){.ca-pill{margin-left:0}.ca-pill .ca-addr{font-size:11.5px}.ca-pill .ca-ico{display:none}}
.ca-pill,.ca-pill .ca-addr,header .btn-p{white-space:nowrap}
@media (max-width:560px){.ca-pill.empty .ca-addr{display:none}.ca-pill.empty{padding-right:4px}header .btn-p{padding:0 16px !important}}
@media (max-width:380px){.ca-pill:not(.empty) .ca-addr{max-width:88px;overflow:hidden;text-overflow:ellipsis}}

/* Console loading row shown while a deployment runs */
.sv-spin{flex-shrink:0;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,138,61,.25);border-top-color:var(--ac);animation:sv-spin .8s linear infinite}
@keyframes sv-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sv-spin{animation-duration:2.4s}}
