:root{
  --bg0:#070a12;
  --bg1:#0b0f1a;
  --card:rgba(255,255,255,0.06);
  --card2:rgba(255,255,255,0.04);
  --line:rgba(255,255,255,0.10);
  --text:#e9eefc;
  --muted:rgba(233,238,252,0.75);
  --muted2:rgba(233,238,252,0.60);
  --accent:#7cffc9;
  --accent2:#67a7ff;
  --hot:#ff4fd8;
  --warn:#ffd166;
  --shadow: 0 18px 40px rgba(0,0,0,0.55);
  --radius: 14px;
  --max: 1160px;
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1100px 420px at 20% -10%, rgba(103,167,255,0.24), transparent 60%),
    radial-gradient(900px 380px at 90% 0%, rgba(255,79,216,0.18), transparent 60%),
    radial-gradient(900px 520px at 55% 20%, rgba(124,255,201,0.12), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 30%, #070a14 100%);
  color: var(--text);
  line-height: 1.6;
}

a{ color: inherit; }
a:hover{ text-decoration: underline; text-decoration-color: rgba(124,255,201,0.7); }

.container{
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 16px;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:10px;
  background:#fff;
  color:#000;
  padding:10px 12px;
  border-radius:10px;
  z-index:9999;
}
.skip-link:focus{ left: 12px; }

.topbar{
  background: rgba(0,0,0,0.25);
  border-bottom: 1px solid var(--line);
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 0;
}
.topbar-text{
  font-size: 0.92rem;
  color: var(--muted);
}
.topbar-close{
  appearance:none;
  border:1px solid var(--line);
  background: rgba(0,0,0,0.25);
  color: var(--text);
  width: 34px;
  height: 34px;
  border-radius: 10px;
  cursor:pointer;
}
.topbar-close:hover{ background: rgba(0,0,0,0.35); }

.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
  background: rgba(7,10,18,0.70);
  border-bottom: 1px solid var(--line);
}
.header-inner{
  display:flex;
  align-items:center;
  gap: 14px;
  padding: 14px 0;
  flex-wrap: wrap;
}
.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.logo{ height: 40px; width:auto; }

.top-nav{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
  justify-content: center;
  flex: 1 1 520px;
}
.top-nav a{
  font-size: 0.95rem;
  color: var(--muted);
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration:none;
}
.top-nav a:hover{
  background: rgba(255,255,255,0.06);
  color: var(--text);
  text-decoration:none;
}

.header-cta{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-left:auto;
  flex: 0 0 auto;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid var(--line);
  padding: 10px 14px;
  font-weight: 700;
  letter-spacing: 0.2px;
  cursor: pointer;
  background: rgba(255,255,255,0.04);
  color: var(--text);
  text-decoration:none;
  white-space: nowrap;
  flex-shrink: 0;
}
.btn:hover{ background: rgba(255,255,255,0.07); text-decoration:none; }
.btn:active{ transform: translateY(1px); }

.btn-primary{
  border: 1px solid rgba(124,255,201,0.35);
  background:
    linear-gradient(180deg, rgba(124,255,201,0.20), rgba(124,255,201,0.10)),
    radial-gradient(140px 60px at 30% 20%, rgba(255,79,216,0.16), transparent 55%),
    radial-gradient(170px 70px at 75% 10%, rgba(103,167,255,0.18), transparent 60%);
  box-shadow: 0 10px 24px rgba(124,255,201,0.10);
}
.btn-primary:hover{ border-color: rgba(124,255,201,0.55); }

.btn-secondary{
  border-color: rgba(103,167,255,0.35);
  background: rgba(103,167,255,0.08);
}
.btn-ghost{
  border-color: rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.02);
  color: var(--muted);
  display:none;
}
.btn-small{
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 0.92rem;
}

.layout{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap: 18px;
  padding: 18px 0 34px;
}
.sidebar{
  position: sticky;
  top: 96px;
  align-self: start;
  height: calc(100vh - 120px);
  overflow:auto;
  padding-bottom: 14px;
}
.content{ min-width: 0; }

.card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 14px;
}
.card-title{
  margin: 0 0 10px 0;
  font-size: 1.05rem;
}

.toc-title{
  font-weight: 800;
  margin-bottom: 8px;
}
.toc ol{
  margin: 0;
  padding-left: 18px;
}
.toc a{
  color: var(--muted);
  display:inline-block;
  padding: 6px 6px;
  border-radius: 10px;
  text-decoration:none;
}
.toc a:hover{
  background: rgba(255,255,255,0.06);
  color: var(--text);
}

.hero{
  display:grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}
.kicker{
  color: var(--muted);
  margin-bottom: 10px;
}
.dot{ opacity: 0.55; margin: 0 6px; }

h1{
  line-height: 1.15;
  margin: 6px 0 12px;
  font-size: clamp(1.65rem, 2.2vw + 1rem, 2.35rem);
  letter-spacing: -0.3px;
}
.lede{
  margin: 0 0 14px;
  color: var(--muted);
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 12px 14px;
  border-radius: 14px;
}
.about{
  background: var(--card2);
  box-shadow: none;
}
.meta-list{
  margin: 0;
  padding-left: 18px;
}
.meta-list li{ margin: 6px 0; color: var(--muted); }

.hero-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.hero-figure{
  margin: 0;
  padding: 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: var(--shadow);
}
.hero-figure img{
  width: 100%;
  height: auto;
  border-radius: 12px;
  display:block;
}
.hero-figure figcaption{
  margin-top: 10px;
  color: var(--muted2);
  font-size: 0.92rem;
}

.section{
  margin-top: 26px;
  padding-top: 10px;
}
h2{
  margin: 0 0 8px;
  font-size: 1.35rem;
  letter-spacing: -0.15px;
}
h3{
  margin: 18px 0 8px;
  font-size: 1.08rem;
}
p{ margin: 10px 0; }
.muted{ color: var(--muted); }

.bullets{
  margin: 10px 0 14px;
  padding-left: 20px;
}
.bullets li{ margin: 8px 0; color: var(--muted); }

.steps{
  margin: 10px 0 14px;
  padding-left: 20px;
}
.steps li{ margin: 8px 0; color: var(--muted); }

.plan{
  margin: 10px 0 0;
  padding-left: 20px;
}
.plan li{
  margin: 10px 0;
  color: var(--muted);
}

.note{
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,209,102,0.08);
  border: 1px solid rgba(255,209,102,0.25);
  color: rgba(255,255,255,0.86);
}

.callout{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(124,255,201,0.25);
  background: rgba(124,255,201,0.06);
  color: var(--muted);
}

.table-wrap{
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.20);
}
table{ width:100%; border-collapse: collapse; }
.facts th, .facts td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  vertical-align: top;
}
.facts th{
  width: 34%;
  text-align:left;
  color: rgba(233,238,252,0.86);
  font-weight: 800;
}
.facts td{ color: var(--muted); }

.media{
  margin: 14px 0 0;
  padding: 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: var(--shadow);
}
.media img{
  width: 100%;
  height: auto;
  border-radius: 12px;
  display:block;
}
.media figcaption{
  margin-top: 10px;
  color: var(--muted2);
  font-size: 0.92rem;
}

.grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 10px;
}
.grid-2 .card{
  padding: 14px;
  box-shadow: none;
  background: var(--card2);
}

.iframe-wrap{
  margin-top: 14px;
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.25);
  box-shadow: var(--shadow);
}
.iframe-wrap iframe{
  width: 100%;
  height: min(72vh, 720px);
  border: 0;
  display:block;
}

.demo-cta{
  display:flex;
  align-items:center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 10px 0 10px;
}

.faq{
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.03);
  margin: 10px 0;
  overflow: hidden;
}
.faq summary{
  cursor:pointer;
  padding: 14px 14px;
  font-weight: 800;
  color: rgba(233,238,252,0.92);
  list-style: none;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq[open] summary{ border-bottom: 1px solid rgba(255,255,255,0.10); }
.faq-body{ padding: 12px 14px 14px; color: var(--muted); }

.site-footer{
  margin-top: 28px;
  padding: 16px 0 26px;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.footer-brand{
  font-weight: 900;
  letter-spacing: 0.2px;
}

@media (max-width: 980px){
  .layout{ grid-template-columns: 1fr; }
  .sidebar{
    position: fixed;
    inset: 0;
    background: rgba(7,10,18,0.75);
    backdrop-filter: blur(10px);
    padding: 84px 18px 18px;
    height: auto;
    overflow:auto;
    transform: translateX(-105%);
    transition: transform .2s ease;
    z-index: 60;
  }
  .sidebar.is-open{ transform: translateX(0); }
  .btn-ghost{ display:inline-flex; }
  .hero{ grid-template-columns: 1fr; }
  .top-nav{ display:none; }
}

@media (max-width: 520px){
  .logo{ height: 34px; }
  .facts th{ width: 45%; }
}
.toc-list{list-style:none;margin:0;padding:0;}
.toc-list li{margin:0;}

.lang{position:relative;}
.lang-btn{white-space:nowrap;}
.lang .chev{opacity:.8;}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;max-width:calc(100vw - 24px);border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(7,10,18,0.92);backdrop-filter:blur(10px);box-shadow:0 18px 40px rgba(0,0,0,0.55);padding:6px;display:none;z-index:80;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.lang-menu a{display:block;padding:8px 10px;border-radius:12px;color:rgba(233,238,252,0.85);text-decoration:none;line-height:1.2;break-inside:avoid;-webkit-column-break-inside:avoid;}
.lang-menu a:hover{background:rgba(255,255,255,0.06);color:rgba(233,238,252,0.95);}
.lang.is-open .lang-menu{display:block;}

/* Desktop: show more languages without scrolling */
@media (min-width: 981px){
  .lang-menu{
    min-width: 360px;
    columns: 2;
    column-gap: 8px;
  }
}
@media (min-width: 1280px){
  .lang-menu{
    min-width: 520px;
    columns: 3;
  }
}

.plan a{color:inherit;text-decoration:none;}
.plan a:hover{color:rgba(124,255,201,0.95);text-decoration:none;}

.toc a:hover{text-decoration:none;}

.demo-controls{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}
.demo-modal{position:fixed;inset:0;background:rgba(0,0,0,0.92);backdrop-filter:blur(10px);display:none;z-index:120;}
.demo-modal.is-open{display:block;}
.demo-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.10);background:rgba(7,10,18,0.80);}
.demo-modal-title{font-weight:900;letter-spacing:0.2px;}
.demo-modal-frame{height:calc(100vh - 62px);display:flex;align-items:center;justify-content:center;padding:14px;}
.demo-modal-frame iframe{width:min(1200px, 96vw);height:min(86vh, 780px);border:0;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,0.55);background:#000;}
@media (max-width: 768px){.demo-modal-frame iframe{width:96vw;height:calc(56vw);}}


@media (max-width: 768px){.container{padding-left:22px;padding-right:22px;}}
@media (max-width: 520px){
  .container{padding-left:20px;padding-right:20px;}
  .header-inner{gap:10px;}
  .logo{height:34px;}
  .header-cta{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;}
  .header-cta .btn{height:44px;padding:0 14px;border-radius:14px;font-size:0.98rem;}
  .header-cta .btn-primary{min-width:110px;}
  .lang-btn{min-width:110px;justify-content:space-between;}
  .btn-ghost{min-width:90px;}
}
@media (max-width: 375px){
  .container{padding-left:18px;padding-right:18px;}
  .header-cta{gap:8px;}
  .header-cta .btn{height:42px;padding:0 12px;font-size:0.95rem;}
  .header-cta .btn-primary{min-width:104px;}
  .lang-btn{min-width:104px;}
  .btn-ghost{min-width:82px;}
}


.footer-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;}
.footer-links a{color:rgba(233,238,252,0.75);text-decoration:none;padding:6px 8px;border-radius:10px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.02);}
.footer-links a:hover{background:rgba(255,255,255,0.06);color:rgba(233,238,252,0.92);}

.scroll-top{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,0.14);background:radial-gradient(80px 60px at 30% 25%, rgba(255,255,255,0.55), rgba(255,255,255,0.0) 55%),linear-gradient(180deg,#ffd34f,#ffb300);box-shadow:0 18px 40px rgba(0,0,0,0.55),0 10px 24px rgba(255,179,0,0.18);color:#1b1400;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:95;user-select:none;-webkit-tap-highlight-color:transparent;}
.scroll-top:hover{filter:brightness(1.02);}
.scroll-top:active{transform:translateY(1px);}
.scroll-top.is-visible{display:flex;}
.scroll-top-ic{font-size:20px;line-height:1;font-weight:900;}
body.demo-open .scroll-top{display:none!important;}
@media (max-width:768px){.scroll-top{right:16px;bottom:16px;width:48px;height:48px;}.scroll-top-ic{font-size:19px;}}

.toc-bar{display:none;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 12px;border-radius:14px;border:1px solid rgba(255,255,255,0.10);background:rgba(7,10,18,0.70);}
.toc-bar-title{font-weight:900;letter-spacing:0.2px;color:rgba(233,238,252,0.9);}
.toc-close{appearance:none;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);color:rgba(233,238,252,0.9);width:40px;height:40px;border-radius:14px;cursor:pointer;font-size:22px;line-height:1;}
.toc-close:hover{background:rgba(255,255,255,0.08);}
@media (max-width: 980px){.toc-bar{display:flex;}}

.scroll-top{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(7,10,18,0.70);
  color: rgba(233,238,252,0.92);
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
}
.scroll-top:hover{
  background: rgba(255,255,255,0.06);
}
.scroll-top-ico{
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}
@media (max-width: 768px){
  .scroll-top{right:16px;bottom:16px;width:44px;height:44px;border-radius:14px;}
}


@media (max-width: 980px){
  .sidebar{pointer-events:none;}
  .sidebar.is-open{pointer-events:auto;}
}



.iframe-wrap{position:relative;}
.iframe-wrap iframe{pointer-events:auto;}


@media (max-width: 768px){
  .scroll-top{bottom:20px;}
}


body.toc-open{overflow:hidden;}

@media (max-width: 980px){
  .sidebar{
    padding: calc(12px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));
    display:flex;
    flex-direction:column;
    gap:12px;
    -webkit-overflow-scrolling: touch;
  }
  .toc-bar{
    position: sticky;
    top: 0;
    z-index: 1;
    margin: 0;
  }
  .card.toc{
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 980px) and (orientation: landscape){
  .container{padding-left:22px;padding-right:22px;}
}

@media (max-width: 980px){.container{padding-left:20px;padding-right:20px;}}

.iframe-wrap{
  aspect-ratio: 16 / 9;
}
.iframe-wrap iframe{
  height: 100%;
}
@media (min-width: 1024px){
  .iframe-wrap{
    aspect-ratio: 9 / 16;
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
  }
}

body.toc-open .scroll-top{display:none !important;}

@media (max-width: 980px){
  .demo-modal-frame{
    padding: 12px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .demo-modal-frame iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    max-height: 100%;
    border-radius: 14px;
  }
}
@media (max-width: 980px) and (orientation: landscape){
  .demo-modal-frame iframe{
    height: 100%;
    width: auto;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 1024px){
  .iframe-wrap{aspect-ratio:16/9;height:auto;}
  .iframe-wrap iframe{height:100%;width:100%;}
}
@media (max-width: 768px){
  .iframe-wrap{max-height:70vh;}
}
@media (max-height: 430px){
  .iframe-wrap{max-height:calc(100vh - 120px);}
}
@media (max-width: 980px){
  .sidebar{height:100vh;overflow:auto;}
  .toc{max-height:calc(100vh - 150px);overflow:auto;}
  .toc-bar{position:sticky;top:0;z-index:2;}
}
@media (max-width: 980px) and (max-height: 430px){
  .toc{max-height:calc(100vh - 120px);}
  .container{padding-left:22px;padding-right:22px;}
}

@media (min-width: 1025px){
  .iframe-wrap{aspect-ratio:auto;max-height:none;}
  .iframe-wrap iframe{height:min(72vh,720px);width:100%;}
}

@media (max-width: 980px){
  .sidebar{visibility:hidden;opacity:0;}
  .sidebar.is-open{visibility:visible;opacity:1;}
}
.iframe-wrap iframe{touch-action:manipulation;}
