.loopstrip{max-width:var(--maxw);margin:clamp(22px,3vw,36px) auto 0;display:flex;align-items:center;gap:18px;padding:12px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);flex-wrap:wrap}.loopstrip-beats{list-style:none;display:flex;gap:clamp(12px,2vw,24px);flex-wrap:wrap}.loopstrip-beats li{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:600;color:var(--ink-soft)}.loopstrip-beats .bi{font-size:11px;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.loopstrip-end{margin-left:auto;display:flex;align-items:baseline;gap:10px;font-size:13px;color:var(--muted);flex:1;min-width:180px;justify-content:flex-end}.loopstrip-end .leader{max-width:120px}.loopstrip-end b{color:var(--ink);font-weight:600}.problem{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}.problem-head{position:sticky;top:calc(var(--nav-h) + 32px);gap:14px}.evi-list,.problem-head{display:flex;flex-direction:column}.evi-list{list-style:none;gap:clamp(16px,2vw,24px)}.evi{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px);gap:18px}.evi,.evi-text{display:flex;flex-direction:column}.evi-text{gap:6px}.evi-n{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em}.evi h3{font-size:1.25rem;letter-spacing:-.02em}.evi p{color:var(--muted);font-size:15.5px;line-height:1.55;max-width:52ch}.evi-vis{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r);padding:16px;min-height:150px;display:flex;align-items:center;justify-content:center;gap:14px}@media(max-width:900px){.problem{grid-template-columns:1fr}.problem-head{position:static}}.mini-frame{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.evi-neq{font-size:22px;font-weight:600;color:var(--terra-text);flex:0 0 auto}.mini-col{flex:1;min-width:0;flex-direction:column}.mini-col,.mini-row{display:flex;gap:8px}.mini-row{align-items:center;font-size:12px}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid var(--hairline-strong);flex:0 0 auto}.evi-translate{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10.5px;color:var(--muted);flex:0 0 auto;text-align:center;max-width:90px}.evi-translate .dots{width:1px;height:18px;border-left:1px dashed var(--hairline-strong)}.mini-commit,.mini-hist{display:flex;flex-direction:column;gap:2px;font-size:12px;padding:8px 10px;background:var(--paper);border:1px solid var(--hairline);border-radius:8px}.mini-commit .soft,.mini-hist .soft{color:var(--muted);font-size:11px}.mini-commit .sha{font-family:var(--mono);color:var(--blue-text);font-size:11px}.mini-col.code .mini-commit,.mini-col.code .mini-hist{background:var(--card)}@media(max-width:560px){.evi-vis{flex-direction:column;align-items:stretch}.evi-translate{max-width:none;flex-direction:row;justify-content:center}.evi-translate .dots{width:18px;height:1px;border-left:none;border-top:1px dashed var(--hairline-strong)}}.loop{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.loop,.loop-node{position:relative}.loop-node{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}.loop-node:after{content:"→";position:absolute;right:-13px;top:16px;color:var(--dim);font-size:14px;z-index:1}.loop-node:last-child:after{content:none}.loop-i{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.06em}.loop-t{font-weight:600;font-size:15px;color:var(--ink)}.loop-l{font-size:13px;line-height:1.5;color:var(--muted)}.loop-m{font-family:var(--mono);font-size:11px;color:var(--blue-text);margin-top:auto;padding-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loop-node.is-merged{border-color:var(--blue-border);background:var(--blue-soft)}.loop-return{display:flex;align-items:center;gap:12px;margin-top:-16px}.loop-return-line,.loop-return:after{content:"";flex:1;border-top:1px dashed var(--hairline-strong)}.loop-return-label{font-size:12.5px;color:var(--muted);text-align:center}@media(max-width:960px){.loop{grid-template-columns:repeat(2,minmax(0,1fr))}.loop-node:after{content:none}}@media(max-width:560px){.loop{grid-template-columns:1fr}}.mode{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:12px;--mc:var(--blue);--mct:var(--blue-text)}.mode.is-build{--mc:var(--green);--mct:#2e7048}.mode.is-code{--mc:var(--terra);--mct:var(--terra-text)}.mode-head{display:flex;align-items:center;gap:8px}.mode-dot{width:9px;height:9px;border-radius:50%;background:var(--mc)}.mode-name{font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mct)}.mode-idx{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.mode h3{font-size:1.35rem;letter-spacing:-.025em}.mode p{color:var(--muted);font-size:15px;line-height:1.55}.mode-points{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:14px;border-top:1px solid var(--hairline)}.mode-points li{font-size:14px;color:var(--ink-soft);display:flex;gap:9px;align-items:flex-start}.mode-points li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mc);flex:0 0 auto;margin-top:7px}.change{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}.change-side{display:flex;flex-direction:column;gap:14px}.change-cap{font-size:14px;line-height:1.55;color:var(--muted);max-width:40ch}@media(max-width:900px){.change{grid-template-columns:minmax(0,1fr)}}.ptabs{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(20px,4vw,56px);align-items:start}.ptabs-list{display:flex;flex-direction:column;gap:6px}.ptabs-list button{text-align:left;font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--muted);padding:12px 14px;border-radius:var(--r);border:1px solid transparent;transition:color .15s,background .15s}.ptabs-list button:hover{color:var(--ink)}.ptabs-list button.on{color:var(--ink);background:var(--card);border-color:var(--hairline)}.ptabs-panel{display:flex;flex-direction:column;gap:16px}.ptabs-panel h3{font-size:clamp(1.4rem,2.4vw,1.9rem);letter-spacing:-.03em;font-weight:500}.ptabs-points{list-style:none;display:flex;flex-direction:column;gap:10px}.ptabs-points li{font-size:16px;line-height:1.5;color:var(--ink-soft);padding:12px 14px;background:var(--card);border:1px solid var(--hairline);border-radius:var(--r)}@media(max-width:760px){.ptabs{grid-template-columns:1fr}.ptabs-list{flex-direction:row;flex-wrap:wrap}.ptabs-list button{font-size:1rem;padding:8px 12px}}.plan-minis{list-style:none}.plan-mini{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px}.plan-mini.featured{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.plan-mini-name{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.plan-mini-price{font-size:2rem;font-weight:500;letter-spacing:-.04em;color:var(--ink);line-height:1}.plan-mini-price small{font-size:12.5px;font-weight:500;letter-spacing:0;color:var(--muted)}.plan-mini-when{font-size:14px;color:var(--ink-soft);margin-top:4px}.hero-open h1 .hl{font-style:normal;background-image:linear-gradient(transparent 72%,var(--blue-soft) 72%);border-radius:3px}.connect-chip{display:inline-flex;align-items:center;gap:8px;background:var(--blue-text);color:#fff;border-radius:var(--r-lg);padding:4px 14px 6px 10px;font-size:.46em;line-height:1.3;vertical-align:baseline;margin-top:clamp(14px,1.8vw,20px)}.connect-chip img{width:.85em;height:.85em;filter:brightness(0) invert(1)}html.lintro .hero-open h1{visibility:hidden}.tw{white-space:nowrap}html.lintro .tc{visibility:hidden}html.lintro .tc.on{visibility:visible}html.lintro .tc.cur{position:relative}html.lintro .tc.cur:after{content:"";position:absolute;left:100%;top:.1em;width:.07em;height:.82em;background:var(--blue);animation:caret-blink .85s steps(1) infinite}html.lintro .connect-chip .tc.cur:after{background:#fff}html.lintro .connect-chip{opacity:0;transform:scale(.9)}.connect-chip{transition:opacity .25s ease,transform .25s cubic-bezier(.3,1.4,.5,1)}html.lintro .connect-chip.chip-on{opacity:1;transform:none}html.lintro .hero-open .btnrow,html.lintro .hero-open .lead{opacity:0;transform:translateY(8px)}.hero-open .btnrow,.hero-open .lead{transition:opacity .4s ease,transform .4s ease}
/* !important + visibility so the reveal wins over ANY stray inline state a
   tween might have left on these (autoAlpha writes visibility, not just
   opacity — that is what stranded the CTAs before motion.js learned to skip). */html.lintro .hero-open .btnrow.on,html.lintro .hero-open .lead.on{opacity:1!important;visibility:visible!important;transform:none}html.lintro .plate1,html.lintro .site-footer,html.lintro .site-header,html.lintro main>:not(:first-child){opacity:0}.plate1,.site-footer,.site-header,main>*{transition:opacity .55s ease}@keyframes caret-blink{50%{opacity:0}}.hero-open h1{font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08}.hero-open{padding-bottom:clamp(18px,2.2vw,28px)}.hero-open .lead{margin-top:clamp(20px,2.4vw,28px);font-size:17px}.hero-open .btnrow{margin-top:clamp(26px,3vw,34px);gap:14px}.plate1{margin-top:clamp(30px,3.2vw,44px)}.lwin{transition:transform .5s ease}.stage-main.lifted .lwin{transform:translateY(-10px)}@media(prefers-reduced-motion:reduce){.lwin{transition:none}}