/* melreus — techno mac portal */
:root{
  --bg:#070a12; --bg-2:#0b111d; --panel:#0e1524; --panel-2:#131c2e;
  --line:#1e293b; --line-2:#263349;
  --fg:#e8eef8; --fg-2:#a8b6cc; --muted:#6b7c96;
  --cy:#35e0c0; --vi:#a78bfa; --bl:#60a5fa; --am:#fbbf24; --rd:#f87171; --gn:#4ade80;
  --sans:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1200px; --read:800px; --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:17px;
  line-height:1.7;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(rgba(53,224,192,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(53,224,192,.028) 1px,transparent 1px);
  background-size:44px 44px}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--cy)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.read{max-width:var(--read);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;background:var(--panel);padding:10px 16px;border-radius:8px;z-index:99}
::selection{background:rgba(53,224,192,.3)}

/* header */
.hd{position:sticky;top:0;z-index:60;background:rgba(7,10,18,.86);
  backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line)}
.hd-in{max-width:var(--wrap);margin:0 auto;padding:11px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:16px}
.bd{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--fg)}
.bd img{width:32px;height:32px}
.bd b{font-family:var(--mono);font-size:1.05rem;letter-spacing:-.02em}
.bd span{color:var(--muted);font-size:.7rem;font-family:var(--mono);display:block;line-height:1}
.nv{display:flex;gap:3px;align-items:center;flex-wrap:wrap}
.nv a{padding:8px 13px;border-radius:9px;text-decoration:none;color:var(--fg-2);font-weight:600;
  font-size:.92rem}
.nv a:hover{background:var(--panel-2);color:var(--fg)}
.nv a.on{background:rgba(53,224,192,.13);color:var(--cy)}
.nv a.gh{border:1px solid var(--line-2);font-family:var(--mono);font-size:.84rem}

/* hero */
.hero{padding:74px 0 60px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-40% 30% 40% -10%;
  background:radial-gradient(circle,rgba(53,224,192,.16),transparent 62%);pointer-events:none}
.hero .wrap{position:relative}
.hg{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}
@media(max-width:940px){.hg{grid-template-columns:1fr}}
h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.08;margin:0 0 18px;letter-spacing:-.035em}
.hero p.l{color:var(--fg-2);font-size:1.12rem;max-width:640px;margin:0 0 26px}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.76rem;
  color:var(--cy);background:rgba(53,224,192,.1);border:1px solid rgba(53,224,192,.28);
  padding:5px 13px;border-radius:999px;margin-bottom:18px}
.btn{display:inline-block;padding:12px 22px;border-radius:11px;text-decoration:none;font-weight:700;
  font-size:.95rem;transition:transform .15s,box-shadow .15s;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.b1{background:var(--cy);color:#04140f;box-shadow:0 12px 34px -16px var(--cy)}
.b2{background:transparent;color:var(--fg);border-color:var(--line-2)}
.b2:hover{border-color:var(--cy);color:var(--cy)}
.br{display:flex;gap:11px;flex-wrap:wrap}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;font-family:var(--mono)}
.stats div b{display:block;font-size:1.5rem;color:var(--cy);line-height:1.2}
.stats div span{font-size:.76rem;color:var(--muted)}

/* sections */
.bnd{padding:62px 0;border-bottom:1px solid var(--line)}
.bnd h2{font-size:clamp(1.45rem,2.7vw,1.95rem);letter-spacing:-.025em;margin:0 0 8px}
.bnd .l{color:var(--muted);margin:0 0 30px;max-width:640px}
.eyebrow{font-family:var(--mono);font-size:.74rem;color:var(--cy);letter-spacing:.14em;
  text-transform:uppercase;margin:0 0 10px}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:940px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.pnl{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.pnl h3{margin:0 0 8px;font-size:1.03rem;letter-spacing:-.01em}
.pnl p{margin:0;color:var(--muted);font-size:.93rem}
.pnl .n{font-family:var(--mono);font-size:.72rem;color:var(--cy);letter-spacing:.1em}

/* cards */
.pc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.pc:hover{border-color:var(--line-2);transform:translateY(-3px)}
.pc .th{background:var(--bg-2);border-bottom:1px solid var(--line);line-height:0;padding:12px}
.pc .bo{padding:18px 20px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.tg{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.7rem;
  color:var(--vi);background:rgba(167,139,250,.11);border:1px solid rgba(167,139,250,.24);
  padding:3px 10px;border-radius:999px;width:fit-content}
.tg.t-fix{color:var(--rd);background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.24)}
.tg.t-cfg{color:var(--am);background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.24)}
.tg.t-ref{color:var(--bl);background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.24)}
.pc h3{margin:0;font-size:1.04rem;line-height:1.35;letter-spacing:-.015em}
.pc h3 a{color:var(--fg);text-decoration:none}
.pc:hover h3 a{color:var(--cy)}
.pc p{margin:0;color:var(--muted);font-size:.9rem}
.mt{margin-top:auto;padding-top:8px;font-family:var(--mono);font-size:.72rem;color:#4d5c75}

/* article */
.ph{padding:52px 0 44px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.ph:before{content:"";position:absolute;inset:-60% 40% 20% -20%;
  background:radial-gradient(circle,rgba(167,139,250,.14),transparent 60%)}
.ph .read{position:relative}
.ph h1{font-size:clamp(1.65rem,3.6vw,2.5rem);margin:12px 0 14px}
.ph .sb{color:var(--fg-2);font-size:1.06rem;margin:0}
.ph .bits{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin-top:16px}
.crumbs{font-family:var(--mono);font-size:.76rem;color:var(--muted);padding:16px 0 0}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--cy)}
article{padding:40px 0 24px}
article h2{font-size:1.42rem;letter-spacing:-.025em;margin:2.7rem 0 1rem;scroll-margin-top:80px;
  padding-left:15px;border-left:3px solid var(--cy)}
article h3{font-size:1.1rem;margin:2rem 0 .8rem;scroll-margin-top:80px;color:var(--fg)}
article p{margin:0 0 1.35rem;color:#d3ddec}
article ul,article ol{margin:0 0 1.45rem;padding-left:1.3rem;color:#d3ddec}
article li{margin-bottom:.55rem}
article li::marker{color:var(--cy)}
article strong{color:var(--fg)}
code{font-family:var(--mono);font-size:.87em;background:var(--panel-2);color:var(--cy);
  padding:2px 6px;border-radius:5px;border:1px solid var(--line);word-break:break-word}
kbd{font-family:var(--mono);font-size:.82em;background:#111a2b;color:var(--fg);
  border:1px solid var(--line-2);border-bottom-width:2px;border-radius:6px;padding:2px 7px;
  white-space:nowrap}
.xl{color:var(--cy);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(53,224,192,.4)}
.xl:hover{text-decoration-color:var(--cy)}
figure{margin:2rem 0}
figcaption{color:var(--muted);font-size:.83rem;margin-top:10px;font-family:var(--mono);
  text-align:center}
.toc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 24px;margin:0 0 32px}
.toc h4{margin:0 0 12px;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cy)}
.toc ol{margin:0;padding-left:1.1rem;counter-reset:t}
.toc li{margin:.32rem 0;color:var(--muted)}
.toc a{color:var(--fg-2);text-decoration:none;font-size:.93rem}
.toc a:hover{color:var(--cy)}
.cb{border-radius:0 12px 12px 0;padding:15px 20px;margin:1.7rem 0;font-size:.96rem;
  background:var(--panel)}
.cb p{margin:0;color:#cfdaea}
.cb p+p{margin-top:.7rem}
.cb .h{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  display:block;margin-bottom:7px}
.cb.i{border-left:3px solid var(--bl)} .cb.i .h{color:var(--bl)}
.cb.t{border-left:3px solid var(--gn)} .cb.t .h{color:var(--gn)}
.cb.w{border-left:3px solid var(--am)} .cb.w .h{color:var(--am)}
.cb.d{border-left:3px solid var(--rd)} .cb.d .h{color:var(--rd)}
pre{background:#0a0f1b;border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  overflow-x:auto;margin:1.6rem 0;font-family:var(--mono);font-size:.85rem;line-height:1.65}
pre code{background:none;border:0;padding:0;color:#cfe9e2}
pre .c{color:var(--muted)}
pre .p{color:var(--vi)}
.keys{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:1.6rem 0}
@media(max-width:640px){.keys{grid-template-columns:1fr}}
.key{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 14px;
  display:flex;align-items:center;gap:11px;font-size:.9rem;color:var(--fg-2)}
table{width:100%;border-collapse:collapse;margin:1.7rem 0;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.9rem}
th{background:var(--panel-2);color:var(--cy);text-align:left;padding:11px 15px;font-weight:600;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.04em}
td{padding:11px 15px;border-top:1px solid var(--line);color:#cbd5e1;vertical-align:top}
td code{font-size:.83em}
.cta{background:linear-gradient(135deg,var(--panel),#101a2e);border:1px solid var(--line-2);
  border-radius:18px;padding:30px;text-align:center;margin:2.5rem 0}
.cta h3{margin:0 0 8px;font-size:1.25rem;letter-spacing:-.02em}
.cta p{color:var(--muted);margin:0 0 18px;font-size:.95rem}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:14px 20px;margin-bottom:9px}
.faq summary{cursor:pointer;font-weight:650;list-style:none;color:var(--fg)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--cy);font-family:var(--mono)}
.faq details[open] summary::after{content:"\2212"}
.faq p{margin:.8rem 0 .2rem;color:var(--fg-2);font-size:.94rem}
.nxt{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:2.4rem 0}
@media(max-width:640px){.nxt{grid-template-columns:1fr}}
.nxt a{display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:15px 18px;text-decoration:none;color:var(--fg);font-size:.95rem;line-height:1.4}
.nxt a:hover{border-color:var(--cy)}
.nxt span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.filters button{border:1px solid var(--line);background:var(--panel);color:var(--fg-2);
  border-radius:999px;padding:7px 15px;font:inherit;font-family:var(--mono);font-size:.8rem;
  cursor:pointer}
.filters button:hover{border-color:var(--line-2)}
.filters button[aria-pressed="true"]{background:rgba(53,224,192,.13);color:var(--cy);
  border-color:rgba(53,224,192,.35)}
.sym{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;margin:1.7rem 0}
@media(max-width:640px){.sym{grid-template-columns:1fr}}
.sym>div{padding:14px 18px;background:var(--panel)}
.sym>div:nth-child(odd){border-right:1px solid var(--line)}
.sym>div:nth-child(n+3){border-top:1px solid var(--line)}
.sym .k{font-family:var(--mono);font-size:.72rem;color:var(--muted);display:block;margin-bottom:4px;
  letter-spacing:.1em;text-transform:uppercase}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}
.form-row label{font-weight:600;font-size:.9rem}
.form-row input,.form-row textarea{font:inherit;padding:11px 14px;border:1px solid var(--line);
  border-radius:10px;background:var(--bg-2);color:var(--fg)}
.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--cy);border-color:var(--cy)}

/* footer */
.ft{background:#050710;border-top:1px solid var(--line);margin-top:0;padding:52px 0 26px}
.fg{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:30px}
@media(max-width:860px){.fg{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fg{grid-template-columns:1fr}}
.ft h4{color:var(--fg);font-size:.8rem;margin:0 0 13px;font-family:var(--mono);
  letter-spacing:.12em;text-transform:uppercase}
.ft a{display:block;color:var(--muted);text-decoration:none;font-size:.9rem;margin-bottom:8px}
.ft a:hover{color:var(--cy)}
.ft p{color:var(--muted);font-size:.9rem;margin:0 0 12px}
.fb{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;font-size:.8rem;
  color:#4d5c75;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-family:var(--mono)}
