:root{--accent: #b184ff;--accent-dim: #7c5bd0;--user: #5fd7ff;--ok: #4ec9a8;--err: #f14c4c;--warn: #e5c07b;--plan: #56b6c2;--bg: #0b0a10;--bg-soft: #121018;--panel: #16131f;--panel-2: #1c1828;--line: #2a2438;--text: #ece9f4;--muted: #9a93ad;--muted-2: #6f6884;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 14px;--maxw: 1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(900px 480px at 50% -10%,rgba(177,132,255,.16),transparent 70%),radial-gradient(700px 400px at 90% 10%,rgba(95,215,255,.07),transparent 65%);z-index:0}a{color:inherit;text-decoration:none}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1}.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:#0b0a10b8;border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em;transition:opacity .15s ease}.brand:hover{opacity:.82}.brand-mark{color:var(--accent);font-size:20px}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;color:var(--muted)}.nav-links a{transition:color .15s ease}.nav-links a:hover{color:var(--text)}.progress{position:absolute;left:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--accent),var(--user));transition:width .1s linear}.burger{display:none;background:transparent;border:1px solid var(--line);border-radius:9px;padding:8px 11px;cursor:pointer;color:var(--text);font-size:16px;line-height:1}.mobile-menu{display:none;flex-direction:column;gap:4px;padding:12px 24px 20px;border-bottom:1px solid var(--line);background:#0b0a10f5}.mobile-menu a{padding:12px 4px;color:var(--muted);border-bottom:1px solid rgba(42,36,56,.6);font-size:15px}.mobile-menu a:last-child{border-bottom:none}@media (max-width: 860px){.nav-links a:not(.btn){display:none}.burger{display:block}.mobile-menu.open{display:flex}}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dim));color:#14101c;box-shadow:0 8px 28px #b184ff52}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px #b184ff73}.btn-ghost{background:#ffffff08;border-color:var(--line);color:var(--text)}.btn-ghost:hover{background:#ffffff12;border-color:var(--accent-dim)}.hero{padding:92px 0 72px;text-align:center}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#b184ff14;color:var(--accent);font-size:13px;font-family:var(--mono);margin-bottom:28px}.hero h1{font-size:clamp(38px,6.4vw,72px);line-height:1.04;letter-spacing:-.035em;margin:0 0 22px;font-weight:800}.grad{background:linear-gradient(120deg,var(--accent) 10%,var(--user) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:620px;margin:0 auto 36px;line-height:1.65}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.hero-note{font-family:var(--mono);font-size:13px;color:var(--muted-2)}.term{position:relative;margin:56px auto 0;max-width:880px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#0f0d15);box-shadow:0 30px 80px #0009,0 0 0 1px #b184ff14;overflow:hidden;text-align:left}@media (max-width: 720px){.term-tabs{display:none}.term-body{font-size:11.5px;padding:16px}}.term-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:#ffffff05}.dot{width:11px;height:11px;border-radius:50%}.dot-r{background:#ff5f57}.dot-y{background:#febc2e}.dot-g{background:#28c840}.term-title{margin-left:10px;font-family:var(--mono);font-size:12px;color:var(--muted-2)}.term-body{padding:22px;font-family:var(--mono);font-size:13.5px;line-height:1.75;min-height:330px;white-space:pre-wrap;word-break:break-word}.c-accent{color:var(--accent)}.c-user{color:var(--user)}.c-ok{color:var(--ok)}.c-warn{color:var(--warn)}.c-err{color:var(--err)}.c-plan{color:var(--plan)}.c-muted{color:var(--muted-2)}.b{font-weight:700}.caret{display:inline-block;width:8px;height:16px;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.term-tabs{display:flex;gap:4px;margin-left:auto}.term-tab{background:transparent;border:1px solid transparent;border-radius:7px;padding:4px 11px;font-family:var(--mono);font-size:11.5px;color:var(--muted-2);cursor:pointer;transition:all .15s ease}.term-tab:hover{color:var(--text)}.term-tab.on{color:var(--accent);border-color:var(--accent-dim);background:#b184ff1a}.replay{position:absolute;right:14px;bottom:12px;background:#ffffff0a;border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-family:var(--mono);font-size:11.5px;color:var(--muted);cursor:pointer;opacity:0;transition:all .2s ease}.term:hover .replay{opacity:1}.replay:hover{color:var(--accent);border-color:var(--accent-dim)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;max-width:820px;margin:64px auto 0;padding:28px 24px;border-radius:var(--radius);border:1px solid var(--line);background:#ffffff04}.stat{text-align:center}.stat-val{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--accent);line-height:1.2}.stat-lab{font-size:13px;color:var(--muted-2);margin-top:6px}.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.qa{border-radius:12px;border:1px solid var(--line);background:var(--panel);overflow:hidden}.qa summary{padding:18px 22px;cursor:pointer;font-weight:600;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color .15s ease}.qa summary::-webkit-details-marker{display:none}.qa summary:hover{color:var(--accent)}.qa summary:after{content:"+";font-family:var(--mono);font-size:20px;color:var(--accent);flex-shrink:0;transition:transform .2s ease}.qa[open] summary:after{transform:rotate(45deg)}.qa-body{padding:0 22px 20px;color:var(--muted);font-size:14.5px;line-height:1.7}.qa-body code{font-family:var(--mono);font-size:13px;background:#b184ff1a;color:var(--accent);padding:2px 7px;border-radius:5px}.page-head{padding:78px 0 12px;text-align:center}.page-head h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.035em;margin:0 0 18px;font-weight:800;line-height:1.1}.page-head p{color:var(--muted);font-size:17px;max-width:580px;margin:0 auto;line-height:1.65}.nav-links a.actif{color:var(--accent)}.pt-sm{padding-top:42px}.os-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;max-width:620px;margin:0 auto 30px}.os{position:relative;padding:26px 16px 20px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:10px;transition:all .18s ease}.os:hover{border-color:var(--accent-dim);color:var(--text);transform:translateY(-2px)}.os.on{border-color:var(--accent);color:var(--accent);background:#b184ff14;box-shadow:0 0 0 1px #b184ff40}.os-ico{display:grid;place-items:center;height:34px;line-height:0}.os-nom{font-size:15.5px;font-weight:650;color:var(--text)}.os-term{font-family:var(--mono);font-size:11.5px;color:var(--muted-2)}.os.on .os-term{color:var(--accent-dim)}.pill-ok{color:var(--ok);border-color:#4ec9a866;background:#4ec9a81a}.steps{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.step{display:flex;gap:20px;align-items:flex-start;padding:22px 24px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}.step-n{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#b184ff24;border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--mono);font-weight:700;font-size:14px}.step-body{min-width:0;flex:1}.step h3{margin:0 0 6px;font-size:16px}.step p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}.step p code{font-family:var(--mono);font-size:12.5px;background:#b184ff1a;color:var(--accent);padding:2px 6px;border-radius:5px}.step-code{margin-top:14px;padding:11px 14px;border-radius:9px;background:#0d0b12;border:1px solid var(--line);display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:13px}.step-code code{color:var(--user)}.step-out{color:var(--ok);font-size:12.5px}.fix-code{margin-top:12px;padding:10px 14px;border-radius:8px;background:#0d0b12;border:1px solid var(--line)}.fix-code code{font-family:var(--mono);font-size:13px;color:var(--user);background:none;padding:0}.req code{font-family:var(--mono);color:var(--accent)}.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.tool{padding:18px 20px;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:grid;grid-template-columns:auto auto;gap:8px 12px;align-items:center}.tool code{font-family:var(--mono);color:var(--accent);font-size:14px;font-weight:500}.tool p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:14px;line-height:1.55}.pill{justify-self:start;font-family:var(--mono);font-size:11px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted-2)}.pill-warn{color:var(--warn);border-color:#e5c07b66;background:#e5c07b14}.pill.inline{margin-left:10px;display:inline-block}.doc{max-width:800px}.doc h2{font-size:25px;letter-spacing:-.02em;margin:52px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.doc h2:first-child{margin-top:0}.doc-p{color:var(--muted);line-height:1.75;font-size:15.5px;margin:0 0 22px}.doc-p code,.qa-body code{font-family:var(--mono);font-size:13px;background:#b184ff1a;color:var(--accent);padding:2px 7px;border-radius:5px}section{padding:84px 0}.sec-head{text-align:center;margin-bottom:52px}.sec-head h2{font-size:clamp(27px,4vw,40px);letter-spacing:-.03em;margin:0 0 14px;font-weight:700}.sec-head p{color:var(--muted);font-size:17px;margin:0 auto;max-width:560px;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.card{padding:26px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),rgba(18,16,24,.5));transition:transform .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);border-color:var(--accent-dim)}.card-ico{font-size:22px;margin-bottom:14px;display:block;color:var(--accent)}.card h3{margin:0 0 10px;font-size:17px;font-weight:650}.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.mode{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);padding:24px}.mode-tag{font-family:var(--mono);font-size:13px;font-weight:700;margin-bottom:12px}.mode h3{margin:0 0 8px;font-size:16px}.mode p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.tabs{display:flex;gap:8px;justify-content:center;margin-bottom:26px;flex-wrap:wrap}.tab{padding:9px 20px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--mono);font-size:13.5px;cursor:pointer;transition:all .15s ease}.tab:hover{color:var(--text)}.tab.on{background:#b184ff1f;border-color:var(--accent-dim);color:var(--accent)}.code{position:relative;border-radius:var(--radius);border:1px solid var(--line);background:#0d0b12;overflow:hidden;max-width:760px;margin:0 auto}.code-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line);background:#ffffff05;font-family:var(--mono);font-size:12px;color:var(--muted-2)}.copy{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:7px;padding:5px 12px;font-size:12px;font-family:var(--mono);cursor:pointer;transition:all .15s ease}.copy:hover{color:var(--accent);border-color:var(--accent-dim)}.copy.done{color:var(--ok);border-color:var(--ok)}.code pre{margin:0;padding:20px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.8}.code .pr{color:var(--accent)}.code .cm{color:var(--muted-2)}.req{text-align:center;margin-top:22px;font-size:14px;color:var(--muted-2);font-family:var(--mono)}.cmds{max-width:760px;margin:0 auto;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}.cmd{display:flex;gap:18px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--panel);font-size:14.5px;align-items:baseline}.cmd:last-child{border-bottom:none}.cmd code{font-family:var(--mono);color:var(--accent);min-width:130px;font-size:13.5px}.cmd span{color:var(--muted)}.dl{border-radius:20px;border:1px solid var(--line);background:radial-gradient(600px 220px at 50% 0%,rgba(177,132,255,.14),transparent 70%),var(--panel);padding:58px 32px;text-align:center}.dl h2{font-size:clamp(26px,4vw,38px);margin:0 0 14px;letter-spacing:-.03em}.dl p{color:var(--muted);margin:0 auto 32px;max-width:480px;line-height:1.65}.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;max-width:480px;margin:0 auto}.dl-card{padding:24px 20px;border-radius:12px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;transition:all .2s ease;text-align:center}.dl-card:hover{border-color:var(--accent);transform:translateY(-3px);background:#b184ff0f}.dl-os{font-size:26px;margin-bottom:10px}.dl-card h4{margin:0 0 6px;font-size:15px}.dl-card small{color:var(--muted-2);font-family:var(--mono);font-size:12px}footer{border-top:1px solid var(--line);padding:36px 0;margin-top:60px}.foot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted-2);font-size:13.5px}.foot-links{display:flex;gap:22px}.foot-links a:hover{color:var(--accent)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal,.card,.btn,.dl-card{transition:none}.caret{animation:none}}
