/* MeshChat site: one stylesheet, no external assets. Logical properties make it RTL-safe. */
:root{color-scheme:light dark;--bg:#fff;--bg2:#f3f6f8;--fg:#10181f;--mut:#4c5b68;--line:#d9e0e6;--acc:#0b7a75;--acc-fg:#fff;--card:#fff;--max:68rem}
@media (prefers-color-scheme:dark){:root{--bg:#0d1319;--bg2:#131b23;--fg:#e8eef3;--mut:#9fb0bd;--line:#26333f;--acc:#3fcfc4;--acc-fg:#06201e;--card:#131b23}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:1.0625rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Naskh Arabic","Geeza Pro",Tahoma,sans-serif}
a{color:var(--acc)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:4px}
.skip{position:absolute;inset-inline-start:.5rem;top:-4rem;background:var(--acc);color:var(--acc-fg);padding:.5rem 1rem;border-radius:6px;z-index:10}
.skip:focus{top:.5rem}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:1.25rem}
header.top{border-bottom:1px solid var(--line);background:var(--bg)}
header.top .wrap{display:flex;align-items:center;gap:1rem;justify-content:space-between;min-height:4rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.2rem;color:var(--fg);text-decoration:none}
.brand img{width:1.9rem;height:1.9rem}
nav.main{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
nav.main a{color:var(--fg);text-decoration:none;font-size:.97rem}
nav.main a:hover{color:var(--acc);text-decoration:underline}
nav.main a.lang{border:1px solid var(--line);border-radius:999px;padding:.15rem .8rem}
.hero{padding-block:4.5rem 3.5rem;background:linear-gradient(180deg,var(--bg2),var(--bg))}
.hero .wrap{display:grid;gap:2.5rem;grid-template-columns:1.15fr .85fr;align-items:center}
h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12;margin:0 0 1rem;letter-spacing:-.02em}
[dir=rtl] h1{letter-spacing:0}
h2{font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.2;margin:0 0 .6rem}
h3{font-size:1.15rem;margin:0 0 .35rem}
.lead{font-size:1.2rem;color:var(--mut);margin:0 0 1.6rem;max-width:40rem}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.75rem 1.4rem;border-radius:10px;font-weight:600;text-decoration:none;border:1px solid var(--acc);background:var(--acc);color:var(--acc-fg)}
.btn.alt{background:transparent;color:var(--acc)}
.btn:hover{filter:brightness(1.08)}
.btn:disabled{font:inherit;opacity:.65;cursor:not-allowed;background:transparent;color:var(--mut);border-color:var(--line)}
.btn:disabled:hover{filter:none}
.soon{font-size:.78rem;font-weight:600;margin-inline-start:.4rem;padding:.1rem .5rem;border-radius:999px;background:var(--bg2);border:1px solid var(--line);color:var(--mut)}
.mesh{width:100%;height:auto;max-width:26rem;justify-self:center}
.mesh .l{stroke:var(--acc);stroke-width:2;opacity:.55}
.mesh .n{fill:var(--bg);stroke:var(--acc);stroke-width:3}
.mesh .me{fill:var(--acc)}
section{padding-block:3.5rem}
section.alt{background:var(--bg2)}
.sub{color:var(--mut);max-width:44rem;margin:0 0 2rem}
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.3rem}
.card p{margin:0;color:var(--mut)}
.tag{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--acc);margin-bottom:.4rem}
[dir=rtl] .tag{letter-spacing:0;text-transform:none}
ul.ticks{padding-inline-start:1.2rem;margin:.5rem 0 0}
ul.ticks li{margin:.35rem 0}
details{border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem;margin:.7rem 0;background:var(--card)}
summary{cursor:pointer;font-weight:600}
details p{color:var(--mut);margin:.7rem 0 0}
.note{border-inline-start:4px solid var(--acc);padding:.2rem 1rem;color:var(--mut);margin:1.5rem 0}
article.doc{padding-block:3rem 4rem;max-width:46rem}
article.doc h1{font-size:clamp(1.9rem,4vw,2.6rem)}
article.doc h2{margin-top:2.2rem;font-size:1.4rem}
article.doc .meta{color:var(--mut)}
article.doc li{margin:.35rem 0}
footer{border-top:1px solid var(--line);padding-block:2rem;color:var(--mut);font-size:.95rem}
footer .wrap{display:flex;gap:1rem 2rem;justify-content:space-between;flex-wrap:wrap}
footer nav{display:flex;gap:1.2rem;flex-wrap:wrap}
footer a{color:var(--mut)}
footer a:hover{color:var(--acc)}
@media (max-width:50rem){.hero{padding-block:3rem 2rem}.hero .wrap{grid-template-columns:1fr}.mesh{max-width:18rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gap{margin-top:1.5rem}
