:root{
  --void:#05070c;
  --panel:#0c111c;
  --panel-2:#0a0e17;
  --steel:#1b2233;
  --cyan:#00e5ff;
  --cyan-hi:#33ecff;
  --purple:#8b5cf6;
  --amber:#ffb020;
  --ghost:#e8edf5;
  --soft:#c3cadb;
  --dim:#7a8399;
  --faint:#5a6480;
  --danger:#ff4d6d;
  --display:'Chakra Petch',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --body:'Inter',system-ui,sans-serif;
  --cut:14px;
  color-scheme:dark;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
html,body{margin:0;}
body{
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(0,229,255,.08), transparent 60%),
    radial-gradient(1000px 500px at 100% 0%, rgba(139,92,246,.10), transparent 55%),
    var(--void);
  background-attachment:fixed;
  color:var(--ghost);
  font-family:var(--body);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
main{flex:1;width:100%;}
a{color:inherit;}
img{max-width:100%;}
.display{font-family:var(--display);}
.mono{font-family:var(--mono);}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px;}
.wrap.narrow > *{max-width:900px;}
.hidden{display:none !important;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
::selection{background:rgba(0,229,255,.28);}

.skip{
  position:absolute;left:12px;top:-60px;z-index:100;
  background:var(--cyan);color:var(--void);padding:9px 14px;border-radius:3px;
  font-family:var(--display);font-weight:600;font-size:13px;text-decoration:none;
  transition:top .15s;
}
.skip:focus{top:12px;}

.topbar{padding:22px 0 0;}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.wordmark{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-weight:700;font-size:18px;
  text-decoration:none;letter-spacing:.01em;
}
.wordmark img{width:24px;height:24px;display:block;}
.wordmark span{color:var(--dim);font-weight:500;}
.topbar nav{display:flex;gap:6px;flex-wrap:wrap;}
.topbar nav a{
  display:inline-flex;align-items:center;min-height:44px;
  font-family:var(--mono);font-size:12px;color:var(--dim);
  text-decoration:none;border:1px solid var(--steel);padding:7px 10px;border-radius:3px;
  transition:color .15s,border-color .15s,background .15s;
}
.topbar nav a:hover{color:var(--ghost);border-color:var(--cyan);}
.topbar nav a[aria-current="page"]{color:var(--cyan);border-color:var(--cyan);background:rgba(0,229,255,.07);}

.pageHead{padding:36px 0 22px;}
.pageHead h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(28px,4.4vw,42px);line-height:1.1;letter-spacing:.005em;
  margin:0 0 8px;
}
.pageHead h1 span{color:var(--dim);font-weight:500;}
.pageHead p{margin:0;color:var(--dim);font-size:14px;line-height:1.6;max-width:62ch;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:.03em;
  background:transparent;border:1px solid var(--cyan);color:var(--cyan);
  padding:10px 16px;border-radius:3px;cursor:pointer;text-decoration:none;
  transition:background .15s,color .15s,border-color .15s,opacity .15s;
}
.btn:hover{background:var(--cyan);color:var(--void);}
.btn.solid{background:var(--cyan);color:var(--void);}
.btn.solid:hover{background:var(--cyan-hi);border-color:var(--cyan-hi);}
.btn.ghost{border-color:var(--steel);color:var(--dim);}
.btn.ghost:hover{background:var(--steel);color:var(--ghost);}
.btn.sm{padding:6px 12px;font-size:12px;min-height:40px;}
.btn.dashed{
  border-style:dashed;font-family:var(--mono);font-weight:400;font-size:12.5px;letter-spacing:0;
}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.btn:disabled:hover{background:transparent;color:var(--cyan);}
.btn:active{opacity:.7;}

input[type="text"],input[type="password"],input[type="number"],select,textarea{
  background:var(--panel);border:1px solid var(--steel);
  color:var(--ghost);font-family:var(--mono);font-size:13.5px;
  padding:10px 12px;border-radius:3px;outline:none;
  transition:border-color .15s;
}
input::placeholder,textarea::placeholder{color:#4d5568;}
input:focus,select:focus,textarea:focus{border-color:var(--cyan);}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 1px var(--cyan);}
select{cursor:pointer;}

.controls,.lookup{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:8px;}
.w-sm{width:170px;max-width:100%;}
.w-md{width:230px;max-width:100%;}
.w-lg{width:220px;max-width:100%;}

.status{
  color:var(--dim);font-family:var(--mono);font-size:13px;
  min-height:18px;margin:16px 0;line-height:1.5;
}
.status.err{color:var(--danger);}

.msg{font-family:var(--mono);font-size:12.5px;color:var(--dim);text-align:center;line-height:1.5;}
.msg.err{color:var(--danger);}

.panel{background:var(--panel);border:1px solid var(--steel);padding:20px;border-radius:4px;}
.hexPanel{
  background:var(--panel);border:1px solid var(--steel);padding:22px;
  clip-path:polygon(0 var(--cut),var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);
}

.sectionLabel{
  font-family:var(--mono);font-size:10.5px;color:var(--dim);
  letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;
}

.shimmer{
  background:linear-gradient(100deg,#0d1320 30%,#141c2e 50%,#0d1320 70%);
  background-size:200% 100%;
}
@media (prefers-reduced-motion:no-preference){
  .shimmer{animation:shimmer 1.6s linear infinite;}
  @keyframes shimmer{to{background-position:-200% 0;}}
}

.siteFooter{
  max-width:1180px;width:100%;margin:0 auto;padding:36px 20px 48px;
  color:var(--faint);font-size:12.5px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;
}
.siteFooter a{color:var(--faint);text-decoration:none;display:inline-block;padding:12px 6px;}
.siteFooter a:hover{color:var(--dim);text-decoration:underline;}

svg.icon{width:22px;height:22px;flex-shrink:0;}

.hero{padding-block:56px 36px;}
.hero h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(34px,5.4vw,58px);line-height:1.05;letter-spacing:.005em;
  margin:0 0 18px;max-width:14ch;
}
.heroSub{font-size:16px;line-height:1.6;color:var(--soft);max-width:56ch;margin:0 0 30px;}
.demo{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:22px;}
.demo input{font-size:14px;padding:12px 14px;width:220px;max-width:100%;}
.demo .btn{padding:12px 20px;font-size:14px;}
.demoStage{min-height:110px;display:flex;align-items:center;padding:4px 0;}
.demoStage img{display:block;height:auto;}
.demoStage .msg{text-align:left;}

section.block{padding-block:40px;}
.sectionHead{margin-bottom:26px;max-width:60ch;}
.sectionHead h2{font-family:var(--display);font-weight:700;font-size:24px;margin:0 0 8px;}
.sectionHead p{color:var(--dim);font-size:14px;line-height:1.6;margin:0;}

.typeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:980px){.typeGrid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.typeGrid{grid-template-columns:1fr;}}
.typeCard{display:flex;flex-direction:column;gap:14px;min-width:0;}
.typeCard .head{display:flex;gap:12px;align-items:center;}
.typeCard .head svg{color:var(--cyan);}
.typeCard h3{font-family:var(--display);font-size:16px;margin:0;}
.typeCard p{color:var(--dim);font-size:13px;line-height:1.55;margin:0;flex:1;}
.typeCard .thumb{border:1px solid var(--steel);padding:10px;background:var(--void);overflow:auto;}
.typeCard .thumb img{display:block;height:auto;}
.lazyBox{display:flex;align-items:center;justify-content:center;min-height:120px;}
.typeCard code{
  font-family:var(--mono);font-size:11px;color:var(--dim);
  background:var(--void);border:1px solid var(--steel);padding:6px 8px;border-radius:3px;
  word-break:break-all;
}

.toolGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media (max-width:900px){.toolGrid{grid-template-columns:1fr;}}
.toolCard{display:flex;flex-direction:column;gap:12px;}
.toolCard svg{color:var(--purple);width:26px;height:26px;}
.toolCard h3{font-family:var(--display);font-size:16px;margin:0;}
.toolCard p{color:var(--dim);font-size:13px;line-height:1.55;margin:0;flex:1;}
.toolCard a.go{
  display:inline-flex;align-items:center;min-height:44px;
  font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.03em;
  color:var(--cyan);text-decoration:none;align-self:flex-start;
  border-bottom:1px solid transparent;
}
.toolCard a.go:hover{border-bottom-color:var(--cyan);}

.embedBlock{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;}
.embedCode{
  flex:1;min-width:260px;background:#020402;border:1px solid #1b2f1e;
  padding:18px;padding-right:76px;font-family:var(--mono);font-size:13px;color:#3ddc6a;
  position:relative;word-break:break-all;line-height:1.5;
}
.embedCode .btn{
  min-height:44px;
  position:absolute;top:10px;right:10px;
  border-color:#1b2f1e;color:#3ddc6a;padding:5px 9px;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:0;
}
.embedCode .btn:hover{background:#1b2f1e;color:#3ddc6a;}
.embedPreview{flex:1;min-width:260px;padding:10px;}
.embedPreview img{height:auto;}

.layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:28px;align-items:start;padding-bottom:40px;}
@media (max-width:820px){.layout{grid-template-columns:1fr;}}
.layout .panel + .panel{margin-top:20px;}
.field{margin-bottom:16px;}
.layout .panel > .field:last-child{margin-bottom:0;}
.field label,.outRow label,.fieldLabel{
  display:block;font-family:var(--mono);font-size:10.5px;
  color:var(--dim);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase;
}
.field input[type="text"],.field input[type="number"],.field select{width:100%;background:var(--panel-2);}
.stack > * + *{margin-top:8px;}

.colorField{display:flex;gap:8px;align-items:center;}
.colorField input[type="color"]{
  width:38px;height:38px;padding:0;border:1px solid var(--steel);border-radius:3px;
  background:none;cursor:pointer;flex-shrink:0;
}
.colorField input[type="text"]{flex:1;}
.colorField.autoColor input[type="color"]::-webkit-color-swatch{background:repeating-linear-gradient(45deg,#2a3350 0 6px,#1b2233 6px 12px);}
.colorField.autoColor input[type="color"]::-moz-color-swatch{background:repeating-linear-gradient(45deg,#2a3350 0 6px,#1b2233 6px 12px);}

.typePicker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.typeBtn{
  font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.02em;
  background:transparent;border:1px solid var(--steel);color:var(--dim);
  padding:10px 8px;border-radius:3px;cursor:pointer;text-align:center;
  transition:border-color .15s,color .15s,background .15s;
}
.typePicker .typeBtn:last-child:nth-child(odd){grid-column:1 / -1;}
.typeBtn:hover{color:var(--ghost);border-color:var(--faint);}
.typeBtn[aria-pressed="true"]{border-color:var(--cyan);color:var(--cyan);background:rgba(0,229,255,.08);}

.trophyGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 10px;}
.field .trophyChip{
  display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;
  color:var(--dim);margin:0;text-transform:none;letter-spacing:0;cursor:pointer;
}
.trophyChip input{accent-color:var(--cyan);}

.hint{font-family:var(--mono);font-size:11.5px;color:#8089a0;margin:6px 0 0;line-height:1.5;}

.presetGrid{display:flex;flex-wrap:wrap;gap:8px;}
.presetChip{
  display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;
  color:var(--dim);background:none;border:1px solid var(--steel);padding:6px 10px;cursor:pointer;
  transition:border-color .15s,color .15s;
}
.presetChip:hover{color:var(--ghost);border-color:var(--faint);}
.presetChip.active{color:var(--cyan);border-color:var(--cyan);background:rgba(0,229,255,.08);}
.presetChip.active::after{content:'✓';font-weight:700;}
.presetChip i{display:inline-block;width:14px;height:14px;border:1px solid rgba(255,255,255,.25);}

.previewPanel{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;}
@media (max-width:820px){.previewPanel{position:static;max-height:none;}}
.previewBox{
  min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:var(--panel-2);border:1px dashed var(--steel);border-radius:4px;padding:24px;margin-bottom:18px;
}
.previewBox img{height:auto;display:block;}
.outRow{margin-bottom:14px;}
.outRow:last-child{margin-bottom:0;}
.outRow label{margin-bottom:8px;}
.outBox{display:flex;gap:8px;align-items:stretch;}
.outBox textarea{
  flex:1;resize:vertical;min-height:44px;background:var(--panel-2);font-size:12.5px;line-height:1.5;
}
.outBox .btn{padding:0 14px;white-space:nowrap;font-size:12.5px;}

.repoMeta .stars{color:var(--amber);}
.repoEmpty{font-family:var(--mono);color:var(--dim);}

.lbPreview{display:none;margin:18px 0 0;}
.lbPreview.show{display:block;}
.lbHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.lbPreview img{display:block;height:auto;}

.grid{
  margin:18px 0 0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:22px;
}
.card{position:relative;min-height:200px;transition:transform .15s ease;}
.card img{display:block;width:100%;height:auto;}
.card.ready{cursor:pointer;}
.card.ready:hover{transform:translateY(-3px);}
.card.skeleton{
  border:1px solid var(--steel);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;color:var(--dim);
}
.card.errorCard{
  background:#0d1320;border:1px solid var(--danger);color:var(--danger);
  font-family:var(--mono);font-size:12px;padding:16px;
}

#overlay{
  position:fixed;inset:0;background:rgba(2,4,8,.86);
  backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;
  padding:24px;z-index:50;
}
#overlay.open{display:flex;}
.dossier{
  width:min(560px,100%);max-height:100%;overflow:auto;
  background:var(--panel);border:1px solid var(--cyan);
  position:relative;padding:28px 26px 26px;
  clip-path:polygon(0 18px,18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
.dossier .scan{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg, rgba(0,229,255,.03) 0 1px, transparent 1px 3px);
}
.closeBtn{
  position:absolute;top:12px;right:14px;background:none;border:none;color:var(--dim);
  font-size:20px;cursor:pointer;line-height:1;padding:6px;z-index:1;
}
.closeBtn:hover{color:var(--ghost);}
.dLogin{font-family:var(--mono);font-size:12.5px;color:var(--dim);text-align:center;margin:10px 0 0;}
.dossier .bio{font-size:13.5px;line-height:1.6;color:var(--soft);margin:14px 0 18px;}
.dossierCard{display:block;margin:0 auto;max-width:100%;height:auto;}
.dossierActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition-duration:.01ms !important;}
}

.lbLabel{margin:0;}

.membersPanel{margin-top:28px;padding-top:16px;border-top:1px solid var(--steel);}
.membersPanel [hidden]{display:none;}
.membersToggle{display:inline-flex;align-items:center;min-height:44px;}
.membersBody{margin-top:14px;}
