:root {
  color-scheme:dark;
  --bg:#080e18;
  --surface:#0e1725;
  --line:#233144;
  --muted:#9aaabd;
  --text:#f3f7fc;
  --cyan:#83e8ee;
  --radius:22px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit;
  cursor:pointer
}
img {
  max-width:100%
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible {
  outline:3px solid var(--cyan);
  outline-offset:5px
}
::selection {
  background:#30757d;
  color:#fff
}
.container {
  width:min(1280px,calc(100% - 96px));
  margin-inline:auto
}
.icon-library {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.icon {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:none
}
.skip-link {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:50;
  background:var(--cyan);
  color:var(--bg);
  padding:12px 18px
}
.skip-link:focus {
  top:12px
}
.nav-wrap {
  position:sticky;
  top:0;
  z-index:20;
  background:#080e18ef;
  border-bottom:1px solid #1b293a;
  backdrop-filter:blur(18px)
}
.nav {
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:17px;
  font-weight:650;
  white-space:nowrap
}
.brand img {
  border-radius:10px;
  display:block
}
.nav-links {
  display:flex;
  gap:32px;
  color:#b0bece;
  font-size:14px
}
.nav-links a:hover,.footer a:hover {
  color:var(--cyan)
}
.nav-download {
  display:flex;
  align-items:center;
  gap:14px;
  padding:9px 17px;
  border:1px solid #354558;
  border-radius:9px;
  font-size:14px
}
.nav-download:hover {
  border-color:var(--cyan)
}
.hero {
  padding-block:92px 76px;
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:50px;
  align-items:center
}
.version {
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:13px;
  color:#c1d3df;
  padding:6px 11px;
  border:1px solid #2b3b4d;
  border-radius:30px
}
.status-dot {
  width:6px;
  height:6px;
  background:var(--cyan);
  border-radius:50%;
  box-shadow:0 0 12px #83e8ee66
}
.version-detail {
  border-left:1px solid #354558;
  padding-left:10px;
  color:var(--muted)
}
h1,h2,h3,p,figure {
  margin:0
}
h1 {
  font-size:clamp(38px,4.2vw,64px);
  font-weight:650;
  letter-spacing:-.055em;
  line-height:1.27;
  margin:28px 0 25px
}
h1 span {
  display:block;
  color:var(--cyan)
}
.hero-description {
  color:#acbbcd;
  max-width:470px;
  font-size:17px;
  line-height:1.9
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:32px
}
.button {
  min-height:49px;
  padding:12px 19px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:14px;
  font-weight:600;
  border:1px solid transparent;
  transition:background .18s,border-color .18s,transform .18s
}
.button:hover {
  transform:translateY(-2px)
}
.button-primary {
  background:var(--cyan);
  color:#092028
}
.button-primary:hover {
  background:#acf4f5
}
.button-secondary {
  border-color:#334459;
  background:#101b2a;
  color:#e4ebf3
}
.button-secondary:hover {
  background:#192a3c;
  border-color:#587188
}
.hero-footnote {
  margin-top:17px;
  font-size:13px;
  color:#8599ac
}
.hero-visual {
  position:relative;
  min-width:0;
  background:#101b2a;
  border:1px solid #32485e;
  border-radius:18px;
  box-shadow:0 28px 90px #0007,0 0 90px #24577718;
  overflow:hidden;
  transform:perspective(1400px) rotateY(-5deg) rotateX(2deg)
}
.hero-visual img {
  display:block;
  width:100%;
  height:auto
}
.visual-heading {
  display:flex;
  justify-content:space-between;
  padding:15px 19px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:11px;
  letter-spacing:.1em;
  color:#a6bdcf;
  border-bottom:1px solid #304052
}
.hero-visual figcaption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:17px 19px;
  font-size:13px
}
.visual-caption {
  color:#b3c5d7
}
.hero-visual figcaption a {
  color:var(--cyan);
  white-space:nowrap
}
.capabilities {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding-block:27px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  gap:20px
}
.capabilities div {
  display:flex;
  flex-direction:column;
  gap:6px
}
.capabilities span {
  font-size:12px;
  color:#8496aa;
  letter-spacing:.08em
}
.capabilities strong {
  font-size:14px;
  font-weight:500
}
.section {
  padding-block:104px
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:45px
}
.eyebrow {
  font-size:13px;
  color:var(--cyan);
  letter-spacing:.12em;
  margin-bottom:15px
}
h2 {
  font-size:clamp(30px,3vw,43px);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:1.4
}
.section-heading>p {
  color:var(--muted);
  font-size:15px;
  max-width:360px
}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden
}
.feature {
  padding:32px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#121d2b,#0d1622)
}
.feature-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--cyan);
  margin-bottom:29px
}
.feature-top span {
  color:#586d82;
  font-family:ui-monospace,monospace;
  font-size:12px
}
.feature h3 {
  font-size:19px;
  font-weight:600;
  letter-spacing:-.02em;
  margin-bottom:12px
}
.feature p {
  font-size:16px;
  color:#9caec1;
  line-height:1.85
}
.showcase {
  background:#0b1421;
  border-top:1px solid #1d2b3d;
  border-bottom:1px solid #1d2b3d
}
.screen-tabs {
  display:flex;
  gap:8px;
  margin-bottom:22px;
  flex-wrap:wrap
}
.screen-tabs button {
  border:1px solid transparent;
  background:transparent;
  color:#96aabe;
  font-size:14px;
  padding:11px 18px;
  border-radius:8px
}
.screen-tabs button span {
  font-size:11px;
  font-family:ui-monospace,monospace;
  opacity:.7;
  margin-right:7px
}
.screen-tabs button:hover {
  background:#162337
}
.screen-tabs button[aria-selected=true] {
  background:#1c3540;
  color:#baf8fa;
  border-color:#345563
}
.screen-panel {
  border:1px solid #304257;
  border-radius:18px;
  overflow:hidden;
  max-width:1040px;
  margin:auto;
  box-shadow:0 24px 55px #0004
}
.screen-zoom {
  padding:0;
  border:0;
  background:#10233d;
  display:block;
  width:100%;
  position:relative;
  color:#fff
}
.screen-zoom>img {
  width:100%;
  height:auto;
  display:block
}
.zoom-label {
  position:absolute;
  right:20px;
  bottom:20px;
  padding:8px 13px;
  border-radius:8px;
  border:1px solid #59738b;
  background:#071627e8;
  font-size:13px;
  opacity:0;
  transition:opacity .2s
}
.screen-zoom:hover .zoom-label,.screen-zoom:focus-visible .zoom-label {
  opacity:1
}
.screen-meta {
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin:22px auto 0;
  max-width:1040px;
  font-size:14px;
  color:#acbdcf
}
.screen-meta>span {
  color:#7c90a7;
  font-size:12px;
  white-space:nowrap
}
.download-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.download-card {
  border:1px solid #2c3b4d;
  background:#101a28;
  border-radius:18px;
  padding:29px;
  display:flex;
  flex-direction:column;
  align-items:stretch
}
.mac-card {
  border-color:#407078;
  background:linear-gradient(150deg,#173039,#101c2c)
}
.platform-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:25px
}
.platform-mark {
  width:32px;
  height:32px;
  line-height:32px;
  font-size:36px;
  color:#c0dbe8
}
.terminal-mark {
  font:600 26px ui-monospace,monospace
}
.windows-mark {
  fill:#c0dbe8
}
.platform-label {
  font-size:10px;
  letter-spacing:.13em;
  color:#8ba2b6
}
.download-card h3 {
  font-size:27px;
  letter-spacing:-.035em;
  font-weight:600;
  margin-bottom:11px
}
.download-card p {
  font-size:16px;
  color:#9fb2c5;
  margin-bottom:29px
}
.download-card>.button,.linux-actions {
  margin-top:auto
}
.download-card small {
  display:block;
  color:#8197ab;
  font-size:12px;
  line-height:1.7;
  margin-top:16px;
  min-height:41px
}
.linux-actions {
  display:flex;
  gap:9px
}
.linux-actions .button {
  flex:1;
  padding-inline:10px
}
.release-footer {
  margin-top:26px;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#859aaf
}
.release-footer a {
  color:#b1c9da;
  text-decoration:underline;
  text-underline-offset:4px
}
.footer {
  border-top:1px solid var(--line);
  padding-block:30px
}
.footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:24px
}
.footer .brand {
  font-size:14px
}
.footer-inner>span,.footer-inner>div {
  font-size:12px;
  color:#8195aa
}
.footer-inner>div {
  display:flex;
  gap:24px
}
.image-dialog {
  border:1px solid #4a5e71;
  background:#101925;
  color:var(--text);
  border-radius:14px;
  padding:56px 12px 14px;
  max-width:95vw;
  max-height:94dvh
}
.image-dialog::backdrop {
  background:#020712e8;
  backdrop-filter:blur(8px)
}
.image-dialog img {
  display:block;
  width:auto;
  height:auto;
  max-height:76dvh;
  max-width:90vw;
  object-fit:contain
}
.image-dialog p {
  text-align:center;
  font-size:14px;
  margin-top:10px;
  color:#bdcddd
}
.dialog-close {
  position:absolute;
  right:14px;
  top:10px;
  background:#23364b;
  border:1px solid #49617a;
  border-radius:7px;
  color:#fff;
  padding:6px 14px;
  font-size:14px
}
.dialog-close span {
  margin-left:8px
}
@media(min-width:1600px) {
  .hero {
    padding-block:115px 95px
  }
}
@media(max-width:1100px) {
  .container {
    width:calc(100% - 56px)
  }
  .hero {
    gap:30px;
    padding-top:64px
  }
  .hero-actions {
    gap:10px
  }
  .hero-actions .button {
    font-size:13px;
    padding-inline:14px
  }
  .feature {
    padding:27px
  }
  .download-card {
    padding:23px
  }
  .capabilities {
    grid-template-columns:repeat(2,1fr);
    gap:23px
  }
  .platform-label {
    font-size:9px
  }
}
@media(max-width:800px) {
  .nav-links {
    display:none
  }
  .nav {
    min-height:72px
  }
  .hero {
    grid-template-columns:1fr;
    gap:40px;
    padding-block:54px
  }
  .hero-copy {
    max-width:610px
  }
  h1 {
    font-size:clamp(40px,7.4vw,58px)
  }
  .hero-visual {
    transform:none;
    max-width:680px
  }
  .hero-description {
    max-width:550px
  }
  .section {
    padding-block:72px
  }
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
    margin-bottom:32px
  }
  .feature-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .download-grid {
    grid-template-columns:1fr
  }
  .download-card {
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:25px;
    align-items:start
  }
  .platform-title {
    grid-column:1/-1;
    margin-bottom:15px
  }
  .download-card h3 {
    grid-column:1
  }
  .download-card p {
    grid-column:1;
    margin-bottom:0
  }
  .download-card>.button,.linux-actions {
    grid-column:2;
    grid-row:2/4;
    align-self:center;
    width:100%;
    margin:0
  }
  .download-card small {
    grid-column:1/-1;
    min-height:0
  }
  .screen-meta {
    flex-direction:column;
    gap:8px
  }
  .screen-tabs {
    gap:3px
  }
  .screen-tabs button {
    padding:9px 12px
  }
  .zoom-label {
    opacity:1
  }
  .footer-inner>span {
    order:3;
    width:100%
  }
}
@media(max-width:480px) {
  .container {
    width:calc(100% - 36px)
  }
  .brand {
    font-size:15px;
    gap:9px
  }
  .brand img {
    width:34px;
    height:34px
  }
  .nav {
    gap:10px
  }
  .nav-download {
    font-size:13px;
    padding:8px 12px;
    gap:7px
  }
  .nav-download .icon {
    width:17px
  }
  .version {
    font-size:11px;
    gap:7px
  }
  .version-detail {
    padding-left:7px
  }
  .hero-description {
    font-size:16px
  }
  .hero-actions {
    flex-direction:column;
    align-items:stretch
  }
  .hero-actions .button {
    font-size:14px
  }
  .hero-footnote {
    font-size:12px
  }
  .visual-heading {
    font-size:9px;
    padding:12px
  }
  .hero-visual figcaption {
    font-size:11px;
    padding:12px
  }
  .capabilities strong {
    font-size:12px
  }
  .capabilities span {
    font-size:11px
  }
  .capabilities {
    column-gap:12px
  }
  .feature-grid {
    grid-template-columns:1fr
  }
  .feature {
    padding:27px
  }
  .feature-top {
    margin-bottom:22px
  }
  .feature p {
    font-size:16px
  }
  .section {
    padding-block:58px
  }
  .section-heading>p {
    font-size:14px
  }
  .screen-tabs {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .screen-tabs button {
    font-size:13px;
    text-align:left
  }
  .screen-meta p {
    font-size:13px
  }
  .zoom-label {
    font-size:11px;
    right:10px;
    bottom:10px;
    padding:6px 9px
  }
  .download-card {
    display:flex
  }
  .download-card p {
    margin-bottom:23px
  }
  .download-card>.button,.linux-actions {
    margin-top:auto
  }
  .download-card small {
    margin-top:15px
  }
  .release-footer {
    flex-direction:column;
    gap:12px
  }
  .footer-inner {
    gap:20px
  }
  .footer-inner>div {
    gap:18px;
    font-size:12px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
  .hero-visual {
    transform:none
  }
}

/* Keep language navigation visible at every viewport width. */
.language-switch { color:var(--cyan); font-size:14px; white-space:nowrap; padding:8px 4px; }
.nav-links { margin-left:auto; }
html[lang="en"] .hero-copy { min-width:0; }
html[lang="en"] .hero-visual figcaption { flex-wrap:wrap; }
@media(max-width:1000px) { .nav-links { display:none; } .language-switch { margin-left:auto; } }
@media(max-width:480px) { .nav { flex-wrap:wrap; padding-block:12px; } .nav .brand { font-size:14px; } .nav-download { margin-left:auto; } }

/* Protocol assistant highlight section */
.protocol-layout { display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center }
.protocol-lead { color:var(--muted); font-size:16px; line-height:1.85; margin-top:18px }
.protocol-points { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:18px }
.protocol-points li { position:relative; padding-left:26px; color:#9caec1; font-size:15px; line-height:1.75 }
.protocol-points li strong { color:#e8f2fb; font-weight:500; display:block; font-size:17px; margin-bottom:4px }
.protocol-points li::before { content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:2px; background:var(--cyan) }
.protocol-note { margin-top:24px; font-size:13px; color:#7c90a7; line-height:1.7 }
.protocol-visual { margin:0; border:1px solid #304257; border-radius:18px; overflow:hidden; box-shadow:0 24px 55px #0004 }
.protocol-visual img { width:100%; height:auto; display:block }
@media(max-width:900px) { .protocol-layout { grid-template-columns:1fr; gap:32px } }
