/* 8 마무리 #partner(2026-10-28 사용자 "마지막 섹션으로 RookissAI의 파트너를 기다린다 뭐 이런 뉘앙스의 마무리 섹션 하나만 멋있게 디자인해줘. 문구는 astra에게 생각하라고 해").
   글(문구 세션 최종안, 같은 날 사용자 지시로 리드 · 단추 · 「당신 → 여러분」 고침): 「RookissAI」 · 「다음 한 수는 / 여러분과 함께.」 · 「RookissAI와 함께 갈 / 파트너를 기다립니다.」 · 빈 칸 표 「여러분의 자리」. 단추 없음.
   그림: 체스판 판들(옆에서 본 판 → 탑뷰 → 45도 쿼터뷰, 색 폰들이 나아가 퀸으로 승진)을 거쳐 같은 날 사용자 "아냐 그냥 뭔가 지평선에 룩 하나 서있는 느낌으로 가자" →
   붉게 밝아 오는 하늘 · 빛나는 지평선 · 지평선까지 이어지는 체스판 바닥(원근 격자) · 지평선 위에 선 RookissAI 룩 하나(검은 유리 실루엣 + 뒤에서 오는 레드 테 · 성가퀴 빛) · 바닥에 비친 룩 · 불티 · 별.
   SVG 는 design/tools/partner/build.mjs 가 계산해 넣는다(viewBox 1000×640, 지평선 y 430, 룩 높이 300). 「여러분의 자리」 표 · 폰 · 퀸은 없앴다.
   등장(.is-on 한 번): 하늘 빛 → 지평선이 가운데서 양옆으로 → 바닥 격자 → 룩이 지평선 위로 선다 → 성가퀴 빛 · 비친 룩 → 그 뒤 해 숨 · 별 반짝 · 불티는 무한(박자 셈에서 빠진다). */
.l5-pt{overflow:hidden;isolation:isolate;border-top:1px solid var(--ln);background:radial-gradient(52% 58% at 74% 82%,rgba(200,30,53,.2),transparent 72%),radial-gradient(46% 40% at 72% 52%,rgba(255,65,85,.07),transparent 70%)}
.l5-pt .l5-in{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(12px,2.6vw,44px);max-width:1560px}
.l5-pt-eye{margin:0;color:var(--ac2);font-size:clamp(18px,1.5vw,22px);font-weight:800;letter-spacing:-.02em} /* 2026-10-28 사용자 "폰트좀 수정하고 pretendard로": 글꼴은 처음부터 Pretendard 였지만 작은 글씨에 넓은 자간(.24em)이라 다른 글꼴처럼 보였다 — 다른 섹션 눈썹처럼 자간을 좁히고 키웠다 */
.l5-pt .l5-h2{margin-top:14px;font-size:clamp(44px,min(5.3vw,9vh),86px);font-weight:900;line-height:1.1;letter-spacing:-.055em}
.l5-pt .l5-h2 em{text-shadow:0 0 .55em rgba(255,65,85,.42)}
.l5-pt .l5-lead{margin-top:clamp(16px,2.6vh,28px);color:var(--t2);font-size:clamp(16px,1.3vw,19px)}
.l5-pt-stage{position:relative;justify-self:center;width:min(100%,calc((100vh - var(--head) - 96px) * 25 / 16));aspect-ratio:25/16} /* 지평선이 가로로 넓어 1000×640 */
.l5-pt-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* 하늘 · 지평선 · 바닥 */
.l5-pt-star{fill:#fff;opacity:.55}
.l5-pt-sun{filter:blur(10px);mix-blend-mode:screen}
.l5-pt-line{fill:none;stroke-width:2;filter:drop-shadow(0 0 6px #FF4155) drop-shadow(0 0 18px rgba(255,65,85,.7))}
.l5-pt-tl{fill:rgba(255,255,255,.04)}
.l5-pt-gl{fill:none;stroke:rgba(255,65,85,.34);stroke-width:1;vector-effect:non-scaling-stroke}
/* 룩(RookissAI, 하나뿐): 검은 유리 실루엣 + 뒤 빛이 만드는 레드 테 + 성가퀴(레드 빛) */
.l5-pt-rs{fill:none;stroke:rgba(255,65,85,.95);stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(255,65,85,.85)) drop-shadow(0 0 18px rgba(255,65,85,.5))}
.l5-pt-rr{fill:none;stroke:rgba(255,65,85,.4);stroke-width:1.2;vector-effect:non-scaling-stroke}
.l5-pt-rh{fill:none;stroke:rgba(255,255,255,.18);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.l5-pt-rc{fill:#FF4155;filter:drop-shadow(0 0 6px #FF4155) drop-shadow(0 0 14px rgba(255,65,85,.8))}
.l5-pt-refl{opacity:.55}
.l5-pt-refl :is(.l5-pt-rs,.l5-pt-rc){filter:none}
.l5-pt-em{fill:#FF8A96;opacity:0} /* 불티는 움직일 때만 */
@media (max-width:759px){
  .l5-pt .l5-in{grid-template-columns:minmax(0,1fr);gap:10px;text-align:center}
  .l5-pt .l5-lead{margin-inline:auto}
  .l5-pt .l5-h2{font-size:clamp(38px,11vw,52px)}
  .l5-pt-stage{width:min(100%,460px)}
}

/* 움직임(움직임 줄이기 · ?still 이면 .l5-js 가 없어 마지막 장면만) */
.l5-js .l5-pt:not(.is-on) :is(.l5-pt-sky,.l5-pt-stars,.l5-pt-sun,.l5-pt-line,.l5-pt-floor,.l5-pt-rook,.l5-pt-refl){opacity:0}
.l5-js .l5-pt.is-on .l5-pt-sky{animation:l5-pt-in 1.6s ease both}
.l5-js .l5-pt.is-on .l5-pt-sun{animation:l5-pt-sun 1.6s var(--ease) .1s both,l5-pt-breathe 4.2s ease-in-out 2.6s infinite}
.l5-js .l5-pt.is-on .l5-pt-line{animation:l5-pt-line 1.1s var(--ease) .25s both}
.l5-js .l5-pt.is-on .l5-pt-floor{animation:l5-pt-in .9s ease .6s both}
.l5-js .l5-pt.is-on .l5-pt-stars{animation:l5-pt-in 1.2s ease .8s both}
.l5-js .l5-pt.is-on .l5-pt-rook{animation:l5-pt-stand 1.2s var(--ease) .95s both}
.l5-js .l5-pt.is-on .l5-pt-refl{animation:l5-pt-in 1s ease 1.3s both}
.l5-js .l5-pt.is-on .l5-pt-rook .l5-pt-rc{animation:l5-pt-in .5s ease 1.95s both}
.l5-js .l5-pt.is-on .l5-pt-star.is-tw{animation:l5-pt-tw 3.6s ease-in-out 2.6s infinite}
.l5-js .l5-pt.is-on .l5-pt-em{animation:l5-pt-ember 5.2s linear infinite}
.l5-pt-em.e1{animation-delay:2.4s!important}
.l5-pt-em.e2{animation-delay:3.3s!important}
.l5-pt-em.e3{animation-delay:2.8s!important}
.l5-pt-em.e4{animation-delay:4s!important}
.l5-pt-em.e5{animation-delay:4.7s!important}
.l5-pt-em.e6{animation-delay:5.3s!important}
.l5-pt-em.e7{animation-delay:6s!important}
.l5-pt-em.e8{animation-delay:6.6s!important}
.l5-pt-em:nth-child(odd){--dx:14px}
.l5-pt-em:nth-child(even){--dx:-12px}
/* 지평선 자리(build.mjs 계산) */
/* partner:moves */
/* 지평선 y 430 / 640, 룩 높이 300 */
.l5-pt{--hz:67.2%}
/* /partner:moves */
@keyframes l5-pt-in{from{opacity:0}}
@keyframes l5-pt-sun{from{opacity:0;scale:.4 .2}}
@keyframes l5-pt-line{from{opacity:0;scale:0 1}}
@keyframes l5-pt-stand{from{opacity:0;translate:0 26px;filter:blur(6px)}}
@keyframes l5-pt-breathe{50%{opacity:.72}}
@keyframes l5-pt-tw{50%{opacity:.15}}
@keyframes l5-pt-ember{0%{opacity:0;translate:0 0}12%{opacity:1}70%{opacity:.8}100%{opacity:0;translate:var(--dx,0) -170px}}
.l5-pt-sun,.l5-pt-line,.l5-pt-em{transform-box:fill-box;transform-origin:50% 50%}
.l5-pt-rook{transform-box:fill-box;transform-origin:50% 100%}
