/* =========================================================
   KITBOX — design tokens
   ========================================================= */
:root{
  /* palette */
  --ink:        #08090A;
  --ink-soft:   #0D0F11;
  --surface:    #131518;
  --surface-2:  #1A1D21;
  --line:       #292C31;
  --text:       #F2F3F5;
  --text-muted: #9297A0;
  --lime:       #C6FF3D;
  --lime-dim:   #8FBF2C;
  --blue:       #A4AAB3;

  /* type */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'Inter', sans-serif;

  /* layout */
  --max: 1180px;
  --radius: 14px;
  --radius-sm: 8px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 50% -12%, rgba(255,255,255,.045), transparent 30%),
    var(--ink);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
img{max-width:100%; display:block;}
:focus-visible{outline:2px solid var(--lime); outline-offset:2px;}

.section-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(22px,3vw,30px);
  text-align:center;
  margin-bottom:32px;
  letter-spacing:-0.01em;
}

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(11,13,18,0.75);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav__inner{
  max-width:var(--max); margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.logo{display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:18px;}
.logo__mark{color:var(--lime); font-size:20px;}
.nav__links{display:flex; gap:28px;}
.nav__links a{color:var(--text-muted); font-size:14px; font-weight:500; transition:color .15s;}
.nav__links a:hover{color:var(--text);}
.nav__links a[aria-current="page"]{color:var(--text);}
.nav__actions{display:flex; align-items:center; gap:10px;}
.nav__toggle{display:none; flex-direction:column; gap:4px; background:none; border:none; padding:6px;}
.nav__toggle span{width:20px; height:2px; background:var(--text);}

.btn{
  font-family:var(--font-body);
  font-size:14px; font-weight:600;
  padding:9px 16px; border-radius:999px; border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:active{transform:scale(0.96);}
.btn--ghost{background:transparent; color:var(--text-muted); border-color:var(--line);}
.btn--ghost:hover{color:var(--text); border-color:var(--text-muted);}
.btn--solid{background:var(--lime); color:#0B0D12;}
.btn--solid:hover{background:#d8ff70;}
.btn--lg{padding:13px 26px; font-size:15px;}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; isolation:isolate;
  min-height:650px; padding:104px 24px 96px;
  display:grid; place-items:start center; text-align:center;
  overflow:hidden;
}
.hero::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:min(960px, 86vw); height:530px; top:18px; left:50%; transform:translateX(-50%);
  background:
    radial-gradient(circle at 50% 40%, rgba(198,255,61,.105), transparent 37%),
    radial-gradient(circle at 38% 28%, rgba(76,141,255,.09), transparent 27%);
  filter:blur(4px);
}
.hero::after{
  content:""; position:absolute; z-index:3; pointer-events:none;
  height:180px; left:0; right:0; bottom:-1px;
  background:linear-gradient(to bottom, transparent, rgba(11,13,18,.84) 64%, var(--ink) 96%);
}
.hero__content{
  position:relative; z-index:2; width:min(100%, 800px);
}
.hero__ambient{
  position:absolute; z-index:1; inset:0; pointer-events:none;
  max-width:1440px; width:100%; left:50%; transform:translateX(-50%);
}
.hero__orb{
  position:absolute; border-radius:50%; opacity:.78; filter:blur(2px);
}
.hero__orb--lime{
  width:460px; height:460px; top:-255px; right:-120px;
  background:radial-gradient(circle at 45% 54%, rgba(198,255,61,.23), rgba(198,255,61,.055) 42%, transparent 70%);
  animation:ambient-drift 11s ease-in-out infinite alternate;
}
.hero__orb--blue{
  width:420px; height:420px; top:145px; left:-250px;
  background:radial-gradient(circle, rgba(180,186,196,.12), rgba(180,186,196,.025) 46%, transparent 70%);
  animation:ambient-drift 14s ease-in-out -4s infinite alternate-reverse;
}
.hero__ring{
  position:absolute; width:590px; height:590px; left:50%; top:-72px;
  border:1px solid rgba(198,255,61,.065); border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 100px rgba(198,255,61,.025), inset 0 0 100px rgba(76,141,255,.02);
}
.hero__float{
  position:absolute; display:flex; align-items:center;
  background:linear-gradient(145deg, rgba(26,31,42,.78), rgba(14,17,24,.38));
  border:1px solid rgba(255,255,255,.08); box-shadow:0 20px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(12px); color:rgba(237,239,243,.46);
}
.hero__float--code{
  width:164px; height:110px; top:178px; left:-38px; border-radius:18px;
  padding:26px; align-items:flex-start; justify-content:center; flex-direction:column; gap:10px;
  transform:rotate(-9deg); opacity:.72;
}
.hero__float--code span{height:5px; border-radius:99px; background:linear-gradient(90deg, rgba(198,255,61,.64), rgba(76,141,255,.28));}
.hero__float--code span:nth-child(1){width:68%;}
.hero__float--code span:nth-child(2){width:92%; margin-left:12px; opacity:.55;}
.hero__float--code span:nth-child(3){width:52%; margin-left:12px; opacity:.35;}
.hero__float--toggle{
  width:184px; top:130px; right:-58px; padding:16px 18px; border-radius:16px;
  justify-content:space-between; transform:rotate(8deg); opacity:.75;
}
.hero__float-label{font-family:var(--font-mono); font-size:10px; letter-spacing:.02em;}
.hero__float-switch{width:36px; height:20px; border-radius:99px; padding:2px; background:rgba(198,255,61,.17); border:1px solid rgba(198,255,61,.32);}
.hero__float-switch i{display:block; width:14px; height:14px; margin-left:15px; border-radius:50%; background:var(--lime); box-shadow:0 0 14px rgba(198,255,61,.5);}
.hero__float--chip{
  left:7%; bottom:78px; gap:8px; border-radius:999px; padding:9px 14px;
  font-family:var(--font-mono); font-size:10px; transform:rotate(5deg); opacity:.55;
}
.hero__float-dot{width:6px; height:6px; border-radius:50%; background:var(--blue); box-shadow:0 0 12px var(--blue);}
@keyframes ambient-drift{
  to{transform:translate3d(22px,18px,0) scale(1.06);}
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:12px; color:var(--text-muted);
  background:rgba(21,25,35,.58); border:1px solid rgba(255,255,255,.085);
  box-shadow:0 10px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(10px); padding:7px 15px; border-radius:999px; margin-bottom:30px;
}
.hero__eyebrow a{color:var(--lime); text-decoration:underline; text-underline-offset:2px;}
.dot{width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime);}

.hero__title{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(42px, 6.2vw, 72px); line-height:1.01; letter-spacing:-0.045em;
  text-wrap:balance; margin-bottom:24px;
  text-shadow:0 18px 60px rgba(0,0,0,.38);
}
.hero__title-accent{
  color:transparent; font-style:italic;
  background:linear-gradient(112deg, #e4ff9d 5%, var(--lime) 48%, #89e8a4 100%);
  -webkit-background-clip:text; background-clip:text;
  filter:drop-shadow(0 0 26px rgba(198,255,61,.13));
}

.hero__sub{
  color:#9ca5b8; font-size:clamp(15px, 1.6vw, 17px); line-height:1.72;
  max-width:610px; margin:0 auto 36px; text-wrap:balance;
}

.hero__search{
  display:flex; align-items:center; gap:8px;
  background:rgba(21,25,35,.78); border:1px solid rgba(255,255,255,.105); border-radius:999px;
  padding:7px 7px 7px 20px; max-width:570px; margin:0 auto;
  box-shadow:0 24px 65px rgba(0,0,0,.36), 0 0 0 7px rgba(255,255,255,.018);
  backdrop-filter:blur(14px); transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.hero__search:focus-within{border-color:rgba(198,255,61,.52); box-shadow:0 24px 70px rgba(0,0,0,.42), 0 0 0 7px rgba(198,255,61,.045); transform:translateY(-1px);}
.hero__search-icon{color:var(--text-muted); flex-shrink:0;}
.hero__search input{
  min-width:0; flex:1; background:none; border:none; color:var(--text); font-size:14px; padding:9px 0;
}
.hero__search input:focus{outline:none;}
.hero__search input::placeholder{color:var(--text-muted);}

.hero__chips{
  margin-top:24px; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:11px; color:#747d91;
}
.chip-mini{
  background:rgba(21,25,35,.48); border:1px solid rgba(255,255,255,.065); color:#818a9d;
  font-family:var(--font-mono); font-size:11px; padding:6px 10px; border-radius:999px;
  backdrop-filter:blur(8px); transition:border-color .15s, color .15s, background .15s;
}
.chip-mini:hover{border-color:rgba(198,255,61,.5); color:var(--text); background:rgba(198,255,61,.055);}

/* =========================================================
   CATALOG — live parts grid
   ========================================================= */
.catalog{
  position:relative; z-index:4; width:100%; margin:-64px auto 0;
  padding:20px 0 116px; overflow:hidden;
}
.catalog::after{
  content:"";
  position:absolute; z-index:1; pointer-events:none;
  left:0; right:0; bottom:0; height:430px;
  background:linear-gradient(
    to bottom,
    rgba(11,13,18,0) 0%,
    rgba(11,13,18,.16) 24%,
    rgba(11,13,18,.68) 58%,
    rgba(11,13,18,.96) 82%,
    var(--ink) 100%
  );
}
.catalog__showcase{
  width:calc(100vw - 32px); margin-inline:calc(50% - 50vw + 16px);
  max-height:650px; overflow:hidden; pointer-events:none; user-select:none;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 38%, rgba(0,0,0,.72) 61%, rgba(0,0,0,.18) 83%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 38%, rgba(0,0,0,.72) 61%, rgba(0,0,0,.18) 83%, transparent 100%);
}
.catalog__grid{
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px;
}
.part{
  position:relative;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .2s ease, transform .2s ease;
}
.part--dark{background:var(--ink-soft);}
.part:hover{border-color:var(--lime-dim); transform:translateY(-2px);}
.part::before{
  content:attr(data-tag);
  position:absolute; top:10px; left:12px;
  font-family:var(--font-mono); font-size:10px; letter-spacing:.03em;
  color:var(--text-muted); text-transform:uppercase;
  opacity:.7;
}
.part__stage{
  min-height:150px; display:flex; align-items:center; justify-content:center; padding:30px 20px 16px;
}
.part__code{
  position:absolute; bottom:10px; right:10px;
  background:var(--lime); color:#0B0D12; border:none;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  padding:6px 12px; border-radius:999px;
  opacity:0; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease;
}
.part:hover .part__code, .part:focus-within .part__code{opacity:1; transform:translateY(0);}

.catalog__cta{
  position:absolute; z-index:2; left:50%; bottom:82px; transform:translateX(-50%);
  display:flex; justify-content:center; width:100%; pointer-events:none;
}
.catalog__cta .btn{
  pointer-events:auto; min-width:240px; padding:15px 28px;
  box-shadow:0 18px 52px rgba(0,0,0,.5), 0 0 34px rgba(198,255,61,.14);
}

/* ---- demo: checkbox ---- */
.demo-checkbox{position:relative; display:inline-flex; cursor:pointer;}
.demo-checkbox input{position:absolute; opacity:0; width:0; height:0;}
.demo-checkbox__box{
  width:26px; height:26px; border-radius:7px; border:2px solid var(--text-muted);
  display:flex; align-items:center; justify-content:center; color:transparent;
  transition:background .18s, border-color .18s, color .18s;
}
.demo-checkbox input:checked + .demo-checkbox__box{
  background:var(--lime); border-color:var(--lime); color:#0B0D12;
}

/* ---- demo: buttons ---- */
.demo-btn{
  font-family:var(--font-body); font-weight:600; font-size:14px;
  padding:10px 22px; border-radius:999px; border:none;
}
.demo-btn--pulse{
  background:var(--lime); color:#0B0D12;
  box-shadow:0 0 0 0 rgba(198,255,61,.55);
  animation:pulse 2.4s infinite;
  transition:transform .15s;
}
.demo-btn--pulse:hover{transform:scale(1.05);}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(198,255,61,.5);}
  70%{box-shadow:0 0 0 10px rgba(198,255,61,0);}
  100%{box-shadow:0 0 0 0 rgba(198,255,61,0);}
}
.demo-btn--outline{
  background:transparent; color:var(--text); border:1.5px solid var(--line);
  transition:border-color .18s, color .18s;
}
.demo-btn--outline:hover{border-color:var(--lime); color:var(--lime);}

/* ---- demo: toggle ---- */
.demo-toggle{position:relative; display:inline-flex; cursor:pointer;}
.demo-toggle input{position:absolute; opacity:0; width:0; height:0;}
.demo-toggle__track{
  width:46px; height:26px; border-radius:999px; background:var(--surface-2);
  border:1px solid var(--line); position:relative; transition:background .2s;
}
.demo-toggle__thumb{
  position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%;
  background:var(--text-muted); transition:transform .2s ease, background .2s ease;
}
.demo-toggle input:checked ~ .demo-toggle__track{background:rgba(198,255,61,.18); border-color:var(--lime-dim);}
.demo-toggle input:checked ~ .demo-toggle__track .demo-toggle__thumb{
  transform:translateX(20px); background:var(--lime);
}

/* ---- demo: loader ---- */
.demo-loader{
  width:34px; height:34px; border-radius:50%;
  border:3px dashed var(--lime);
  animation:spin 3s linear infinite;
  display:inline-block;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---- demo: glass card ---- */
.part--glass .part__stage{padding:24px;}
.demo-glass{
  width:100%; padding:16px 18px; border-radius:10px;
  background:linear-gradient(135deg, rgba(76,141,255,.14), rgba(198,255,61,.08));
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(6px);
  display:flex; flex-direction:column; gap:2px;
}
.demo-glass__title{font-family:var(--font-mono); font-weight:600; font-size:13px; color:var(--lime);}
.demo-glass__sub{font-size:12px; color:var(--text-muted);}

/* ---- decorative component previews ---- */
.demo-avatar{position:relative; width:54px; height:54px;}
.demo-avatar span{
  width:54px; height:54px; display:grid; place-items:center; border-radius:50%;
  color:var(--lime); background:linear-gradient(145deg, rgba(76,141,255,.22), rgba(198,255,61,.1));
  border:1px solid rgba(255,255,255,.11); font-family:var(--font-mono); font-size:13px;
}
.demo-avatar i{position:absolute; right:0; bottom:1px; width:12px; height:12px; border-radius:50%; background:var(--lime); border:3px solid var(--surface); box-sizing:content-box;}
.demo-range{position:relative; width:min(82%,190px); height:5px; border-radius:99px; background:var(--surface-2);}
.demo-range span{display:block; width:62%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),var(--lime));}
.demo-range i{position:absolute; top:50%; left:62%; width:17px; height:17px; border-radius:50%; background:var(--text); box-shadow:0 0 0 5px rgba(198,255,61,.1); transform:translate(-50%,-50%);}
.demo-progress{width:min(82%,210px); font-family:var(--font-mono); font-size:10px; color:var(--text-muted);}
.demo-progress div{display:flex; justify-content:space-between; margin-bottom:9px;}
.demo-progress b{color:var(--lime); font-weight:500;}
.demo-progress>i{display:block; height:5px; border-radius:99px; background:linear-gradient(90deg,var(--lime) 74%,var(--surface-2) 74%);}
.demo-badge{display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border-radius:999px; color:var(--text); background:rgba(198,255,61,.07); border:1px solid rgba(198,255,61,.24); font-size:12px;}
.demo-badge i{width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 10px var(--lime);}
.demo-input{display:flex; align-items:center; gap:9px; width:min(88%,220px); padding:11px 13px; border:1px solid var(--line); border-radius:9px; color:var(--text-muted); font-size:12px;}
.demo-input span{font-family:var(--font-mono); color:var(--lime);}
.demo-input i{font-style:normal; opacity:.62;}
.demo-tooltip{position:relative; display:grid; place-items:center;}
.demo-tooltip>span{display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--surface-2); color:var(--lime); font-size:18px;}
.demo-tooltip i{position:absolute; left:50%; bottom:calc(100% + 10px); transform:translateX(-50%); white-space:nowrap; padding:6px 9px; border-radius:6px; background:var(--text); color:var(--ink); font:normal 9px var(--font-mono);}
.demo-tooltip i::after{content:""; position:absolute; top:100%; left:50%; border:4px solid transparent; border-top-color:var(--text); transform:translateX(-50%);}

/* =========================================================
   STATS
   ========================================================= */
.stats{
  max-width:var(--max); margin:0 auto; padding:40px 24px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.stats__item{text-align:center;}
.stats__num{
  display:block; font-family:var(--font-mono); font-weight:600;
  font-size:clamp(26px,4vw,38px); color:var(--lime);
}
.stats__num--text{color:var(--blue);}
.stats__label{font-size:13px; color:var(--text-muted); margin-top:6px; display:block;}

/* =========================================================
   TAG CLOUD
   ========================================================= */
.tagcloud{max-width:var(--max); margin:0 auto; padding:80px 24px;}
.tagcloud__wrap{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.chip{
  background:var(--surface); border:1px solid var(--line); color:var(--text-muted);
  font-size:13px; padding:8px 16px; border-radius:999px;
  transition:border-color .15s, color .15s, background .15s;
}
.chip:hover{border-color:var(--text-muted); color:var(--text);}
.chip--accent{color:var(--lime); border-color:rgba(198,255,61,.35); background:rgba(198,255,61,.06);}

/* =========================================================
   BUILDS
   ========================================================= */
.builds{max-width:var(--max); margin:0 auto; padding:20px 24px 80px;}
.builds__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.build-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:22px; transition:border-color .2s, transform .2s;
}
.build-card:hover{border-color:var(--lime-dim); transform:translateY(-2px);}
.build-card__head{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
.build-card__head h3{font-family:var(--font-display); font-size:17px; font-weight:600;}
.build-card__arrow{color:var(--text-muted); transition:color .15s, transform .15s;}
.build-card:hover .build-card__arrow{color:var(--lime); transform:translate(2px,-2px);}
.build-card p{font-size:13.5px; color:var(--text-muted); margin-bottom:14px;}
.build-card__tags{display:flex; gap:8px; flex-wrap:wrap;}
.build-card__tags span{
  font-family:var(--font-mono); font-size:11px; color:var(--text-muted);
  border:1px solid var(--line); padding:4px 9px; border-radius:6px;
}

/* =========================================================
   MAKERS
   ========================================================= */
.makers{max-width:var(--max); margin:0 auto; padding:20px 24px 90px;}
.makers__list{display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}
.maker{
  display:flex; align-items:center; gap:10px;
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:8px 16px 8px 8px;
}
.maker__avatar{
  width:30px; height:30px; border-radius:50%; background:var(--surface-2);
  color:var(--lime); font-family:var(--font-mono); font-size:11px; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
.maker__name{font-size:13.5px; font-weight:500;}
.maker__count{font-size:12px; color:var(--text-muted); font-family:var(--font-mono);}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{border-top:1px solid var(--line); padding:56px 24px 24px;}
.footer__top{
  max-width:var(--max); margin:0 auto 32px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;
}
.footer__brand p{color:var(--text-muted); font-size:13.5px; margin-top:10px; max-width:220px;}
.footer__col h4{font-size:13px; color:var(--text-muted); margin-bottom:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.footer__col a{display:block; font-size:13.5px; color:var(--text); margin-bottom:9px; opacity:.85;}
.footer__col a:hover{color:var(--lime); opacity:1;}
.footer__bottom{
  max-width:var(--max); margin:0 auto; padding-top:20px; border-top:1px solid var(--line);
  font-size:12.5px; color:var(--text-muted);
}

/* =========================================================
   TOAST
   ========================================================= */
.toast{
  position:fixed; left:50%; bottom:28px; transform:translate(-50%, 20px);
  background:var(--lime); color:#0B0D12; font-weight:600; font-size:13px;
  padding:10px 18px; border-radius:999px;
  opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
  z-index:100; font-family:var(--font-mono);
}
.toast.show{opacity:1; transform:translate(-50%, 0);}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .hero{min-height:620px; padding-top:92px;}
  .hero__float--code{left:-96px; opacity:.46;}
  .hero__float--toggle{right:-102px; opacity:.5;}
  .hero__float--chip{left:3%;}
  .catalog__grid{grid-template-columns:repeat(3,1fr);}
  .builds__grid{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:1fr; gap:28px;}
  .footer__top{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .nav__links{
    position:absolute; top:100%; left:0; right:0;
    background:var(--ink-soft); border-bottom:1px solid var(--line);
    flex-direction:column; padding:16px 24px; gap:16px;
    display:none;
  }
  .nav__links.open{display:flex;}
  .nav__toggle{display:flex;}
  .btn--ghost{display:none;}
  .hero{min-height:590px; padding:76px 18px 86px;}
  .hero__title{font-size:clamp(38px, 10vw, 58px);}
  .hero__sub{max-width:540px;}
  .hero__ring{width:500px; height:500px; top:-28px;}
  .hero__orb--lime{right:-240px;}
  .hero__orb--blue{left:-290px;}
  .hero__float--code,.hero__float--toggle{display:none;}
  .hero__float--chip{bottom:56px; left:-30px; opacity:.34;}
  .catalog{margin-top:-58px;}
  .catalog__showcase{width:calc(100vw - 20px); margin-inline:calc(50% - 50vw + 10px); max-height:610px;}
  .catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
  .part{border-radius:11px;}
  .part__stage{min-height:136px; padding-inline:12px;}
  .part::before{font-size:8px; left:9px; top:8px;}
  .catalog__cta{bottom:80px;}
  .builds__grid{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr;}
}

@media (max-width:520px){
  .hero{min-height:600px; padding-top:64px;}
  .hero__eyebrow{font-size:10px; gap:6px; padding-inline:11px;}
  .hero__eyebrow-separator{display:none;}
  .hero__title{font-size:clamp(38px, 12vw, 50px); line-height:1.04;}
  .hero__sub{font-size:14.5px; line-height:1.65; margin-bottom:28px;}
  .hero__search{padding-left:16px; gap:6px;}
  .hero__search .btn{padding-inline:14px;}
  .hero__chips{max-width:340px; margin-inline:auto;}
  .catalog__showcase{max-height:570px;}
  .catalog__cta .btn{min-width:220px; font-size:14px;}
  .demo-glass{padding:12px;}
  .demo-glass__sub{font-size:10px;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}
/* Bootstrap-backed site frame and neutral canvas */
:root{--ink:#000;--surface:#101113;--surface-2:#17191c;--line:#2b2e33;--text:#f0f1f3;--text-muted:#969ca6}
html,body{background:#000!important;color:var(--text)}body{min-width:0}
.nav__inner,.footer__top,.footer__bottom{width:min(100% - 40px,1500px)!important;max-width:1500px!important;margin-inline:auto!important}
.header-search{display:flex;align-items:center;gap:8px;width:clamp(190px,18vw,290px);height:39px;padding:0 10px;border:1px solid #30343a;border-radius:9px;background:#101214;color:#777f8b}.header-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.header-search input{min-width:0;flex:1;border:0!important;outline:0;color:#ddd!important;background:transparent!important;font:13px Inter}.header-search kbd{padding:2px 5px;border:1px solid #34383e;border-radius:4px;color:#777f8b;background:#17191c;font:9px Inter}
@media(max-width:900px){.header-search{width:170px}.header-search kbd{display:none}.nav__inner,.footer__top,.footer__bottom{width:min(100% - 28px,1500px)!important}}
@media(max-width:620px){.header-search{width:42px;padding-inline:11px}.header-search input{position:absolute;width:1px;height:1px;opacity:0}.header-search:focus-within{position:absolute;z-index:20;left:14px;right:14px;width:auto;background:#101214}.header-search:focus-within input{position:static;width:auto;height:auto;opacity:1}.nav__actions>.btn--ghost{display:none}}
.nav__actions>.btn--solid:hover,.nav__actions>.btn--solid:focus-visible{color:#0b0d12!important;background:var(--lime)!important;border-color:var(--lime)!important;box-shadow:none!important;transform:none!important}
.footer{position:relative;overflow:hidden;background:#070809}.footer::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(circle at 1px 1px,rgba(198,255,61,.22) 1px,transparent 1.2px),linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.025) 49% 51%,transparent 52%);background-size:22px 22px,180px 180px;mask-image:linear-gradient(to bottom,transparent,#000 22%,#000)}.footer__top,.footer__bottom{position:relative;z-index:1}
@media(max-width:1100px) and (min-width:621px){.component-detail{width:calc(100% - 32px);padding-inline:0}.app-shell{width:calc(100% - 32px)}}
.nav__inner{justify-content:flex-start}.nav__links{margin-right:auto;gap:0}.elements-menu{display:flex!important;align-items:center;gap:16px;padding:10px 14px!important;border:1px solid #30343a;border-radius:9px;color:#e5e7ea!important;background:#17191c;font-size:14px!important}.elements-menu svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.elements-menu:hover{color:#e5e7ea!important;background:#17191c!important}.nav__actions{margin-left:0}
.footer::before{opacity:.18;background-image:linear-gradient(90deg,transparent 49%,rgba(255,255,255,.08) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(255,255,255,.07) 50%,transparent 51%),radial-gradient(circle at 25% 45%,rgba(198,255,61,.18) 0 3px,transparent 4px),radial-gradient(circle at 72% 65%,rgba(255,255,255,.15) 0 3px,transparent 4px);background-size:92px 92px,92px 92px,184px 184px,230px 230px;mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent)}.footer::after{content:"";position:absolute;inset:24px 6%;pointer-events:none;opacity:.12;background:linear-gradient(135deg,transparent 0 45%,rgba(198,255,61,.25) 46% 47%,transparent 48%) 0 0/240px 140px}
@media(max-width:720px){.nav__links{position:static;display:flex;padding:0;border:0;background:transparent;flex-direction:row}.nav__toggle{display:none}.elements-menu{padding:9px 11px!important}.elements-menu svg{display:none}.nav__inner{gap:10px}}
.login-modal{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:20px}.login-modal[hidden]{display:none}.login-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(12px);animation:modal-fade .18s ease}.login-modal__dialog{position:relative;width:min(100%,520px);padding:38px;border:1px solid #3a3e44;border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(198,255,61,.09),transparent 31%),#101214;box-shadow:0 40px 140px rgba(0,0,0,.85);animation:modal-enter .22s ease}.login-modal__close{position:absolute;right:15px;top:15px;width:36px;height:36px;border:1px solid #363a40;border-radius:9px;color:#aab0b9;background:#191c20;font-size:21px}.login-modal__mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border:1px solid rgba(198,255,61,.35);border-radius:13px;color:var(--lime);background:#14190e;font-size:25px}.login-modal__dialog>span{color:var(--lime);font:600 10px Inter;letter-spacing:.13em}.login-modal__dialog h2{max-width:410px;margin:8px 0 11px;font:700 31px/1.1 Montserrat;letter-spacing:-.035em}.login-modal__dialog>p{color:#949ba6;font-size:14px;line-height:1.6}.login-modal__providers{display:grid;gap:10px;margin:26px 0 20px}.login-modal__providers a{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:13px;min-height:66px;padding:11px 15px;border:1px solid #34383e;border-radius:11px;color:#eef0f3;background:#17191c}.login-modal__providers a:first-child{border-color:rgba(198,255,61,.35);background:#191d14}.login-modal__providers svg{width:27px;height:27px}.login-modal__providers span{display:flex;flex-direction:column}.login-modal__providers b{font-size:14px}.login-modal__providers small{margin-top:3px;color:#7e8691;font-size:10px}.login-modal__providers i{color:var(--lime);font-style:normal;font-size:18px}.login-modal__legal{display:block;color:#737b86;font-size:10px;line-height:1.5;text-align:center}@keyframes modal-fade{from{opacity:0}}@keyframes modal-enter{from{opacity:0;transform:translateY(14px) scale(.98)}}
@media(max-width:620px){.login-modal{padding:10px}.login-modal__dialog{padding:27px 20px}.login-modal__dialog h2{font-size:26px}}
.logo{gap:10px;flex:0 0 auto}.logo__mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(198,255,61,.28);border-radius:9px;color:var(--lime);background:linear-gradient(145deg,rgba(198,255,61,.12),rgba(198,255,61,.025));font:800 21px/1 Inter;box-shadow:inset 0 0 16px rgba(198,255,61,.045)}.logo__text{display:flex;align-items:baseline;font-family:Montserrat,sans-serif;letter-spacing:-.035em}.logo__word{color:#f1f2f4;font-size:20px;font-weight:750}.logo__domain{margin-left:2px;color:var(--lime);font-size:17px;font-weight:700;letter-spacing:-.02em}.logo:hover .logo__word{color:#fff}.logo:hover .logo__mark{border-color:rgba(198,255,61,.48)}

/* Stable site CTAs: green actions intentionally have no hover animation. */
.btn--solid,.framework-export__trigger,.filter-pill.active{transition:none!important}
.btn--solid:hover,.btn--solid:focus-visible,.framework-export__trigger:hover,.framework-export__trigger:focus-visible,.filter-pill.active:hover,.filter-pill.active:focus-visible{color:#0b0d12!important;border-color:var(--lime)!important;background:var(--lime)!important;box-shadow:none!important;filter:none!important;transform:none!important}

/* Quiet component-system blueprint used only as footer texture. */
.footer{isolation:isolate;background:#08090b}
.footer::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.055) 12% calc(12% + 1px),transparent calc(12% + 1px) 48%,rgba(198,255,61,.08) 48% calc(48% + 1px),transparent calc(48% + 1px) 84%,rgba(255,255,255,.045) 84% calc(84% + 1px),transparent calc(84% + 1px)),linear-gradient(0deg,transparent 0 34%,rgba(255,255,255,.05) 34% calc(34% + 1px),transparent calc(34% + 1px) 72%,rgba(255,255,255,.04) 72% calc(72% + 1px),transparent calc(72% + 1px));background-size:420px 180px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.footer::after{content:"";position:absolute;z-index:0;inset:22px 4%;pointer-events:none;opacity:.18;background-image:radial-gradient(circle,rgba(198,255,61,.75) 0 2px,transparent 2.5px),radial-gradient(circle,rgba(255,255,255,.55) 0 2px,transparent 2.5px),linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.2)),linear-gradient(90deg,rgba(198,255,61,.25),rgba(198,255,61,.25));background-position:10% 30%,88% 68%,10% 30%,48% 68%;background-repeat:no-repeat;background-size:5px 5px,5px 5px,38% 1px,40% 1px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.footer__top,.footer__bottom{position:relative;z-index:1}

/* Mobile shell: no page-level horizontal movement. */
html,body{max-width:100%;overflow-x:clip;overscroll-behavior:none;-webkit-text-size-adjust:100%}
button,a,input,textarea,select,[role=button]{touch-action:manipulation}
#loginTrigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding-inline:16px;white-space:nowrap}
#loginTrigger svg{display:block;flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#loginTrigger span{display:inline;line-height:1}
@media(max-width:720px){
  input,textarea,select{font-size:16px!important}
  .nav{height:auto;min-height:64px}
  .nav__inner{position:relative;display:flex!important;width:calc(100% - 24px)!important;min-height:64px;padding:8px 0;gap:8px!important}
  .logo{min-width:0;gap:7px}.logo__mark{width:28px;height:28px;border-radius:8px;font-size:18px}.logo__word{font-size:16px}.logo__domain{font-size:14px}
  .nav__links{position:absolute!important;z-index:30;top:calc(100% + 1px);left:-12px!important;right:-12px!important;width:auto!important;margin:0!important;padding:10px 12px!important;border:1px solid #292d32;border-width:1px 0;background:#0d0f11;box-shadow:0 18px 40px rgba(0,0,0,.55);display:none!important}
  .nav__links.open{display:flex!important}
  .elements-menu{width:100%;justify-content:center;padding:12px!important;font-size:13px!important}
  .nav__actions{min-width:0;margin-left:auto!important;gap:6px!important}
  .nav__actions>#loginTrigger{display:flex!important;align-items:center;justify-content:center;gap:6px;height:40px;min-width:78px;padding:0 9px!important;border-radius:9px!important;white-space:nowrap;font-size:11px;line-height:1}
  .nav__actions>#loginTrigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .nav__actions>a[href="/submit"]{display:none!important}
  .header-search{flex:0 0 40px!important;width:40px!important;height:40px;padding:0!important;justify-content:center}
  .header-search input,.header-search kbd{display:none!important}
  .nav.search-open .header-search{position:absolute;z-index:35;left:0;right:0;top:calc(100% + 7px);width:100%!important;display:flex!important;padding:0 13px!important;background:#111418;box-shadow:0 18px 45px rgba(0,0,0,.65)}
  .nav.search-open .header-search input{display:block!important;width:100%;font-size:16px}
  .nav__actions>.btn--solid{display:grid;place-items:center;height:40px;padding:0 11px!important;border-radius:9px!important;white-space:nowrap;font-size:11px!important;line-height:1!important}
  .nav__toggle{display:flex!important;flex:0 0 40px;width:40px;height:40px;padding:10px;border:1px solid #30343a;border-radius:9px;background:#14171a}
  .nav__toggle span{width:100%}
  .login-modal__dialog{padding:30px 20px 22px;border-radius:15px}.login-modal__dialog h2{font-size:25px}.login-modal__providers a{min-height:60px}
  .footer{padding-inline:12px}.footer__top,.footer__bottom{width:100%!important}.footer__top{gap:26px}
}
@media(max-width:390px){
  .logo__domain{display:none}.nav__actions>#loginTrigger{min-width:72px;padding-inline:7px!important;font-size:10px}
}
@media(max-width:620px){.logo{gap:7px}.logo__mark{width:27px;height:27px;font-size:18px}.logo__word{font-size:16px}.logo__domain{font-size:14px}}

/* Search icons are isolated from component/demo SVG rules. */
.header-search>.search-icon{display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;overflow:visible!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round}
.header-search{position:relative;margin:0}
.header-search__suggestions{position:absolute;z-index:120;top:calc(100% + 9px);left:0;width:min(390px,calc(100vw - 28px));padding:6px;border:1px solid #30343a;border-radius:10px;background:#111418;box-shadow:0 22px 60px rgba(0,0,0,.72)}
.header-search__suggestions[hidden]{display:none}
.header-search__suggestions a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border-radius:7px;color:#e1e4e8;text-decoration:none}
.header-search__suggestions a:hover,.header-search__suggestions a:focus-visible{outline:0;background:#1c2025}
.header-search__suggestions span{color:var(--lime);font:700 12px Inter}.header-search__suggestions b{overflow:hidden;font:600 13px Inter;text-overflow:ellipsis;white-space:nowrap}.header-search__suggestions small{color:#747c87;font:10px Inter;text-transform:capitalize}
