:root{
  --bg:#0b0f1a;
  --bg-2:#111827;
  --bg-3:#171f31;
  --line:#243049;
  --text:#e6eaf2;
  --muted:#9aa5bd;
  --accent:#ffd454;
  --accent-2:#f5b400;
  --accent-ink:#0b0f1a;
  --green:#36d399;
  --red:#ff6b6b;
  --radius:14px;
  --wrap:1080px;
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.6;padding-bottom:72px}
img,svg{max-width:100%;height:auto;display:inline-block;vertical-align:middle}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:#fff}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,5vw,3rem)}
h2{font-size:clamp(1.45rem,3.2vw,2rem);margin-top:0}
h3{font-size:1.15rem}
p{margin:0 0 1em}
ul,ol{padding-left:1.3em;margin:0 0 1em}
li{margin:.25em 0}
strong{color:#fff}
code{font-family:var(--mono);background:var(--bg-3);padding:.1em .4em;border-radius:6px;font-size:.95em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:8px 12px;z-index:100}
.skip:focus{left:8px;top:8px}
.muted{color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-weight:700;border-radius:999px;padding:.8em 1.4em;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;line-height:1.1;transition:transform .08s,background .15s,color .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--accent);color:var(--accent-ink)}
.btn--primary:hover{background:#fff;color:var(--accent-ink)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn--ghost.is-copied{border-color:var(--green);color:var(--green)}
.btn--block{display:flex;width:100%;white-space:normal;text-align:center}
.hero__grid>*,.cards>*,.steps>*{min-width:0}
.btn--sm{padding:.55em 1em;font-size:.9rem}
.cta-row{margin:1.5em 0}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,15,26,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;height:60px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:-.01em;min-width:0}
.brand__mark{flex:none;width:28px;height:28px}
.brand__text{white-space:nowrap}
.brand__text span{color:var(--accent)}
.site-nav{border-top:1px solid var(--line);background:var(--bg-2)}
.site-nav__inner{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-top:4px;padding-bottom:4px}
.site-nav__inner::-webkit-scrollbar{display:none}
.site-nav a{color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:600;padding:8px 12px;border-radius:8px;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff;background:var(--bg-3)}

/* Hero */
.hero{padding:40px 0 24px;background:radial-gradient(900px 400px at 15% -10%,rgba(255,212,84,.14),transparent 60%),radial-gradient(700px 400px at 100% 10%,rgba(54,211,153,.08),transparent 60%)}
.hero__grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media(min-width:860px){.hero__grid{grid-template-columns:1.2fr .9fr;gap:40px}.hero{padding:64px 0 40px}}
.kicker{display:inline-block;background:rgba(255,212,84,.12);color:var(--accent);border:1px solid rgba(255,212,84,.35);border-radius:999px;padding:.25em .8em;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}
.lead{font-size:1.15rem;color:#cfd6e4}
.ticks{list-style:none;padding:0;margin:1em 0 0}
.ticks li{padding-left:1.7em;position:relative;margin:.45em 0}
.ticks li::before{content:"";position:absolute;left:0;top:.42em;width:1.1em;height:1.1em;border-radius:50%;background:var(--green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10 0a10 10 0 100 20 10 10 0 000-20zm-1.3 14.6L4.3 10.2l1.4-1.4 3 3 5.6-5.6 1.4 1.4-7 7z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10 0a10 10 0 100 20 10 10 0 000-20zm-1.3 14.6L4.3 10.2l1.4-1.4 3 3 5.6-5.6 1.4 1.4-7 7z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Code box */
.codebox{background:linear-gradient(160deg,var(--bg-3),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.codebox__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:8px}
.codebox__row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.codebox__code{flex:1;font-family:var(--mono);font-size:clamp(1.8rem,6vw,2.6rem);font-weight:800;letter-spacing:.12em;color:var(--accent);background:var(--bg);border:2px dashed rgba(255,212,84,.5);border-radius:10px;padding:10px 16px;text-align:center;user-select:all}
.codebox__note{margin:12px 0 0;font-size:.85rem;color:var(--muted)}
.codebox--compact{padding:16px;max-width:520px;margin:1.5em auto}

/* Sections */
.section{padding:36px 0}
.section--alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section__head{max-width:720px;margin-bottom:22px}
.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.3em}
.updated{font-size:.85rem;color:var(--muted);margin-bottom:1.2em}

/* Cards */
.cards{display:grid;grid-template-columns:1fr;gap:14px;list-style:none;padding:0;margin:0}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.cards--3{grid-template-columns:repeat(3,1fr)}.cards--4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h3{margin-top:0}
.card p:last-child{margin-bottom:0}
.card__icon{font-size:1.6rem;line-height:1;margin-bottom:10px}

/* Steps */
.steps{list-style:none;padding:0;margin:0;counter-reset:step;display:grid;gap:14px}
.steps li{position:relative;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 18px 64px;counter-increment:step}
.steps li::before{content:counter(step);position:absolute;left:18px;top:18px;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800;display:flex;align-items:center;justify-content:center}
.steps h3{margin:0 0 .3em}
.steps p:last-child{margin-bottom:0}

/* Table */
.table-wrap{overflow-x:auto;margin:1em 0 1.5em;border:1px solid var(--line);border-radius:var(--radius)}
table{width:100%;border-collapse:collapse;min-width:480px;font-size:.95rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--bg-3);color:#fff;font-weight:700}
tr:last-child td{border-bottom:0}
.yes{color:var(--green);font-weight:700}
.no{color:var(--red);font-weight:700}

/* FAQ */
.faq{max-width:760px}
.faq__item{border:1px solid var(--line);border-radius:12px;background:var(--bg-3);margin-bottom:10px}
.faq__q{cursor:pointer;padding:14px 44px 14px 16px;font-weight:700;list-style:none;position:relative;color:#fff}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:"+";position:absolute;right:16px;top:10px;font-size:1.5rem;color:var(--accent);font-weight:400}
.faq__item[open] .faq__q::after{content:"\2212"}
.faq__a{padding:0 16px 16px;color:#cfd6e4}
.faq__a p:last-child{margin-bottom:0}

/* Callouts */
.callout{border-left:4px solid var(--accent);background:rgba(255,212,84,.07);padding:14px 16px;border-radius:0 12px 12px 0;margin:1.2em 0}
.callout--warn{border-color:var(--red);background:rgba(255,107,107,.07)}
.callout p:last-child{margin-bottom:0}
.badge18{display:inline-block;border:2px solid var(--red);color:var(--red);border-radius:6px;font-weight:800;font-size:.75rem;padding:1px 6px;margin-right:6px;vertical-align:middle}

/* Breadcrumb */
.crumbs{font-size:.85rem;color:var(--muted);margin:18px 0 0}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 .4em}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:var(--bg-2);padding:36px 0 28px;margin-top:40px;font-size:.92rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:760px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
.footer-brand{font-weight:800;color:#fff;font-size:1.05rem;margin-bottom:.4em}
.footer-head{font-weight:700;color:#fff;margin-bottom:.5em}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-legal{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;color:var(--muted);font-size:.82rem}

/* Sticky bar (mobile conversion) */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(17,24,39,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
.sticky-bar__inner{display:flex;align-items:center;gap:8px}
.sticky-bar__code{flex:1;font-size:.9rem;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sticky-bar__code strong{color:var(--accent);font-family:var(--mono);letter-spacing:.08em}
@media(min-width:860px){.sticky-bar{display:none}body{padding-bottom:0}}

/* Toast */
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(10px);background:var(--green);color:#06281b;font-weight:700;padding:10px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60}
.toast.is-on{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:860px){.toast{bottom:30px}}

/* 404 */
.center{text-align:center;padding:60px 0}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
