/* Three reading stages; ordinary scrolling with a static image for each stage. */
.stellarator-section{--stellarator-top:80px;--stellarator-key-height:58px;--stellarator-scene-top:calc(var(--stellarator-top) + var(--stellarator-key-height));--stellarator-height:calc(100svh - var(--stellarator-scene-top));padding:80px 0 50px;border-top:1px solid var(--line);background:var(--paper);color:var(--ink)}
.stellarator-intro h2{max-width:900px}
.stellarator-sequence{position:relative;margin-top:24px}
.stellarator-keybar{position:sticky;top:var(--stellarator-top);z-index:6;background:var(--paper);border-block:1px solid var(--line)}
.stellarator-stage{display:none}
.stellarator-stories article{width:min(1440px,100%);margin:auto;position:relative;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:4vw;align-items:center;padding:46px max(48px,6vw);scroll-margin-top:calc(var(--stellarator-scene-top) + 16px)}
.stellarator-text{max-width:390px;min-width:0;overflow-wrap:break-word}
.stellarator-step-number{display:block;font-size:12px;letter-spacing:.08em;color:var(--accent-text);margin:0 0 22px}
.stellarator-text h3{font-size:clamp(31px,3.5vw,49px);font-weight:500;letter-spacing:-.04em;line-height:1.13;margin:0}
.stellarator-text p{font-size:20px;line-height:1.65;color:var(--muted);margin:24px 0 0}
.stellarator-static,.stellarator-static img{display:block;width:100%;height:auto}
.stellarator-step-nav,.stellarator-model-name{display:none}
.stellarator-section.is-enhanced .stellarator-stage{display:block;position:sticky;top:var(--stellarator-scene-top);height:var(--stellarator-height);overflow:hidden}
.stellarator-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;z-index:2;pointer-events:none}
.stellarator-ground{position:absolute;bottom:13%;left:44%;width:47%;height:6%;background:radial-gradient(ellipse,#00214713,transparent 70%);filter:blur(9px);pointer-events:none}
.stellarator-section.is-enhanced .stellarator-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,#f4f6f3e8 18%,#f4f6f300 43%);pointer-events:none;z-index:3}
.stellarator-section.is-enhanced .stellarator-stories{position:relative;margin-top:calc(-1 * var(--stellarator-height));z-index:4;pointer-events:none}
.stellarator-section.is-enhanced .stellarator-stories article{height:var(--stellarator-height);display:flex;padding-block:50px 75px}
.stellarator-section.is-enhanced .stellarator-text{pointer-events:auto}
.stellarator-section.is-enhanced .stellarator-static{display:none}
.stellarator-section.is-enhanced .stellarator-step-nav{display:flex;position:sticky;bottom:20px;margin-top:-48px;margin-left:max(48px,6vw);gap:20px;width:max-content;z-index:5}
.stellarator-step-nav a{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;border-top:2px solid transparent;color:var(--muted);text-decoration:none;font-size:12px}
.stellarator-step-nav a[aria-current]{border-color:var(--accent);color:var(--ink)}
.stellarator-section.is-enhanced .stellarator-model-name{display:block;position:absolute;right:6vw;bottom:32px;color:var(--muted);font-size:12px;letter-spacing:.02em;z-index:5}
.stellarator-notes{padding-top:30px}
.stellarator-legend{display:flex;flex-wrap:wrap;gap:12px 26px;list-style:none;margin:0;padding:16px 0;font-size:13px;line-height:1.5;color:var(--ink)}
.stellarator-legend li{display:flex;align-items:center;gap:9px}
.stellarator-legend i{display:block;flex:none;width:20px}
.stellarator-surface-key{height:10px;border-radius:2px;background:#d6532d80}
.stellarator-nonplanar-key{height:5px;border-radius:2px;background:#304a63}
.stellarator-planar-key{height:5px;border-radius:2px;background:#967044}
.stellarator-vessel-key{height:10px;border-radius:2px;background:#a9b7bb}
.stellarator-credit{font-size:14px;line-height:1.6;margin:0}
.stellarator-credit a{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding-block:8px;text-underline-offset:.25em}
@media(max-width:1100px) and (min-width:901px){.stellarator-text{max-width:330px}.stellarator-text p{font-size:18px}.stellarator-text h3{font-size:34px}.stellarator-stories article{padding-inline:5vw}.stellarator-section.is-enhanced .stellarator-step-nav{margin-left:5vw}}
@media(max-width:900px){
  .stellarator-section{--stellarator-top:100px;--stellarator-key-height:60px;padding:50px 0 35px}
  .stellarator-sequence{margin-top:20px}
  .stellarator-stories article{display:flex;flex-direction:column;align-items:stretch;padding:32px 7vw;gap:24px;grid-template-columns:minmax(0,1fr)}
  .stellarator-static{order:-1;max-width:680px;align-self:center}
  .stellarator-text{max-width:100%}
  .stellarator-text h3{font-size:30px;line-height:1.13;letter-spacing:-.035em}
  .stellarator-text p{font-size:17px;line-height:1.55;margin-top:16px}
  .stellarator-step-number{font-size:11px;margin-bottom:12px}
  /* As on the map: the model fills the screen under the legend and each text rises over
     it as a card; the model changes in the free stretch between two cards. */
  .stellarator-section.is-enhanced .stellarator-stories article{display:block;height:auto;padding:calc(var(--stellarator-height)*1.15) 12px 0;scroll-margin-top:calc(var(--stellarator-scene-top) - var(--stellarator-height)*.75)}
  .stellarator-section.is-enhanced .stellarator-stories article:first-child{padding-top:calc(var(--stellarator-height)*.6);scroll-margin-top:calc(var(--stellarator-scene-top) - var(--stellarator-height)*.2)}
  .stellarator-section.is-enhanced .stellarator-stories article:last-child{padding-bottom:calc(var(--stellarator-height)*.7)}
  .stellarator-section.is-enhanced .stellarator-text{max-width:560px;margin:0 auto;padding:22px 22px 20px;border:1px solid #d5dfdacc;border-radius:26px;background:#f4f6f3f5;box-shadow:0 18px 48px #0021471c}
  .stellarator-section.is-enhanced .stellarator-stage::after{background:linear-gradient(0deg,var(--paper),#f4f6f300 9%,#f4f6f300 94%,var(--paper))}
  .stellarator-ground{left:12%;width:76%;bottom:30%}
  .stellarator-section.is-enhanced .stellarator-step-nav{z-index:3;margin-left:7vw;bottom:14px;gap:17px}
  .stellarator-section.is-enhanced .stellarator-model-name{display:none}
  .stellarator-notes{padding-top:26px}
  .stellarator-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px;line-height:1.4;gap:6px 16px;padding-block:9px}
  .stellarator-legend li{align-items:center}
}
@media(max-width:380px){.stellarator-section.is-enhanced .stellarator-text{padding:18px 18px 16px}}
@media(max-width:360px){.stellarator-legend{gap:12px 8px}.stellarator-legend li{gap:6px}}
@media(prefers-reduced-motion:reduce),(max-height:500px),(min-width:901px) and (max-height:650px){
  .stellarator-section.is-enhanced .stellarator-stage,.stellarator-section.is-enhanced .stellarator-step-nav,.stellarator-section.is-enhanced .stellarator-model-name{display:none}
  .stellarator-section.is-enhanced .stellarator-stories{margin-top:0;pointer-events:auto}
  .stellarator-section.is-enhanced .stellarator-stories article{height:auto;display:grid;padding-block:30px}
  .stellarator-section.is-enhanced .stellarator-text{padding:0;border:0;background:none;box-shadow:none}
  .stellarator-section.is-enhanced .stellarator-static{display:block}
}
@media print{
  .stellarator-keybar{position:static}
  .stellarator-stage,.stellarator-step-nav,.stellarator-model-name{display:none!important}
  .stellarator-stories{margin-top:0!important}
  .stellarator-stories article{display:grid!important;height:auto!important;break-inside:avoid;padding:25px 0!important}
  .stellarator-static{display:block!important}
  .stellarator-section{padding:25px 0}
}
