/* Electric violet, hot pink and aqua. Dark surfaces keep the forms easy to read. */
:root {
  --paper:#0b0617; --white:#160e29; --ink:#faf6ff; --muted:#b9acce;
  --line:#35204f; --accent:#ba8aff; --accent-deep:#dfbaff; --peach:#281443;
  --green:#39f6d0; --soft:#211236; --panel:#160e29; --panel-raised:#24153a;
  --input:#100a1e; --range-track:#3b245a; --focus-ring:#a952ff35;
  --electric:#9645ff; --pink:#ff49c0; --aqua:#39f6d0;
}
body { background:radial-gradient(ellipse 70% 650px at 90% 160px,#7018b927,transparent 70%),radial-gradient(ellipse 45% 500px at 0 520px,#263fff13,transparent 75%),var(--paper); }
::selection { background:#a941dc85; color:#fff; }
.header { background:#0e081ce8; border-color:#452161; }
.brand-dot { color:var(--aqua); }
.brand>svg { overflow:visible; transition:transform .35s; }
.brand:hover>svg { transform:rotate(-8deg) scale(1.08); }
.brand .signal-arc:nth-child(1) { stroke:var(--aqua); }
.brand .signal-arc:nth-child(2) { stroke:#b685ff; }
.brand .signal-arc:nth-child(3) { stroke:var(--pink); }
.nav-wrap nav>a.active:after { height:3px; background:linear-gradient(90deg,var(--electric),var(--pink)); box-shadow:0 -2px 14px #bf39ff55; }
.nav-dot { background:var(--pink); box-shadow:0 0 10px #ff49c066; }
.on-solana { background:#201035; border-color:#513069; color:#dac6f4; }
.wallet-button { background:linear-gradient(115deg,#5420af,#8025a2); color:#fff; box-shadow:inset 0 0 0 1px #c15aff6b,0 3px 18px #8c28dd26; }
.wallet-button:hover { background:linear-gradient(115deg,#6927cd,#982ac0); }
.service-bar { border-color:#35204f; color:#c1b2d5; }
#service-status:before { background:var(--pink); }
#service-status.ready:before { background:var(--aqua); }
.service-bar .text-button { color:#d5bded; }
.service-bar>div { flex-wrap:wrap; gap:16px; }
#motion-toggle { color:var(--aqua); font-size:11px; }
.hero { padding:43px 0 42px; min-height:340px; overflow:visible; }
.hero-copy { position:relative; z-index:1; }
.hero h1 span,.route-heading h1 span { color:#da8bff; background:linear-gradient(100deg,#b983ff 5%,#ff72d5 80%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero .eyebrow { color:#d4a7ff; }
.eyebrow,.discover-heading .eyebrow { color:#cfabf5; }
.headline-star { stroke:var(--aqua); }
.hero-copy>p { color:#c2b4d6; }
.hero-aside.signal-stage { display:grid; place-items:center; width:360px; height:280px; flex-shrink:0; margin:0 5px 0 30px; isolation:isolate; }
.signal-stage::before { content:''; position:absolute; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,#913bff51 0,#af20d72b 38%,transparent 72%); filter:blur(12px); }
.hero-signal { width:218px; height:218px; overflow:visible; transform:rotate(-9deg); z-index:2; fill:none; stroke-width:15; stroke-linecap:round; filter:drop-shadow(0 0 10px #a940ff77); }
.hero-signal .signal-arc:nth-of-type(1) { stroke:url(#signal-aqua); }
.hero-signal .signal-arc:nth-of-type(2) { stroke:url(#signal-violet); }
.hero-signal .signal-arc:nth-of-type(3) { stroke:url(#signal-pink); }
.signal-ring { position:absolute; width:240px; height:240px; border:1px solid #c355ff6b; border-radius:50%; z-index:-1; transform:scale(1); }
.signal-ring.ring-two { border-color:#ff49c057; }
.signal-ring.ring-three { border-color:#39f6d03d; }
.signal-label { position:absolute; bottom:5px; left:50%; transform:translateX(-50%); white-space:nowrap; padding:9px 14px; border:1px solid #7547a563; border-radius:100px; background:#1c102ded; display:flex; align-items:center; gap:8px; color:#d8c0ef; font-size:10px; letter-spacing:.8px; z-index:3; }
.signal-label i { width:5px; height:5px; background:var(--aqua); border-radius:50%; box-shadow:0 0 9px #39f6d099; }
.signal-spark { position:absolute; color:var(--aqua); font-size:28px; top:26px; right:25px; }
.signal-spark.spark-two { top:auto; right:auto; bottom:40px; left:28px; color:var(--pink); font-size:19px; }
.preview-badge { color:#f3bcff; background:#2a1140; border-color:#683179; }
.section-tick { background:var(--pink); box-shadow:0 0 10px #ff49c052; }
.form-panel { border-color:#50306f; box-shadow:0 0 0 1px #a52dff06,0 14px 55px #0003; }
.form-section { border-color:#35204f; }
.launch-mode { background:linear-gradient(110deg,#2a1049,#251333); border-color:#4c286c; }
.launch-mode label { color:#d6bce9; }
.launch-mode select { background:#301545; border-color:#694381; color:#f4e7ff; }
.step-number { background:linear-gradient(140deg,#3e1670,#50184e); color:#f7d2ff; border-color:#774194; }
input:not([type=range]):not([type=file]),textarea,select,.post-input-wrap { border-color:#48305f; }
input::placeholder,textarea::placeholder { color:#a996be; }
.attach-button { color:#f6d8ff; background:#472062; border-color:#703485; }
.attach-button:hover { background:#642c84; border-color:#b65be0; }
.upload-zone { background:#130b24; border-color:#66447c; }
.upload-zone:hover,.upload-zone.dragging { background:#2e1347; border-color:var(--pink); }
.upload-zone svg,.credit-note svg { stroke:#c28aff; }
.swatch[data-color=violet] { background:#9845ff; }
.swatch[data-color=lilac] { background:#ff48bb; }
.swatch[data-color=mint] { background:#39f6d0; }
.swatch[data-color=blue] { background:#408aff; }
.swatch.selected:after { border-color:#e2c1ff; box-shadow:0 0 10px #b155ff38; }
.fee-control { background:#190d2b; border-color:#52306c; }
.fee-control output { color:#f295df; }
input[type=range]::-webkit-slider-thumb { background:var(--pink); border-color:#291039; box-shadow:0 0 0 1px var(--pink),0 0 10px #ff49c04d; }
input[type=range]::-moz-range-thumb { background:var(--pink); border-color:#291039; box-shadow:0 0 0 1px var(--pink); }
.primary-button { color:#fff; background:linear-gradient(105deg,#7630e9,#b51ca4); border:1px solid #d968ff57; box-shadow:0 5px 22px #aa22d22b,inset 0 1px 0 #ffffff1a; }
.primary-button:hover { background:linear-gradient(105deg,#8b3cf0,#c625ac); box-shadow:0 7px 26px #bc26e04d; }
.coin-preview { border-color:#723998; box-shadow:0 0 30px #9c20e01c,0 12px 35px #0003; }
.coin-art,.coin-art[data-color=violet] { background:radial-gradient(ellipse at 80% 25%,#e92fe282,transparent 60%),linear-gradient(130deg,#44139f,#8b24ea 57%,#322080); color:#f1dbff; }
.coin-art[data-color=lilac] { background:radial-gradient(ellipse at 20% 10%,#ff98d450,transparent 55%),linear-gradient(135deg,#831779,#ce238e,#642177); color:#ffe1f7; }
.coin-art[data-color=mint] { background:radial-gradient(ellipse at 75% 20%,#33ffd536,transparent 65%),linear-gradient(135deg,#075b60,#107d75,#164867); color:#cafff3; }
.coin-art[data-color=blue] { background:radial-gradient(ellipse at 80% 20%,#44e1ff50,transparent 60%),linear-gradient(135deg,#17328a,#345edb,#5736c6); color:#d8f1ff; }
.echo-glyph { filter:drop-shadow(0 0 12px #f596ff55); }
.art-corner,.art-edition { color:#fff; opacity:.83; }
.art-rings i { border-color:#f0baff; }
.ticker { color:#f0c1ff; background:#3b1755; border-color:#76388e; }
.avatar-mini { background:#623092; color:#fff; }
.creator-line strong,.x-mini { color:#e3d0f3; }
.split-bar>span:first-child,.accent-dot { background:#ad58ff; }
.split-bar>span:nth-child(2),.dark-dot { background:var(--aqua); }
.split-bar>span:nth-child(3),.light-dot { background:var(--pink); }
.preview-label,.preview-status>span:last-child { color:#d8b8f4; }
.preview-label .live-dot,.status-dot { background:var(--aqua); box-shadow:0 0 9px #39f6d05c; }
.why-echo { background:linear-gradient(125deg,#31113c,#241041); border-color:#6b2d77; }
.hand-star { color:var(--pink); }
.why-echo h3 { color:#fae3ff; }
.why-echo button { color:#dfb4ff; }
.mini-card,.explore-card { border-color:#45255f; }
.mini-card:hover,.explore-card:hover { border-color:#b84bdb; box-shadow:0 5px 25px #8c2fcc22; }
.mini-art,.explore-art { background:radial-gradient(ellipse at 80% 15%,#ffffff1a,transparent 65%),var(--art-bg,#5b1bc3); }
.card-badge { background:#1c0b40d9; color:#f5d5ff; border-color:#d481ff55; }
.card-foot strong { color:var(--aqua); }
.attached-post { background:#221034; border-color:#743684; }
.attached-post-head>span:last-child { color:#56f6d5; }
.attached-post p { color:#f0ddfa; }
.attached-post small { color:#be9dd4; }
.filter-tabs button.active { background:#45175f; border-color:#8c43ab; color:#f0c8ff; }
.filter-tabs button:hover { background:#2b1241; }
.empty-state { background:linear-gradient(145deg,#1d0d2b,#110c23); border-color:#6c3b86; }
.empty-state h2 { color:#f0dcff; }
.creator-setup,.claim-card { background:#190e2b; border-color:#593172; }
.creator-step { border-color:#47265e; }
.creator-step>span,.claim-balance { color:var(--aqua)!important; }
.creator-step p,.claim-card p,.claims-empty { color:var(--muted); }
.wallet-address { color:#e6bdff; background:#28123c; border-color:#65377e; }
.modal-secondary { background:#321746; border-color:#6d3686; color:#edc9ff; }
.modal-secondary:hover { background:#48215d; }
.setup-checks>div { border-color:#4b285e; }
.setup-checks .is-ready { color:var(--aqua); }
.setup-checks small { color:#c2a9d4; }
.modal-note a,.detail-source,#pending-link { color:#f5aaff; }
.dialog,.wallet-option { background:#251039; border-color:#6f3b82; }
.wallet-option:hover { background:#39184e; }
.wallet-monogram { color:#edb8ff; background:#532074; }
.solflare-monogram { color:#9affef; background:#154a4a; }
dialog { background:#190d29; border-color:#824395; box-shadow:0 24px 100px #000a,0 0 36px #a13ce71c; }
dialog::backdrop { background:#080211bd; }
.modal-close { color:#d5b0e5; }
.modal-note { background:#30143e; border-color:#683273; }
.review-summary { border-color:#633475; }
.success-icon { color:var(--aqua); background:#113c35; }
.toast { background:#3b1753; border-color:#b956cc; color:#fff2ff; }
footer { border-color:#45245b; }
.discover-heading>a,.footer-main>button { color:#dcacff; }
.brand-showcase { margin:42px 0 12px; border:1px solid #6e3487; border-radius:14px; overflow:hidden; background:#1a0b2e; box-shadow:0 10px 40px #470d721c; }
.brand-banner { display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; }
.brand-downloads { display:flex; align-items:center; gap:16px; padding:18px 24px; border-top:1px solid #9841b655; background:linear-gradient(110deg,#2b1040,#160d28); }
.brand-avatar { width:66px; height:66px; object-fit:cover; border-radius:18px; border:2px solid #d087ff; box-shadow:0 0 20px #a13af344; }
.brand-download-copy strong { display:block; font-size:15px; color:#f4ddff; }
.brand-download-copy span { display:block; font-size:11px; margin-top:5px; color:#c2a9d6; }
.brand-download-links { margin-left:auto; display:flex; gap:10px; }
.brand-download-links a { border:1px solid #82439b; background:#3d1658; border-radius:7px; padding:10px 14px; font-size:11px; color:#f5d6ff; white-space:nowrap; }
.brand-download-links a:hover { background:#592274; border-color:#d868e5; }

/* All motion uses transform and opacity; the three arcs transmit in sequence. */
.signal-arc { transform-box:fill-box; transform-origin:center; animation:echo-transmit 3.4s ease-in-out infinite; }
.signal-arc:nth-of-type(2) { animation-delay:.2s; }
.signal-arc:nth-of-type(3) { animation-delay:.4s; }
.hero-signal { animation:echo-float 7s ease-in-out infinite; }
.signal-ring { animation:echo-ripple 5.4s ease-out infinite; }
.signal-ring.ring-two { animation-delay:-1.8s; }
.signal-ring.ring-three { animation-delay:-3.6s; }
.signal-spark { animation:echo-spark 5s ease-in-out infinite; }
.signal-spark.spark-two { animation-delay:-2.5s; }
.art-rings i { animation:echo-preview-ripple 6s ease-in-out infinite; }
.art-rings i:nth-child(2) { animation-delay:-2s; }
.art-rings i:nth-child(3) { animation-delay:-4s; }
@keyframes echo-transmit { 0%,65%,100% { opacity:.72; transform:translateX(0) scale(1); } 22% { opacity:1; transform:translateX(2px) scale(1.055); } 40% { opacity:.95; transform:translateX(0) scale(1); } }
@keyframes echo-float { 0%,100% { transform:translateY(0) rotate(-9deg); } 50% { transform:translateY(-9px) rotate(-5deg); } }
@keyframes echo-ripple { 0% { transform:scale(.6); opacity:0; } 15% { opacity:.75; } 100% { transform:scale(1.38); opacity:0; } }
@keyframes echo-preview-ripple { 0%,100% { transform:translate(-50%,-50%) scale(.88); opacity:.12; } 50% { transform:translate(-50%,-50%) scale(1.12); opacity:.3; } }
@keyframes echo-spark { 0%,100% { opacity:.55; transform:scale(.9) rotate(0); } 50% { opacity:1; transform:scale(1.12) rotate(20deg); } }
.motion-paused .signal-arc,.motion-paused .hero-signal,.motion-paused .signal-ring,.motion-paused .signal-spark,.motion-paused .art-rings i { animation-play-state:paused!important; }
@media(max-width:1050px) { .hero-aside.signal-stage { width:290px; margin-left:10px; } .hero-signal { width:194px; height:194px; } .signal-ring { width:210px; height:210px; } }
@media(max-width:800px) and (min-width:691px) { .hero-aside.signal-stage { width:220px; } .hero-signal { width:165px; height:165px; } .signal-ring { width:185px; height:185px; } .hero h1 { font-size:46px; } }
@media(max-width:690px) {
  .hero { min-height:0; padding:34px 0 29px; flex-direction:column; align-items:flex-start; overflow:hidden; }
  .hero-aside.signal-stage { align-self:center; display:grid; height:165px; width:230px; margin:22px 0 0; }
  .hero-signal { width:116px; height:116px; margin-top:-10px; }
  .signal-ring { width:130px; height:130px; margin-top:-16px; }
  .signal-stage::before { width:185px; height:185px; }
  .signal-label { font-size:8px; bottom:0; padding:6px 10px; }
  .signal-spark { right:23px; top:12px; font-size:23px; }
  .signal-spark.spark-two { left:25px; bottom:25px; }
  .hero h1 { font-size:49px; }
  .brand-downloads { padding:14px; gap:12px; flex-wrap:wrap; }
  .brand-avatar { height:48px; width:48px; border-radius:12px; }
  .brand-download-copy strong { font-size:13px; }
  .brand-download-copy span { font-size:10px; }
  .brand-download-links { width:100%; margin-left:0; }
  .brand-download-links a { flex:1; text-align:center; }
  .brand-showcase { margin-top:28px; }
}
@media(max-width:360px) { .hero h1 { font-size:43px; } .service-bar>div { gap:12px; } #motion-toggle { font-size:10px; } }
@media(prefers-reduced-motion:reduce) {
  .signal-arc,.hero-signal,.signal-ring,.signal-spark,.art-rings i { animation:none!important; opacity:1; }
  .signal-ring { opacity:.3; }
  .signal-ring.ring-two { transform:scale(1.15); }
  .signal-ring.ring-three { transform:scale(1.3); }
  .brand:hover>svg { transform:none; }
}

.footer-links{display:flex;flex-wrap:wrap;gap:14px 26px;padding:4px 0 24px;font-size:13px}.footer-links a{color:#cdb4ee;text-decoration:none}.footer-links a:hover{color:#41f4cf}.footer-links a:focus-visible{outline:2px solid #ed6edd;outline-offset:4px}
