/* ===== Sluice injected UI: top hotbar + login modal (B&W) ===== */
#sluice-bar{position:fixed;top:0;left:0;right:0;height:64px;z-index:2147483000;
  display:flex;align-items:center;gap:18px;padding:0 clamp(16px,3vw,40px);
  background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid #ececec;font-family:Helvetica,Arial,sans-serif;box-sizing:border-box;}
#sluice-bar *{box-sizing:border-box;}
#sluice-bar .sb-logo{font-weight:800;font-size:20px;letter-spacing:-.5px;color:#0a0a0a;text-decoration:none;flex-shrink:0;}
#sluice-bar .sb-nav{display:flex;align-items:center;gap:24px;flex:1;justify-content:center;min-width:0;overflow-x:auto;scrollbar-width:none;}
#sluice-bar .sb-nav::-webkit-scrollbar{display:none;}
#sluice-bar .sb-nav a{color:#3d3d3d;text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.2px;
  white-space:nowrap;padding:5px 0;border-bottom:1.5px solid transparent;transition:color .15s ease,border-color .15s ease;}
#sluice-bar .sb-nav a:hover{color:#0a0a0a;border-color:#0a0a0a;}
#sluice-bar .sb-cta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
#sluice-bar .sb-login{font:inherit;font-size:14px;font-weight:600;color:#0a0a0a;background:#fff;
  border:1px solid #d6d6d6;border-radius:999px;padding:9px 17px;cursor:pointer;white-space:nowrap;transition:border-color .15s;}
#sluice-bar .sb-login:hover{border-color:#0a0a0a;}
#sluice-bar .sb-start{font-size:14px;font-weight:600;color:#fff;background:#0a0a0a;border-radius:999px;
  padding:10px 18px;text-decoration:none;white-space:nowrap;transition:opacity .15s;}
#sluice-bar .sb-start:hover{opacity:.85;}
#sluice-bar .sb-x{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;
  border:1px solid #d6d6d6;color:#0a0a0a;background:#fff;text-decoration:none;flex-shrink:0;transition:background .15s,border-color .15s,color .15s;}
#sluice-bar .sb-x:hover{background:#0a0a0a;color:#fff;border-color:#0a0a0a;}
@media(max-width:860px){#sluice-bar .sb-nav{gap:16px;justify-content:flex-start;}#sluice-bar{gap:12px;}}
@media(max-width:600px){#sluice-bar .sb-start{display:none;}#sluice-bar .sb-logo{font-size:18px;}}

/* modal */
#sluice-modal{position:fixed;inset:0;z-index:2147483600;display:none;align-items:center;justify-content:center;
  background:rgba(10,10,10,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:Helvetica,Arial,sans-serif;}
#sluice-modal.open{display:flex;}
#sluice-modal .sm-card{width:min(92vw,400px);background:#fff;border:1px solid #e6e6e6;border-radius:16px;
  padding:26px 24px 22px;box-shadow:0 30px 80px rgba(0,0,0,.25);position:relative;}
#sluice-modal .sm-x{position:absolute;top:14px;right:16px;border:0;background:none;font-size:22px;line-height:1;color:#888;cursor:pointer;}
#sluice-modal .sm-x:hover{color:#0a0a0a;}
#sluice-modal h3{margin:0 0 4px;font-size:21px;font-weight:800;letter-spacing:-.4px;color:#0a0a0a;}
#sluice-modal .sm-sub{margin:0 0 20px;font-size:13.5px;color:#666;}
#sluice-modal .sm-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;
  background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:14px 16px;margin-bottom:10px;transition:border-color .15s,background .15s;}
#sluice-modal .sm-opt:hover{border-color:#0a0a0a;background:#fafafa;}
#sluice-modal .sm-ic{width:40px;height:40px;border-radius:10px;overflow:hidden;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;}
#sluice-modal .sm-ic svg{display:block}
#sluice-modal .sm-opt b{display:block;font-size:15px;color:#0a0a0a;font-weight:700;}
#sluice-modal .sm-opt span{display:block;font-size:12.5px;color:#777;font-family:ui-monospace,Menlo,monospace;}
#sluice-modal .sm-foot{margin-top:12px;font-size:11.5px;color:#9a9a9a;text-align:center;font-family:ui-monospace,Menlo,monospace;}
#sluice-modal .sm-msg{min-height:16px;margin:2px 0 10px;font-size:12.5px;color:#0a0a0a;font-family:ui-monospace,Menlo,monospace;}
#sluice-bar .sb-login.connected{background:#0a0a0a;color:#fff;border-color:#0a0a0a;font-family:ui-monospace,Menlo,monospace;}

/* ===== restored dynamic canvas visuals, B&W ===== */
/* particle field: visible dark dot-cloud on white (was washed out) */
:root,[data-theme=light],[data-theme="light"]{ --blob-point:#a6a6a6 !important; --blob-shimmer:#2b2b2b !important; }
/* feature-card visualizations -> glowing light dots on black panels (terminal look) */
*:has(> canvas.theme-invert){ background:#0a0a0a !important; border-radius:12px !important; overflow:hidden !important; }
canvas.theme-invert{ filter:grayscale(1) brightness(1.55) contrast(1.15) !important; }

/* hotbar logo mark */
#sluice-bar .sb-logo{display:inline-flex;align-items:center;gap:9px;}
#sluice-bar .sb-mark{height:26px;width:26px;display:block;filter:none !important;}

/* ===== sharp typography (bigger, edgier) ===== */
:root{
  --font-dm-sans:"Clash Grotesk","DM Sans Variable",system-ui,sans-serif !important;
  --font-sans:"Clash Grotesk",system-ui,sans-serif !important;
  --font-montserrat:"Clash Display","Clash Grotesk",system-ui,sans-serif !important;
}
html,body{font-family:"Clash Grotesk",system-ui,sans-serif;}
body{font-size:17px;letter-spacing:-.01em;}
h1,h2,h3,[class*="text-gradient-heading"]{font-family:"Clash Display","Clash Grotesk",sans-serif !important;letter-spacing:-.025em !important;font-weight:700 !important;}
main h1{font-size:clamp(3rem,6.6vw,5.4rem) !important;line-height:.98 !important;}
main h2{font-size:clamp(2.1rem,4.4vw,3.6rem) !important;line-height:1.02 !important;}
main h3{font-size:clamp(1.35rem,2vw,1.8rem) !important;}
p,.sub,li{font-size:1.02rem;}

/* ===== square, sharp, volumetric buttons (site-wide) ===== */
.sb-login,.sb-start,
main a[class*="rounded-full"],main button[class*="rounded-full"],
a[class*="rounded-[999px]"],button[class*="rounded-[999px]"],
[class*="Manage"],[data-variant="primary"]{
  border-radius:3px !important;
  border:1.6px solid #0a0a0a !important;
  box-shadow:4px 4px 0 0 #0a0a0a !important;
  transition:transform .09s ease, box-shadow .09s ease !important;
  font-weight:600 !important;
}
.sb-login:hover,.sb-start:hover,
main a[class*="rounded-full"]:hover,main button[class*="rounded-full"]:hover{
  transform:translate(2px,2px) !important;
  box-shadow:2px 2px 0 0 #0a0a0a !important;
}
/* keep tiny circular icon chevrons round (not shadowed blocks) */
main a[class*="rounded-full"] [class*="rounded-full"],
[class*="rounded-full"] > svg{box-shadow:none !important;border:0 !important;border-radius:999px !important;}

/* ===== corrective: real loaded fonts + button selector fix ===== */
:root{
  --font-dm-sans:"Space Grotesk","DM Sans Variable",system-ui,sans-serif !important;
  --font-sans:"Space Grotesk",system-ui,sans-serif !important;
  --font-montserrat:"Syne","Space Grotesk",system-ui,sans-serif !important;
}
html,body{font-family:"Space Grotesk",system-ui,sans-serif;}
h1,h2,h3,[class*="text-gradient-heading"]{font-family:"Syne","Space Grotesk",sans-serif !important;font-weight:800 !important;letter-spacing:-.02em !important;}
/* square + volumetric buttons: catch rounded-[30px], rounded-full, etc. on links/buttons */
main a[class*="rounded-"],main button[class*="rounded-"]{
  border-radius:3px !important;
  border:1.6px solid #0a0a0a !important;
  box-shadow:4px 4px 0 0 #0a0a0a !important;
  transition:transform .09s ease, box-shadow .09s ease !important;
}
main a[class*="rounded-"]:hover,main button[class*="rounded-"]:hover{
  transform:translate(2px,2px) !important; box-shadow:2px 2px 0 0 #0a0a0a !important;
}
/* keep the little chevron circle round & flat inside buttons */
main a[class*="rounded-"] span[class*="rounded-full"],
main a[class*="rounded-"] div[class*="rounded-full"]{
  border-radius:999px !important; box-shadow:none !important; border:0 !important;
}

/* ===== fix hero heading clipping (Syne is wide) ===== */
main h1{font-size:clamp(2.3rem,4.8vw,4.2rem) !important;line-height:1.0 !important;letter-spacing:-.03em !important;}
main h2{font-size:clamp(1.8rem,3.6vw,3rem) !important;}

/* ===== sharp fonts on EVERYTHING, incl. the brand name ===== */
:root{--default-font-family:"Space Grotesk",system-ui,sans-serif !important;--font-inter:"Space Grotesk",sans-serif !important;--font-body:"Space Grotesk",sans-serif !important;}
html,body,button,input,select,textarea,a,p,li,label,figcaption,blockquote,th,td,small{font-family:"Space Grotesk",system-ui,sans-serif;}
main *,footer *,#sluice-bar *{font-family:"Space Grotesk",system-ui,sans-serif;}
h1,h2,h3,h4,h5,[class*="heading"],[class*="title"],[class*="display"],#sluice-bar .sb-logo,#sluice-bar .sb-logo span{font-family:"Syne","Space Grotesk",sans-serif !important;font-weight:800 !important;letter-spacing:-.02em !important;}
#sluice-bar .sb-logo,#sluice-bar .sb-logo span{font-size:21px !important;}
/* keep real monospaced data mono */
[class*="mono"],[class*="tabular"],code,pre,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace !important;}

/* ===== REVERT to normal font (Syne removed, back to original DM Sans) ===== */
:root{
  --font-dm-sans:'__DM_Sans_e64f39','__DM_Sans_Fallback_e64f39',system-ui,sans-serif !important;
  --font-sans:'__DM_Sans_e64f39','__DM_Sans_Fallback_e64f39',system-ui,sans-serif !important;
  --font-montserrat:'__DM_Sans_e64f39','__DM_Sans_Fallback_e64f39',system-ui,sans-serif !important;
  --default-font-family:'__DM_Sans_e64f39',system-ui,sans-serif !important;
}
html,body,main *,footer *,#sluice-bar *,#sluice-modal *,h1,h2,h3,h4,h5,[class*="text-gradient-heading"],[class*="heading"]{font-family:'__DM_Sans_e64f39','__DM_Sans_Fallback_e64f39',system-ui,-apple-system,sans-serif !important;}
h1,h2,h3{font-weight:700 !important;letter-spacing:-.02em !important;}
#sluice-bar .sb-logo span{font-weight:700 !important;}
[class*="mono"],[class*="tabular"],code,pre,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace !important;}

/* ===== FINAL FONT: Space Grotesk everywhere (the good first pick) ===== */
:root{
  --font-dm-sans:"Space Grotesk",system-ui,sans-serif !important;
  --font-sans:"Space Grotesk",system-ui,sans-serif !important;
  --font-montserrat:"Space Grotesk",system-ui,sans-serif !important;
  --default-font-family:"Space Grotesk",system-ui,sans-serif !important;
}
html,body,main *,footer *,#sluice-bar *,#sluice-modal *,h1,h2,h3,h4,h5,[class*="text-gradient-heading"],[class*="heading"]{font-family:"Space Grotesk",system-ui,-apple-system,sans-serif !important;}
h1,h2,h3{font-weight:700 !important;letter-spacing:-.03em !important;}
/* real data stays mono (declared after the * rule so it wins) */
[class*="mono"],[class*="tabular"],code,pre,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,monospace !important;}

/* ===== fix invisible white-on-white Turtle art ===== */
/* pipeline step illustrations are white art for a dark theme -> give their panels a black bg */
*:has(> img[src*="/pipeline/"]){background:#0a0a0a !important;border-radius:12px !important;overflow:hidden !important;}
img[src*="/pipeline/"]{filter:grayscale(1) !important;}
/* partner-logo marquee: white logos -> the strip gets a black band (JS sets section bg too) */
img[src*="logos-first-marquee"]{filter:grayscale(1) brightness(1.15) !important;}

/* ===== restore native scrolling (Lenis removed with hydration) ===== */
html,html.home-v2-route,[class*="-route"]{overflow-x:clip !important;overflow-y:auto !important;scroll-behavior:smooth;}
body{overflow:visible !important;}

/* ===== headings: no clipped descenders (y/g) + slight slant ===== */
h1,h2,h3,[class*="text-gradient-heading"]{
  line-height:1.14 !important;
  padding-bottom:.09em !important;
  overflow:visible !important;
  font-style:oblique 6deg !important;
}
main h1{line-height:1.1 !important;}
/* keep UI labels upright */
#sluice-bar *,#sluice-modal *,button,.sb-login,.sb-start{font-style:normal !important;}

/* ===== remove dot markers next to section headings (site-wide) ===== */
h2.dot::before,.sfx-dot::before,h2.sfx-dot::before{display:none !important;content:none !important;margin:0 !important;}

/* ===== background: plain white; body transparent so the nature canvas shows ===== */
html{background:#fff !important;}
body{background:transparent !important;}
/* (cyber scanlines / sweep / glitch removed — only grass + leaves remain) */

/* ===== fletchpad-style floating pill navbar ===== */
#sluice-bar{top:12px;left:16px;right:16px;height:60px;border:1.6px solid #0a0a0a;border-radius:999px;
  background:rgba(255,255,255,.97);box-shadow:5px 5px 0 0 #0a0a0a;padding:0 clamp(14px,2.4vw,30px);}
#sluice-bar .sb-login,#sluice-bar .sb-start{border-radius:999px !important;}

/* ===== account / disconnect modal (styled, replaces native confirm) ===== */
#sluice-modal .sm-acct{display:flex;align-items:center;gap:13px;border:1px solid #e2e2e2;border-radius:12px;padding:12px 14px;margin:6px 0 12px}
#sluice-modal .sm-acct-i{flex:1;min-width:0}
#sluice-modal .sm-acct-i b{display:block;font-size:16px;color:#0a0a0a;font-family:ui-monospace,Menlo,monospace}
#sluice-modal .sm-acct-i>span{display:block;font-size:12px;color:#777;font-family:ui-monospace,Menlo,monospace;margin-top:2px}
#sluice-modal .sm-copy{font:inherit;font-size:12px;font-weight:600;color:#0a0a0a;background:#f4f4f4;border:1px solid #e2e2e2;border-radius:8px;padding:7px 12px;cursor:pointer;white-space:nowrap;transition:background .15s}
#sluice-modal .sm-copy:hover{background:#eaeaea}
#sluice-modal .sm-explore{display:block;text-align:center;font-size:13px;color:#555;text-decoration:none;padding:11px;border:1px solid #e2e2e2;border-radius:10px;margin-bottom:10px;transition:border-color .15s,color .15s}
#sluice-modal .sm-explore:hover{border-color:#0a0a0a;color:#0a0a0a}
#sluice-modal .sm-disconnect{width:100%;font:inherit;font-size:14px;font-weight:600;color:#fff;background:#0a0a0a;border:1px solid #0a0a0a;border-radius:12px;padding:13px;cursor:pointer;transition:opacity .15s}
#sluice-modal .sm-disconnect:hover{opacity:.85}

/* ===== remove decorative status dots next to labels/headings, site-wide ===== */
h2.dot::before{display:none !important}      /* ring before every h2 heading */
.kick .live{display:none !important}         /* blinking dot in explorer kicker */
.demo .dot{display:none !important}          /* blinking dot in the app demo banner */

/* ===== CA pill (header + hero) — "soon" now, copyable when the address is set ===== */
#sluice-bar .sb-ca{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;letter-spacing:.3px;
  color:#0a0a0a;background:#fff;border:1.5px solid #0a0a0a;border-radius:999px;padding:8px 13px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s}
#sluice-bar .sb-ca:hover{background:#0a0a0a;color:#fff}
#sluice-bar .sb-ca.live{cursor:copy}
@media(max-width:1080px){#sluice-bar .sb-ca{display:none}}   /* keep the bar tidy on smaller screens */
.pill.sluice-ca{font-family:ui-monospace,Menlo,Consolas,monospace;cursor:pointer}
.pill.sluice-ca.live{cursor:copy}

/* ===== hidden terminal easter-egg (backtick, or the corner ›_ glyph) ===== */
#sluice-termbtn{position:fixed;right:15px;bottom:13px;z-index:2147483200;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:700;
  color:#0a0a0a;background:#fff;border:1.4px solid #0a0a0a;border-radius:6px;box-shadow:3px 3px 0 0 #0a0a0a;padding:5px 9px;cursor:pointer;opacity:.42;transition:opacity .15s,transform .09s,box-shadow .09s}
#sluice-termbtn:hover{opacity:1;transform:translate(1px,1px);box-shadow:2px 2px 0 0 #0a0a0a}
#sluice-term{position:fixed;inset:0;z-index:2147483210;display:none;align-items:flex-end;justify-content:center;background:rgba(10,10,10,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
#sluice-term.open{display:flex}
#sluice-term .st-card{width:min(720px,94vw);height:min(58vh,430px);margin-bottom:7vh;background:#0a0a0a;color:#e9e9e9;border:1.6px solid #0a0a0a;border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden;font-family:ui-monospace,Menlo,Consolas,monospace}
#sluice-term .st-head{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid #222;font-size:12.5px;color:#9a9a9a;letter-spacing:.5px}
#sluice-term .st-dot{width:9px;height:9px;border-radius:50%;background:#e9e9e9;flex-shrink:0}
#sluice-term .st-x{margin-left:auto;background:transparent;border:1px solid #333;color:#9a9a9a;border-radius:5px;font:inherit;font-size:11px;padding:3px 8px;cursor:pointer}
#sluice-term .st-x:hover{color:#fff;border-color:#666}
#sluice-term .st-log{flex:1;overflow-y:auto;padding:14px;font-size:13px;line-height:1.6}
#sluice-term .st-row{white-space:pre-wrap;word-break:break-word;margin-bottom:4px;color:#c9c9c9}
#sluice-term .st-row.cmd{color:#fff}
#sluice-term .st-row b{color:#fff;font-weight:600}
#sluice-term .st-ps{color:#8a8a8a}
#sluice-term .st-line{display:flex;align-items:center;gap:8px;padding:11px 14px;border-top:1px solid #222}
#sluice-term .st-line input{flex:1;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:13px}
