*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }

:root{
  --bg:        #0d0d0d;
  --bg-2:      #141414;
  --bg-3:      #1a1a1a;
  --fg:        #e6e6e6;
  --fg-dim:    #888;
  --fg-mute:   #555;
  --accent:    #ff8c42;
  --accent-d:  #b85f23;
  --line:      #222;
  --line-2:    #2a2a2a;
  --green:     #7dd3a8;
  --amber:     #e8c275;
  --red:       #ff6e6e;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}

html{ background:var(--bg); }
html, body{
  color:var(--fg);
  font-family:var(--mono);
  font-weight:400;
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body{ overflow-x:hidden; }
::selection{ background:var(--accent); color:var(--bg); }
a, button{
  color:inherit; text-decoration:none; background:none; border:none;
  font:inherit; cursor:pointer;
}

.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between;
  font-size:12.5px;
  background:rgba(13,13,13,.86);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
nav .left{
  font-weight:600; font-size:14px; color:var(--fg);
  display:flex; align-items:baseline; gap:8px;
}
nav .left .slash{ color:var(--accent); font-weight:700; }
nav .left .ver{
  font-size:10px; color:var(--fg-mute); font-weight:400;
  padding:2px 6px; border:1px solid var(--line); border-radius:1px;
}
nav .center{ display:flex; gap:18px; color:var(--fg-dim); flex-shrink:0; }
nav .center a{ position:relative; transition:color .25s ease; color:var(--fg-mute); }
nav .center a::before{ content:"./"; color:var(--accent); opacity:.7; margin-right:2px; }
nav .center a:hover{ color:var(--fg); }
nav .right{
  display:flex; align-items:center; gap:10px;
  color:var(--fg-mute); font-size:11px;
  flex-shrink:0;
}
nav .right .cur{
  font-size:10px; letter-spacing:.14em;
  padding:3px 8px; border:1px solid var(--line);
  color:var(--fg-dim);
}
nav .right .cur b{ color:var(--accent); font-weight:600; }
nav .right a.dc{
  display:flex; align-items:center; gap:6px;
  padding:5px 10px; border:1px solid var(--line);
  color:var(--fg-dim); font-size:11.5px;
  transition:border-color .25s ease, color .25s ease;
  white-space:nowrap;
}
nav .right a.dc:hover{ border-color:var(--accent); color:var(--fg); }
nav .right a.dc::before{ content:"→"; color:var(--accent); }

#hero{
  padding:170px 0 70px;
  position:relative;
}
.hero-prompt{
  font-size:12px; color:var(--fg-dim);
  margin-bottom:26px;
}
.hero-prompt .ps{ color:var(--accent); font-weight:600; }
.hero-prompt .cmd{ color:var(--fg); }
.hero-prompt .cur{
  display:inline-block; width:7px; height:13px;
  background:var(--accent); margin-left:6px;
  vertical-align:middle;
  animation:hBlink 1.05s steps(2) infinite;
}
@keyframes hBlink{ 50%{ opacity:0; } }
.hero-title{
  font-size:clamp(44px, 7vw, 84px);
  font-weight:700; letter-spacing:-.03em; line-height:1.05;
  margin-bottom:18px;
}
.hero-title .slash{ color:var(--accent); }
.hero-sub{
  color:var(--fg-dim); font-size:14.5px;
  max-width:560px;
  text-wrap:pretty;
}
.hero-sub .o{ color:var(--accent); }
.hero-sub .hs-title{
  color:var(--fg);
  font-size:18px; font-weight:700; letter-spacing:-.01em;
  margin-bottom:8px;
}
.hero-cta{
  margin-top:26px;
  padding:13px 24px;
  font-size:13px;
}

.stats{
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:1px; background:var(--line);
  border:1px solid var(--line);
  margin-top:44px;
  max-width:720px;
}
.stat{ background:var(--bg); padding:18px 22px; }
.stat .k{
  font-size:10.5px; color:var(--fg-mute);
  letter-spacing:.16em; text-transform:uppercase;
  margin-bottom:6px;
}
.stat .v{ font-size:26px; font-weight:700; letter-spacing:-.02em; }
.stat .v sup{ font-size:12px; color:var(--fg-dim); font-weight:400; }
.stat .v.o{ color:var(--accent); }
.stat .v.g{ color:var(--green); }

.sec{ padding:50px 0 110px; }
.sec-head{
  margin-bottom:42px;
  display:flex; align-items:baseline; gap:14px;
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
}
.sec-head .num{ color:var(--accent); font-size:13px; }
.sec-head .title{ font-size:20px; font-weight:700; letter-spacing:-.01em; }
.sec-head .meta{ margin-left:auto; color:var(--fg-mute); font-size:11px; }

.grep{
  display:flex; align-items:center; gap:10px;
  border:1px solid var(--line);
  background:var(--bg-2);
  padding:10px 14px;
  margin-bottom:34px;
  font-size:12.5px;
}
.grep .gp{ color:var(--accent); font-weight:600; white-space:nowrap; }
.grep input{
  flex:1; background:none; border:none; outline:none;
  color:var(--fg); font:inherit;
}
.grep input::placeholder{ color:var(--fg-mute); }
.grep .gx{ color:var(--fg-mute); cursor:pointer; padding:0 4px; }
.grep .gx:hover{ color:var(--red); }
.grep .gc{ color:var(--fg-mute); font-size:11px; white-space:nowrap; }
.grep .gc b{ color:var(--accent); }

.lic{
  display:inline-flex;
  border:1px solid var(--line-2);
  flex-shrink:0;
}
.lic button{
  padding:5px 12px;
  font-size:10.5px; letter-spacing:.06em;
  color:var(--fg-mute);
  transition:color .15s ease, background .15s ease;
  white-space:nowrap;
}
.lic button + button{ border-left:1px solid var(--line-2); }
.lic button:hover{ color:var(--fg-dim); }
.lic button.on{
  background:var(--accent);
  color:var(--bg);
  font-weight:600;
}
.grep .lic{ margin-left:6px; }

.led{
  width:7px; height:7px; border-radius:50%;
  background:var(--green);
  box-shadow:0 0 7px rgba(125,211,168,.5);
  flex-shrink:0;
}
[data-st="maintained"] .led{ background:var(--amber); box-shadow:0 0 7px rgba(232,194,117,.5); }
.pname{ font-weight:600; font-size:14.5px; }
.pname .pre{ color:var(--accent); }
.pname .ext{ color:var(--fg-mute); font-weight:400; }
.pver{
  font-size:10px; color:var(--fg-mute);
  border:1px solid var(--line); padding:1px 6px;
}
.badge{
  font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  padding:2px 7px; font-weight:600;
  border:1px solid rgba(255,140,66,.4);
  color:var(--accent);
  background:rgba(255,140,66,.07);
}
.badge.green{ border-color:rgba(125,211,168,.4); color:var(--green); background:rgba(125,211,168,.07); }

.price{
  display:flex; align-items:baseline; gap:8px;
  font-variant-numeric:tabular-nums;
}
.price .now{ font-size:22px; font-weight:700; color:var(--fg); letter-spacing:-.02em; }
.price .now .eur{ color:var(--accent); font-size:15px; margin-right:1px; }
.price .old{
  font-size:12.5px; color:var(--fg-mute);
  text-decoration:line-through;
}
.price .ask{ font-size:13px; color:var(--fg-dim); }

.btn{
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 14px;
  border:1px solid var(--line-2);
  font-size:12px; font-weight:500;
  color:var(--fg-dim);
  transition:border-color .2s ease, color .2s ease, background .2s ease;
  white-space:nowrap;
}
.btn:hover{ border-color:var(--fg-mute); color:var(--fg); }
.btn .gl{ color:var(--accent); }
.btn.buy{
  border-color:var(--accent-d);
  color:var(--accent);
  background:rgba(255,140,66,.06);
}
.btn.buy:hover{ background:var(--accent); color:var(--bg); border-color:var(--accent); }
.btn.buy:hover .gl{ color:var(--bg); }
.btn[disabled], .btn.off{ opacity:.45; pointer-events:none; }

.products{ display:grid; gap:14px; }
body[data-variant="grid"] .products{ grid-template-columns:repeat(3, 1fr); }

.pcard{
  border:1px solid var(--line);
  background:var(--bg-2);
  display:flex; flex-direction:column;
  position:relative;
  transition:border-color .25s ease, transform .25s ease;
  cursor:pointer;
}
.pcard:hover{ border-color:var(--line-2); transform:translateY(-3px); }
.pcard::after{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity:0; transition:opacity .25s ease;
}
.pcard:hover::after{ opacity:.6; }
.pcard .head{
  display:flex; align-items:center; gap:9px;
  padding:13px 16px;
  border-bottom:1px solid var(--line);
}
.pcard .head .pver{ margin-left:auto; }
.pcard .body{ padding:14px 16px; flex:1; display:flex; flex-direction:column; gap:12px; }
.pcard .desc{
  color:var(--fg-dim); font-size:12px; line-height:1.65;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
  text-wrap:pretty;
}
.pcard .meta{
  display:flex; gap:14px; flex-wrap:wrap;
  font-size:10.5px; color:var(--fg-mute);
  margin-top:auto;
}
.pcard .meta b{ color:var(--fg-dim); font-weight:500; }
.pcard .meta .more{ color:var(--fg-mute); transition:color .2s ease; }
.pcard .meta .more::before{ content:"→ "; color:var(--accent); }
.pcard:hover .meta .more{ color:var(--fg-dim); }
.pcard .foot{
  display:flex; align-items:center; gap:10px;
  padding:13px 16px;
  border-top:1px solid var(--line);
  background:var(--bg);
}
.pcard .foot .price{ margin-right:auto; }
.pcard .badge{ position:absolute; top:-1px; right:-1px; }

body[data-variant="list"] .products{ gap:0; border:1px solid var(--line); background:var(--bg-2); }
body[data-variant="list"] .pcard{
  flex-direction:row; align-items:center;
  border:none; border-bottom:1px solid var(--line);
  background:transparent;
  padding:0 16px;
  min-height:64px;
  gap:14px;
}
body[data-variant="list"] .pcard:last-child{ border-bottom:none; }
body[data-variant="list"] .pcard:hover{ transform:none; background:var(--bg-3); }
body[data-variant="list"] .pcard .head{
  border:none; padding:0;
  width:280px; flex-shrink:0;
}
body[data-variant="list"] .pcard .body{
  flex-direction:row; align-items:center;
  padding:0; gap:18px;
  overflow:hidden;
}
body[data-variant="list"] .pcard .desc{
  -webkit-line-clamp:1;
  font-size:11.5px;
  flex:1;
}
body[data-variant="list"] .pcard .meta{ display:none; }
body[data-variant="list"] .pcard .foot{
  border:none; background:transparent;
  padding:12px 0;
  flex-shrink:0;
}
body[data-variant="list"] .pcard .foot .price{ margin-right:4px; }
body[data-variant="list"] .price .now{ font-size:16px; }
body[data-variant="list"] .pcard .badge{ position:static; }
body[data-variant="list"] .btn{ padding:6px 11px; font-size:11px; }

body[data-variant="featured"] .products{ grid-template-columns:repeat(2, 1fr); }
body[data-variant="featured"] .pcard.feat{
  grid-column:1 / -1;
  flex-direction:row;
}
body[data-variant="featured"] .pcard.feat .head{
  flex-direction:column; align-items:flex-start; justify-content:center;
  gap:12px;
  width:300px; flex-shrink:0;
  border-bottom:none; border-right:1px solid var(--line);
  padding:26px 24px;
}
body[data-variant="featured"] .pcard.feat .head .pver{ margin-left:0; }
body[data-variant="featured"] .pcard.feat .head .pname{ font-size:20px; }
body[data-variant="featured"] .pcard.feat .body{ padding:24px; gap:16px; }
body[data-variant="featured"] .pcard.feat .desc{ -webkit-line-clamp:5; font-size:13px; max-width:640px; }
body[data-variant="featured"] .pcard.feat .foot{
  flex-direction:column; align-items:flex-end; justify-content:center;
  gap:12px;
  border-top:none; border-left:1px solid var(--line);
  padding:24px;
  flex-shrink:0;
}
body[data-variant="featured"] .pcard.feat .foot .price{ margin-right:0; }

.ytov{
  position:fixed; inset:0; z-index:600;
  background:rgba(0,0,0,.82);
  display:none;
  align-items:flex-start; justify-content:center;
  padding:6vh 24px 24px;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  overflow-y:auto;
}
.ytov.on{ display:flex; }
.dbox{
  width:min(780px, 100%);
  border:1px solid var(--line-2);
  background:var(--bg);
  animation:dIn .28s cubic-bezier(.22,1,.36,1) both;
}
@keyframes dIn{
  from{ opacity:0; transform:translateY(14px) scale(.985); }
  to  { opacity:1; transform:translateY(0) scale(1); }
}
.dbox .dh{
  display:flex; align-items:center; gap:10px;
  padding:13px 18px;
  border-bottom:1px solid var(--line);
  font-size:13px;
}
.dbox .dh .pname{ font-size:15px; }
.dbox .dh .x{
  margin-left:auto; color:var(--fg-mute);
  padding:2px 8px; font-size:14px;
}
.dbox .dh .x:hover{ color:var(--red); }
.dbox .dmedia{
  aspect-ratio:16/9; width:100%;
  background:var(--bg-2);
  border-bottom:1px solid var(--line);
  position:relative;
}
.dbox .dmedia iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:none; display:block; background:#000;
}
.dbox .dmedia .dnovid{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  color:var(--fg-mute); font-size:12px;
}
.dbox .dmedia .dnovid .ic{
  width:46px; height:46px;
  border:1px solid var(--line-2);
  display:grid; place-items:center;
  color:var(--fg-dim); font-size:15px;
}
.dbox .dbody{
  padding:22px 22px 4px;
  display:flex; flex-direction:column; gap:20px;
}
.dbox .ddesc{
  color:var(--fg-dim); font-size:13px; line-height:1.75;
  text-wrap:pretty;
}
.dbox .dlbl{
  font-size:9.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--fg-mute);
  margin-bottom:8px;
}
.dbox .deps{ display:flex; flex-wrap:wrap; gap:7px; }
.dbox .dep{
  font-size:11px; color:var(--fg-dim);
  border:1px solid var(--line-2);
  padding:3px 9px;
  background:var(--bg-2);
}
.dbox .dep::before{ content:"▸ "; color:var(--accent); }
.dbox .dperf{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line);
  border:1px solid var(--line);
}
.dbox .dperf .c{ background:var(--bg-2); padding:11px 14px; }
.dbox .dperf .c .k{
  font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--fg-mute); margin-bottom:3px;
}
.dbox .dperf .c .v{ font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; }
.dbox .dperf .c .v.g{ color:var(--green); }
.dbox .dmeta{
  display:flex; gap:18px; flex-wrap:wrap;
  font-size:11px; color:var(--fg-mute);
}
.dbox .dmeta b{ color:var(--fg-dim); font-weight:500; }
.dbox .df{
  display:flex; align-items:center; gap:18px;
  padding:16px 22px;
  margin-top:18px;
  border-top:1px solid var(--line);
  background:var(--bg-2);
}
.dbox .df .dlic{ margin-right:auto; }
.dbox .df .dlic .dlbl{ margin-bottom:6px; }
.dbox .df .price{ margin-left:auto; }
.dbox .df .price .now{ font-size:26px; }
@media (max-width:680px){
  .dbox .df{ flex-wrap:wrap; }
  .dbox .df .price{ margin-left:0; }
}

.custom-cta{
  margin-top:48px;
  border:1px solid var(--line);
  background:var(--bg-2);
  padding:30px 32px;
  display:flex; align-items:center; gap:28px;
  position:relative;
}
.custom-cta::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg, transparent, var(--accent), transparent);
  opacity:.7;
}
.custom-cta .cc-left{ flex:1; min-width:0; }
.custom-cta .cc-prompt{
  font-size:11px; color:var(--fg-mute);
  margin-bottom:12px;
}
.custom-cta .cc-prompt .ps{ color:var(--accent); font-weight:700; }
.custom-cta .cc-prompt .flag{ color:var(--fg-dim); }
.custom-cta .cc-title{
  font-size:19px; font-weight:700; letter-spacing:-.01em;
  margin-bottom:8px;
}
.custom-cta .cc-sub{
  color:var(--fg-dim); font-size:12.5px; line-height:1.7;
  max-width:560px;
  text-wrap:pretty;
}
.custom-cta .cc-btn{
  flex-shrink:0;
  padding:13px 22px;
  font-size:13px;
}
@media (max-width:680px){
  .custom-cta{ flex-direction:column; align-items:flex-start; padding:24px 20px; }
}

.store-note{
  color:var(--fg-mute); font-size:12px;
  padding:38px 0; text-align:center;
}
.store-note .o{ color:var(--accent); }

.signature-card{
  margin-top:90px;
  display:flex; align-items:center; justify-content:center; gap:14px;
  color:var(--fg-mute); font-size:11px;
  flex-wrap:wrap;
}
.signature-card .sc-rule{ flex:1; height:1px; background:var(--line); min-width:40px; }
.signature-card .sc-signature{ color:var(--fg); font-weight:600; font-size:13px; }
.signature-card .sc-slash{ color:var(--accent); }
.signature-card .sc-cursor{
  display:inline-block; width:6px; height:11px;
  background:var(--accent); margin-left:4px;
  animation:hBlink 1.05s steps(2) infinite;
  vertical-align:middle;
}

.devtools-warning{
  position:fixed; inset:0; z-index:9999;
  background:var(--bg);
  display:none;
  align-items:center; justify-content:center;
  flex-direction:column; gap:18px;
  padding:32px;
  text-align:center;
  font-family:var(--mono);
}
.devtools-warning.show{ display:flex; }
.devtools-warning .dw-glyph{
  font-size:64px;
  color:var(--red);
  text-shadow:0 0 24px rgba(255,110,110,.4);
  font-weight:700;
  letter-spacing:-.04em;
}
.devtools-warning .dw-title{
  font-size:18px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg);
  font-weight:600;
}
.devtools-warning .dw-title .o{ color:var(--accent); }
.devtools-warning .dw-body{
  font-size:13px;
  line-height:1.7;
  color:var(--fg-dim);
  max-width:520px;
}
.devtools-warning .dw-body b{ color:var(--fg); }
.devtools-warning .dw-foot{
  font-size:10px; letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--fg-mute);
  margin-top:12px;
}
.devtools-warning .dw-foot::before{ content:"$ "; color:var(--accent); }

@media (max-width:980px){
  body[data-variant="grid"] .products{ grid-template-columns:repeat(2, 1fr); }
  body[data-variant="featured"] .products{ grid-template-columns:1fr; }
  body[data-variant="featured"] .pcard.feat{ flex-direction:column; }
  body[data-variant="featured"] .pcard.feat .head{
    width:100%; border-right:none; border-bottom:1px solid var(--line);
    flex-direction:row; align-items:center; padding:14px 16px;
  }
  body[data-variant="featured"] .pcard.feat .head .pname{ font-size:15px; }
  body[data-variant="featured"] .pcard.feat .foot{
    flex-direction:row; align-items:center;
    border-left:none; border-top:1px solid var(--line);
    padding:13px 16px;
  }
  body[data-variant="featured"] .pcard.feat .foot .price{ margin-right:auto; }
  nav .center{ display:none; }
}
@media (max-width:680px){
  .wrap{ padding:0 18px; }
  body[data-variant="grid"] .products{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:repeat(2, 1fr); }
  .grep{ flex-wrap:wrap; }
  .grep .lic{ margin-left:auto; }
  body[data-variant="list"] .pcard{ flex-wrap:wrap; padding:12px 14px; gap:8px; }
  body[data-variant="list"] .pcard .head{ width:100%; }
  body[data-variant="list"] .pcard .body{ width:100%; }
  body[data-variant="list"] .pcard .foot{ width:100%; justify-content:flex-end; padding:4px 0 2px; }
  nav .right .cur{ display:none; }
}
