/* /affiliates */
.page-affiliates .h2 em { font-style: normal; color: var(--purple); }
.page-affiliates [hidden] { display: none !important; }
.page-affiliates code { font-family: var(--f-mono); font-size: .84em; background: var(--paper); border: 1px solid var(--ink); padding: 1px 6px; border-radius: 4px; }
.page-affiliates section { position: relative; }

.kbtn { padding: 9px 16px; font-weight: 600; font-size: .9rem; background: var(--white); border: 2px solid var(--ink); border-radius: 10px; box-shadow: 0 3px 0 var(--ink); transition: transform .15s, box-shadow .15s, background .25s, color .25s; }
.kbtn:hover { background: var(--ink); color: var(--lime); transform: translateY(-2px) rotate(-1deg); box-shadow: 0 5px 0 var(--purple); }
.kbtn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--ink); }
.kbtn.is-done { background: var(--lime); color: var(--ink); }

.field { display: grid; gap: 8px; }
.field__lbl { color: var(--muted); }
.field__box { display: flex; align-items: center; gap: 12px; padding: 0 16px; min-height: 58px; background: var(--paper); border: 2px solid var(--ink); border-radius: 14px; transition: box-shadow .3s var(--ease-out), background .3s; }
.field__box:focus-within, .field textarea:focus { background: var(--white); box-shadow: 4px 4px 0 var(--purple); outline: 0; }
.field__pre { color: var(--purple); font-size: .9rem; min-width: 2ch; }
.field__box input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font-size: 1.05rem; padding: 14px 0; color: var(--ink); }
.field textarea { resize: vertical; min-height: 96px; padding: 14px 16px; font-size: 1rem; background: var(--paper); border: 2px solid var(--ink); border-radius: 14px; color: var(--ink); transition: box-shadow .3s var(--ease-out), background .3s; }
.field input::placeholder, .field textarea::placeholder { color: #6B6B6B; }
.is-bad { animation: aff-shake .4s; box-shadow: 4px 4px 0 #E2265A !important; }
@keyframes aff-shake { 25% { transform: translateX(-6px); } 50% { transform: translateX(5px); } 75% { transform: translateX(-3px); } }
@keyframes aff-bob { 50% { transform: translateY(-12px) rotate(-1.5deg); } }
@keyframes aff-blink { 50% { opacity: 0; } }

/* abertura */
.fh { padding: calc(var(--hdr-h) + clamp(36px, 5vw, 80px)) 0 clamp(70px, 8vw, 130px); overflow: hidden; }
.fh::before { content: ""; position: absolute; inset: auto -10% -2px -10%; height: 50%; background: linear-gradient(transparent, rgba(110,17,223,.08)), repeating-linear-gradient(90deg, rgba(14,14,14,.08) 0 1px, transparent 1px 64px); pointer-events: none; }
.fh__grid { position: relative; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.fh__title { font-size: clamp(3rem, 7.4vw, 7.8rem); }
.fh__line { display: block; }
.fh__line:nth-child(2) { color: var(--purple); }
.fh__sub { margin: 26px 0 34px; }
.fh__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }
.fh__facts { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 40px 0 0; padding: 18px 0 0; list-style: none; border-top: 2px dashed rgba(14,14,14,.25); font-size: .8rem; }
.fh__facts b { font-family: var(--f-display); font-weight: 900; font-size: 1.9rem; letter-spacing: -.04em; margin-right: 6px; vertical-align: -4px; }

.arc { position: relative; justify-self: center; width: min(100%, 470px); }
.arc__cab { position: relative; margin: 0; aspect-ratio: 1024 / 1300; border: 2px solid var(--ink); border-radius: var(--r-panel); overflow: hidden; box-shadow: 10px 10px 0 var(--purple), 10px 10px 0 2px var(--ink);
  background: radial-gradient(circle at 50% 35%, rgba(198,255,0,.35), transparent 55%), linear-gradient(170deg, var(--purple-deep), var(--ink) 70%); transform: rotate(1.5deg); }
.arc__photo { width: 100%; height: 100%; object-fit: cover; }
.arc__screen { position: absolute; left: 12%; right: 12%; top: 14%; padding: 18px 18px 16px; background: rgba(14,14,14,.92); color: var(--lime); border: 2px solid var(--lime); border-radius: 12px; box-shadow: 0 0 0 4px var(--ink), 0 0 40px rgba(198,255,0,.35); overflow: hidden; }
.arc__hs { display: flex; justify-content: space-between; margin: 0 0 12px; font-size: .7rem; color: var(--white); }
.arc__hs span:last-child { color: var(--lime); }
.arc__ttl { margin: 0; font-size: .68rem; color: #B98BFF; }
.arc__name { margin: 2px 0 8px; font-size: clamp(2.2rem, 4.6vw, 3.4rem); line-height: 1; letter-spacing: .14em; text-shadow: 3px 3px 0 var(--purple); overflow-wrap: anywhere; }
.arc__caret { font-style: normal; animation: aff-blink 1s steps(1) infinite; }
.arc__link { margin: 0 0 12px; padding: 6px 8px; background: rgba(198,255,0,.12); border: 1px dashed rgba(198,255,0,.55); border-radius: 6px; color: var(--white); font-size: .7rem; overflow-wrap: anywhere; }
.arc__ins { margin: 0; text-align: center; font-size: .7rem; animation: aff-blink 1.4s steps(1) infinite; }
.arc__entry { position: relative; z-index: 3; display: grid; gap: 8px; margin: -46px 18px 0 -18px; padding: 16px 18px; background: var(--white); border: 2px solid var(--ink); border-radius: var(--r-card); box-shadow: 6px 6px 0 var(--ink); transform: rotate(-1.5deg); }
.arc__lbl { color: var(--muted); font-size: .7rem; }
.arc__box { display: flex; align-items: center; gap: 4px; padding: 0 14px; min-height: 50px; background: var(--paper); border: 2px solid var(--ink); border-radius: 12px; transition: box-shadow .3s var(--ease-out); }
.arc__box:focus-within { box-shadow: 4px 4px 0 var(--lime), 4px 4px 0 2px var(--ink); background: var(--white); }
.arc__box .pixel { color: var(--purple); font-size: .8rem; }
.arc__box input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font-family: var(--f-mono); font-size: .95rem; padding: 12px 0; }
.arc__help { font-size: .82rem; color: var(--muted); line-height: 1.4; }
.arc__hup { position: absolute; z-index: 4; width: clamp(110px, 12vw, 160px); left: -14%; top: 40%; animation: aff-bob 3.6s ease-in-out infinite; }
.arc__sticker { position: absolute; z-index: 4; right: -10px; top: -14px; transform: rotate(6deg); }
.arc__note { position: absolute; z-index: 4; right: -7%; bottom: 23%; transform: rotate(7deg); text-align: right; color: var(--white); text-shadow: 2px 2px 0 var(--ink); }

/* fases */
.steps { padding: clamp(70px, 9vw, 140px) 0; background: var(--white); border-block: 2px solid var(--ink); }
.steps__head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px 60px; align-items: end; margin-bottom: clamp(40px, 6vw, 80px); }
.stairs { position: relative; }
.stairs__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: clamp(14px, 2vw, 26px); align-items: end; }
.stair { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 26px clamp(18px, 2vw, 28px) 30px; border: 2px solid var(--ink); border-radius: var(--r-card) var(--r-card) 0 0; border-bottom-width: 10px; }
.stair p { margin: 0; }
.stair--1 { min-height: 300px; background: var(--paper); }
.stair--2 { min-height: 380px; background: var(--lime); }
.stair--3 { min-height: 460px; background: var(--ink); color: var(--white); border-bottom-color: var(--purple); }
.stair__flag { align-self: flex-start; padding: 4px 10px; background: var(--ink); color: var(--lime); border-radius: 4px; font-size: .7rem; }
.stair--3 .stair__flag { background: var(--lime); color: var(--ink); }
.stair__key { margin-top: auto; display: inline-flex; gap: 10px; align-items: center; font-weight: 600; font-size: .92rem; }
.stair__ascii { margin-top: auto; padding: 10px 12px; background: var(--ink); color: var(--lime); border-radius: 8px; font-size: .66rem; white-space: nowrap; overflow: hidden; }
.stair__coin { margin-top: auto; align-self: flex-end; font-size: 1.6rem; color: var(--lime); text-shadow: 3px 3px 0 var(--purple); }
.stairs__hup { position: absolute; z-index: 2; width: clamp(80px, 8vw, 116px); left: 4%; bottom: 300px; pointer-events: none; }

/* simulador */
.calc { padding: clamp(80px, 10vw, 150px) 0; }
.calc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.calc__copy .lead { margin: 22px 0 30px; }
.acycle { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; padding: 5px; background: var(--white); border: 2px solid var(--ink); border-radius: 999px; isolation: isolate; box-shadow: 0 4px 0 var(--ink); }
.acycle button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 9px 20px; font-weight: 600; border-radius: 999px; transition: color .3s; }
.acycle button[aria-checked="true"] { color: var(--lime); }
.acycle .kbd { min-width: 24px; height: 24px; font-size: .62rem; box-shadow: 0 2px 0 var(--ink); }
.acycle__pill { position: absolute; z-index: -1; top: 5px; bottom: 5px; left: 5px; width: calc(50% - 5px); border-radius: 999px; background: var(--ink); transition: transform .55s var(--ease-spring); }
.acycle[data-cycle="yearly"] .acycle__pill { transform: translateX(100%); }
.sliders { display: grid; gap: 14px; margin: 30px 0 18px; }
.sl { display: grid; gap: 12px; padding: 16px 18px; background: var(--white); border: 2px solid var(--ink); border-radius: 14px; transition: box-shadow .3s var(--ease-out), transform .4s var(--ease-spring); }
.sl:focus-within { box-shadow: 6px 6px 0 var(--purple); transform: translateX(6px); }
.sl__top { display: flex; align-items: center; gap: 14px; }
.sl__price { color: var(--muted); }
.sl__n { margin-left: auto; min-width: 3ch; text-align: right; font-size: 1.5rem; }
.sl input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 14px; border: 2px solid var(--ink); border-radius: 999px; cursor: pointer;
  background: linear-gradient(90deg, var(--purple) 0 var(--p, 0%), var(--paper) var(--p, 0%)); }
.sl input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; background: var(--lime); border: 2px solid var(--ink); border-radius: 7px; box-shadow: 0 3px 0 var(--ink); transition: transform .2s var(--ease-spring); }
.sl input[type="range"]::-moz-range-thumb { width: 26px; height: 26px; background: var(--lime); border: 2px solid var(--ink); border-radius: 7px; box-shadow: 0 3px 0 var(--ink); }
.sl input[type="range"]:active::-webkit-slider-thumb { transform: scale(1.15) rotate(12deg); }
.sl input[type="range"]:focus-visible { outline-offset: 6px; }
.calc__keys { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--muted); }
.calc__keys .kbd { min-width: 24px; height: 24px; font-size: .62rem; }

.board { padding: clamp(22px, 3vw, 36px); border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--lime), 10px 10px 0 2px var(--ink); transform: rotate(-1deg); }
.board__hd { display: flex; justify-content: space-between; margin: 0 0 26px; font-size: .7rem; color: #9C9C9C; }
.board__lbl { margin: 0; color: #B98BFF; font-size: .78rem; }
.board__total { display: flex; align-items: flex-start; gap: 10px; margin: 6px 0 26px; color: var(--lime); }
.board__total .pixel { font-size: 1.2rem; margin-top: .6em; }
.board__total b { font-family: var(--f-display); font-weight: 900; font-size: clamp(4rem, 9vw, 8.4rem); line-height: .85; letter-spacing: -.05em; text-shadow: 5px 5px 0 var(--purple); font-variant-numeric: tabular-nums; }
.board__bars { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 12px; }
.board__bars li { display: grid; grid-template-columns: 54px 1fr 80px; gap: 12px; align-items: center; }
.board__bars span { font-size: .7rem; }
.board__bars i { position: relative; height: 18px; background: var(--ink-3); border-radius: 3px; overflow: hidden; }
.board__bars s { position: absolute; inset: 0 auto 0 0; width: var(--w, 0%); background: repeating-linear-gradient(90deg, var(--lime) 0 10px, transparent 10px 13px); transition: width .7s var(--ease-out); }
.board__bars li[data-bar="ultra"] s { background: repeating-linear-gradient(90deg, #B98BFF 0 10px, transparent 10px 13px); }
.board__bars li[data-bar="giga"] s { background: repeating-linear-gradient(90deg, var(--white) 0 10px, transparent 10px 13px); }
.board__bars b { text-align: right; font-weight: 600; }
.board__rank { display: inline-block; margin: 0 0 18px; padding: 6px 12px; background: var(--purple); color: var(--white); border-radius: 4px; font-size: .74rem; }
.board__rank.is-up { animation: aff-shake .4s; }
.board__ft { margin: 0; padding-top: 16px; border-top: 1px dashed rgba(255,255,255,.25); color: #C9C9C9; line-height: 1.6; }
.board__ft b { color: var(--lime); }

/* kit */
.kit { padding: clamp(80px, 10vw, 150px) 0; background: var(--lime); border-block: 2px solid var(--ink); overflow: hidden; }
.kit__head { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 60px; align-items: end; margin-bottom: clamp(40px, 5vw, 70px); }
.kit__grid { display: grid; grid-template-columns: 1.15fr .85fr 1fr; grid-template-rows: auto auto; gap: clamp(16px, 2vw, 28px); align-items: start; }
.post { position: relative; display: flex; flex-direction: column; gap: 16px; }
.post__copy { align-self: flex-start; }
.post--term { grid-row: span 2; padding: 0 0 22px; background: var(--ink); color: var(--white); border: 2px solid var(--ink); border-radius: var(--r-card); box-shadow: 8px 8px 0 var(--purple); transform: rotate(-1.2deg); }
.post--term .post__copy { margin-left: 22px; }
.post--term .post__copy:not(:hover) { color: var(--ink); }
.post__bar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--ink-3); color: #9C9C9C; }
.post__bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--purple); }
.post__bar i:nth-child(2) { background: var(--lime); }
.post__bar i:nth-child(3) { background: var(--white); }
.post__bar span { margin-left: 10px; }
.post__body { margin: 0; padding: 18px 22px 0; font-family: var(--f-mono); font-size: .86rem; line-height: 1.75; white-space: pre-wrap; color: var(--lime); }
.post--chat { padding-top: 10px; }
.post__src { margin: 0; font-size: .74rem; }
.post__bubble { padding: 18px 20px; background: var(--white); border: 2px solid var(--ink); border-radius: 22px 22px 22px 6px; box-shadow: 5px 5px 0 var(--ink); }
.post__bubble p { margin: 0; font-weight: 500; }
.post--note { padding: 22px 22px 24px; background: #FFF46B; border: 2px solid var(--ink); border-radius: 4px; box-shadow: 6px 6px 0 var(--ink); transform: rotate(2deg); }
.post--note::before { content: ""; position: absolute; top: -14px; left: 50%; width: 90px; height: 26px; margin-left: -45px; background: rgba(110,17,223,.55); transform: rotate(-3deg); }
.post--note .post__src { font-size: 1.5rem; }
.post__script { margin: 0; padding-left: 1.3em; display: grid; gap: 8px; font-weight: 500; }
.post__script li::marker { font-family: var(--f-pixel); font-size: .8em; color: var(--purple); }
.cheat { grid-column: 2 / span 2; padding: 24px 26px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.cheat__ttl { margin: 0 0 16px; font-size: .9rem; }
.cheat__dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 26px; }
.cheat__dl div { padding-left: 14px; border-left: 4px solid var(--purple); }
.cheat__dl dt { font-family: var(--f-display); font-weight: 800; font-size: 1.2rem; letter-spacing: -.02em; line-height: 1.1; }
.cheat__dl dd { margin: 4px 0 0; font-size: .92rem; color: var(--muted); }
.post, .cheat { transition: transform .5s var(--ease-spring), box-shadow .4s var(--ease-out); }
.post--chat:hover .post__bubble { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--purple); transition: transform .4s var(--ease-spring), box-shadow .4s; }
.post--term:hover { transform: rotate(0deg) translateY(-4px); box-shadow: 12px 12px 0 var(--purple); }
.post--note:hover { transform: rotate(-1deg) translateY(-6px); }

/* regras */
.rules { padding: clamp(80px, 10vw, 150px) 0; }
.rules__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.rules__copy .lead { margin: 24px 0 18px; }
.rules__sheet { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; padding: clamp(22px, 3vw, 36px); border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--purple); }
.rules__hd, .rules__ft { grid-column: 1 / -1; margin: 0; }
.rules__hd { display: flex; justify-content: space-between; font-size: .7rem; color: #9C9C9C; }
.rules__k { margin: 0 0 12px; color: var(--lime); }
.rules__col--no .rules__k { color: #FF6B8E; }
.rules__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rules__list li { position: relative; padding-left: 26px; font-weight: 500; line-height: 1.4; }
.rules__list li::before { content: "▶"; position: absolute; left: 0; top: .1em; font-size: .7em; color: var(--lime); }
.rules__col--no li { --strike: 0; color: #DADADA; }
.rules__col--no li::before { content: "✕"; color: #FF6B8E; font-family: var(--f-mono); font-size: .85em; }
.rules__col--no li::after { content: ""; position: absolute; left: 26px; right: 0; top: .72em; height: 2px; background: #FF6B8E; transform: scaleX(var(--strike)); transform-origin: left; }
.rules__ft { padding-top: 16px; border-top: 1px dashed rgba(255,255,255,.25); color: #C9C9C9; }

/* inscrição */
.join { padding: clamp(80px, 10vw, 150px) 0; background: var(--purple); color: var(--white); border-block: 2px solid var(--ink); }
.join::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 48px), repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 48px); pointer-events: none; }
.join__grid { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(30px, 5vw, 80px); align-items: start; }
.jform { display: grid; gap: 18px; padding: clamp(24px, 3.4vw, 44px); background: var(--white); color: var(--ink); border: 2px solid var(--ink); border-radius: var(--r-panel); box-shadow: 12px 12px 0 var(--ink); }
.jform .h2 { font-size: clamp(2.4rem, 5vw, 5rem); }
.jform__intro { margin: 0 0 8px; max-width: 36em; }
.jform a { border-bottom: 1.5px solid currentColor; font-weight: 600; }
.aud { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; }
.aud__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.aud label { position: relative; cursor: pointer; }
.aud input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.aud span { display: inline-block; padding: 10px 16px; border: 2px solid var(--ink); border-radius: 10px; background: var(--paper); font-weight: 600; font-size: .94rem; box-shadow: 0 3px 0 var(--ink); transition: transform .3s var(--ease-spring), background .25s, color .25s; }
.aud label:hover span { transform: translateY(-2px) rotate(-1.5deg); }
.aud input:checked + span { background: var(--ink); color: var(--lime); transform: translateY(2px); box-shadow: 0 1px 0 var(--ink); }
.aud input:focus-visible + span { outline: 3px solid var(--purple); outline-offset: 3px; }
.agree { display: flex; gap: 12px; align-items: flex-start; font-weight: 500; cursor: pointer; }
.agree input { appearance: none; -webkit-appearance: none; flex: none; width: 26px; height: 26px; margin: 0; border: 2px solid var(--ink); border-radius: 6px; background: var(--paper); box-shadow: 0 2px 0 var(--ink); cursor: pointer; display: grid; place-items: center; }
.agree input:checked { background: var(--lime); }
.agree input:checked::after { content: ""; width: 12px; height: 7px; border: solid var(--ink); border-width: 0 0 3px 3px; transform: translateY(-2px) rotate(-45deg); }
.jform__go { justify-self: start; }
.jform__msg { margin: 0; font-weight: 600; font-size: .95rem; }
.jform__msg:empty { display: none; }
.jform__msg.is-ok { padding: 12px 16px; background: var(--lime); border: 1.5px solid var(--ink); border-radius: 12px; }
.jform__msg.is-err { padding: 12px 16px; background: #FFE3EA; border: 1.5px solid #E2265A; border-radius: 12px; color: #8A0E31; }

.next { position: sticky; top: calc(var(--hdr-h) + 30px); display: grid; gap: 18px; }
.next__hup { width: clamp(120px, 12vw, 170px); animation: aff-bob 4s ease-in-out infinite; }
.next__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: n; }
.next__list li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; padding: 14px 16px; background: rgba(14,14,14,.35); border: 1.5px solid rgba(255,255,255,.35); border-radius: 12px; }
.next__list li:nth-child(2) { margin-left: clamp(0px, 2vw, 26px); }
.next__list li:nth-child(3) { margin-left: clamp(0px, 4vw, 52px); }
.next__list .pixel { display: grid; place-items: center; height: 44px; background: var(--lime); color: var(--ink); border-radius: 8px; font-size: .9rem; }
.next__list p { margin: 0; }
.next__fine { margin: 0; font-size: .92rem; color: #E6DAFF; }
.next__fine a { color: var(--lime); border-bottom: 1.5px solid currentColor; }

/* dúvidas */
.ffaq__side { position: sticky; top: calc(var(--hdr-h) + 30px); display: grid; gap: 16px; justify-items: start; padding: 28px; background: var(--white); border: 2px solid var(--ink); border-radius: var(--r-panel); box-shadow: 8px 8px 0 var(--lime), 8px 8px 0 2px var(--ink); }
.ffaq__side p { margin: 0; }
.ffaq__hup { width: 130px; }
.ffaq .q__ans a { border-bottom: 1.5px solid currentColor; font-weight: 600; }

@media (max-width: 1180px) {
  .arc__hup { left: -6%; }
  .arc__note { right: -2%; }
  .kit__grid { grid-template-columns: 1fr 1fr; }
  .post--term { grid-row: auto; }
  .cheat { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .fh__grid, .steps__head, .calc__grid, .kit__head, .rules__grid, .join__grid { grid-template-columns: 1fr; }
  .arc { margin-top: 20px; width: min(100%, 420px); }
  .arc__hup { left: -4%; top: auto; bottom: 120px; }
  .stairs__list { grid-template-columns: 1fr; }
  .stair { min-height: 0 !important; border-radius: var(--r-card); border-bottom-width: 2px; border-left-width: 10px; }
  .stair--2 { margin-left: 8%; }
  .stair--3 { margin-left: 16%; border-left-color: var(--purple); }
  .stairs__hup { display: none; }
  .board { transform: none; }
  .next, .ffaq__side { position: static; }
  .rules__sheet { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .fh__title { font-size: clamp(2.7rem, 13vw, 4rem); }
  .fh__facts { gap: 10px 18px; }
  .arc__entry { margin: -36px 0 0; }
  .arc__note { display: none; }
  .arc__hup { width: 96px; left: -10px; bottom: 150px; }
  .stair--2, .stair--3 { margin-left: 0; }
  .kit__grid { grid-template-columns: 1fr; }
  .post--term, .post--note { transform: none; }
  .cheat__dl { grid-template-columns: 1fr; }
  .board__bars li { grid-template-columns: 48px 1fr 66px; }
  .next__list li { margin-left: 0 !important; }
  .acycle button { padding: 9px 14px; }
}
