.tutorial-hero{
  position:relative;
  padding-top:72px;
  padding-bottom:84px;
  overflow-x:clip;
  background:
    linear-gradient(180deg,rgba(var(--color-accent-rgb),.05),rgba(var(--color-pair-rgb),.07));
}
.tutorial-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(var(--color-accent-rgb),.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(var(--color-accent-rgb),.045) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:linear-gradient(to bottom,var(--color-ink),transparent);
  mask-image:linear-gradient(to bottom,var(--color-ink),transparent);
}
.tutorial-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);
  gap:72px;
  align-items:center;
}
.tutorial-hero-copy{
  min-width:0;
}
.tutorial-hero-copy h1{
  max-width:760px;
  margin-top:18px;
  font-size:clamp(52px,5.2vw,68px);
}
.tutorial-hero-copy h1 span{
  color:transparent;
  background:linear-gradient(90deg,var(--color-accent),var(--color-accent-pair));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.tutorial-hero-lede{
  max-width:650px;
  margin-top:24px;
  color:var(--color-muted);
  font-size:19px;
  line-height:1.75;
}
.tutorial-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
.tutorial-hero-actions .btn-primary,
.tutorial-hero-actions .btn-secondary{
  flex-shrink:0;
  white-space:nowrap;
}
.tutorial-trust{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:26px;
}
.tutorial-console{
  position:relative;
  width:100%;
  max-width:500px;
  min-height:430px;
  margin-inline:auto;
  perspective:1200px;
}
.console-spectrum{
  position:absolute;
  inset:24px 0 0;
  background:repeating-linear-gradient(90deg,rgba(var(--color-accent-rgb),.32) 0 2px,transparent 2px 9px);
  -webkit-mask-image:linear-gradient(90deg,transparent,var(--color-ink),transparent);
  mask-image:linear-gradient(90deg,transparent,var(--color-ink),transparent);
}
.console-panel,
.console-layer{
  position:absolute;
  right:20px;
  left:20px;
  min-width:0;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-deep),var(--inner-highlight);
}
.console-panel{
  top:40px;
  z-index:3;
  padding:20px;
}
.console-layer{
  height:330px;
}
.console-layer-middle{
  top:66px;
  z-index:2;
  right:32px;
  left:32px;
  opacity:.7;
}
.console-layer-back{
  top:90px;
  z-index:1;
  right:46px;
  left:46px;
  opacity:.4;
}
.console-topbar{
  display:flex;
  align-items:center;
  gap:7px;
  padding-bottom:17px;
  border-bottom:1px solid var(--color-border);
}
.console-light{
  width:8px;
  height:8px;
  flex-shrink:0;
  background:var(--color-border);
  border-radius:50%;
}
.console-light:first-child{
  background:var(--color-accent);
}
.console-title{
  margin-left:auto;
  color:var(--color-soft);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
}
.console-flow{
  display:grid;
  gap:0;
  padding:24px 4px 18px;
}
.console-node{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:15px;
  background:var(--color-slot);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
}
.console-node-icon{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-sm);
}
.console-node span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.console-node b{
  color:var(--color-ink);
  font-size:14px;
}
.console-node small{
  margin-top:3px;
  color:var(--color-soft);
  font-size:12px;
}
.console-node.is-current{
  background:var(--color-panel);
  border-color:var(--color-accent);
  box-shadow:var(--shadow-soft);
}
.console-rail{
  width:2px;
  height:17px;
  margin-left:25px;
  background:linear-gradient(var(--color-accent),var(--color-accent-pair));
}
.console-status{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  color:var(--color-muted);
  background:var(--color-slot);
  border-radius:var(--radius-sm);
  font-size:12px;
  font-weight:650;
}
.console-status-dot{
  width:8px;
  height:8px;
  flex-shrink:0;
  background:var(--color-success);
  border-radius:50%;
  box-shadow:0 0 0 5px var(--color-success-soft);
}
.tutorial-article{
  padding-top:48px;
  padding-bottom:var(--section-space);
}
.tutorial-callout{
  max-width:980px;
  margin-bottom:48px;
}
.tutorial-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:56px;
  align-items:start;
}
.tutorial-flow{
  min-width:0;
}
.tutorial-step{
  position:relative;
  min-width:0;
  padding:42px;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-card),var(--inner-highlight);
}
.tutorial-step + .tutorial-step{
  margin-top:28px;
}
.tutorial-step::before{
  content:"";
  position:absolute;
  top:0;
  left:42px;
  width:84px;
  height:3px;
  background:linear-gradient(90deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-pill);
}
.step-heading{
  display:flex;
  align-items:flex-start;
  gap:18px;
}
.step-icon{
  display:grid;
  width:56px;
  height:56px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
}
.step-kicker{
  display:block;
  margin-bottom:6px;
  color:var(--color-accent);
  font-size:12px;
  font-weight:760;
  letter-spacing:.08em;
}
.step-heading h2{
  font-size:clamp(28px,3vw,40px);
}
.step-copy{
  margin-top:26px;
  color:var(--color-muted);
}
.step-copy p{
  line-height:1.85;
}
.step-copy p + p{
  margin-top:18px;
}
.step-copy pre{
  margin-top:18px;
  margin-bottom:18px;
}
.step-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
  margin-top:26px;
}
.step-actions .btn-primary,
.step-actions .btn-secondary{
  flex-shrink:0;
  white-space:nowrap;
}
.platform-instructions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
  margin-bottom:24px;
}
.platform-instruction{
  min-width:0;
  padding:22px;
  background:var(--color-slot);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
}
.platform-instruction-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.platform-mini-icon{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-sm);
}
.platform-instruction h3{
  font-size:19px;
}
.platform-instruction p{
  margin-top:14px;
  font-size:14px;
  line-height:1.8;
}
.tutorial-side{
  position:sticky;
  top:92px;
  display:grid;
  gap:18px;
  min-width:0;
}
.tutorial-side-card{
  min-width:0;
  padding:22px;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft),var(--inner-highlight);
}
.tutorial-side-label{
  display:block;
  margin-bottom:16px;
  color:var(--color-accent);
  font-size:12px;
  font-weight:780;
  letter-spacing:.08em;
}
.tutorial-side-card ul{
  display:grid;
  gap:16px;
  list-style:none;
}
.tutorial-side-card li{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.check-dot{
  width:9px;
  height:9px;
  margin-top:7px;
  flex-shrink:0;
  background:var(--color-success);
  border-radius:50%;
  box-shadow:0 0 0 4px var(--color-success-soft);
}
.tutorial-side-card li span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.tutorial-side-card b{
  color:var(--color-ink);
  font-size:13px;
}
.tutorial-side-card small{
  margin-top:2px;
  color:var(--color-soft);
  font-size:12px;
  line-height:1.55;
}
.side-card-soft{
  background:var(--color-slot);
}
.side-card-soft p{
  color:var(--color-muted);
  font-size:13px;
  line-height:1.7;
}
.side-card-soft p + p{
  margin-top:12px;
}
.next-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.next-card{
  display:flex;
  min-width:0;
  align-items:center;
  gap:12px;
  padding:16px;
  color:var(--color-ink);
  background:var(--color-slot);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);
}
.next-card:hover{
  transform:translateY(-2px);
  border-color:var(--color-accent);
  background:var(--color-panel);
}
.next-card-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  flex-shrink:0;
  color:var(--color-panel);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-pair));
  border-radius:var(--radius-sm);
}
.next-card > span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.next-card b{
  font-size:14px;
}
.next-card small{
  margin-top:3px;
  color:var(--color-soft);
  font-size:11px;
  line-height:1.5;
}
@media (max-width:1080px){
  .tutorial-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);
    gap:40px;
  }
  .tutorial-layout{
    grid-template-columns:minmax(0,1fr) 270px;
    gap:30px;
  }
  .tutorial-step{
    padding:34px;
  }
  .tutorial-step::before{
    left:34px;
  }
  .next-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:900px){
  .tutorial-hero-grid{
    grid-template-columns:1fr;
  }
  .tutorial-console{
    max-width:560px;
  }
  .tutorial-layout{
    grid-template-columns:1fr;
  }
  .tutorial-side{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:700px){
  .tutorial-hero{
    padding-top:52px;
    padding-bottom:64px;
  }
  .tutorial-hero-copy h1{
    font-size:clamp(32px,10vw,40px);
  }
  .tutorial-hero-lede{
    font-size:17px;
  }
  .tutorial-console{
    min-height:390px;
  }
  .console-panel{
    right:0;
    left:0;
  }
  .console-layer-middle{
    right:12px;
    left:12px;
  }
  .console-layer-back{
    right:24px;
    left:24px;
  }
  .tutorial-step{
    padding:28px 22px;
  }
  .tutorial-step::before{
    left:22px;
  }
  .platform-instructions{
    grid-template-columns:1fr;
  }
  .tutorial-side{
    grid-template-columns:1fr;
  }
}
@media (max-width:480px){
  .tutorial-hero-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .tutorial-hero-actions .btn-primary,
  .tutorial-hero-actions .btn-secondary{
    width:100%;
  }
  .tutorial-console{
    min-height:370px;
  }
  .console-panel{
    padding:15px;
  }
  .console-node{
    gap:10px;
    padding:12px;
  }
  .console-node-icon{
    width:40px;
    height:40px;
  }
  .step-heading{
    gap:13px;
  }
  .step-icon{
    width:48px;
    height:48px;
  }
  .step-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .step-actions .btn-primary,
  .step-actions .btn-secondary{
    width:100%;
  }
  .platform-instruction{
    padding:18px;
  }
}
@media (prefers-reduced-motion:reduce){
  .next-card:hover{
    transform:none;
  }
}