/* SaferICO — SUITE SHELL STYLES
   Shared chrome for the tool pages added in the market/trade suite:
   dex.html, swap.html, marketplace.html, builder.html, pay.html.

   This is the SAME visual layer the older tool pages (distribute, lock,
   token-suite…) carry inline. Those pages keep their inline copy on purpose —
   they are live, money-handling pages and rewriting their <head> to chase a
   shared file buys nothing and risks everything. New pages link this instead,
   so each one is a few hundred lines of its own logic rather than 1,700 lines
   of duplicated chrome.

   Scope is #creator-page, matching the existing pages, so a component copied
   from either side lands looking identical.
*/

/* ===== CREATOR PAGE (scoped) ===== */
#creator-page{
  --bg:#070B14;--bg2:#0D1220;--bg3:#111827;
  --primary:#3367E8;--primary-hover:#4475f0;
  --accent:#5EEAD4;--accent-deep:#2dd4bf;
  --text:#E8EDF5;--muted:#6B7A94;
  --border:rgba(255,255,255,0.07);--border-strong:rgba(255,255,255,0.12);
  --glass:rgba(255,255,255,0.03);
  --sev-critical:#ef4444;--sev-medium:#eab308;
  --r-sm:8px;--r-md:12px;--r-lg:16px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
/* ⚠️ :where() ON PURPOSE — DO NOT PUT THE ID BACK.
   This reset used to read `#creator-page *{…}`, specificity (1,0,0), which
   BEAT every class-only rule in the site's own stylesheets. Measured in
   Chrome on 2026-08-28: the nav Tools button rendered 160x20 with zero
   padding, the language switcher 56x15 instead of 78x31, the footer badges
   and CTA button flush — on every page wrapped in #creator-page, while the
   identical markup on the homepage (#home-page, no reset) looked right.
   security-suite.html was the worst case: its whole stylesheet is class-only,
   so every padding and margin on the page computed to 0.
   :where() contributes ZERO specificity, so the selector is (0,0,0) — the
   weakest rule in the cascade, which is what a reset is supposed to be. It
   still applies only inside #creator-page. scripts/toolsqa.mjs now measures
   this: any rule a page declares with a non-zero padding or margin that
   computes to zero is reported as a finding.

   Browser floor: :where() is Chrome 88 / Safari 14 / Firefox 78 (2021). A
   browser older than that drops the whole rule and falls back to the UA's
   default margins rather than to the old behaviour — acceptable, because this
   site already requires far newer things (optional chaining in scan.html,
   text-wrap:balance, BigInt). Stated so it is a decision, not an accident. */
:where(#creator-page) *{margin:0;padding:0;box-sizing:border-box}
#creator-page{scroll-behavior:smooth}
#creator-page{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}
#creator-page body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1100px 620px at 82% -12%, rgba(51,103,232,.16), transparent 58%),radial-gradient(820px 520px at -8% 108%, rgba(94,234,212,.08), transparent 55%)}
#creator-page body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 35%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 35%,transparent 78%)}
#creator-page nav, #creator-page .wrap, #creator-page footer{position:relative;z-index:1}
#creator-page h1, #creator-page h2, #creator-page h3, #creator-page h4, #creator-page .brand-text{font-family:'Space Grotesk',sans-serif}
#creator-page a{text-decoration:none}
#creator-page img{max-width:100%;height:auto}
#creator-page a:focus-visible, #creator-page button:focus-visible, #creator-page input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
#creator-page nav{position:sticky;top:0;z-index:200;background:rgba(7,11,20,0.92);backdrop-filter:blur(24px);border-bottom:1px solid var(--border)}
#creator-page .nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;max-width:1200px;margin:0 auto;padding:0 32px}
#creator-page .logo{display:flex;align-items:center;gap:12px}
#creator-page .logo-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;filter:drop-shadow(0 0 16px rgba(51,103,232,.45))}
#creator-page .logo-icon img{width:100%;height:100%;object-fit:contain}
#creator-page .logo-text .brand-text{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.5px;line-height:1}
#creator-page .logo-text .brand-sub{font-size:11px;color:var(--muted);letter-spacing:.5px;margin-top:2px}
#creator-page .nav-right{display:flex;align-items:center;gap:18px}
#creator-page .back-link{color:var(--muted);font-size:14px;font-weight:500;transition:color .2s;display:flex;align-items:center;gap:6px}
#creator-page .back-link:hover{color:#fff}
#creator-page .wbtn{font-family:'Space Grotesk',sans-serif;font-size:13.5px;font-weight:700;border:1px solid var(--border-strong);background:var(--glass);color:var(--text);padding:10px 18px;border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;gap:9px;transition:.2s var(--ease)}
#creator-page .wbtn:hover{border-color:var(--primary);background:rgba(51,103,232,.08)}
#creator-page .dot{width:7px;height:7px;border-radius:50%;background:var(--sev-critical);box-shadow:0 0 8px var(--sev-critical);transition:.2s}
#creator-page .dot.on{background:var(--accent);box-shadow:0 0 10px var(--accent)}
#creator-page .wrap{max-width:1100px;margin:0 auto;padding:48px 24px 90px}
#creator-page .hero{margin-bottom:30px}
#creator-page .eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(51,103,232,.1);border:1px solid rgba(51,103,232,.3);color:#7ba3f5;padding:7px 16px;border-radius:100px;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;margin:0 0 22px}
#creator-page .eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:blink 2s ease-in-out infinite}

@keyframes blink{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
#creator-page h1{font-size:clamp(32px,5vw,52px);line-height:1.04;margin:0 0 16px;font-weight:800;letter-spacing:-1.5px;color:#fff}
#creator-page .hero-text h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(32px,5vw,52px);line-height:1.04;margin:0 0 16px;font-weight:800;letter-spacing:-1.5px;color:#fff}
#creator-page .hero-text h2 .hl{background:linear-gradient(90deg,#3367E8,#5EEAD4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#creator-page h1 .hl{background:linear-gradient(90deg,#3367E8,#5EEAD4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#creator-page .sub{color:var(--muted);max-width:580px;font-size:16px;line-height:1.7;margin:0}
#creator-page .sub code{color:var(--text);background:var(--bg2);padding:1px 7px;border-radius:5px;font-size:13px;font-family:'JetBrains Mono',monospace}
#creator-page .hero{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:center;margin-bottom:38px}
@media(max-width:880px){#creator-page .hero{grid-template-columns:1fr;gap:28px}
#creator-page .wallet-card{max-width:420px}}
#creator-page .hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
#creator-page .chip{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--muted);background:var(--glass);border:1px solid var(--border);padding:7px 13px;border-radius:100px}
#creator-page .chip-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
#creator-page .wallet-card{position:relative;background:linear-gradient(165deg,rgba(20,27,45,.9),rgba(10,14,24,.92));border:1px solid var(--border-strong);border-radius:20px;padding:24px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.05)}
#creator-page .wc-glow{position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(226,118,27,.22),transparent 70%);pointer-events:none}
#creator-page .wc-top{display:flex;align-items:center;gap:14px;position:relative}
#creator-page .metamask-badge{width:58px;height:58px;border-radius:16px;background:linear-gradient(160deg,#2a2118,#161616);border:1px solid rgba(246,133,27,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 22px -6px rgba(226,118,27,.4)}
#creator-page .metamask-badge svg{width:30px;height:30px;display:block}
#creator-page .wc-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;color:#fff}
#creator-page .wc-status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin-top:3px;font-family:'JetBrains Mono',monospace}
#creator-page .wc-dot{width:7px;height:7px;border-radius:50%;background:var(--sev-critical);box-shadow:0 0 8px var(--sev-critical);transition:.2s}
#creator-page .wc-dot.on{background:var(--accent);box-shadow:0 0 10px var(--accent)}
#creator-page .wc-addr{margin:20px 0 16px;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--text);background:var(--bg);border:1px dashed var(--border-strong);border-radius:10px;padding:13px 14px;text-align:center;word-break:break-all}
#creator-page .wc-btn{width:100%;border:none;cursor:pointer;background:linear-gradient(135deg,#F6851B,#E2761B);color:#1a1206;font-weight:800;font-family:'Space Grotesk',sans-serif;font-size:14.5px;padding:14px;border-radius:12px;transition:.2s var(--ease);box-shadow:0 8px 22px -6px rgba(246,133,27,.5)}
#creator-page .wc-btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px -8px rgba(246,133,27,.6)}
#creator-page .wc-btn.connected{background:linear-gradient(135deg,rgba(94,234,212,.16),rgba(51,103,232,.12));color:var(--accent);box-shadow:none;border:1px solid rgba(94,234,212,.3)}
#creator-page .wc-foot{margin-top:14px;text-align:center;font-size:11px;color:var(--muted);line-height:1.5}
#creator-page .tabs{display:flex;gap:8px;margin:0 0 28px;border-bottom:1px solid var(--border)}
#creator-page .tab{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;padding:12px 20px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:9px;margin-bottom:-1px}
#creator-page .tab:hover{color:var(--text)}
#creator-page .tab.active{color:#fff;border-bottom-color:var(--primary)}
#creator-page .tab .ico{width:18px;height:18px}
#creator-page .tab .badge{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;background:rgba(94,234,212,.12);color:var(--accent);padding:2px 7px;border-radius:20px;letter-spacing:.5px}
#creator-page .pane{display:none}
#creator-page .pane.active{display:block;animation:fade .25s var(--ease)}

@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#creator-page .grid{display:grid;grid-template-columns:1fr 370px;gap:24px;align-items:start}
@media(max-width:900px){#creator-page .grid{grid-template-columns:1fr}}
#creator-page .panel{position:relative;background:linear-gradient(180deg,var(--bg2),rgba(13,18,32,.6));border:1px solid var(--border);border-radius:var(--r-lg);padding:26px;box-shadow:0 18px 50px -28px rgba(0,0,0,.8)}
#creator-page .panel::before{content:"";position:absolute;inset:0;border-radius:var(--r-lg);padding:1px;background:linear-gradient(160deg,rgba(94,234,212,.18),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}
#creator-page .panel h2{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);font-family:'JetBrains Mono',monospace;font-weight:600;margin:0 0 22px;display:flex;align-items:center;gap:10px}
#creator-page .panel h2::before{content:"";width:18px;height:1px;background:var(--primary)}
#creator-page label{display:block;font-size:13px;color:var(--text);margin:0 0 7px;font-weight:500}
#creator-page .hint{color:var(--muted);font-weight:400;font-size:12px;margin-left:6px}
#creator-page .field{margin-bottom:18px}
#creator-page input[type=text], #creator-page input[type=number]{width:100%;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-sm);padding:12px 14px;font-size:14px;font-family:'JetBrains Mono',monospace;outline:none;transition:.16s}
#creator-page input::placeholder{color:var(--muted)}
#creator-page input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(51,103,232,.12)}
#creator-page .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#creator-page .toggles{display:flex;flex-direction:column;gap:10px}
#creator-page .toggle{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;background:var(--bg);transition:.16s}
#creator-page .toggle:hover{border-color:rgba(255,255,255,.2)}
#creator-page .toggle.on{border-color:var(--primary);background:rgba(51,103,232,.06)}
#creator-page .toggle input{display:none}
#creator-page .check{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);flex:0 0 auto;margin-top:1px;display:grid;place-items:center;transition:.16s}
#creator-page .toggle.on .check{background:var(--primary);border-color:var(--primary)}
#creator-page .check svg{width:11px;height:11px;opacity:0;transition:.16s}
#creator-page .toggle.on .check svg{opacity:1}
#creator-page .toggle .t-name{font-size:13.5px;font-weight:600}
#creator-page .toggle .t-desc{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
#creator-page .deploy{width:100%;margin-top:6px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--primary),#2a52c9);color:#fff;font-weight:700;font-family:'Space Grotesk',sans-serif;font-size:14.5px;letter-spacing:.3px;padding:15px;border-radius:var(--r-md);transition:.2s var(--ease);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 20px rgba(51,103,232,.3)}
#creator-page .deploy:hover{background:#4475f0;transform:translateY(-1px);box-shadow:0 12px 30px rgba(51,103,232,.35)}
#creator-page .deploy:disabled{background:var(--bg3);color:var(--muted);cursor:not-allowed;box-shadow:none;transform:none}
#creator-page .sticky{position:sticky;top:90px}
#creator-page .sum-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--border)}
#creator-page .sum-row:last-of-type{border-bottom:none}
#creator-page .sum-k{color:var(--muted);font-size:12.5px}
#creator-page .sum-v{font-family:'JetBrains Mono',monospace;font-size:13px;text-align:right;word-break:break-all}
#creator-page .sum-v.accent{color:var(--accent)}
#creator-page .net-pill{display:inline-flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);margin-top:14px}
#creator-page .log{margin-top:18px;border:1px solid var(--border);border-radius:var(--r-md);background:#05080F;overflow:hidden;display:none}
#creator-page .log.show{display:block}
#creator-page .log-h{padding:10px 14px;border-bottom:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}
#creator-page .log-body{padding:14px;font-family:'JetBrains Mono',monospace;font-size:12.5px;line-height:1.7;max-height:230px;overflow:auto}
#creator-page .ln{display:flex;gap:10px}
#creator-page .ln .pre{color:var(--primary);flex:0 0 auto}
#creator-page .ln.err .pre{color:var(--sev-critical)}
#creator-page .ln.ok .pre{color:var(--accent)}
#creator-page .ln a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-deep)}
#creator-page .notice{font-size:12px;color:var(--muted);line-height:1.6;margin-top:18px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg)}
#creator-page .notice b{color:var(--sev-medium)}
#creator-page .tg-cta{margin-top:16px;padding:16px;border:1px solid rgba(94,234,212,.25);border-radius:var(--r-md);background:linear-gradient(135deg,rgba(94,234,212,.06),rgba(51,103,232,.04))}
#creator-page .tg-cta .tg-h{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;color:#fff;margin-bottom:4px;display:flex;align-items:center;gap:8px}
#creator-page .tg-cta p{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:11px}
#creator-page .tg-cta a{display:inline-flex;align-items:center;gap:8px;background:rgba(94,234,212,.1);border:1px solid rgba(94,234,212,.35);color:var(--accent);font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;padding:9px 16px;border-radius:var(--r-sm);transition:.2s}
#creator-page .tg-cta a:hover{background:rgba(94,234,212,.16);border-color:var(--accent)}
#creator-page footer{text-align:center;color:var(--muted);font-size:12px;padding:30px;border-top:1px solid var(--border);margin-top:40px}
#creator-page .footnote{font-family:'JetBrains Mono',monospace;letter-spacing:1px}

/* ════════════════════════════════════════════════════════════════
   SAFERICO · AURORA V2 — design overlay
   Palette · Ink #05070F / Abyss #0A101F / Signal #3B6FF0
             Aurora #5EEAD4 / Haze #8B5CF6 / Frost #EAF0FB
   Signature · the "perimeter scan": a light beam tracing the
   wallet card's border — the security scanner, made visible.
   ════════════════════════════════════════════════════════════════ */

/* ---- tokens -------------------------------------------------- */
#home-page,#creator-page{
  --bg:#05070F;--bg2:#0A101F;--bg3:#0E1527;
  --primary:#3B6FF0;--primary-hover:#5483ff;
  --accent:#5EEAD4;--accent-deep:#2dd4bf;--haze:#8B5CF6;
  --text:#EAF0FB;--muted:#7686A3;
  --border:rgba(148,170,220,.10);--border-strong:rgba(148,170,220,.20);
  --glass:rgba(148,170,220,.05);
  --sh-glow:0 0 44px rgba(59,111,240,.30);
  --ease:cubic-bezier(.22,.9,.3,1);
}

/* ---- atmosphere: ink + aurora mesh --------------------------- */
#home-page,#creator-page{
  background:
    radial-gradient(1050px 680px at 12% -8%,  rgba(59,111,240,.17), transparent 62%),
    radial-gradient(900px  600px at 92% 4%,   rgba(139,92,246,.13), transparent 60%),
    radial-gradient(1200px 800px at 50% 114%, rgba(94,234,212,.09), transparent 62%),
    #05070F;
}
::selection{background:rgba(94,234,212,.28);color:#fff}

/* slim aurora scrollbar */
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#05070F}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#23335c,#1a2440);border-radius:8px;border:2px solid #05070F}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3B6FF0,#8B5CF6)}

/* ---- nav: deeper glass, gradient hairline -------------------- */
#home-page nav,#creator-page nav{
  background:rgba(5,7,15,.78);
  backdrop-filter:blur(22px) saturate(1.4);
  border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,transparent,rgba(94,234,212,.25),rgba(59,111,240,.25),transparent) 1;
}

/* ---- typography: the aurora ink ------------------------------ */
@keyframes inkflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
#home-page .hero h1{
  font-size:clamp(44px,5.8vw,84px);
  letter-spacing:-.035em;line-height:.98;
  text-shadow:none;
}
#home-page .hero h1 .accent,
#creator-page h1 .hl{
  background:linear-gradient(100deg,#5EEAD4 0%,#3B6FF0 38%,#8B5CF6 70%,#5EEAD4 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:inkflow 9s ease-in-out infinite;
}
#creator-page h1{letter-spacing:-.03em}
#home-page .eyebrow,#creator-page .eyebrow{
  font-family:'JetBrains Mono',monospace;letter-spacing:.22em;text-transform:uppercase;
}

/* ---- SIGNATURE · the perimeter scan -------------------------- */
@property --scan{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes scanspin{to{--scan:360deg}}
#creator-page .wallet-card{
  background:linear-gradient(168deg,rgba(17,24,44,.92),rgba(7,10,19,.95));
  border-color:rgba(148,170,220,.16);
  box-shadow:0 30px 80px -24px rgba(0,0,0,.8),
             0 0 60px -30px rgba(59,111,240,.5),
             inset 0 1px 0 rgba(255,255,255,.06);
}
#creator-page .wallet-card::after{
  content:'';position:absolute;inset:-1px;border-radius:21px;padding:1.5px;
  background:conic-gradient(from var(--scan),
    transparent 0deg 270deg,
    rgba(94,234,212,.0) 286deg,
    rgba(94,234,212,.95) 318deg,
    rgba(59,111,240,.9) 342deg,
    transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:scanspin 5.5s linear infinite;
  pointer-events:none;
}
/* the same beam, slower, on the home hero card */
#home-page .hero-card-wrap{position:relative}
#home-page .hero-card-wrap::after{
  content:'';position:absolute;inset:-2px;border-radius:22px;padding:1.5px;
  background:conic-gradient(from var(--scan),
    transparent 0deg 282deg,
    rgba(94,234,212,.85) 322deg,
    rgba(139,92,246,.8) 344deg,
    transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:scanspin 8s linear infinite;
  pointer-events:none;z-index:5;
}

/* ---- panels: lifted glass, lit from above -------------------- */
#creator-page .panel{
  background:linear-gradient(180deg,rgba(148,170,220,.055),rgba(148,170,220,.018) 55%,rgba(8,11,20,.4));
  border:1px solid rgba(148,170,220,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 24px 64px -28px rgba(0,0,0,.7);
  border-radius:18px;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);
}
#creator-page .panel:hover{
  border-color:rgba(94,234,212,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 28px 70px -26px rgba(0,0,0,.75),0 0 48px -22px rgba(94,234,212,.35);
}

/* ---- inputs: deep wells, aurora focus ------------------------ */
#creator-page input[type=text],#creator-page input[type=number],#creator-page select,#creator-page textarea{
  background:rgba(4,6,12,.65);
  border:1px solid rgba(148,170,220,.14);
  border-radius:11px;
  transition:border-color .25s,box-shadow .25s,background .25s;
}
/* A <select> does NOT inherit `color` — the UA stylesheet pins it to the system
   field colour. The rule above gives it a near-black background and never sets a
   colour, so on a dark theme the chosen option rendered dark-on-dark: the network
   name was there the whole time, just invisible. `#home-page .field select` had
   `color:var(--text)` all along, which is why only the tool panes were affected.
   `option` needs its own colours too — that list is drawn by the OS, so Windows
   and Linux fall back to a white popup with white text without this. */
#creator-page select{ color:var(--text); }
#creator-page select option, #creator-page select optgroup{ background:#0B1220; color:var(--text); }
#creator-page select:disabled{ color:var(--muted); }

#creator-page input:focus,#creator-page select:focus,#creator-page textarea:focus{
  border-color:rgba(94,234,212,.6);
  box-shadow:0 0 0 3px rgba(94,234,212,.13),0 0 24px -8px rgba(94,234,212,.4);
  background:rgba(4,6,12,.85);
  outline:none;
}

/* ---- buttons: aurora gradient + shine sweep ------------------ */
@keyframes sheen{from{transform:translateX(-130%) skewX(-18deg)}to{transform:translateX(230%) skewX(-18deg)}}
#creator-page .wc-btn,#creator-page .deploy,#home-page .btn-cta,#home-page .btn-hero-p{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg,#3B6FF0,#5e54f0 55%,#8B5CF6);
  background-size:170% 100%;
  border:1px solid rgba(120,150,255,.35);
  box-shadow:0 8px 26px -8px rgba(59,111,240,.55),inset 0 1px 0 rgba(255,255,255,.18);
  transition:background-position .4s var(--ease),transform .2s var(--ease),box-shadow .25s var(--ease);
}
#creator-page .wc-btn:hover,#creator-page .deploy:hover:not(:disabled),#home-page .btn-cta:hover,#home-page .btn-hero-p:hover{
  background-position:100% 0;transform:translateY(-2px);
  box-shadow:0 14px 36px -10px rgba(99,102,241,.6),inset 0 1px 0 rgba(255,255,255,.22);
}
#creator-page .wc-btn::before,#creator-page .deploy::before,#home-page .btn-hero-p::before{
  content:'';position:absolute;top:0;bottom:0;width:46%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-130%) skewX(-18deg);pointer-events:none;
}
#creator-page .wc-btn:hover::before,#creator-page .deploy:hover:not(:disabled)::before,#home-page .btn-hero-p:hover::before{
  animation:sheen .8s var(--ease);
}
#creator-page .wc-btn.connected{
  background:linear-gradient(120deg,#0c4f43,#115e51);
  border-color:rgba(94,234,212,.45);
  box-shadow:0 8px 26px -10px rgba(45,212,191,.45),inset 0 1px 0 rgba(255,255,255,.1);
}
#creator-page .deploy:disabled{filter:saturate(.25) brightness(.7);box-shadow:none}

/* ---- tabs: floating pill rail -------------------------------- */
#creator-page .tabs{
  background:rgba(148,170,220,.05);
  border:1px solid rgba(148,170,220,.12);
  border-radius:14px;padding:5px;gap:5px;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.35);
}
#creator-page .tab{border-radius:10px;transition:color .2s,background .25s var(--ease),box-shadow .25s}
#creator-page .tab.active{
  background:linear-gradient(120deg,rgba(59,111,240,.92),rgba(139,92,246,.85));
  color:#fff;border-color:transparent;
  box-shadow:0 6px 20px -6px rgba(59,111,240,.6),inset 0 1px 0 rgba(255,255,255,.18);
}

/* ---- home cards: quiet glass family -------------------------- */
#home-page .audit-card,#home-page .chain-card,#home-page .engage-card,
#home-page .cta-card,#home-page .faq-item,#home-page .about-stat{
  background:linear-gradient(180deg,rgba(148,170,220,.05),rgba(148,170,220,.015));
  border:1px solid rgba(148,170,220,.12);
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
}
#home-page .chain-card:hover,#home-page .engage-card:hover,#home-page .cta-card:hover{
  transform:translateY(-4px);
  border-color:rgba(94,234,212,.3);
  box-shadow:0 20px 48px -20px rgba(0,0,0,.7),0 0 40px -18px rgba(94,234,212,.3);
}

/* ---- summary panel polish ------------------------------------ */
#creator-page .sum-row{border-bottom:1px dashed rgba(148,170,220,.12)}
#creator-page .sum-v.accent{color:var(--accent);text-shadow:0 0 18px rgba(94,234,212,.45)}

/* ---- log console: terminal feel ------------------------------ */
#creator-page .log{
  background:rgba(3,5,10,.8);
  border:1px solid rgba(148,170,220,.14);
  box-shadow:inset 0 2px 12px rgba(0,0,0,.5);
}
#creator-page .ln.ok .pre{text-shadow:0 0 14px rgba(94,234,212,.4)}

/* ---- status dots breathe ------------------------------------- */
@keyframes breathe{0%,100%{box-shadow:0 0 6px var(--accent)}50%{box-shadow:0 0 16px var(--accent),0 0 30px rgba(94,234,212,.4)}}
#creator-page .wc-dot.on,#creator-page .dot.on{animation:breathe 2.6s ease-in-out infinite}

/* ---- footer hairline ----------------------------------------- */
#home-page footer,#creator-page footer{
  border-top:1px solid transparent;
  border-image:linear-gradient(90deg,transparent,rgba(148,170,220,.2),transparent) 1;
}

/* ---- restraint: motion off when asked ------------------------ */
@media (prefers-reduced-motion:reduce){
  #creator-page .wallet-card::after,#home-page .hero-card-wrap::after{animation:none;
    background:linear-gradient(120deg,rgba(94,234,212,.4),rgba(59,111,240,.4),rgba(139,92,246,.4))}
  #home-page .hero h1 .accent,#creator-page h1 .hl{animation:none}
  #creator-page .wc-dot.on,#creator-page .dot.on{animation:none}
  *{transition-duration:.01ms!important}
}

/* mobile: keep the tab rail tidy */
@media(max-width:520px){
  #creator-page .tab .badge{display:none}
  #creator-page .tab{white-space:nowrap}
}

/* feature toggles: name above description */
#creator-page .toggle .t-name,#creator-page .toggle .t-desc{display:block}
#creator-page .toggle{transition:border-color .25s,background .25s}
#creator-page .toggle.on{border-color:rgba(94,234,212,.35);background:rgba(94,234,212,.05)}

/* ===== MultiSender page ===== */
#creator-page .builder{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}
@media(max-width:900px){#creator-page .builder{grid-template-columns:1fr}}
#creator-page .build-panel{padding:22px 22px 24px}
#creator-page .ms-area{
  width:100%;box-sizing:border-box;min-height:170px;resize:vertical;
  background:rgba(10,16,31,.6);border:1px solid var(--border-strong);border-radius:12px;
  color:var(--text);font-family:'JetBrains Mono',monospace;font-size:.82rem;line-height:1.7;
  padding:12px 14px;outline:none;
}
#creator-page .ms-area:focus{border-color:var(--accent)}
#creator-page .ms-area::placeholder{color:var(--muted);opacity:.6}
#creator-page .hint{font-weight:400;font-size:.78rem;color:var(--muted);font-family:'JetBrains Mono',monospace}
#creator-page .ms-row{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
#creator-page .ms-upload{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  background:rgba(94,234,212,.10);border:1px solid rgba(94,234,212,.30);color:var(--accent);
  padding:9px 16px;border-radius:10px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.86rem;
  transition:background .15s;
}
#creator-page .ms-upload:hover{background:rgba(94,234,212,.18)}
#creator-page .ms-upload svg{width:17px;height:17px}
#creator-page .ms-hint{font-size:.76rem;color:var(--muted)}
#creator-page .ms-preview{
  background:rgba(10,16,31,.5);border:1px solid var(--border);border-radius:12px;
  max-height:260px;overflow-y:auto;font-family:'JetBrains Mono',monospace;font-size:.78rem;
}
#creator-page .ms-empty{padding:24px 16px;color:var(--muted);text-align:center;font-size:.85rem;font-family:'DM Sans',sans-serif}
#creator-page .ms-prow{display:grid;grid-template-columns:40px 1fr 110px;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);align-items:center}
#creator-page .ms-prow span:last-child{text-align:right;color:var(--accent)}
#creator-page .ms-phead{position:sticky;top:0;background:#0D1220;color:var(--muted);font-weight:600;font-size:.72rem;letter-spacing:.5px;text-transform:uppercase}
#creator-page .ms-phead span:last-child{color:var(--muted)}
#creator-page .ms-more{padding:10px 14px;color:var(--muted);text-align:center;font-size:.76rem}
#creator-page .log-box{
  background:rgba(5,7,15,.6);border:1px solid var(--border);border-radius:12px;
  min-height:120px;max-height:300px;overflow-y:auto;padding:12px 14px;
  font-family:'JetBrains Mono',monospace;font-size:.78rem;line-height:1.7;
}
#creator-page .log-line{color:var(--muted);padding:2px 0;word-break:break-word}
#creator-page .log-line.ok{color:#2dd4bf}
#creator-page .log-line.err{color:#f87171}
#creator-page .log-line a{color:var(--accent)}

#creator-page .custom-scan-cta{max-width:1100px;margin:0 auto 30px;padding:0;width:100%;box-sizing:border-box}
#creator-page .csc-card{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(94,234,212,.07),rgba(139,92,246,.05));border:1px solid var(--border-strong);border-radius:20px;padding:24px 26px;position:relative;overflow:hidden;box-sizing:border-box}
#creator-page .csc-icon{flex:0 0 auto;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:rgba(94,234,212,.12);border:1px solid rgba(94,234,212,.28);color:var(--accent)}
#creator-page .csc-icon svg{width:28px;height:28px}
#creator-page .csc-text{flex:1 1 280px;min-width:240px}
#creator-page .csc-text h3{margin:0 0 6px;font-family:'Space Grotesk',sans-serif;font-size:1.15rem;font-weight:700;color:var(--text)}
#creator-page .csc-text p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55;max-width:620px}
#creator-page .csc-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.94rem;color:#05070F;text-decoration:none;white-space:nowrap;background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:0 8px 24px -8px rgba(94,234,212,.5)}
@media(max-width:680px){#creator-page .csc-card{flex-direction:column;align-items:flex-start;gap:16px}#creator-page .csc-btn{width:100%;justify-content:center}}

/* ============================================================
   SaferICO — visual polish layer (applied site-wide)
   Smoother motion, better depth, refined typography & spacing.
   ============================================================ */

/* smoother everything */
*{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html{ scroll-behavior:smooth; }

/* nicer focus rings (accessibility + polish) */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;
}

/* refined card depth + hover lift */
.panel, .wallet-card, .build-panel, .report-panel{
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease, border-color .25s ease;
}

/* buttons: smoother press + sheen */
.btn-cta, .wc-btn, .csc-btn, .wbtn, .s-scan-btn, #ms_sendBtn, #ad_deployBtn{
  transition:transform .16s cubic-bezier(.2,.7,.3,1), box-shadow .2s ease, filter .2s ease !important;
}
.btn-cta:hover, .wc-btn:hover, .csc-btn:hover, #ms_sendBtn:hover, #ad_deployBtn:hover{
  filter:brightness(1.06);
}
.btn-cta:active, .wc-btn:active, .csc-btn:active, .wbtn:active, #ms_sendBtn:active, #ad_deployBtn:active{
  transform:translateY(1px) scale(.99);
}

/* chips: subtle hover */
.chip{ transition:border-color .2s ease, background .2s ease, transform .2s ease; }
.chip:hover{ transform:translateY(-1px); }

/* nav links underline grow */
.nav-links a, .back-link{ transition:color .2s ease; }

/* inputs: smoother focus */
input, textarea, select{ transition:border-color .18s ease, box-shadow .18s ease, background .18s ease; }
input:focus, textarea:focus, select:focus{ box-shadow:0 0 0 3px rgba(94,234,212,.10); }

/* gentle entrance for hero + cards on load */
@keyframes sfi-rise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference){
  .hero-text, .wallet-card, .tabs, .builder, .scan-includes, .si-item{
    animation:sfi-rise .5s cubic-bezier(.2,.7,.3,1) both;
  }
  .wallet-card{ animation-delay:.05s; }
  .tabs{ animation-delay:.08s; }
  .builder{ animation-delay:.12s; }
}

/* sharper headings */
h1, h2, h3{ letter-spacing:-.01em; }

/* prettier scrollbars on dark UI */
.log-box::-webkit-scrollbar, .ms-preview::-webkit-scrollbar,
textarea::-webkit-scrollbar{ width:9px; height:9px; }
.log-box::-webkit-scrollbar-thumb, .ms-preview::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb{ background:rgba(148,170,220,.18); border-radius:8px; }
.log-box::-webkit-scrollbar-thumb:hover, .ms-preview::-webkit-scrollbar-thumb:hover{ background:rgba(148,170,220,.3); }
.log-box::-webkit-scrollbar-track, .ms-preview::-webkit-scrollbar-track{ background:transparent; }

/* tab active glow refinement */
.tab.active{ box-shadow:0 6px 20px -8px rgba(94,234,212,.4); }
.tab{ transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease; }
.tab:hover:not(.active){ transform:translateY(-1px); }

/* card hover lift (only on devices with hover) */
@media (hover:hover){
  .si-item:hover, .chk-card:hover{ transform:translateY(-2px); }
}


/* ════════════════════════════════════════════════════════════
   SaferICO — SHARED enhancement (tool pages: create-token, scanner,
   multisender). Brings the home-page identity — living atmosphere
   field, professional footer, depth — to #creator-page too.
   Performance-first: pre-baked gradients, transform/opacity only.
   ════════════════════════════════════════════════════════════ */

/* ─── living field (identical to home) ─── */
#sfi-cosmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:radial-gradient(125% 85% at 50% -10%,#0a1330 0%,#070b16 44%,#04060d 100%)}
body>#home-page,body>#creator-page{background:transparent !important;position:relative;z-index:1}
#sfi-cosmos .cg-grid{position:absolute;left:-8%;right:-8%;top:-8%;bottom:-8%;
  background-image:linear-gradient(rgba(94,160,220,.04) 1px,transparent 1px),
                  linear-gradient(90deg,rgba(94,160,220,.04) 1px,transparent 1px);
  background-size:50px 50px;
  -webkit-mask-image:radial-gradient(ellipse 72% 58% at 50% 30%,#000 0%,transparent 80%);
          mask-image:radial-gradient(ellipse 72% 58% at 50% 30%,#000 0%,transparent 80%);
  will-change:transform;animation:cgDrift 46s linear infinite}
@keyframes cgDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,50px,0)}}
#sfi-cosmos .cg-aura{position:absolute;border-radius:50%;opacity:.55;will-change:transform}
#sfi-cosmos .cg-aura.a1{width:60vw;height:60vw;left:-12vw;top:-8vw;
  background:radial-gradient(circle at 50% 50%,rgba(51,103,232,.4) 0%,rgba(51,103,232,.18) 28%,rgba(51,103,232,.05) 50%,transparent 68%);
  animation:auraA 46s ease-in-out infinite}
#sfi-cosmos .cg-aura.a2{width:55vw;height:55vw;right:-14vw;top:30vh;
  background:radial-gradient(circle at 50% 50%,rgba(94,234,212,.28) 0%,rgba(94,234,212,.12) 30%,rgba(94,234,212,.04) 52%,transparent 70%);
  animation:auraB 54s ease-in-out infinite}
#sfi-cosmos .cg-aura.a3{width:48vw;height:48vw;left:18vw;bottom:-12vw;
  background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.24) 0%,rgba(139,92,246,.1) 30%,rgba(139,92,246,.03) 52%,transparent 70%);
  animation:auraC 62s ease-in-out infinite}
@keyframes auraA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3vw,2vh,0) scale(1.06)}}
@keyframes auraB{0%,100%{transform:translate3d(0,0,0) scale(1.03)}50%{transform:translate3d(-3vw,-2vh,0) scale(.96)}}
@keyframes auraC{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(2vw,-3vh,0) scale(1.08)}}
#sfi-cosmos .cg-vignette{position:absolute;inset:0;
  background:radial-gradient(ellipse 100% 100% at 50% 40%,transparent 55%,rgba(2,4,9,.72) 100%)}

/* make creator-page section backgrounds translucent so the field shows */
#creator-page{background:transparent !important}

/* ─── depth polish on the tool cards & inputs ─── */
#creator-page input:focus,#creator-page select:focus,#creator-page textarea:focus{
  border-color:rgba(94,234,212,.55) !important;box-shadow:0 0 0 3px rgba(94,234,212,.1) !important}

/* ─── professional footer (shared) ─── */
.footer-v3{padding:64px 24px 32px;text-align:left;
  background:linear-gradient(180deg,rgba(5,9,18,.6),rgba(4,7,14,.96)) !important;
  border-top:1px solid rgba(255,255,255,.07);position:relative;z-index:1}
.footer-v3::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent 8%,rgba(94,234,212,.4),rgba(51,103,232,.4),transparent 92%)}
.ft-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.4fr;gap:40px}
.ft-brand .footer-logo{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:800;color:#fff;margin-bottom:14px}
.ft-brand .footer-logo span{color:var(--accent,#5EEAD4)}
.ft-about{font-size:13.5px;line-height:1.7;color:#8a9ab4;margin:0 0 18px;max-width:340px}
.ft-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.ft-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:#c5d2e6;
  padding:6px 11px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.ft-badge svg{width:13px;height:13px;color:var(--accent,#5EEAD4)}
.ft-badge .ft-stars{color:#FFC53D;font-size:13px}
.footer-socials{display:flex;gap:10px;margin:0}
.footer-socials a{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(51,103,232,.08);border:1px solid rgba(51,103,232,.2);color:#fff;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s,color .3s}
.footer-socials a:hover{transform:translateY(-4px);box-shadow:0 0 22px rgba(94,234,212,.3);border-color:rgba(94,234,212,.4);color:var(--accent,#5EEAD4)}
.ft-col{display:flex;flex-direction:column;gap:13px}
.ft-head{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:4px}
.ft-col a{font-size:13.5px;color:#8a9ab4;text-decoration:none;transition:color .2s,transform .2s;width:fit-content}
.ft-col a:hover{color:var(--accent,#5EEAD4);transform:translateX(3px)}
.ft-cta-col .ft-head{font-size:15px;letter-spacing:-.01em;text-transform:none;line-height:1.4;margin-bottom:2px}
.ft-cta-sub{font-size:13px;color:#8a9ab4;line-height:1.6;margin:0 0 6px}
.ft-cta-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;
  color:#fff;text-decoration:none;padding:12px 20px;border-radius:12px;width:fit-content;
  background:linear-gradient(135deg,#3367E8,#5B8DEF);box-shadow:0 12px 30px -12px rgba(51,103,232,.8);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.ft-cta-btn:hover{transform:translateY(-3px);box-shadow:0 18px 40px -14px rgba(51,103,232,.95)}
.ft-cta-btn svg{width:16px;height:16px}
.ft-bottom{max-width:1200px;margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer-copy{font-size:13px;color:#8a9ab4;margin:0}
.ft-legal{font-size:11.5px;color:#5d6b82;margin:0;font-style:italic}
@media(max-width:980px){.ft-grid{grid-template-columns:1fr 1fr;gap:32px}.ft-brand,.ft-cta-col{grid-column:1/-1}}
@media(max-width:560px){
  .footer-v3{text-align:center}.ft-grid{grid-template-columns:1fr;gap:30px}
  .ft-col{align-items:center}.ft-col a:hover{transform:none}
  .ft-badges,.footer-socials{justify-content:center}.ft-about{margin-left:auto;margin-right:auto}
  .ft-bottom{justify-content:center;text-align:center;flex-direction:column}}
@media(max-width:760px){#sfi-cosmos .cg-aura,#sfi-cosmos .cg-grid{animation:none !important}}
@media(prefers-reduced-motion:reduce){#sfi-cosmos .cg-aura,#sfi-cosmos .cg-grid{animation:none !important}}


/* CRAFT */
/* ════════════════════════════════════════════════════════════
   SaferICO — CRAFT layer  (the studio-grade finishing touches)
   Applied to every page. Refines nav, logo, buttons, and adds a
   kinetic hero entrance. GPU-cheap: transform/opacity/box-shadow.
   ════════════════════════════════════════════════════════════ */

/* ─── NAV: glass bar that reacts on scroll ─── */
#main-nav,nav.sfi-scrolled{
  transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease,box-shadow .35s ease;
  border-bottom:1px solid transparent;
}
#main-nav.sfi-scrolled,nav.sfi-scrolled{
  background:rgba(7,11,22,.72) !important;
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid rgba(94,234,212,.14);
  box-shadow:0 12px 40px -20px rgba(0,0,0,.9);
}

/* logo mark: glow ring + gentle breathing */
.logo-icon{position:relative;border-radius:50%}
.logo-icon::after{
  content:'';position:absolute;inset:-3px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(94,234,212,.4),transparent 70%);
  opacity:.35;filter:blur(5px);z-index:-1;
  animation:logoPulse 5s ease-in-out infinite;
}
.logo-icon img{position:relative;z-index:1;border-radius:50%;
  box-shadow:0 0 0 1px rgba(94,234,212,.2),0 4px 14px -6px rgba(51,103,232,.6);
  transition:transform .35s var(--ease,cubic-bezier(.2,.8,.2,1)))}
.logo:hover .logo-icon img{transform:scale(1.06) rotate(-3deg)}
@keyframes logoPulse{0%,100%{opacity:.28;transform:scale(1)}50%{opacity:.5;transform:scale(1.06)}}

/* nav link underline: gradient instead of flat */
#home-page .nav-links a::after,#creator-page .nav-links a::after{
  background:linear-gradient(90deg,#5EEAD4,#5B8DEF) !important;height:2px;border-radius:2px}

/* ─── BUTTONS: tactile, expensive-feeling ─── */
.btn-cta{position:relative;overflow:hidden;isolation:isolate}
.btn-cta::before{
  content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;z-index:1;pointer-events:none;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);transition:left .6s ease;
}
.btn-cta:hover{transform:translateY(-3px) !important;box-shadow:0 16px 38px -12px rgba(51,103,232,.85) !important}
.btn-cta:hover::before{left:140%}
.btn-cta:active{transform:translateY(-1px) scale(.99) !important}

/* ghost buttons: fill + glow on hover */
.btn-cta-ghost{position:relative;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}
.btn-cta-ghost:hover{transform:translateY(-2px);
  border-color:rgba(94,234,212,.5) !important;color:#fff !important;
  background:linear-gradient(135deg,rgba(94,234,212,.14),rgba(51,103,232,.1)) !important;
  box-shadow:0 10px 26px -14px rgba(94,234,212,.7)}

/* hero primary/secondary buttons (Send Audit / View Work) — same sheen language */
#home-page .hero-btns-row a,#home-page .hero-btns-row button{position:relative;overflow:hidden;transition:transform .25s var(--ease,ease),box-shadow .3s ease,border-color .25s ease}
#home-page .hero-btns-row a:hover,#home-page .hero-btns-row button:hover{transform:translateY(-3px)}

/* ─── KINETIC HERO ENTRANCE ─── */
/* Each piece starts hidden then rises in sequence once .sfi-hero-in is set
   on the hero. Headline lines, eyebrow, sub, tagline, trust pills, buttons. */
.sfi-stage{opacity:0;transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.sfi-hero-in .sfi-stage{opacity:1;transform:none}
.sfi-hero-in .sfi-stage.d1{transition-delay:.05s}
.sfi-hero-in .sfi-stage.d2{transition-delay:.16s}
.sfi-hero-in .sfi-stage.d3{transition-delay:.27s}
.sfi-hero-in .sfi-stage.d4{transition-delay:.38s}
.sfi-hero-in .sfi-stage.d5{transition-delay:.49s}
.sfi-hero-in .sfi-stage.d6{transition-delay:.60s}
/* the card/visual eases in from the right */
.sfi-stage-right{opacity:0;transform:translateX(40px) scale(.97);
  transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.sfi-hero-in .sfi-stage-right{opacity:1;transform:none;transition-delay:.2s}

/* headline: split each line so they rise independently */
#home-page .hero-left h1 .sfi-line{display:block;overflow:hidden;padding:.08em 0 .12em;margin:-.08em 0 -.12em}
#home-page .hero-left h1 .sfi-line>span{display:block;transform:translateY(112%);
  transition:transform .9s cubic-bezier(.16,1,.3,1)}
#home-page .hero-content.sfi-hero-in .hero-left h1 .sfi-line>span{transform:none}
#home-page .hero-content.sfi-hero-in .hero-left h1 .sfi-line:nth-child(1)>span{transition-delay:.10s}
#home-page .hero-content.sfi-hero-in .hero-left h1 .sfi-line:nth-child(2)>span{transition-delay:.20s}
#home-page .hero-content.sfi-hero-in .hero-left h1 .sfi-line:nth-child(3)>span{transition-delay:.30s}

@media(prefers-reduced-motion:reduce){
  .sfi-stage,.sfi-stage-right,#home-page .hero-left h1 .sfi-line>span{opacity:1 !important;transform:none !important;transition:none !important}
  .logo-icon::after{animation:none}
}


/* ============================================================
   LUXURY DETAIL LAYER (shared) — grain · vignette · hairlines · depth
   Scope-agnostic: targets body + broad surface selectors.
   ============================================================ */
body{position:relative;isolation:isolate}
body::before{
  content:'';position:fixed;inset:0;z-index:9998;pointer-events:none;
  opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px;
}
body::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% -10%,rgba(51,103,232,.10),transparent 55%),
    radial-gradient(100% 60% at 50% 115%,rgba(0,0,0,.55),transparent 60%);
}
@media(prefers-reduced-motion:reduce){body::before{opacity:.025}}

/* hairline edge helper */
.lux-hairline{position:relative}
.lux-hairline::before{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.03) 30%,transparent 55%,rgba(94,234,212,.10));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.9;
}

/* elevated surface lighting on common surface families */
.panel,[class*="-card"],[class$="card"],[class*="card "],.csc-card,.wallet-card,.report-panel,.log-box,.build-panel{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 0 1px rgba(255,255,255,.02),
    0 1px 2px rgba(0,0,0,.4),
    0 14px 40px -18px rgba(0,0,0,.7) !important;
}
.panel:hover,[class*="-card"]:hover,.csc-card:hover,.wallet-card:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 2px 4px rgba(0,0,0,.4),
    0 26px 60px -22px rgba(0,0,0,.8),
    0 0 50px -26px rgba(94,234,212,.45) !important;
}

/* cursor spotlight host */
.spotlight-host{position:relative}
.spotlight-host > .spotlight{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(94,234,212,.10),rgba(51,103,232,.06) 35%,transparent 60%);z-index:1}
.spotlight-host:hover > .spotlight{opacity:1}
.spotlight-host > *:not(.spotlight){position:relative;z-index:2}

/* eyebrow accent dot (if page uses .eyebrow) */
.eyebrow{position:relative}


/* ===== SaferICO Tools dropdown (shared across all pages) ===== */
.sfi-tools{position:relative;display:inline-block}
.sfi-tools-trigger{
  position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  color:#eaf6f3;font-size:14px;font-weight:700;font-family:'Space Grotesk',sans-serif;letter-spacing:.01em;
  padding:10px 18px;border-radius:12px;white-space:nowrap;border:0;isolation:isolate;
  background:linear-gradient(135deg,rgba(51,103,232,.18),rgba(94,234,212,.14));
  box-shadow:inset 0 0 0 1px rgba(94,234,212,.35),0 4px 16px -6px rgba(51,103,232,.5);
  transition:transform .2s var(--ease,cubic-bezier(.4,0,.2,1)),box-shadow .2s,background .2s;
}
/* animated sheen sweep */
.sfi-tools-trigger::before{
  content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;overflow:hidden;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);
  background-size:220% 100%;background-position:140% 0;transition:background-position .6s ease;
}
.sfi-tools-trigger:hover{
  transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px rgba(94,234,212,.6),0 10px 26px -8px rgba(51,103,232,.7);
}
.sfi-tools-trigger:hover::before{background-position:-40% 0}
.sfi-tools-trigger .sfi-tt-dot{width:7px;height:7px;border-radius:50%;background:#5EEAD4;box-shadow:0 0 8px rgba(94,234,212,.9);flex:0 0 auto}
.sfi-tools-trigger svg{width:14px;height:14px;transition:transform .25s ease;opacity:.9}
.sfi-tools.open .sfi-tools-trigger svg{transform:rotate(180deg)}
.sfi-tools.open .sfi-tools-trigger{
  background:linear-gradient(135deg,rgba(51,103,232,.3),rgba(94,234,212,.22));
  box-shadow:inset 0 0 0 1px rgba(94,234,212,.7),0 10px 26px -8px rgba(51,103,232,.7);
}

/* backdrop behind the mobile sheet (hidden on desktop) */
.sfi-tools-backdrop{display:none}

.sfi-tools-menu{
  position:absolute;top:calc(100% + 10px);right:0;z-index:1200;
  width:480px;max-width:calc(100vw - 24px);
  background:rgba(13,18,32,.98);backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.1);border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px rgba(94,234,212,.05);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.sfi-tools.open .sfi-tools-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.sfi-tools-menu-head{display:none}

/* Featured row (Auto Scan) — spans full width, more prominent */
.sfi-tool-feat{
  display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:13px;margin-bottom:8px;
  text-decoration:none;border:1px solid rgba(94,234,212,.28);
  background:linear-gradient(135deg,rgba(51,103,232,.18),rgba(94,234,212,.12));
  transition:transform .18s var(--ease,cubic-bezier(.4,0,.2,1)),box-shadow .18s,border-color .18s;
}
.sfi-tool-feat:hover{transform:translateY(-2px);border-color:rgba(94,234,212,.55);box-shadow:0 10px 28px rgba(51,103,232,.28)}
.sfi-tool-feat .sfi-tool-ic{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#3367E8,#5EEAD4)}
.sfi-tool-feat .sfi-tool-ic svg{width:22px;height:22px;stroke:#06121f}
.sfi-tool-feat .sfi-tool-nm{font-size:16px}
.sfi-tool-feat .sfi-tool-ds{font-size:12.5px;color:#aeb9cc}
.sfi-tool-feat .sfi-tool-go{margin-left:auto;flex:0 0 auto;color:#5EEAD4;font-size:20px;font-weight:700;transition:transform .18s}
.sfi-tool-feat:hover .sfi-tool-go{transform:translateX(3px)}

.sfi-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sfi-tool-link{
  position:relative;display:flex;align-items:center;gap:12px;padding:13px 13px;border-radius:13px;
  text-decoration:none;transition:transform .16s,background .16s,border-color .16s;
  border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.018);
}
.sfi-tool-link:hover{background:rgba(94,234,212,.08);border-color:rgba(94,234,212,.28);transform:translateY(-2px)}
.sfi-tool-ic{
  flex:0 0 auto;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(51,103,232,.26),rgba(94,234,212,.18));transition:background .16s;
}
.sfi-tool-link:hover .sfi-tool-ic{background:linear-gradient(135deg,rgba(51,103,232,.4),rgba(94,234,212,.3))}
.sfi-tool-ic svg{width:20px;height:20px;stroke:#5EEAD4;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sfi-tool-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.sfi-tool-nm{color:#fff;font-size:15px;font-weight:700;font-family:'Space Grotesk',sans-serif;line-height:1.15;letter-spacing:-.01em}
.sfi-tool-ds{color:#8b97ab;font-size:12px;line-height:1.3}
.sfi-tool-badge{
  display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;vertical-align:middle;
  font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#06121f;background:linear-gradient(135deg,#5EEAD4,#3367E8);
}
.sfi-tools-foot{
  margin-top:9px;padding:12px 13px 8px;border-top:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.sfi-tools-foot span{color:#8b97ab;font-size:12px}
.sfi-tools-foot a{color:#5EEAD4;font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.sfi-tools-foot a:hover{text-decoration:underline}

/* ===== Mobile: turn the dropdown into a bottom sheet ===== */
@media(max-width:560px){
  .sfi-tools-backdrop{
    display:block;position:fixed;inset:0;z-index:1190;
    background:rgba(2,5,12,.6);backdrop-filter:blur(3px);
    opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;
  }
  .sfi-tools.open .sfi-tools-backdrop{opacity:1;visibility:visible}

  .sfi-tools-menu{
    position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-width:100%;
    border-radius:22px 22px 0 0;padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));
    max-height:80vh;max-height:80dvh;
    display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;
    transform:translateY(104%);transition:transform .3s cubic-bezier(.32,.72,0,1),visibility .3s;
    box-shadow:0 -18px 50px rgba(0,0,0,.6);
  }
  .sfi-tools-menu>.sfi-tool-feat{flex:0 0 auto;margin-top:4px}
  .sfi-tools-menu>.sfi-tools-grid{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;align-content:start;padding-bottom:6px}
  .sfi-tools.open .sfi-tools-menu{transform:translateY(0);opacity:1;visibility:visible}

  /* sheet header with grab handle + close */
  .sfi-tools-menu-head{
    display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;
    z-index:2;margin:0 -14px 8px;padding:16px 16px 10px;
    background:linear-gradient(rgba(13,18,32,.98),rgba(13,18,32,.96));
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .sfi-tools-menu-head .sfi-tmh-title{color:#fff;font-size:15px;font-weight:800;font-family:'Space Grotesk',sans-serif}
  .sfi-tools-menu-head .sfi-tmh-x{
    width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.05);color:#cdd7e6;font-size:18px;line-height:1;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
  }
  .sfi-tools-menu::before{
    content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);
    width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.22);
  }
  .sfi-tools-grid{grid-template-columns:1fr;gap:9px}
  .sfi-tool-link{padding:14px 15px;gap:13px}
  .sfi-tool-nm{font-size:15px}
  .sfi-tool-ds{font-size:12.5px}
  .sfi-tool-feat{padding:16px 16px}
}

/* ===== Tool-page nav: mobile refinements ===== */
@media(max-width:560px){
  #creator-page .nav-inner{padding:0 12px;gap:7px}
  #creator-page .logo-icon img{width:36px;height:36px}
  #creator-page .brand-text{font-size:15.5px}
  .brand-sub{display:none}
  #creator-page .nav-right{gap:7px}
  /* collapse "Back to site" to just the arrow */
  #creator-page .back-link{font-size:0;gap:0;padding:8px;border:1px solid var(--border-strong,rgba(255,255,255,.12));border-radius:10px;line-height:1;flex:0 0 auto}
  #creator-page .back-link::before{content:"\2190";font-size:16px;color:var(--muted)}
  #creator-page .sfi-tools-trigger{padding:8px 12px;font-size:12.5px;gap:6px}
  #creator-page .wbtn{padding:8px 12px;font-size:12px;gap:6px;white-space:nowrap}
}
@media(max-width:400px){
  #creator-page .logo-text{display:none}
  #creator-page .wbtn{padding:8px 10px}
  #creator-page .sfi-tools-trigger{padding:8px 11px}
}



/* ════════════════════════════════════════════════════════════
   ✦ POLISH LAYER — صقل معمّم لصفحات الأدوات ✦
   مستقل عن الـ wrapper id (يشتغل على home-page / creator-page / بدون).
   لا يلمس hover effects القائمة — فقط الإيقاع والظهور والوضوح.
   ════════════════════════════════════════════════════════════ */
:root{--ease-cinematic:cubic-bezier(.16,1,.3,1)}

/* ── 1) CINEMATIC REVEAL: ظهور أنعم بمنحنى سينمائي ──────── */
.js-ready [data-animate]{
  transition:opacity .8s var(--ease-cinematic),transform .8s var(--ease-cinematic) !important;
  transform:translateY(24px);
}
.js-ready [data-animate].visible{transform:translateY(0)}

/* ── 2) HIERARCHY: لمسة رقيّ على الـ eyebrow + العناوين ──── */
.eyebrow{letter-spacing:.16em}
.sh{letter-spacing:-.02em;line-height:1.1}

/* ── 3) FOCUS: وضوح كيبورد موحّد وأنيق ──────────────────── */
a:focus-visible,button:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(94,234,212,.6);outline-offset:3px;border-radius:6px;
}

/* ── احترام تقليل الحركة ────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .js-ready [data-animate]{transition:opacity .3s ease !important;transform:none !important}
}


/* ════════════════════════════════════════════════════════════
   ✦ TOOLS BUTTON + MENU UPGRADE ✦
   تكبير زر Tools ليطابق Request Audit + تحسين القائمة
   ════════════════════════════════════════════════════════════ */

/* ── 1) زر Tools: نفس حجم Request Audit بالضبط ── */
.sfi-tools-trigger{
  padding:10px 22px;
  min-width:160px;
  justify-content:center;
  font-size:14px;
  border-radius:8px;
  gap:9px;
  background:linear-gradient(135deg,rgba(51,103,232,.22),rgba(94,234,212,.16));
  box-shadow:inset 0 0 0 1px rgba(94,234,212,.4),0 4px 16px -6px rgba(51,103,232,.55);
}
.sfi-tools-trigger .sfi-tt-dot{width:8px;height:8px}
.sfi-tools-trigger svg{width:15px;height:15px}

/* ── 2) القائمة (ديسكتوب فقط): أكبر + ظهور أنعم + حواف أرقى ── */
@media(min-width:561px){
.sfi-tools-menu{
  width:560px;
  max-width:calc(100vw - 32px);
  border-radius:20px;
  border:1px solid rgba(94,234,212,.12);
  background:linear-gradient(180deg,rgba(16,22,40,.99),rgba(11,15,28,.99));
  box-shadow:0 30px 80px -20px rgba(0,0,0,.75),
             0 0 0 1px rgba(94,234,212,.06),
             inset 0 1px 0 rgba(255,255,255,.05);
  padding:14px;
  transform:translateY(-10px) scale(.96);
  transition:opacity .3s cubic-bezier(.16,1,.3,1),
             transform .3s cubic-bezier(.16,1,.3,1),
             visibility .3s;
}
.sfi-tools.open .sfi-tools-menu{transform:translateY(0) scale(1)}
}

/* لمعة علوية رفيعة فوق القائمة (ديسكتوب فقط) */
@media(min-width:561px){
.sfi-tools-menu::before{
  content:"";position:absolute;top:0;left:18px;right:18px;height:1px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(94,234,212,.5),transparent);
  pointer-events:none;
}
}

/* ── 3) الكارت المميّز (Auto Scan): توهج أوضح ── */
.sfi-tool-feat{
  padding:15px 16px;border-radius:14px;
  background:linear-gradient(135deg,rgba(51,103,232,.22),rgba(94,234,212,.14));
  border-color:rgba(94,234,212,.32);
}
.sfi-tool-feat:hover{
  transform:translateY(-2px);
  border-color:rgba(94,234,212,.6);
  box-shadow:0 14px 34px -10px rgba(51,103,232,.4),0 0 0 1px rgba(94,234,212,.2);
}

/* ── 4) كروت الأدوات: أكبر + hover أنعم + ظهور متدرّج ── */
.sfi-tools-grid{gap:9px}
.sfi-tool-link{
  padding:15px 15px;border-radius:13px;gap:13px;
  transition:transform .22s cubic-bezier(.16,1,.3,1),
             background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.sfi-tool-link .sfi-tool-ic{width:42px;height:42px;border-radius:11px}
.sfi-tool-link .sfi-tool-ic svg{width:22px;height:22px}
.sfi-tool-link .sfi-tool-nm{font-size:15.5px}
.sfi-tool-link .sfi-tool-ds{font-size:12.5px}
.sfi-tool-link:hover{
  transform:translateY(-3px);
  background:rgba(94,234,212,.07);
  border-color:rgba(94,234,212,.3);
  box-shadow:0 8px 20px -8px rgba(0,0,0,.5);
}
/* الأيقونة تلمع أكثر عند المرور */
.sfi-tool-link:hover .sfi-tool-ic{
  background:linear-gradient(135deg,rgba(51,103,232,.45),rgba(94,234,212,.35));
  box-shadow:0 0 16px -4px rgba(94,234,212,.4);
}

/* ── 5) ظهور متدرّج أنيق لعناصر القائمة عند الفتح ── */
.sfi-tools.open .sfi-tool-link{
  animation:sfiToolReveal .4s cubic-bezier(.16,1,.3,1) backwards;
}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(1){animation-delay:.04s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(2){animation-delay:.07s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(3){animation-delay:.10s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(4){animation-delay:.13s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(5){animation-delay:.16s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(6){animation-delay:.19s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(7){animation-delay:.22s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(8){animation-delay:.25s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(9){animation-delay:.28s}
.sfi-tools.open .sfi-tools-grid .sfi-tool-link:nth-child(10){animation-delay:.31s}
@keyframes sfiToolReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

/* احترام تقليل الحركة */
@media (prefers-reduced-motion:reduce){
  .sfi-tools.open .sfi-tool-link{animation:none}
  .sfi-tools-menu{transition:opacity .2s ease,visibility .2s}
}

/* على الموبايل: لا نطبّق تكبير الزر الأفقي الزائد */
@media(max-width:560px){
  .sfi-tools-trigger{padding:9px 16px;font-size:13.5px;min-width:auto}
}


/* ════ القائمة المنقولة لـ body على الموبايل (portal) ════ */
@media(max-width:560px){
  /* الحالة المقفولة الافتراضية للقائمة المنقولة */
  body > .sfi-tools-menu{
    position:fixed;left:0;right:0;bottom:0;top:auto;width:100vw;max-width:100vw;z-index:3000;
    box-sizing:border-box;
    border-radius:22px 22px 0 0;padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));
    max-height:80vh;max-height:80dvh;
    display:flex;flex-direction:column;align-items:stretch;
    overflow-x:hidden;overflow-y:hidden;overscroll-behavior:contain;
    background:linear-gradient(180deg,rgba(16,22,40,.99),rgba(11,15,28,.99));
    box-shadow:0 -18px 50px rgba(0,0,0,.6);
    transform:translateY(104%);opacity:1;visibility:visible;
    transition:transform .32s cubic-bezier(.32,.72,0,1);
  }
  /* كل عناصر القائمة المنقولة: box-sizing صحيح + لا تتجاوز العرض */
  body > .sfi-tools-menu *{box-sizing:border-box;max-width:100%}
  body > .sfi-tools-menu .sfi-tool-feat{width:100%;flex:0 0 auto;box-sizing:border-box;overflow:hidden}
  body > .sfi-tools-menu .sfi-tool-feat .sfi-tool-go{margin-left:auto}
  body > .sfi-tools-menu.open{transform:translateY(0)}
  body > .sfi-tools-backdrop{
    display:block;position:fixed;inset:0;z-index:2990;
    background:rgba(2,5,12,.6);backdrop-filter:blur(3px);
    opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;
  }
  body > .sfi-tools-backdrop.open{opacity:1;visibility:visible}
  /* مقبض السحب */
  body > .sfi-tools-menu::before{
    content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);
    width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.22);z-index:5;
  }
  /* رأس القائمة */
  body > .sfi-tools-menu .sfi-tools-menu-head{
    display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;
    z-index:2;margin:0 -14px 6px;padding:18px 16px 12px;
    background:linear-gradient(rgba(13,18,32,.98),rgba(13,18,32,.96));
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  body > .sfi-tools-menu .sfi-tmh-title{font-size:16px}
  body > .sfi-tools-menu .sfi-tmh-x{width:32px;height:32px;flex:0 0 auto}
  /* شبكة عمودين = قائمة مدمجة بدل كروت ضخمة بعرض الشاشة */
  body > .sfi-tools-menu .sfi-tools-grid{
    grid-template-columns:1fr 1fr;gap:7px;flex:1 1 auto;overflow-y:auto;
    -webkit-overflow-scrolling:touch;align-content:start;padding-bottom:6px;
  }
  /* الكارت المميّز يمتد عبر العمودين */
  body > .sfi-tools-menu .sfi-tool-feat{flex:0 0 auto;margin-top:2px;padding:12px 13px;gap:11px}
  body > .sfi-tools-menu .sfi-tool-feat .sfi-tool-ic{width:38px;height:38px}
  body > .sfi-tools-menu .sfi-tool-feat .sfi-tool-ic svg{width:20px;height:20px}
  body > .sfi-tools-menu .sfi-tool-feat .sfi-tool-nm{font-size:15px}
  body > .sfi-tools-menu .sfi-tool-feat .sfi-tool-ds{font-size:11.5px}
  /* كروت الأدوات: أيقونة فوق النص (عمودي) = مدمجة ومربعة */
  body > .sfi-tools-menu .sfi-tool-link{
    flex-direction:column;align-items:flex-start;padding:11px 11px;gap:8px;border-radius:12px;
  }
  body > .sfi-tools-menu .sfi-tool-ic{width:34px;height:34px;border-radius:9px;flex:0 0 auto}
  body > .sfi-tools-menu .sfi-tool-ic svg{width:18px;height:18px}
  body > .sfi-tools-menu .sfi-tool-nm{font-size:13px;line-height:1.2}
  body > .sfi-tools-menu .sfi-tool-ds{font-size:10.5px;line-height:1.3}
  body > .sfi-tools-menu .sfi-tool-badge{font-size:8px;margin-left:5px;padding:1px 5px}
  /* التذييل */
  body > .sfi-tools-menu .sfi-tools-foot{padding:11px 2px 5px;flex:0 0 auto}
  body > .sfi-tools-menu .sfi-tools-foot span{font-size:11px}
  body > .sfi-tools-menu .sfi-tools-foot a{font-size:11.5px}
}


/* ===== Locker-specific bits (reuse brand palette) ===== */
.lk-mini{flex:0 0 auto;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--glass);color:var(--accent);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:.18s var(--ease)}
.lk-mini:hover{background:rgba(94,234,212,.1);border-color:var(--accent)}
.lk-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.lk-chip{padding:7px 13px;border-radius:999px;border:1px solid var(--border-strong);background:var(--glass);color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:.18s var(--ease)}
.lk-chip:hover,.lk-chip.on{background:rgba(94,234,212,.1);border-color:var(--accent);color:var(--accent)}
.lk-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--glass);padding:14px 16px;margin-bottom:12px}
.lk-card .lk-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.lk-card .lk-sym{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--text);font-size:15px}
.lk-card .lk-id{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace}
.lk-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.lk-pill.locked{background:rgba(234,179,8,.12);color:#eab308;border:1px solid rgba(234,179,8,.3)}
.lk-pill.ready{background:rgba(94,234,212,.12);color:var(--accent);border:1px solid rgba(94,234,212,.3)}
.lk-pill.done{background:rgba(107,122,148,.14);color:var(--muted);border:1px solid var(--border-strong)}
.lk-card .lk-row{display:flex;justify-content:space-between;font-size:13px;margin:4px 0;color:var(--muted)}
.lk-card .lk-row b{color:var(--text);font-weight:600}
.lk-card .lk-acts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.lk-btn{flex:1 1 auto;padding:9px 14px;border-radius:var(--r-sm);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;cursor:pointer;border:none;transition:.18s var(--ease)}
.lk-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#05070F}
.lk-btn.primary:disabled{filter:saturate(.2) brightness(.7);cursor:not-allowed}
.lk-btn.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text)}
.lk-btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.lk-count{font-family:'JetBrains Mono',monospace}

/* ===== HUB TAB SWITCHER (merged tools) ===== */
#creator-page .hub-switch-wrap{max-width:1100px;margin:0 auto;padding:26px 24px 0}
#creator-page .hub-tabs{display:flex;gap:5px;background:rgba(148,170,220,.05);border:1px solid rgba(148,170,220,.12);border-radius:14px;padding:5px;box-shadow:inset 0 1px 4px rgba(0,0,0,.35);width:max-content;max-width:100%;overflow-x:auto}
#creator-page .hub-tab{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:var(--muted);background:none;border:none;padding:12px 20px;cursor:pointer;display:flex;align-items:center;gap:9px;border-radius:10px;transition:color .2s,background .25s var(--ease),box-shadow .25s;white-space:nowrap}
#creator-page .hub-tab:hover{color:var(--text)}
#creator-page .hub-tab.active{background:linear-gradient(120deg,rgba(59,111,240,.92),rgba(139,92,246,.85));color:#fff;box-shadow:0 6px 20px -6px rgba(59,111,240,.6),inset 0 1px 0 rgba(255,255,255,.18)}
#creator-page .hub-tab .ico{width:18px;height:18px}
#creator-page .hub-tab .badge{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;background:rgba(94,234,212,.12);color:var(--accent);padding:2px 7px;border-radius:20px;letter-spacing:.5px}
@media(max-width:560px){#creator-page .hub-switch-wrap{padding:18px 14px 0}#creator-page .hub-tabs{flex-wrap:wrap;width:100%}#creator-page .hub-tab{flex:1 1 auto;justify-content:center;padding:11px 13px;font-size:13px}#creator-page .hub-tab .badge{display:none}}
</style>

<style id="sfx-polish">
/* SFX polish — scroll-reveal (JS-applied: content fully visible without JS) */
.sfx-rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.sfx-rv.sfx-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.sfx-rv{opacity:1;transform:none;transition:none}}
</style>
<link rel="stylesheet" href="sfi-ui.css">
<script src="sfi-ui.js"></script>

/* ════════════════════════════════════════════════════════════
   SUITE COMPONENTS — the pieces the market/trade pages need that
   the older tool pages never had: data tables, live feeds, a
   sparkline chart frame, token rows, invoice cards, bot cards.
   ════════════════════════════════════════════════════════════ */

/* ── generic data table ───────────────────────────────────── */
#creator-page .dtable{width:100%;border-collapse:collapse;font-size:.86rem}
#creator-page .dtable th{
  position:sticky;top:0;z-index:2;background:#0D1220;color:var(--muted);
  font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;text-align:left;
  padding:11px 12px;border-bottom:1px solid var(--border-strong);white-space:nowrap
}
#creator-page .dtable td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
#creator-page .dtable tbody tr{transition:background .15s ease}
#creator-page .dtable tbody tr:hover{background:rgba(148,170,220,.045)}
#creator-page .dtable td.num{text-align:right;font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
#creator-page .dtable .up{color:#2dd4bf}
#creator-page .dtable .down{color:#f87171}
#creator-page .dtable-wrap{
  border:1px solid var(--border);border-radius:var(--r-lg);overflow:auto;
  max-height:560px;background:rgba(10,16,31,.45)
}
#creator-page .dtable-wrap::-webkit-scrollbar{width:9px;height:9px}
#creator-page .dtable-wrap::-webkit-scrollbar-thumb{background:rgba(148,170,220,.18);border-radius:8px}

/* ── token identity cell (logo + symbol + name) ───────────── */
#creator-page .tk{display:flex;align-items:center;gap:10px;min-width:0}
#creator-page .tk-logo{
  width:30px;height:30px;border-radius:9px;flex:0 0 auto;object-fit:cover;
  background:linear-gradient(135deg,rgba(51,103,232,.35),rgba(94,234,212,.2));
  border:1px solid var(--border-strong);
  display:grid;place-items:center;font-size:11px;font-weight:800;color:#dbe6ff;
  font-family:'Space Grotesk',sans-serif
}
#creator-page .tk-tx{min-width:0}
#creator-page .tk-sym{font-weight:700;color:var(--text);font-size:.9rem;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
#creator-page .tk-nm{color:var(--muted);font-size:.74rem;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}

/* ── stat strip ───────────────────────────────────────────── */
#creator-page .statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}
#creator-page .stat{
  background:linear-gradient(180deg,rgba(20,27,45,.7),rgba(10,14,24,.5));
  border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px
}
#creator-page .stat-k{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px}
#creator-page .stat-v{font-family:'Space Grotesk',sans-serif;font-size:1.28rem;font-weight:700;
  color:var(--text);font-variant-numeric:tabular-nums;line-height:1.15}
#creator-page .stat-v.accent{color:var(--accent)}
#creator-page .stat-sub{font-size:.72rem;color:var(--muted);margin-top:4px}

/* ── chart frame + sparkline ──────────────────────────────── */
#creator-page .chartbox{
  position:relative;background:rgba(6,10,20,.6);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:16px 14px 10px;min-height:260px
}
#creator-page .chartbox svg{display:block;width:100%;height:230px;overflow:visible}
#creator-page .ct-grid line{stroke:rgba(148,170,220,.10);stroke-width:1}
#creator-page .ct-line{fill:none;stroke:var(--accent);stroke-width:2;
  stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(94,234,212,.35))}
#creator-page .ct-line.down{stroke:#f87171;filter:drop-shadow(0 0 6px rgba(248,113,113,.3))}
#creator-page .ct-fill{fill:url(#ctGrad);opacity:.55}
#creator-page .ct-lbl{fill:var(--muted);font-family:'JetBrains Mono',monospace;font-size:9.5px}
#creator-page .ct-empty{display:grid;place-items:center;height:230px;color:var(--muted);font-size:.86rem;text-align:center}
#creator-page .spark{width:78px;height:26px;display:block}
#creator-page .spark path{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}

/* ── segmented control (timeframes, sides, modes) ─────────── */
#creator-page .seg{display:inline-flex;gap:3px;background:rgba(148,170,220,.05);
  border:1px solid rgba(148,170,220,.12);border-radius:11px;padding:3px}
#creator-page .seg button{
  border:none;background:transparent;color:var(--muted);cursor:pointer;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:600;
  padding:6px 12px;border-radius:8px;transition:.15s var(--ease);white-space:nowrap
}
#creator-page .seg button:hover{color:var(--text)}
#creator-page .seg button.active{background:rgba(94,234,212,.14);color:var(--accent)}

/* ── pill / tag ───────────────────────────────────────────── */
#creator-page .pill{
  display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;
  font-size:.68rem;font-weight:600;padding:4px 9px;border-radius:100px;
  border:1px solid var(--border-strong);color:var(--muted);background:var(--glass);white-space:nowrap
}
#creator-page .pill.ok{color:#2dd4bf;border-color:rgba(45,212,191,.32);background:rgba(45,212,191,.09)}
#creator-page .pill.warn{color:#eab308;border-color:rgba(234,179,8,.32);background:rgba(234,179,8,.09)}
#creator-page .pill.bad{color:#f87171;border-color:rgba(248,113,113,.32);background:rgba(248,113,113,.09)}
#creator-page .pill.info{color:#7dd3fc;border-color:rgba(125,211,252,.3);background:rgba(125,211,252,.08)}
#creator-page .pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
#creator-page .pill.live .pill-dot{animation:pillPulse 1.8s ease-in-out infinite}
@keyframes pillPulse{0%,100%{opacity:1}50%{opacity:.25}}

/* ── two-column split used by swap / pay / escrow ─────────── */
#creator-page .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:28px}
#creator-page .split.wide-left{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
#creator-page .split.wide-right{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)}
@media(max-width:900px){#creator-page .split,#creator-page .split.wide-left,#creator-page .split.wide-right{grid-template-columns:1fr}}

/* ── card list (bots, invoices, deals, storefronts) ───────── */
#creator-page .clist{display:flex;flex-direction:column;gap:12px}
#creator-page .citem{
  background:linear-gradient(180deg,rgba(20,27,45,.66),rgba(10,14,24,.5));
  border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;
  transition:border-color .18s ease,transform .18s ease
}
#creator-page .citem:hover{border-color:var(--border-strong);transform:translateY(-1px)}
#creator-page .citem-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
#creator-page .citem-ttl{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--text)}
#creator-page .citem-sub{color:var(--muted);font-size:.8rem;margin-top:3px;
  font-family:'JetBrains Mono',monospace;word-break:break-all}
#creator-page .citem-body{margin-top:12px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 18px}
#creator-page .citem-k{font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted)}
#creator-page .citem-v{font-size:.88rem;color:var(--text);margin-top:2px;font-variant-numeric:tabular-nums}
#creator-page .citem-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

/* ── compact action buttons (reused from the locker) ──────── */
#creator-page .lk-btn{
  border:1px solid var(--border-strong);background:var(--glass);color:var(--text);
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.82rem;
  padding:9px 15px;border-radius:10px;cursor:pointer;transition:.15s var(--ease)
}
#creator-page .lk-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
#creator-page .lk-btn:disabled{opacity:.45;cursor:not-allowed}
#creator-page .lk-btn.primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-deep));
  border-color:transparent;color:#05070F;font-weight:700
}
#creator-page .lk-btn.primary:hover:not(:disabled){filter:brightness(1.07);color:#05070F}
#creator-page .lk-btn.danger{color:#f87171;border-color:rgba(248,113,113,.35)}
#creator-page .lk-btn.danger:hover:not(:disabled){background:rgba(248,113,113,.1);color:#f87171;border-color:#f87171}
#creator-page .lk-mini{
  border:1px solid var(--border-strong);background:var(--glass);color:var(--muted);
  font-family:'JetBrains Mono',monospace;font-size:.72rem;padding:6px 11px;
  border-radius:8px;cursor:pointer;transition:.15s var(--ease)
}
#creator-page .lk-mini:hover{color:var(--accent);border-color:var(--accent)}
#creator-page .lk-chip{
  border:1px solid var(--border);background:var(--glass);color:var(--muted);
  font-family:'JetBrains Mono',monospace;font-size:.72rem;padding:6px 11px;
  border-radius:100px;cursor:pointer;transition:.15s var(--ease)
}
#creator-page .lk-chip:hover,#creator-page .lk-chip.active{color:var(--accent);border-color:rgba(94,234,212,.4);background:rgba(94,234,212,.09)}

/* ── empty + loading states ───────────────────────────────── */
#creator-page .empty{
  padding:44px 22px;text-align:center;color:var(--muted);font-size:.9rem;line-height:1.7
}
#creator-page .empty svg{width:38px;height:38px;opacity:.4;margin-bottom:12px;display:inline-block}
#creator-page .empty b{display:block;color:var(--text);font-family:'Space Grotesk',sans-serif;
  font-size:1rem;margin-bottom:6px}
#creator-page .skel{
  background:linear-gradient(90deg,rgba(148,170,220,.07) 25%,rgba(148,170,220,.14) 37%,rgba(148,170,220,.07) 63%);
  background-size:400% 100%;animation:skelShine 1.3s ease-in-out infinite;border-radius:7px;height:14px
}
@keyframes skelShine{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media(prefers-reduced-motion:reduce){#creator-page .skel{animation:none}}

/* ── inline notice ────────────────────────────────────────── */
/* The short "why this exists" paragraph under a heading. Four copies of this
   carried identical inline styles and a class with no rule behind it. */
#creator-page .why{
  border-left:2px solid rgba(94,234,212,.45);padding-left:14px;margin-top:8px;
  color:var(--muted);font-size:.86rem;line-height:1.65
}
#creator-page .note{
  display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-md);
  font-size:.84rem;line-height:1.6;border:1px solid var(--border-strong);
  background:var(--glass);color:var(--muted);margin:14px 0
}
#creator-page .note b{color:var(--text)}
#creator-page .note svg{width:17px;height:17px;flex:0 0 auto;margin-top:2px}
#creator-page .note.warn{border-color:rgba(234,179,8,.3);background:rgba(234,179,8,.06);color:#e6d9a8}
#creator-page .note.warn b{color:#eab308}
#creator-page .note.info{border-color:rgba(94,234,212,.26);background:rgba(94,234,212,.05)}
#creator-page .note.info b{color:var(--accent)}
#creator-page .note.bad{border-color:rgba(248,113,113,.32);background:rgba(248,113,113,.06);color:#f3c4c4}
#creator-page .note.bad b{color:#f87171}

/* ── monospace address / hash ─────────────────────────────── */
#creator-page .mono{font-family:'JetBrains Mono',monospace;font-size:.8rem;word-break:break-all}
#creator-page .addr{
  font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--muted);
  background:rgba(10,16,31,.6);border:1px solid var(--border);border-radius:8px;
  padding:5px 9px;display:inline-flex;align-items:center;gap:7px;word-break:break-all
}
#creator-page .addr a{color:var(--accent);text-decoration:none}
#creator-page .copy-ic{cursor:pointer;opacity:.6;transition:opacity .15s}
#creator-page .copy-ic:hover{opacity:1}

/* ── search bar ───────────────────────────────────────────── */
#creator-page .searchbar{position:relative;flex:1 1 280px;min-width:220px}
#creator-page .searchbar input{width:100%;box-sizing:border-box;padding-left:38px}
#creator-page .searchbar svg{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;color:var(--muted);pointer-events:none
}
#creator-page .toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}

/* ── NFT grid ─────────────────────────────────────────────── */
#creator-page .nftgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
#creator-page .nftcard{
  background:linear-gradient(180deg,rgba(20,27,45,.7),rgba(10,14,24,.55));
  border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .2s var(--ease),border-color .2s ease
}
#creator-page .nftcard:hover{transform:translateY(-3px);border-color:rgba(94,234,212,.35)}
#creator-page .nftcard .nft-img{
  aspect-ratio:1/1;width:100%;object-fit:cover;display:block;background:rgba(10,16,31,.8)
}
#creator-page .nftcard .nft-ph{
  aspect-ratio:1/1;display:grid;place-items:center;color:var(--muted);
  background:linear-gradient(135deg,rgba(51,103,232,.16),rgba(94,234,212,.08));
  font-family:'JetBrains Mono',monospace;font-size:.8rem
}
#creator-page .nftcard .nft-meta{padding:12px 13px 14px}
#creator-page .nftcard .nft-ttl{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.9rem;
  color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#creator-page .nftcard .nft-price{color:var(--accent);font-family:'JetBrains Mono',monospace;
  font-size:.86rem;margin-top:5px;font-weight:600}

/* ── code output (builder / flattener / ABI encoder) ──────── */
#creator-page .codeout{
  background:rgba(5,7,15,.72);border:1px solid var(--border);border-radius:var(--r-md);
  font-family:'JetBrains Mono',monospace;font-size:.76rem;line-height:1.65;
  padding:14px 16px;max-height:420px;overflow:auto;white-space:pre;
  color:#c9d6ee;-webkit-user-select:all;user-select:all
}
#creator-page .codeout::-webkit-scrollbar{width:9px;height:9px}
#creator-page .codeout::-webkit-scrollbar-thumb{background:rgba(148,170,220,.18);border-radius:8px}

/* ── live preview frame (site builder) ────────────────────── */
#creator-page .previewframe{
  width:100%;height:520px;border:1px solid var(--border-strong);border-radius:var(--r-lg);
  background:#fff;display:block
}
#creator-page .preview-bar{
  display:flex;align-items:center;gap:8px;padding:9px 13px;
  background:rgba(10,16,31,.8);border:1px solid var(--border-strong);border-bottom:none;
  border-radius:var(--r-lg) var(--r-lg) 0 0
}
#creator-page .preview-bar .dots{display:flex;gap:5px}
#creator-page .preview-bar .dots i{width:9px;height:9px;border-radius:50%;background:rgba(148,170,220,.25)}
#creator-page .preview-bar .url{
  flex:1;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted);
  background:rgba(5,7,15,.6);border-radius:6px;padding:4px 10px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
#creator-page .preview-bar + .previewframe{border-radius:0 0 var(--r-lg) var(--r-lg)}

/* ── QR holder (payment gateway) ──────────────────────────── */
#creator-page .qrbox{
  background:#fff;border-radius:14px;padding:14px;display:inline-block;line-height:0;
  box-shadow:0 12px 34px -14px rgba(0,0,0,.8)
}
#creator-page .qrbox canvas,#creator-page .qrbox img{display:block;width:190px;height:190px}

/* ── responsive tune ──────────────────────────────────────── */
@media(max-width:640px){
  #creator-page .dtable th,#creator-page .dtable td{padding:9px 8px;font-size:.8rem}
  #creator-page .dtable .hide-sm{display:none}
  #creator-page .statgrid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:9px}
  #creator-page .stat{padding:11px 12px}
  #creator-page .stat-v{font-size:1.08rem}
  #creator-page .nftgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:11px}
  #creator-page .previewframe{height:400px}
}

/* Below 400px the nav row cannot fit: it is nowrap inside a fixed 70px bar.
   .back-link goes, because it points at index.html — exactly where the logo
   beside it already points — and at this width it is a bare arrow anyway.
   Without this the whole document scrolls sideways. Measured, not assumed. */
@media(max-width:400px){#creator-page .back-link{display:none}}
