/* ══════════════════════════════════════════════════════════════
   hero-b.css — 히어로 한 벌 (시안 B: 1000025638 데스크톱 · 1000025639 모바일)

   [왜 새 파일인가]
   기존 히어로는 #hero / .hero-v444-* 규칙이 style 블록 두 곳에 나뉘어
   화살표 7겹 · 숫자 6겹으로 쌓여 있었다(v458 주석에 기록됨).
   덮어쓰기를 한 겹 더 얹지 않고, 클래스를 새로 만들어 한 벌로 다시 쓴다.
   옛 .hero-v444-* 규칙은 매칭 대상이 사라져 자동으로 죽는다.

   [시안 B 의 핵심 구조]
   45 와 29 사이에 구체를 둔다. 구체는 장식이 아니라 45→29 의 변환 그 자체다.
   ─ 데스크톱: 왼쪽 카피 / 오른쪽 [45][구체][29]
   ─ 모바일  : 카피 중앙 / 그 아래 [45][구체][29] 한 줄

   [원색은 건드리지 않는다] --white·--gold 의 의미를 뒤집지 않고,
   이 파일 안에서만 쓰는 역할 변수를 새로 정의한다.
   ══════════════════════════════════════════════════════════════ */

#hero.pv-hero-b{
  /* 역할 토큰 — 이 히어로 안에서만 */
  --hb-ink:var(--text-on-dark);          /* 본문 밝은 글자 */
  --hb-dim:#9FAAB6;                      /* 보조 설명 */
  --hb-gold:#E0B85C;                     /* 29 · 강조 */
  --hb-blue:#7BA7E0;                     /* 45 — 시안에서 45 는 파랑이다 */
  --hb-line:rgba(255,255,255,.14);
  --hb-shell:1180px;
  --hb-pad:24px;

  /* #hero{...!important}(index 상단) 를 이기려면 같은 ID + 클래스 한 겹 더.
     선택자 세기를 맞추지 않으면 다크가 안 먹는다 — v447 에서 겪은 일이다. */
  background:
    radial-gradient(72% 76% at 76% 40%, rgba(52,86,116,.30), transparent 66%),
    radial-gradient(46% 46% at 22% 20%, rgba(224,184,92,.07), transparent 70%),
    linear-gradient(140deg, var(--surface-brand), #0B1621 56%, #061017)!important;
  color:var(--hb-ink)!important;
  padding:0!important;
}

/* v609 — 검증 영역 첫 화면 정돈.
   hero/logic 다음에 예전 카드 UI로 꺾이지 않도록 지표와 GO LIVE 문장을
   얇은 데이터 패널 톤으로 맞춘다. */
#evidence{
  background:
    radial-gradient(circle at 72% 8%,rgba(216,173,99,.12),transparent 34%),
    linear-gradient(180deg,#07111A 0%,#08141E 58%,#061019 100%)!important;
}
#evidence > .wrap{
  max-width:1120px;
}
#evidence .eyebrow{
  color:#F7F1E7;
  border-color:rgba(216,173,99,.34);
  background:rgba(216,173,99,.08);
}
#evidence .h-sec{
  color:#F7F1E7;
  text-shadow:0 14px 36px rgba(0,0,0,.42);
}
#evidence .h-sec em{
  color:#F0D492;
  font-style:normal;
}
#evidence .pv-mt{
  gap:9px;
}
#evidence .pv-mt li{
  border-color:rgba(216,173,99,.18);
  background:linear-gradient(180deg,rgba(246,242,232,.075),rgba(246,242,232,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#evidence .pv-mt li.live{
  border-color:rgba(216,173,99,.42);
  background:linear-gradient(180deg,rgba(216,173,99,.13),rgba(246,242,232,.04));
}
#evidence .pv-mt-note{
  margin-top:4px;
  padding:0;
  color:rgba(247,241,231,.72);
}
#evidence .pv-mt-note b{
  color:#F7F1E7;
  font-weight:800;
}
#evidence #kgFig.kd{
  margin-top:22px;
}
#evidence #kgFig .kg-kicker{
  color:#D8AD63;
}
#evidence #kgFig .kd-head b{
  color:#F7F1E7;
  text-shadow:0 12px 30px rgba(0,0,0,.34);
}
#evidence #kgFig .kd-head b em{
  color:#F0D492;
}
#evidence #kgFig .kd-legend{
  color:rgba(247,241,231,.74);
}
#evidence #kgFig .kd-unit{
  color:rgba(247,241,231,.52);
}
#evidence #kgFig .kd-foot{
  border-top-color:rgba(247,241,231,.12);
  color:rgba(247,241,231,.70);
}
#evidence #kgFig .kg-stamp{
  font-size:12px!important;
  line-height:1.45!important;
  color:rgba(247,241,231,.48);
}
#evidence a[href="/verify"]{
  background:transparent!important;
  color:#F0D492!important;
  border-color:rgba(216,173,99,.55)!important;
}
@media(max-width:600px){
  #evidence .pv-mt{
    margin-top:20px;
  }
  #evidence .pv-mt li{
    border-radius:12px;
    padding:12px 14px;
  }
  #evidence #kgFig.kd{
    margin-top:20px;
  }
}
#hero.pv-hero-b::before{display:none!important}

.pv-hb{width:min(var(--hb-shell), calc(100% - 48px));margin:0 auto;padding:60px 0 44px}

/* ── 데스크톱: 왼쪽 카피 / 오른쪽 45-구체-29 ───────────────── */
.pv-hb-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:48px;align-items:center}

.pv-hb-kicker{font:600 14px/1 var(--sans);letter-spacing:.14em;color:var(--hb-gold);margin:0 0 18px}
.pv-hb-title{margin:0;font-size:clamp(40px,4.6vw,62px);line-height:1.1;letter-spacing:-.04em;
  font-weight:800;color:var(--hb-ink)}
.pv-hb-title span{display:block;color:var(--hb-gold);margin-top:6px}
.pv-hb-sub{margin:22px 0 0;max-width:440px;color:var(--hb-dim);
  font-size:17px;line-height:1.68;letter-spacing:-.015em}
.pv-hb-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.pv-hb-primary{min-height:56px;padding:0 26px;border-radius:10px;
  background:linear-gradient(180deg,#E3BE75,#C9973F);color:#1A1305!important;
  border:1px solid #EBCB8B;box-shadow:0 8px 20px rgba(0,0,0,.22);
  font:800 16px/1 var(--sans);letter-spacing:-.02em;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:0}
.pv-hb-primary::after{content:"→";font-size:19px;font-weight:600;margin-left:9px}
.pv-hb-secondary{min-height:56px;padding:0 22px;border-radius:10px;
  background:rgba(255,255,255,.06);color:var(--hb-ink)!important;
  border:1px solid var(--hb-line);font:750 15px/1 var(--sans);
  letter-spacing:-.02em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

/* ── 세로 적층 (≤1023) — 시안 639 의 순서 ─────────────────
   카피 → [45·구체·29] → CTA → 한 줄 문구 → 체크 3개

   [왜 1023 까지인가] v480 은 768 에서 2단이 켜지는데 왼쪽 칸이 227px 뿐이라
   제목이 "운이 아니 / 라," 로 깨졌다(실측). 카피가 숨 쉴 폭이 생기는
   1024px 부터 2단을 켠다.
   [display:contents] .pv-hb-copy 라는 상자가 남아 있으면 order 가 형제끼리
   안 먹는다. 상자를 없애야 카피 조각과 구체가 같은 줄의 형제가 된다. */
@media(max-width:1023px){
  #hero.pv-hero-b{min-height:auto}
  .pv-hb-grid{display:flex;flex-direction:column;gap:0;text-align:center;align-items:center}
  .pv-hb-copy{display:contents}
  .pv-hb-kicker{order:1}
  .pv-hb-title{order:2}
  .pv-hb-sub{order:3;margin-left:auto;margin-right:auto}
  .pv-hb-visual{order:5;width:100%}
  .pv-hb-actions{order:6;justify-content:center}
  .pv-hb-cms{order:9}
}

/* ── 태블릿 (761~1023) ───────────────────────────────────── */
@media(min-width:768px) and (max-width:1023px){
  .pv-hb{padding:44px 0 36px}
  .pv-hb-title{font-size:clamp(40px,6vw,54px)}
  .pv-hb-sub{max-width:520px;margin-top:20px}
  .pv-hb-visual{max-width:470px;margin:26px auto 0}
  .pv-hb-actions{margin-top:26px}
}

/* ── 모바일 (≤760) — 시안 639 ──────────────────────────────── */
@media(max-width:767px) and (orientation:portrait){
  .pv-hb{width:min(calc(100% - 32px),620px);padding:30px 0 26px}
  .pv-hb-kicker{font-size:13px;letter-spacing:.10em;margin-bottom:12px}
  .pv-hb-title{font-size:clamp(34px,9.4vw,46px);line-height:1.12}
  .pv-hb-title span{margin-top:4px}
  .pv-hb-sub{font-size:15px;line-height:1.6;margin-top:14px;max-width:330px}
  .pv-hb-visual{margin-top:clamp(14px,4vw,22px)}
  .pv-hb-slab{font-size:13px;margin-bottom:3px}
  .pv-hb-snum{font-size:clamp(28px,8.4vw,40px)}
  .pv-hb-snum i{font-size:13px}

  .pv-hb-actions{width:100%;margin-top:clamp(16px,4.5vw,24px);flex-direction:column;gap:10px}
  .pv-hb-primary,.pv-hb-secondary{width:100%;min-height:54px;font-size:16.5px}
}

/* ── 한글 줄바꿈 — 이 히어로 안에서만 ────────────────────────
   keep-all 은 어절 중간을 끊지 않는다. 짝으로 overflow-wrap 을 같이 둔다
   (없으면 긴 영문·URL 이 상자를 뚫는다). */
#hero.pv-hero-b, #hero.pv-hero-b *{word-break:keep-all;overflow-wrap:break-word}

/* ══════════════════════════════════════════════════════════════
   왜 후보군인가 — 3단계 (시안 B: 639 중단 · 638 두 번째 밴드)
   [자리] #logic 의 맨 앞. 수식 캐러셀·저작권 카드는 그대로 둔다.
   [왜 여기] 시안은 "왜 후보군인가?"를 로직 설명보다 먼저 답한다.
     수식 6개를 보기 전에 45→29 가 무슨 단계를 거치는지가 먼저다.
   ══════════════════════════════════════════════════════════════ */
.pv-st{--st-line:#DCE3EB;--st-blue:#3A6EA5;--st-ink:var(--text);--st-dim:var(--text-3);
  margin:clamp(26px,4vw,38px) 0 clamp(30px,5vw,46px);
  word-break:keep-all;overflow-wrap:break-word}

.pv-st-lead{margin:0 0 clamp(18px,2.6vw,26px)}
.pv-st-lead b{display:block;margin-bottom:5px;font:700 clamp(13px,1.2vw,15px)/1.3 var(--sans);color:var(--st-blue);letter-spacing:-.02em}
.pv-st-lead span{display:block;font:700 clamp(19px,2.2vw,26px)/1.3 var(--sans);color:var(--st-ink);letter-spacing:-.03em}

.pv-st-row{list-style:none;margin:0;padding:0;display:grid;gap:14px;
  grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch}
/* 카드 사이 화살표 — 도형이라 폰트에 좌우되지 않는다 */
.pv-st-row::before,.pv-st-row::after{content:"";align-self:center;width:20px;height:10px;
  background:#A9B6C4;
  clip-path:polygon(0 40%,62% 40%,62% 0,100% 50%,62% 100%,62% 60%,0 60%)}
.pv-st-row::before{grid-column:2;grid-row:1}
.pv-st-row::after{grid-column:4;grid-row:1}
.pv-st-card:nth-child(1){grid-column:1}
.pv-st-card:nth-child(2){grid-column:3}
.pv-st-card:nth-child(3){grid-column:5}

.pv-st-card{position:relative;background:var(--surface);border:1px solid var(--st-line);
  border-radius:16px;padding:26px 18px 20px;text-align:center;
  box-shadow:0 1px 2px rgba(17,17,17,.04),0 10px 26px -14px rgba(17,17,17,.16)}
.pv-st-no{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  width:26px;height:26px;border-radius:50%;background:var(--st-blue);color:#fff;
  font:700 13px/26px var(--mono);letter-spacing:0;text-align:center}
.pv-st-ico{display:block;width:34px;height:34px;margin:6px auto 12px}
.pv-st-ico svg{width:100%;height:100%;fill:none;stroke:var(--st-blue);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.pv-st-card b{display:block;font:700 clamp(14px,1.35vw,16px)/1.4 var(--sans);
  color:var(--st-ink);letter-spacing:-.025em}
/* [고친 것] 처음엔 설명문을 `.pv-st-card span` 으로 잡았는데,
   그 선택자가 번호 배지·아이콘 span 까지 삼켜서(0,2,0 이 0,1,0 을 이긴다)
   배지 글자가 회색·block 이 되어 빈 파란 원으로 보였다.
   브라우저에 매칭 규칙을 물어 확인. 맨선택자로 자식을 잡지 않는다. */
.pv-st-desc{display:block;margin-top:7px;font:400 clamp(13px,1.1vw,14px)/1.55 var(--sans);
  color:var(--st-dim);letter-spacing:-.015em}

/* ── 모바일 (≤760) ────────────────────────────────────────────
   [왜 가로 3칸을 안 쓰나] 390px 에서 한 칸이 110px 이라 설명이 안 들어간다.
     시안 모바일은 가로 스크롤이라 셋째 카드가 잘려 있는데, 잘린 카드는
     스크롤된다는 신호가 없으면 그냥 깨진 화면으로 읽힌다(v479 검증 칩에서 겪음).
   [지금] 세로로 쌓고 화살표를 아래 방향으로 돌린다. */
@media(max-width:767px) and (orientation:portrait){
  .pv-st-row{grid-template-columns:1fr;gap:0}
  .pv-st-card:nth-child(1),.pv-st-card:nth-child(2),.pv-st-card:nth-child(3){grid-column:1}
  .pv-st-row::before,.pv-st-row::after{width:9px;height:18px;margin:9px auto;grid-column:1;
    clip-path:polygon(40% 0,40% 62%,0 62%,50% 100%,100% 62%,60% 62%,60% 0)}
  .pv-st-row::before{grid-row:2}
  .pv-st-row::after{grid-row:4}
  .pv-st-card{padding:24px 16px 18px;text-align:left;display:grid;
    grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}
  .pv-st-ico{margin:0;grid-row:1/3}
  .pv-st-card b{align-self:end}
  .pv-st-card span{margin-top:4px;align-self:start}
  .pv-st-no{left:16px;transform:none}
}

/* v695 — 히어로는 공 없는 배경 + 동적 표준 공으로 분리한다.
   배경 이미지 안에는 번호/공을 박지 않는다. 다음 회차가 바뀌면
   .pv-hero-balls 안의 ball_01~45 표준 공만 JS로 교체된다. */
#hero.pv-hero-b{
  background:
    radial-gradient(42% 56% at 22% 20%, rgba(216,173,99,.10), transparent 70%),
    linear-gradient(115deg,#07121d 0%,#07121d 58%,#f3eadc 58.4%,#efe3d1 100%)!important;
}
#hero .pv-hb-grid{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(28px,4.5vw,60px);
}
#hero .pv-hb-title{max-width:620px;font-size:clamp(42px,5.2vw,72px);line-height:1.04;font-weight:850}
#hero .pv-hb-title span{display:block;color:#f0d492;margin-top:.12em}
#hero .pv-hb-sub{max-width:460px;color:#c3ced8}
#hero .pv-hb-shot{display:block;position:relative;margin:0;border-radius:0;overflow:visible;filter:drop-shadow(0 28px 42px rgba(0,0,0,.26))}
#hero .pv-hb-shot img{display:block;width:min(920px,66vw);max-width:none;height:auto;border-radius:0;object-fit:contain}
#hero .pv-hb-visual{position:relative;align-self:center;justify-self:end;min-width:0}
#hero .pv-hb-visual::after{content:"";display:block;width:72%;height:20px;margin:-22px 0 0 auto;border-radius:50%;background:radial-gradient(ellipse,rgba(5,12,19,.28),transparent 68%);filter:blur(6px)}





















@media(min-width:768px){
  #hero .pv-hb-shot{width:min(920px,66vw);height:min(620px,70vh);max-height:70vh;overflow:hidden}
  #hero .pv-hb-shot img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
  
}
@media(max-width:1023px){
  #hero.pv-hero-b{background:linear-gradient(180deg,#07121d 0%,#07121d 57%,#f3eadc 57.4%,#efe3d1 100%)!important}
  #hero .pv-hb-grid{display:flex;flex-direction:column}
  #hero .pv-hb-title{max-width:720px}
  #hero .pv-hb-visual{width:100%;max-width:680px;margin:22px auto 0}
  #hero .pv-hb-shot img{width:100%}
}
@media(orientation:landscape) and (max-height:700px){
  #hero.pv-hero-b{min-height:auto;background:radial-gradient(48% 70% at 72% 50%,rgba(216,173,99,.12),transparent 68%),linear-gradient(115deg,#07121d 0%,#07121d 58%,#f3eadc 58.4%,#efe3d1 100%)!important}
  #hero .pv-hb{width:min(1280px,calc(100% - 56px))!important;padding:18px 0 18px!important}
  #hero .pv-hb-grid{display:grid!important;grid-template-columns:minmax(360px,.48fr) minmax(0,.52fr);gap:22px;align-items:center}
  #hero .pv-hb-title{font-size:clamp(32px,4.2vw,48px);line-height:1.05}
  #hero .pv-hb-sub{margin-top:12px;font-size:14px;line-height:1.45}
  #hero .pv-hb-actions{margin-top:16px;flex-direction:row;gap:10px}
  #hero .pv-hb-primary,#hero .pv-hb-secondary{width:auto;min-height:46px;padding:0 18px;font-size:15px}
  #hero .pv-hb-visual{position:relative!important;inset:auto!important;z-index:2;width:100%!important;max-width:560px!important;margin:0 0 0 auto!important}
  #hero .pv-hb-shot{width:100%!important;height:min(300px,calc(100svh - 154px))!important;min-height:210px;max-height:none}
  #hero .pv-hb-shot img{width:100%;height:100%;object-fit:cover;object-position:center 78%}
  
  
  
  
  
}
@media(max-width:767px) and (orientation:portrait){
  #hero .pv-hb{padding-top:34px}
  #hero .pv-hb-title{font-size:clamp(34px,10vw,44px);text-align:left}
  #hero .pv-hb-kicker,#hero .pv-hb-sub{text-align:left;margin-left:0;margin-right:0}
  #hero .pv-hb-actions{width:100%}
  
  
  
  
  
}
@media(orientation:landscape) and (max-height:700px){
  #hero .pv-hb{width:min(1280px,calc(100% - 24px))!important;min-height:0!important;padding:10px 0 12px!important;display:block!important}
  #hero .pv-hb-grid{display:grid!important;grid-template-columns:minmax(260px,.47fr) minmax(0,.53fr);gap:14px;align-items:center}
  #hero .pv-hb-copy{display:block!important;max-width:none!important}
  #hero .pv-hb-kicker{margin-bottom:6px;font-size:11px}
  #hero .pv-hb-title{font-size:clamp(24px,4.35vw,36px);line-height:1.01}
  #hero .pv-hb-sub{max-width:340px;margin-top:8px;font-size:12px;line-height:1.34}
  #hero .pv-hb-actions{position:relative;z-index:4;width:100%;margin-top:10px;display:flex;flex-direction:row;gap:7px}
  #hero .pv-hb-primary,#hero .pv-hb-secondary{width:auto;min-height:40px;padding:0 12px;font-size:13px}
  #hero .pv-hb-visual{position:relative!important;inset:auto!important;z-index:2;width:100%!important;max-width:500px!important;margin:0 0 0 auto!important;pointer-events:none}
  #hero .pv-hb-shot{width:100%!important;height:min(236px,calc(100svh - 108px))!important;min-height:164px;border-radius:0;box-shadow:none;opacity:.96}
  #hero .pv-hb-shot img{width:100%;height:100%;object-fit:cover;object-position:center 78%}
  
  
  
  
  
}















@media(max-width:767px) and (orientation:portrait){
  
  
  
  
  
  
}
@media(orientation:landscape) and (max-height:700px){
  
  
  
  
  
  
}

/* ── #logic 한글 줄바꿈 ───────────────────────────────────────
   3단 블록 바로 위 제목이 "진화합니 / 다" 로 깨져 있었다(실측).
   이 섹션만 어절 단위로 끊는다. 짝으로 overflow-wrap 을 같이 둔다 —
   없으면 긴 영문·수식 토큰이 상자를 뚫는다. */
#logic, #logic *{word-break:keep-all;overflow-wrap:break-word}

/* ══ 실제 회차 검증 기록 — 행 배열 (시안 B) ═══════════════════
   [실측] 데스크톱 990px 폭에서 회차는 왼쪽 끝, 담김 배지는 오른쪽 끝,
     번호는 둘째 줄 왼쪽 끝 — 섬 세 개로 흩어져 한 행으로 안 읽혔다.
     (DB 가 없어 화면에 안 뜨길래 실제 데이터 모양으로 5행을 넣어 재봤다.)
   [시안] 회차(날짜) · 적중 · 번호 6개 · › 가 한 줄이다.
   [지금] 761px 이상에서 한 줄, 그 아래는 두 줄.
     모바일 한 줄은 390px 에서 번호 6개(144px)+회차+배지+화살표가 다 안 들어간다. */
#evidence .ev-row{position:relative;padding-right:34px}
/* 눌러서 들어가는 곳이라는 표시 — 전 사이트 공통 › (theme.css --chevron-nav) */
#evidence .ev-row::after{content:"\203A";position:absolute;right:14px;top:50%;
  transform:translateY(-50%);font:700 20px/1 var(--sans);color:rgba(246,242,232,.42)}

@media(min-width:768px){
  #evidence .ev-row{display:grid;
    grid-template-columns:minmax(0,auto) auto minmax(0,1fr);
    align-items:center;gap:0 18px;padding:14px 34px 14px 16px}
  #evidence .ev-rd{display:flex;align-items:baseline;gap:6px}
  #evidence .ev-rd i{display:inline;margin:0}
  #evidence .ev-rd i::before{content:"("}
  #evidence .ev-rd i::after{content:")"}
  #evidence .ev-hit{justify-self:start}
  #evidence .ev-nums{grid-column:auto;margin-top:0;justify-content:flex-start}
}

/* ══ 검증 기록의 번호 — 전 사이트 표준 공 ═══════════════════
   [왜] 이 여섯 개도 로또 공인데 금색/회색 원으로 따로 칠하고 있었다.
     theme.css v396 주석: "로또 공은 전 화면 이 표준 하나"(.pv-ball .r1~r5).
     명문화된 예외는 히어로 pc-ball · 사주 오행 · 장식 점 셋뿐이고
     검증 기록은 거기 없다. 표준으로 되돌린다.
   [담김/못담김] 공 질감으로 가르지 않는다 — 공은 첫 화면과 같은 표준 질감을 유지하고,
     담김 여부는 오른쪽 배지와 행 문맥으로만 보여준다. */
#evidence .ev-nums{gap:var(--num-gap)}
#evidence .ev-nums .pv-ball{width:28px;height:28px;aspect-ratio:auto;
  font:700 13px/1 var(--mono);cursor:default;border-color:transparent}
#evidence .ev-nums .pv-ball.miss{filter:none;opacity:1}
/* v593 — 담김 공의 금색 링 제거. 공 원본을 그대로 보이게 한다. */
#evidence .ev-nums .pv-ball.on{box-shadow:none!important;transform:none!important;border-color:transparent!important;outline:0!important}

/* 담김 배지 — 한 단계 작게. 배지가 번호보다 커 보이면 안 된다. */
#evidence .ev-hit{min-width:0;font:700 13px/1 var(--sans);padding:6px 10px}

/* 모바일 — 회차·날짜·담김을 첫 줄에, 번호를 둘째 줄에.
   전에는 회차/날짜가 세로로 쌓여 세 줄이었다. */
@media(max-width:767px){
  #evidence .ev-rd{display:flex;align-items:baseline;gap:5px}
  #evidence .ev-rd i{display:inline;margin:0;font-size:13px}
  #evidence .ev-rd i::before{content:"("}
  #evidence .ev-rd i::after{content:")"}
  #evidence .ev-nums .pv-ball{width:32px;height:32px;font-size:13px}
}

/* ══ 분석 섹션 막대 — 45개가 전부 안 보이던 버그 ═══════════════
   [증상] JS 는 style="width:100%" 를 제대로 넣는데 실측 폭이 0px.
     출현빈도·홀짝·고저·구간·합계·끝수·AC값·재출현 8개 탭 전부 빈 홈만 보였다.
   [원인] .bf 가 <span> 이고 display:inline 이다.
     비대체 인라인 요소에는 width·height 가 적용되지 않는다.
     그래서 .bar .bf{height:100%;background:…} 가 한 번도 칠해진 적이 없다.
   [주의] 막대 길이는 0 기준 비례 그대로 둔다. 최소~최대로 늘려 잡으면
     차이가 커 보이지만 그건 과장이다 — "무작위라 고르게 수렴한다"가
     이 표가 말해야 하는 사실이고, 거의 꽉 찬 막대들이 그 사실이다. */
.bar .bf{display:block}

/* ══ 한글 줄바꿈 — 나머지 섹션 ═══════════════════════════════
   히어로·로직에만 걸려 있어 본문에서 "표시합니 / 다" 가 남아 있었다.
   어절 단위로 끊고(keep-all), 짝으로 overflow-wrap 을 같이 둔다
   — 없으면 긴 영문·URL·수식 토큰이 상자를 뚫는다. */
#evidence, #evidence *, footer, footer *{word-break:keep-all;overflow-wrap:break-word}

/* ══ 자간 — 한글 본문에 양(+)의 자간을 주지 않는다 ══════════════
   .yt-head 가 14px 본문에 0.98px(≈.07em) 라 한 줄이 넘쳐 잘렸다.
   라벨(.rd-cap 같은 작은 대문자류)은 자간이 필요하지만 본문은 아니다. */
#evidence .yt-head{letter-spacing:-.01em}

/* ══ 검증 규모 3칸 ═══════════════════════════════════════════
   [왜 퍼센트를 뺐나] 처음엔 17.8% / 13.5% 를 나란히 놓았다.
     통계적으로는 진짜다 — 777주 중 138주, z=3.48, p=0.00026.
     그런데 손님이 그 뜻에 닿으려면 세 단계를 거쳐야 한다:
       ① 13.5% 가 기준선임을 알고 ② 4.3%p 차이를 재고 ③ 크다/작다를 판단
     손님은 40~60대가 72% 다. 그리고 유료 로또 서비스에서 큰 금색 퍼센트는
     "17.8% 확률로 뭔가 된다"로 읽힌다 — 사실이 아니다.
   [지금] 같은 사실을 횟수로 쓴다. 138주 vs 105주(=777×13.5%).
     완전히 같은 값인데 설명이 필요 없고, 당첨률로 오해될 수가 없다.
   [숫자의 출처] 전부 이 페이지에 이미 있던 값이다. 새로 만들지 않았다.
     시안의 라인차트·구간별 TOP 표는 지금 사이트에 없는 데이터라 안 그린다. */
.pv-mt{list-style:none;margin:clamp(18px,2.6vw,26px) 0 clamp(14px,2vw,18px);padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pv-mt li{padding:16px 12px;border:1px solid var(--border-on-dark);border-radius:14px;
  background:rgba(246,242,232,.04);text-align:center}
.pv-mt b{display:block;font:800 clamp(24px,3.2vw,34px)/1 var(--mono);
  letter-spacing:-.04em;color:var(--text-on-dark)}
.pv-mt b i{font:700 clamp(13px,1.1vw,14px)/1 var(--sans);font-style:normal;
  margin-left:2px;color:var(--text-on-dark-2)}
/* [강조 원칙] 성적을 자랑하는 숫자는 강조하지 않는다.
   다만 '실제 운영'은 성적이 아니라 성격이 다른 구간이라 테두리로만 구분한다 —
   백테스트와 같은 상자에 넣으면 둘이 같은 종류로 읽힌다. */
.pv-mt li.live{border-color:rgba(224,184,92,.30)}
.pv-mt li.live b{color:#E9D5A6}
.pv-mt-lab{display:block;margin-top:7px;font:500 clamp(13px,1.05vw,14px)/1.45 var(--sans);
  color:var(--text-on-dark-2);letter-spacing:-.015em}
.pv-mt-lab em{display:block;margin-top:4px;font-style:normal;
  font-size:13px;color:#7E8994}
@media(max-width:600px){
  .pv-mt{grid-template-columns:1fr;gap:8px}
  .pv-mt li{display:grid;grid-template-columns:auto 1fr;align-items:center;
    gap:0 14px;padding:13px 16px;text-align:left}
  .pv-mt b{font-size:26px}
  .pv-mt-lab{margin-top:0}
}

/* ══ 실제 회차 검증 기록 — 행 배열 (시안 B) ═══════════════════
   [실측] 데스크톱 990px 폭에서 회차는 왼쪽 끝, 담김 배지는 오른쪽 끝,
     번호는 둘째 줄 왼쪽 끝 — 섬 세 개로 흩어져 한 행으로 안 읽혔다.
     (DB 가 없어 화면에 안 뜨길래 실제 데이터 모양으로 5행을 넣어 재봤다.)
   [시안] 회차(날짜) · 적중 · 번호 6개 · › 가 한 줄이다.
   [지금] 761px 이상에서 한 줄, 그 아래는 두 줄.
     모바일 한 줄은 390px 에서 번호 6개(144px)+회차+배지+화살표가 다 안 들어간다. */
#evidence .ev-row{position:relative;padding-right:34px}
/* 눌러서 들어가는 곳이라는 표시 — 전 사이트 공통 › (theme.css --chevron-nav) */
#evidence .ev-row::after{content:"\203A";position:absolute;right:14px;top:50%;
  transform:translateY(-50%);font:700 20px/1 var(--sans);color:rgba(246,242,232,.42)}

@media(min-width:768px){
  #evidence .ev-row{display:grid;
    grid-template-columns:minmax(0,auto) auto minmax(0,1fr);
    align-items:center;gap:0 18px;padding:14px 34px 14px 16px}
  #evidence .ev-rd{display:flex;align-items:baseline;gap:6px}
  #evidence .ev-rd i{display:inline;margin:0}
  #evidence .ev-rd i::before{content:"("}
  #evidence .ev-rd i::after{content:")"}
  #evidence .ev-hit{justify-self:start}
  #evidence .ev-nums{grid-column:auto;margin-top:0;justify-content:flex-start}
}

/* ══ 검증 기록의 번호 — 전 사이트 표준 공 ═══════════════════
   [왜] 이 여섯 개도 로또 공인데 금색/회색 원으로 따로 칠하고 있었다.
     theme.css v396 주석: "로또 공은 전 화면 이 표준 하나"(.pv-ball .r1~r5).
     명문화된 예외는 히어로 pc-ball · 사주 오행 · 장식 점 셋뿐이고
     검증 기록은 거기 없다. 표준으로 되돌린다.
   [담김/못담김] 공 질감으로 가르지 않는다 — 공은 첫 화면과 같은 표준 질감을 유지하고,
     담김 여부는 오른쪽 배지와 행 문맥으로만 보여준다. */
#evidence .ev-nums{gap:var(--num-gap)}
#evidence .ev-nums .pv-ball{width:28px;height:28px;aspect-ratio:auto;
  font:700 13px/1 var(--mono);cursor:default;border-color:transparent}
#evidence .ev-nums .pv-ball.miss{filter:none;opacity:1}
/* v593 — 담김 공의 금색 링 제거. 공 원본을 그대로 보이게 한다. */
#evidence .ev-nums .pv-ball.on{box-shadow:none!important;transform:none!important;border-color:transparent!important;outline:0!important}

/* 담김 배지 — 한 단계 작게. 배지가 번호보다 커 보이면 안 된다. */
#evidence .ev-hit{min-width:0;font:700 13px/1 var(--sans);padding:6px 10px}

/* 모바일 — 회차·날짜·담김을 첫 줄에, 번호를 둘째 줄에.
   전에는 회차/날짜가 세로로 쌓여 세 줄이었다. */
@media(max-width:767px){
  #evidence .ev-rd{display:flex;align-items:baseline;gap:5px}
  #evidence .ev-rd i{display:inline;margin:0;font-size:13px}
  #evidence .ev-rd i::before{content:"("}
  #evidence .ev-rd i::after{content:")"}
  #evidence .ev-nums .pv-ball{width:32px;height:32px;font-size:13px}
}

/* ══ 분석 섹션 막대 — 45개가 전부 안 보이던 버그 ═══════════════
   [증상] JS 는 style="width:100%" 를 제대로 넣는데 실측 폭이 0px.
     출현빈도·홀짝·고저·구간·합계·끝수·AC값·재출현 8개 탭 전부 빈 홈만 보였다.
   [원인] .bf 가 <span> 이고 display:inline 이다.
     비대체 인라인 요소에는 width·height 가 적용되지 않는다.
     그래서 .bar .bf{height:100%;background:…} 가 한 번도 칠해진 적이 없다.
   [주의] 막대 길이는 0 기준 비례 그대로 둔다. 최소~최대로 늘려 잡으면
     차이가 커 보이지만 그건 과장이다 — "무작위라 고르게 수렴한다"가
     이 표가 말해야 하는 사실이고, 거의 꽉 찬 막대들이 그 사실이다. */
.bar .bf{display:block}

/* ══ 한글 줄바꿈 — 나머지 섹션 ═══════════════════════════════
   히어로·로직에만 걸려 있어 본문에서 "표시합니 / 다" 가 남아 있었다.
   어절 단위로 끊고(keep-all), 짝으로 overflow-wrap 을 같이 둔다
   — 없으면 긴 영문·URL·수식 토큰이 상자를 뚫는다. */
#evidence, #evidence *, footer, footer *{word-break:keep-all;overflow-wrap:break-word}

/* ══ 자간 — 한글 본문에 양(+)의 자간을 주지 않는다 ══════════════
   .yt-head 가 14px 본문에 0.98px(≈.07em) 라 한 줄이 넘쳐 잘렸다.
   라벨(.rd-cap 같은 작은 대문자류)은 자간이 필요하지만 본문은 아니다. */
#evidence .yt-head{letter-spacing:-.01em}

/* 검증 규모 아래 한 줄 — 이 화면에서 가장 강한 문장이다.
   "9주치라 아직 구별되지 않는다"를 우리가 먼저 말해야
   그 위의 777주·138주도 믿긴다. 약점 고백이 아니라 근거다. */
.pv-mt-note{margin:0 0 clamp(14px,2vw,18px);max-width:640px;
  font:400 clamp(13px,1.15vw,14px)/1.65 var(--sans);
  color:var(--text-on-dark-2);letter-spacing:-.015em}
.pv-mt-note b{color:var(--text-on-dark);font-weight:700}

/* GO LIVE 배지 — 사이트가 이미 쓰는 한글+영문 짝(검증 Validation)과 같은 계열.
   mono · 넓은 자간 · 대문자. 새 서체나 새 색을 만들지 않는다. */
.pv-mt-tag{display:inline-block;margin-right:6px;vertical-align:1px;padding:2px 7px;border-radius:999px;
  border:1px solid rgba(224,184,92,.42);background:rgba(224,184,92,.10);
  font:700 13px/1.4 var(--mono);letter-spacing:.12em;color:#E9D5A6}

/* ══ k 분포 그래프 (시안 B 의 다크 데이터 패널 형태) ═══════════
   [왜 등수별이 아니라 k 인가] r3·r4·r5 는 k 하나로 완전히 결정되는 값이다
     (검산: c1 풀 28 · k=5 → C(5,5)×C(23,1)=23, C(5,4)×C(23,2)=1265 … DB값과 일치).
     등수별 막대를 그리면 같은 사실을 세 번 세게 된다. k 가 원본이다.
     그리고 "6개 중 5개 담김"은 손님이 설명 없이 이해한다.
   [예측 구간을 다르게 그리는 이유] 9회차를 비율로 바꾸면 11.1% 가 신호처럼
     보인다. 표준오차가 11.3%p 라 0%도 33%도 정상 범위다.
     막대는 흐리게, 값은 회차 수로 적어 "아직 판정 못 한다"를 모양으로 말한다. */
.kd{margin:clamp(20px,3vw,30px) 0;padding:clamp(18px,2.4vw,26px);
  border:1px solid var(--border-on-dark);border-radius:16px;
  background:rgba(246,242,232,.04)}
.kd-head b{display:block;font:700 clamp(15px,1.5vw,18px)/1.4 var(--sans);
  color:var(--text-on-dark);letter-spacing:-.025em}
/* ★ .pv-st-card span · .pv-mt span 에 이어 세 번째로 같은 함정에 걸렸다.
   .kd-head span 이 안에 넣은 data-copy span·숫자 span 까지 잡아
   부제가 네 줄로 쪼개졌다. 부제에 제 클래스를 준다. */
.kd-sub{display:block;margin-top:5px;font:400 clamp(13px,1.1vw,14px)/1.5 var(--sans);
  color:var(--text-on-dark-2)}
.kd-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin:14px 0 16px;font:600 clamp(13px,1.02vw,14px)/1 var(--sans);color:var(--text-on-dark-2)}
.kd-legend i{width:22px;height:2px;border-radius:999px;margin-left:14px}
.kd-legend i:first-child{margin-left:0}
.kd-legend i.rnd{background:#5A6672}
.kd-legend i.prd{background:#E0B85C}
.kd-legend i.bnd{background:rgba(224,184,92,.18);border:1px solid rgba(224,184,92,.35)}
.kd-legend i.val{background:#9EB5C9}
.kd-legend i.prd{height:0;background:transparent;border:0;border-top:2px dashed #D4B36E;border-radius:0}

/* ── 꺾은선 ────────────────────────────────────────────────
   [왜 막대에서 바꿨나] x축(3개 이하 → 4 → 5 → 6)이 순서가 있는 축이다.
     순서 축에서 분포 두 개의 '모양'을 비교할 때는 선이 맞다.
     막대로 그렸더니 13.2 vs 21.2 처럼 차이가 작은 구간에서
     세로로 쌓인 막대를 눈이 못 따라갔다. 시안 B 도 데이터 패널에 선을 썼다. */
.kd-plot{margin:4px -6px 0;overflow:hidden}

.kd-foot{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);
  font:400 clamp(13px,1.05vw,14px)/1.6 var(--sans);color:#7E8994}
.kd-foot b{color:var(--text-on-dark-2);font-weight:600}

/* SVG 글자는 뷰박스 단위라 화면이 좁아지면 같이 줄어든다.
   680 뷰박스가 358px 에 그려지면 0.53배 — 12px 글자가 6.4px 이 된다(실측).
   좁은 폭에서는 사용자 단위를 키워 실제 표시 크기를 10px 이상으로 유지한다. */
/* 실측: 360px 에서 축소율 0.44 · 390px 에서 0.48.
   표시 11px 을 만들려면 사용자 단위로 각각 25px · 23px 이 필요하다. */
@media(max-width:600px){
}

/* 777(재현 전체 범위)과 392(회차별 기록이 공개된 범위)는 다른 것을 센다.
   화면에서 그 차이가 안 읽히면 손님은 숫자가 어긋났다고 본다. */
.kd-sub em{display:block;margin-top:5px;font-style:normal;
  font-size:13px;color:#7E8994;line-height:1.55}

/* ── 등수별 월평균 ─────────────────────────────────────────
   규모가 5자릿수 차이라 한 축에 못 올린다. 로그축은 두 기간의
   1.07~1.21배 차이를 안 보이게 만든다. 그래서 줄마다 자체 기준으로
   길이를 잡고, 값은 숫자로 적는다. 줄 간 길이 비교는 금지 — 각주에 명시. */
.km-svg{display:block;width:100%;height:auto}
.km-svg .hd{fill:var(--text-on-dark-2);font:600 13px/1 var(--sans)}
.km-svg .lg{fill:#7E8994;font:500 12px/1 var(--sans)}
.km-svg .rl{fill:var(--text-on-dark);font:700 14px/1 var(--sans)}
.km-svg .sep{stroke:rgba(255,255,255,.07);stroke-width:1}
.km-svg .bar-val{fill:var(--hb-blue,#7BA7E0)}
.km-svg .bar-prd{fill:#E0B85C}
.km-svg .bv-val{fill:#CFE0F5;font:700 14px/1 var(--mono)}
.km-svg .bv-prd{fill:#E9D5A6;font:700 14px/1 var(--mono)}
@media(max-width:600px){
  .km-svg .hd,.km-svg .lg{font-size:19px}
  .km-svg .rl{font-size:22px}
  .km-svg .bv-val,.km-svg .bv-prd{font-size:21px}
}

/* ── 등수별 월평균 꺾은선 ─────────────────────────────────── */
.kg-svg{display:block;width:100%;height:auto}
.kg-svg .grid line{stroke:rgba(190,207,220,.065);stroke-width:1}
.kg-svg .ax{fill:#75828E;font:500 12px/1 var(--sans);letter-spacing:-.01em}
.kg-svg .lg{fill:#7E8994;font:600 12px/1 var(--sans)}
.kg-svg .ln-val{fill:none;stroke:#9EB5C9;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kg-svg .ln-prd{fill:none;stroke:#D4B36E;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 5}
.kg-svg .dt-val{fill:#101C27;stroke:#AEC3D5;stroke-width:2}
.kg-svg .dt-prd{fill:#101C27;stroke:#D7B86F;stroke-width:2}
/* 정확한 값은 오른쪽 결과판에서 읽는다. 선 위 숫자는 중복이며 가장 큰 시각 잡음이었다. */
.kg-svg .vl-val,.kg-svg .vl-prd{display:none}
@media(max-width:600px){
  .kg-svg .ax,.kg-svg .lg{font-size:24px}
  .kg-svg .vl-val,.kg-svg .vl-prd{font-size:26px}
  .kg-svg .dt-val,.kg-svg .dt-prd{r:7}
}

/* ── 값 표 ────────────────────────────────────────────────
   [왜] 모바일에서는 SVG 글자를 키워야 읽히는데, 키우면 4·5등 라벨이
     서로 부딪힌다(실측). 좁은 화면에서는 선 위 라벨을 끄고 표로 내린다.
     표는 폭이 좁아도 안 겹치고, 숫자는 어차피 표가 더 정확히 읽힌다. */
.kg-tbl{width:100%;margin-top:14px;border-collapse:collapse;
  font:500 clamp(13px,1.15vw,14px)/1.5 var(--sans);font-variant-numeric:tabular-nums}
.kg-tbl th,.kg-tbl td{padding:11px 8px;border-top:1px solid rgba(255,255,255,.065);
  text-align:right;white-space:nowrap}
.kg-tbl thead th{border-top:0;color:#74818D;font-weight:600;font-size:.86em;letter-spacing:-.01em}
.kg-tbl tbody th{text-align:left;color:#E9EDF0;font-weight:650}
.kg-tbl td{font-family:var(--sans);font-weight:650;letter-spacing:-.015em}
.kg-tbl td.v{color:#B9CBD9}
.kg-tbl td.p{color:#DFC783}
/* 표를 데스크톱에서도 보인다 — 두 선이 겹쳐 보이므로 차이는 '검증 대비' 열에서 읽힌다 */
@media(min-width:601px){.kg-tbl{max-width:560px}}
@media(max-width:600px){
  .kg-svg .vl-val,.kg-svg .vl-prd{display:none}
  .kg-svg .ax{font-size:22px}
}

/* 0 은 로그축에 못 올린다 — 축 아래 빈 원으로 따로 표시한다.
   전에는 Math.max(v,0.1) 로 0 을 0.1 자리에 찍었다. "발생 없음"이
   "0.1건 발생"으로 읽히던 표현이라 고쳤다. */
.kg-svg circle.zero{fill:none;stroke-width:1.5}
.kg-svg .dt-val.zero{stroke:var(--hb-blue,#7BA7E0)}
.kg-svg .dt-prd.zero{stroke:#E0B85C}
.kg-svg .zl{font-size:13px;opacity:.85}

/* 표 — 검증 대비 증감률. 두 선이 겹쳐 보이므로 차이는 숫자로 읽힌다. */
.kg-tbl td.d{color:#919CA6}
.kg-tbl td.d span{display:inline-flex;justify-content:center;min-width:48px;padding:4px 8px;
  border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);
  font-size:.88em;font-weight:650;line-height:1}
.kg-tbl td.d.up span{color:#9FC9AE;border-color:rgba(119,180,139,.18);background:rgba(82,145,104,.08)}
.kg-tbl td.d.dn span{color:#D5A1A1;border-color:rgba(194,116,116,.16);background:rgba(160,79,79,.075)}

/* 데이터 기준 시점 — 연결 실패 시 옛 값이 최신처럼 보이면 안 된다 */
.kg-stamp{display:block;margin-top:8px;font-size:.94em;color:#7E8994}
.kg-stamp b{color:#E29A9A;font-weight:600}

/* ══════════════════════════════════════════════════════════════
   v487 · 프리미엄 계기판 + 행동/정보 위계 표준
   버튼은 빛·높이·눌림이 있고, 정보판은 정지해 있다. 링크형 행은 ›로 끝난다.
   사용자가 색을 읽지 않아도 '누를 것 / 볼 것'을 형태로 구분한다.
   ══════════════════════════════════════════════════════════════ */

/* 키보드 포커스 표시는 components.css 공통 규칙 사용 */
:where(a,button){-webkit-tap-highlight-color:transparent}

/* 행동 버튼 — 물리적 높이와 눌림. 정보 카드에는 이 그림자를 쓰지 않는다. */
.pv-hb-primary,.btn.btn-primary{
  position:relative;overflow:hidden;border:1px solid rgba(255,232,180,.72)!important;
  background:linear-gradient(180deg,#F0CD87 0%,#D6A54C 52%,#B77E25 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(80,46,0,.30),
    0 10px 24px rgba(103,68,14,.24),0 2px 5px rgba(0,0,0,.22)!important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.pv-hb-primary::before,.btn.btn-primary::before{content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.28) 44%,transparent 62%);
  transform:translateX(-130%);transition:transform .55s ease;pointer-events:none}
.pv-hb-primary:hover::before,.btn.btn-primary:hover::before{transform:translateX(130%)}
.pv-hb-primary:hover,.btn.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.04)}
.pv-hb-primary:active,.btn.btn-primary:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(65,38,0,.32)!important}

/* 보조 행동 — 투명 정보면과 달리 테두리·화살표·눌림을 모두 갖는다. */
.pv-hb-secondary,.btn.btn-line,#evidence a[href="verify.html"],.ev-log-more{
  position:relative;border:1px solid rgba(224,184,92,.58)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 16px rgba(0,0,0,.12);
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}
.pv-hb-secondary:hover,.btn.btn-line:hover,#evidence a[href="verify.html"]:hover,.ev-log-more:hover{
  transform:translateY(-1px);border-color:#E0B85C!important;background:rgba(224,184,92,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 9px 20px rgba(0,0,0,.16)}

/* 정보면 — 깊이는 주되 절대 들리지 않는다. 클릭 카드와 혼동 금지. */
.pv-st-card,.pv-mt li,.rcard{
  cursor:default;box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 12px 28px -22px rgba(7,16,25,.34)}
.pv-st-card{background:linear-gradient(145deg,#FFFFFF 0%,#F5F2EA 100%);border-color:rgba(99,79,38,.15)}
.pv-st-card::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(181,131,40,.32),transparent)}

/* 링크 행 — 정지 정보면과 달리 이동 화살표, hover 이동, 손가락 커서. */
#evidence .ev-row,a.svc-chip,.ev-log-more{cursor:pointer}
#evidence .ev-row{transition:background .14s ease,transform .14s ease}
#evidence .ev-row:hover{background:rgba(255,255,255,.055);transform:translateX(2px)}
#evidence .ev-row:hover::after{color:#E0B85C;right:11px}

/* 그래프 — 카드가 아니라 히어로와 같은 재질의 측정 계기판. */
#kgFig.kd{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;
  padding:clamp(22px,3vw,36px);border:1px solid rgba(224,184,92,.26);
  background:
    linear-gradient(145deg,rgba(255,255,255,.075),transparent 22%),
    radial-gradient(70% 90% at 84% 8%,rgba(69,111,145,.20),transparent 62%),
    radial-gradient(55% 70% at 12% 110%,rgba(224,184,92,.09),transparent 70%),
    linear-gradient(150deg,#111D28 0%,#09131D 55%,#071019 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(6,12,18,.42),
    0 26px 70px -42px rgba(0,0,0,.78)}
#kgFig.kd::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.16;
  background-image:url("/img/instrument-panel-v487.webp?v=881");background-size:cover;background-position:center;mix-blend-mode:screen}
#kgFig.kd::after{content:"";position:absolute;z-index:3;pointer-events:none;inset:1px;border-radius:23px;
  box-shadow:inset 0 0 42px rgba(0,0,0,.24)}
.kg-kicker{display:block;margin-bottom:9px;font:700 13px/1 var(--mono);letter-spacing:.14em;color:#E0B85C}
#kgFig .kd-head b{font-size:clamp(20px,2.2vw,30px);line-height:1.24;letter-spacing:-.035em}
#kgFig .kd-head b em{font-style:normal;color:#E9D5A6}
#kgFig .kd-legend{padding:10px 13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;
  background:rgba(3,10,16,.34);backdrop-filter:blur(8px)}
#kgFig .kd-plot{border:1px solid rgba(255,255,255,.075);border-radius:16px;
  background:linear-gradient(180deg,rgba(1,7,12,.48),rgba(10,20,29,.22));
  box-shadow:inset 0 1px 18px rgba(0,0,0,.30);padding:8px 4px 0}
#kgFig .kg-svg .grid line{stroke:rgba(183,205,222,.10)}
#kgFig .kg-svg .ln-val,#kgFig .kg-svg .ln-prd{filter:none}
#kgFig .kg-tbl{border:1px solid rgba(255,255,255,.075);border-radius:16px;border-collapse:separate;
  border-spacing:0;overflow:hidden;background:rgba(2,9,15,.22);margin-top:14px}
#kgFig .kg-tbl thead th{padding:13px 12px;background:rgba(255,255,255,.025)}
#kgFig .kg-tbl tbody tr{transition:background .14s ease}
#kgFig .kg-tbl tbody tr:hover{background:rgba(255,255,255,.022)}
#kgFig .kg-tbl td.d{font-size:.9em}
#kgFig .kd-foot{margin-top:18px;padding:15px 0 0;max-width:none}

@media(min-width:1000px){
  #kgFig.kd{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(390px,1fr);column-gap:30px;align-items:start}
  #kgFig .kd-head,#kgFig .kd-legend,#kgFig .kd-foot{grid-column:1/-1}
  #kgFig .kd-plot{grid-column:1;grid-row:3;margin:4px 0 0}
  #kgFig .kg-tbl{grid-column:2;grid-row:3;align-self:stretch;max-width:none;margin:4px 0 0}
  #kgFig .kg-tbl th,#kgFig .kg-tbl td{padding:16px 13px}
}
@media(max-width:600px){
  #kgFig.kd{border-radius:18px;padding:18px 14px}
  #kgFig .kd-plot{margin-left:-7px;margin-right:-7px;border-radius:13px}
  #kgFig .kg-tbl{font-size:13px}
  #kgFig .kg-tbl th,#kgFig .kg-tbl td{padding:10px 4px}
}

/* v593 — 실사 공 위 상태 표시 보정: 미담김은 읽히게, 담김 금테는 얇게. */
#evidence .ev-nums .pv-ball[data-ball].miss{
  filter:none;
  opacity:1;
}
#evidence .ev-nums .pv-ball[data-ball].miss::before{
  filter:none;
  opacity:1;
}
#evidence .ev-nums .pv-ball[data-ball].on{
  outline:0!important;
  outline-offset:0!important;
  box-shadow:none!important;
  border-color:transparent!important;
  transform:none!important;
}

/* v593 — 실제 회차 검증 기록은 결과를 읽는 영역이라 선택판보다 크게 보이게 한다. */
#evidence .ev-nums{
  gap:2px!important;
  justify-content:flex-start!important;
}
#evidence .ev-nums .pv-ball[data-ball]{
  --pv-ball-fill:1.12;
  width:54px;
  height:54px;
  filter:none;
}
@media(max-width:767px){
  #evidence .ev-nums{gap:0!important}
  #evidence .ev-nums .pv-ball[data-ball]{
    width:50px;
    height:50px;
  }
}
@media(max-width:360px){
  #evidence .ev-nums{gap:0!important}
}

/* v593 — 실사 공이 카드 위에 뜨지 않도록 다크 표면도 한 단계 올린다. */
#evidence .ev-row{
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0));
}
#evidence .ev-row:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
}

/* v695 — 통과 후보 v5: 전역 표준 공의 실사 합성 규칙과 같은 방향의 바닥 그림자를 쓴다. */
#evidence .ev-log{
  background:
    linear-gradient(180deg,rgba(8,17,26,.10) 0%,rgba(246,239,221,.06) 34px,rgba(255,255,255,0) 86px,rgba(28,18,7,.06) 100%),
    url("/img/evidence-marble-floor-v695.webp?v=881") center top/cover repeat-y,
    linear-gradient(180deg,#E9DEC8,#D9C8A9)!important;
  border-top:1px solid rgba(122,91,39,.20)!important;
  border-bottom:1px solid rgba(122,91,39,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.66)!important;
}
#evidence .ev-log-head{
  background:rgba(255,255,255,.06)!important;
  border-bottom:1px solid rgba(82,62,32,.14)!important;
}
#evidence .ev-row,
#evidence .ev-row:nth-child(n+4){
  background:transparent!important;
  border-bottom:1px solid rgba(82,62,32,.13)!important;
}
#evidence .ev-row:hover{
  background:rgba(255,255,255,.10)!important;
  transform:none!important;
}
#evidence .ev-nums .pv-ball[data-ball]::after{
  left:-8%!important;
  right:-10%!important;
  bottom:-12%!important;
  height:36%!important;
  transform:translateX(5%) skewX(-6deg)!important;
  background:radial-gradient(ellipse at 42% 46%,rgba(18,11,5,.50) 0%,rgba(31,22,12,.30) 36%,rgba(53,39,20,.12) 66%,rgba(53,39,20,0) 88%)!important;
  opacity:.82!important;
  filter:blur(3px)!important
}

/* v596 — hero 다음 두 번째 화면.
   홈의 첫 흐름은 이미지 훅 → 수식 시트 → 검증 기록 순서로 읽히게 한다. */
.svc-band{
  display:none!important;
}

/* v825 — 로또 검증·로직을 읽은 뒤 이어지는 보조 서비스 진입부.
   v596의 숨겨진 서비스 띠는 유지하고, ETF·사주•운세 두 항목만 별도로 노출한다. */
#homeServices{
  position:relative;
  overflow:hidden;
  padding:30px 0 34px;
  border-top:1px solid rgba(82,62,32,.12);
  border-bottom:1px solid rgba(82,62,32,.14);
  background:
    radial-gradient(60% 140% at 100% 0%,rgba(216,173,99,.17),transparent 68%),
    linear-gradient(180deg,#f3eadc 0%,#eee1ce 100%);
}
#homeServices::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(118deg,transparent 0 48%,rgba(255,255,255,.30) 48.4%,transparent 53%);
}
#homeServices > .wrap{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:28px;
  align-items:end;
}
#homeServices .home-services-head .eyebrow{
  margin:0 0 9px;
}
#homeServices .home-services-head .h-sec{
  margin:0;
  font-size:clamp(25px,3vw,34px);
  line-height:1.18;
  color:#132536;
}
#homeServices .home-services-head .h-sec em{
  color:#956c28;
}
#homeServices .home-services-head .sub{
  margin:9px 0 0;
  max-width:420px;
  color:#665d51;
  font-size:14px;
  line-height:1.55;
}
#homeServices .home-services-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#homeServices .home-service-card{
  min-width:0;
  min-height:82px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 20px;
  gap:12px;
  align-items:center;
  padding:15px 16px;
  border:1px solid rgba(82,62,32,.17);
  border-radius:16px;
  background:rgba(255,252,247,.86);
  color:#132536;
  text-decoration:none;
  box-shadow:0 12px 28px -22px rgba(26,35,43,.48);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
#homeServices .home-service-card:hover,
#homeServices .home-service-card:focus-visible{
  transform:translateY(-2px);
  border-color:#b7893d;
  box-shadow:0 18px 34px -22px rgba(26,35,43,.58);
}
#homeServices .home-service-card:focus-visible{
  outline:3px solid rgba(183,137,61,.32);
  outline-offset:3px;
}
#homeServices .home-service-icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid rgba(216,173,99,.38);
  background:#10263a;
  color:#f5d89e;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
}
#homeServices .home-service-icon-saju{
  font-family:Georgia,serif;
  font-size:25px;
  font-weight:400;
}
#homeServices .home-service-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
#homeServices .home-service-copy b{
  font-size:16px;
  line-height:1.2;
}
#homeServices .home-service-copy span{
  color:#70675b;
  font-size:13px;
  line-height:1.3;
}
#homeServices .home-service-go{
  color:#956c28;
  font-size:25px;
  font-weight:700;
  line-height:1;
}
@media(max-width:760px){
  #homeServices{
    padding:24px 0 28px;
  }
  #homeServices > .wrap{
    grid-template-columns:1fr;
    gap:17px;
  }
  #homeServices .home-services-head .h-sec{
    font-size:26px;
  }
  #homeServices .home-services-head .sub{
    font-size:13px;
  }
}
@media(max-width:520px){
  #homeServices .home-services-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  #homeServices .home-service-card{
    min-height:76px;
    padding:13px 14px;
  }
}
#logic.section-soft{
  position:relative;
  overflow:hidden;
  margin:0;
  color:#F7F1E7;
  background:
    radial-gradient(52% 70% at 84% 8%, rgba(216,173,99,.18), transparent 68%),
    linear-gradient(180deg,#07121d 0%,#091725 56%,#f3eadc 56.2%,#efe3d1 100%)!important;
}
#logic.section-soft::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,rgba(255,255,255,0) 0 48%,rgba(255,238,204,.22) 48.3%,rgba(255,255,255,0) 52%),
    radial-gradient(ellipse at 50% 52%,rgba(5,12,19,.32),transparent 62%);
}
#logic .wrap{
  position:relative;
  z-index:1;
}
#logic .eyebrow,
#logic .h-sec,
#logic .sub{
  color:#F7F1E7;
}
#logic .eyebrow{
  border-color:rgba(216,173,99,.38);
  background:rgba(216,173,99,.08);
}
#logic .eyebrow i,
#logic .sub{
  color:rgba(247,241,231,.72);
}
#logic .h-sec{
  max-width:767px;
  text-shadow:0 18px 42px rgba(0,0,0,.45);
}
#logic .h-sec .wa{
  color:#D8AD63;
}
#logic .pv-st{
  max-width:880px;
  margin-top:clamp(22px,3vw,34px);
  border:1px solid rgba(216,173,99,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  box-shadow:0 24px 70px -44px rgba(0,0,0,.72);
  backdrop-filter:blur(12px);
}
#logic .pv-st-lead{
  color:rgba(247,241,231,.72);
}
#logic .pv-st-lead b{
  color:#D8AD63;
}
#logic .pv-st-lead span,
#logic .pv-st-card b{
  color:#F7F1E7;
}
#logic .pv-st-row::before,
#logic .pv-st-row::after{
  background:linear-gradient(90deg,rgba(216,173,99,.28),rgba(216,173,99,.68),rgba(216,173,99,.28));
}
#logic .pv-st-card{
  border-color:rgba(216,173,99,.24);
  background:rgba(5,12,19,.34);
  box-shadow:none;
}
#logic .pv-st-desc{
  color:rgba(247,241,231,.66);
}
#logic .pv-st-no{
  color:#07121d;
  background:#D8AD63;
}
#logic .pv-st-ico{
  color:#D8AD63;
  background:rgba(216,173,99,.10);
  border-color:rgba(216,173,99,.26);
}
#logic .fxslider{
  max-width:880px;
  margin-top:18px;
  border:1px solid rgba(216,173,99,.32);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(246,242,232,.95),rgba(236,225,207,.92));
  box-shadow:0 24px 70px -40px rgba(0,0,0,.62);
}
#logic .fxslide .lab,
#logic .fxnote{
  color:#6F5B31;
}
#logic .fxslide .math{
  color:#101820;
}
#logic .fxslide .stat,
#logic .fxslide .plain{
  background:rgba(255,255,255,.58);
}
#logic .cr-badge{
  max-width:880px!important;
  background:rgba(246,242,232,.94)!important;
}

@media(max-width:767px){
  #logic.section-soft{
    padding-top:42px;
    background:
      radial-gradient(80% 54% at 82% 0%, rgba(216,173,99,.14), transparent 68%),
      linear-gradient(180deg,#07121d 0%,#091725 64%,#f3eadc 64.3%,#efe3d1 100%)!important;
  }
  #logic .h-sec{
    font-size:clamp(29px,8.3vw,38px);
    line-height:1.14;
  }
  #logic .pv-st{
    border-radius:15px;
  }
  #logic .pv-st-row{
    gap:10px;
  }
  #logic .pv-st-card{
    grid-template-columns:30px 1fr;
    padding:18px 14px 16px;
  }
  #logic .fxslider{
    border-radius:15px;
  }
}

/* v597 — 로직 화면은 카드 UI가 아니라 이미지 장면으로 간다. */
#logic.logic-scene{
  position:relative;
  min-height:760px;
  padding:0;
  overflow:hidden;
  background:#07121d!important;
  color:#F7F1E7;
}
#logic .logic-scene-img{
  position:absolute;
  inset:0;
  display:block;
  z-index:0;
}
#logic .logic-scene-img img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
#logic.logic-scene::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,11,19,.72) 0%,rgba(5,11,19,.50) 24%,rgba(5,11,19,.08) 48%,rgba(92,82,64,.58) 74%,rgba(239,227,209,.92) 100%),
    linear-gradient(90deg,rgba(5,11,19,.62),rgba(5,11,19,0) 58%);
}
#logic .logic-scene-copy{
  position:relative;
  z-index:2;
  min-height:760px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding-top:clamp(54px,7vw,96px);
  padding-bottom:38px;
}
#logic .logic-scene-copy .eyebrow{
  width:max-content;
  color:#F7F1E7;
  border-color:rgba(216,173,99,.42);
  background:rgba(216,173,99,.10);
}
#logic .logic-scene-copy .eyebrow i{
  color:rgba(247,241,231,.7);
}
#logic .logic-scene-copy .h-sec{
  max-width:660px;
  margin-top:16px;
  color:#F7F1E7;
  font-size:clamp(36px,5vw,58px);
  line-height:1.08;
  text-shadow:0 18px 42px rgba(0,0,0,.46);
}
#logic .logic-scene-copy .h-sec em{
  color:#F0D492;
  font-style:normal;
}
#logic .logic-scene-copy .sub{
  max-width:520px;
  margin-top:18px;
  color:rgba(247,241,231,.78);
}
#logic .logic-flow{
  width:min(620px,100%)!important;
  margin:0 0 18px!important;
  padding:0!important;
  list-style:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
}
#logic .logic-flow li{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:0!important;
  width:max-content!important;
  max-width:100%!important;
  padding:3px 8px!important;
  border:0!important;
  border-radius:8px!important;
  background:rgba(5,11,19,.38)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#logic .logic-flow b{
  flex:none;
  color:#D8AD63;
  font:800 17px/1 var(--mono);
  letter-spacing:.04em;
}
#logic .logic-flow span{
  color:#F7F1E7;
  font:800 18px/1.35 var(--sans);
  letter-spacing:-.03em;
  text-shadow:0 2px 14px rgba(0,0,0,.42),0 1px 2px rgba(0,0,0,.60);
}
#logic .logic-formula{
  width:min(560px,100%);
  padding:18px 18px 16px;
  border:1px solid rgba(99,79,38,.14);
  border-radius:16px;
  background:rgba(246,242,232,.94);
  color:#101820;
  box-shadow:0 18px 44px -34px rgba(0,0,0,.58);
}
#logic .logic-formula-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  color:#84672B;
  font:800 14px/1.25 var(--sans);
}
#logic .logic-formula-head span{
  flex:none;
  padding:6px 10px;
  border-radius:9px;
  background:rgba(132,103,43,.10);
  font-family:var(--mono);
}
#logic .logic-formula-head b{
  min-width:0;
  color:#725721;
  font-size:16px;
  letter-spacing:-.03em;
}
#logic .logic-formula .math{
  display:block;
  min-height:36px;
  color:#101820;
  font-size:20px;
}
#logic .logic-eq-stage{
  position:relative;
  min-height:48px;
  overflow:hidden;
}
#logic .logic-equation{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:.34em;
  width:100%;
  white-space:nowrap;
  color:#101820;
  font:800 clamp(18px,4.8vw,26px)/1.2 Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}
#logic .logic-eq-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .32s ease,transform .32s ease;
  pointer-events:none;
}
#logic .logic-eq-slide.on{
  opacity:1;
  transform:none;
}
#logic .logic-equation i,
#logic .logic-equation em{
  font-style:italic;
}
#logic .logic-equation em{
  color:#7B6025;
  font-weight:800;
}
#logic .logic-equation sub{
  font-size:.54em;
  vertical-align:-.18em;
}
#logic .logic-equation sup{
  font-size:.54em;
  vertical-align:.42em;
}
#logic .logic-eq-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:14px;
}
#logic .logic-eq-dots i{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(132,103,43,.20);
}
#logic .logic-eq-dots i.on{
  width:28px;
  background:#96742B;
}
#logic .logic-note{
  width:min(560px,100%);
  margin:12px 0 0;
  color:#30291F;
  font:650 13.5px/1.55 var(--sans);
  padding:8px 10px;
  border-radius:10px;
  background:rgba(250,244,232,.72);
  text-shadow:0 1px 0 rgba(255,255,255,.78),0 2px 12px rgba(255,255,255,.52);
}
#logic .logic-copyright{
  width:min(560px,100%);
  margin:auto 0 10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#4E3D18;
  font:650 13px/1.55 var(--sans);
  box-shadow:none;
  text-shadow:0 1px 0 rgba(255,255,255,.74),0 2px 12px rgba(255,255,255,.52);
}
#logic .logic-copyright b{
  display:inline;
  margin:0 9px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#FFFFFF;
  font:950 15px/1.28 var(--sans);
  letter-spacing:-.02em;
  box-shadow:none;
  text-shadow:0 1px 14px rgba(0,0,0,.42);
}
#logic .logic-copyright b,
#logic .logic-copyright > span{
  display:inline-block;
  padding:3px 6px;
  border-radius:7px;
  background:rgba(5,11,19,.40);
}
#logic .logic-copyright span{
  color:#F6E9CA;
  font-weight:800;
  text-shadow:0 1px 10px rgba(0,0,0,.42);
}
#logic .logic-copyright span span{
  display:inline-block;
  filter:blur(3px);
  letter-spacing:2px;
  font-weight:800;
}

/* v724 — 밝은 배경을 덮지 않고, 읽어야 하는 문구 주변만 어둡게 잡는다. */
#logic .logic-scene-copy .sub{
  color:rgba(247,241,231,.88);
  text-shadow:0 2px 14px rgba(0,0,0,.62),0 1px 2px rgba(0,0,0,.68);
}
#logic .logic-flow li{
  border:1px solid rgba(247,241,231,.12)!important;
  background:linear-gradient(180deg,rgba(5,11,19,.72),rgba(5,11,19,.54))!important;
  box-shadow:0 10px 26px rgba(0,0,0,.20)!important;
}
#logic .logic-flow b{
  color:#F1C66F;
  text-shadow:0 1px 10px rgba(0,0,0,.55);
}
#logic .logic-flow span{
  color:#FFF8EC;
  text-shadow:0 2px 12px rgba(0,0,0,.70),0 1px 2px rgba(0,0,0,.78);
}
#logic .logic-note{
  color:#FFF8EC;
  border:1px solid rgba(247,241,231,.12);
  background:linear-gradient(180deg,rgba(5,11,19,.76),rgba(5,11,19,.58));
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  text-shadow:0 1px 2px rgba(0,0,0,.70);
}
#logic .logic-note a{
  color:#F3CC77!important;
}
@media(max-width:767px){
  #logic .logic-note a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    vertical-align:middle;
  }
}
#logic .logic-copyright{
  color:#F6E9CA;
  text-shadow:0 1px 2px rgba(0,0,0,.70);
}
#logic .logic-copyright b,
#logic .logic-copyright > span{
  border:1px solid rgba(247,241,231,.12);
  background:linear-gradient(180deg,rgba(5,11,19,.78),rgba(5,11,19,.58));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
#logic .logic-copyright b{
  color:#FFFFFF;
  text-shadow:0 1px 12px rgba(0,0,0,.70);
}
#logic .logic-copyright span{
  color:#F6E9CA;
  text-shadow:0 1px 10px rgba(0,0,0,.62);
}

@media(max-width:767px){
  section{
    scroll-margin-top:148px;
  }
  #logic.logic-scene{
    min-height:460px;
  }
  #logic .logic-scene-img img{
    object-position:center 38%;
  }
  #logic.logic-scene::after{
    background:
      linear-gradient(180deg,rgba(5,11,19,.84) 0%,rgba(5,11,19,.62) 34%,rgba(5,11,19,.18) 64%,rgba(5,11,19,.48) 100%);
  }
  #logic .logic-scene-copy{
    min-height:460px;
    padding-top:34px;
    padding-bottom:22px;
    justify-content:flex-start;
  }
  #logic .logic-scene-copy .h-sec{
    font-size:clamp(31px,8.4vw,40px);
    line-height:1.12;
  }
  #logic .logic-scene-copy .sub{
    max-width:310px;
    font-size:15px;
    margin-top:14px;
  }
  #logic .logic-flow{
    margin-top:8px;
    margin-bottom:10px;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  #logic .logic-flow li{
    display:flex!important;
    min-height:0;
    padding:3px 7px!important;
  }
  #logic .logic-flow b{font-size:15px}
  #logic .logic-flow span{
    font-size:15px;
  }
  #logic .logic-formula{
    padding:15px 14px 13px;
    border-radius:14px;
  }
  #logic .logic-formula-head{
    gap:9px;
  }
  #logic .logic-formula-head span{
    padding:5px 8px;
  }
  #logic .logic-formula-head b{
    font-size:15px;
  }
  #logic .logic-eq-stage{
    min-height:42px;
  }
  #logic .logic-equation{
    gap:.22em;
    font-size:clamp(14px,3.7vw,17px);
  }
  #logic .logic-copyright{
    margin:42px 0 8px;
    padding:0;
    font-size:12.5px;
  }
  #logic .logic-copyright b{
    margin-right:7px;
    padding:0;
    font-size:14px;
  }
  #logic .logic-copyright b,
  #logic .logic-copyright > span,
  #logic .logic-flow li{
    background:rgba(5,11,19,.22)!important;
    border-color:rgba(247,241,231,.10)!important;
    box-shadow:none!important;
  }
  #logic .logic-note{
    padding:10px 0 0!important;
    border-width:1px 0 0!important;
    border-radius:0!important;
    background:transparent!important;
    border-color:rgba(247,241,231,.16)!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* v695 — 모든 표준 공은 같은 배경/접지 그림자를 가진다. 과거 evidence override가 filter:none으로 되돌리는 것을 마지막에서 차단한다. */
#evidence .ev-nums .pv-ball[data-ball]{
  filter:drop-shadow(4px 7px 6px rgba(0,0,0,.18)) drop-shadow(0 1px 1px rgba(0,0,0,.20))!important;
}
#evidence .ev-nums .pv-ball[data-ball]::before{
  filter:drop-shadow(0 2px 1.5px rgba(0,0,0,.14)) saturate(1.01) contrast(1.02) brightness(1.0)!important;
}
#evidence .ev-nums .pv-ball[data-ball]::after{
  left:-8%!important;
  right:-10%!important;
  bottom:-9%!important;
  height:30%!important;
  transform:translateX(5%) skewX(-6deg)!important;
  background:radial-gradient(ellipse at 42% 50%,rgba(18,11,5,.34) 0%,rgba(31,22,12,.21) 38%,rgba(53,39,20,.08) 68%,rgba(53,39,20,0) 92%)!important;
  filter:blur(4.4px)!important;
  opacity:.62!important;
}
#evidence .ev-nums .pv-ball[data-ball].miss{
  opacity:.96!important;
}




/* v769 — 홈 모바일 최종 균형 */
@media(max-width:767px) and (orientation:portrait){
  #hero .pv-hb{
    min-height:clamp(430px,56svh,470px)!important;
    padding-top:30px!important;
    padding-bottom:10px!important;
  }
  #hero .pv-hb-shot img{object-position:center 78%!important}
  #hero .pv-hb-sub{margin-top:12px!important}
  #hero .pv-hb-actions{margin-top:16px!important}
}
@media(max-width:600px){
  #evidence #kgFig .kg-tbl{
    background:linear-gradient(180deg,rgba(5,13,21,.34),rgba(5,13,21,.24))!important;
    border-color:rgba(247,241,231,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
    -webkit-backdrop-filter:blur(3px) saturate(1.02)!important;
    backdrop-filter:blur(3px) saturate(1.02)!important;
  }
  #evidence #kgFig .kg-tbl thead th{background:rgba(5,13,21,.22)!important}
  #evidence #kgFig .kg-tbl tbody th,
  #evidence #kgFig .kg-tbl td{
    text-shadow:0 2px 8px rgba(0,0,0,.54)!important;
  }
  #evidence #kgFig .kd-foot{
    color:rgba(255,250,239,.84)!important;
    text-shadow:0 2px 8px rgba(0,0,0,.52)!important;
  }
}
@media(max-width:340px){
  #hero .pv-hb{min-height:430px!important}
}

/* v769 — 홈 모바일 높이 체계화 */
@media(max-width:767px) and (orientation:portrait){
  :root{
    --pv-home-head:112px;
    --pv-home-screen:calc(100vh - var(--pv-home-head));
    --pv-home-screen:calc(100dvh - var(--pv-home-head));
  }
  html{
    scroll-snap-type:y proximity;
    scroll-padding-top:var(--pv-home-head);
  }
  #hero,
  #evidence #kgFig,
  #evidence .ev-log,
  #logic,
  #homeAnnual,
  #homeOthers{
    scroll-snap-align:start;
    scroll-margin-top:var(--pv-home-head);
  }
  #hero .pv-hb{
    min-height:clamp(430px,58vh,500px)!important;
    min-height:clamp(430px,58dvh,500px)!important;
    align-items:flex-start!important;
  }
  #evidence #kgFig.kd{
    min-height:var(--pv-home-screen)!important;
    justify-content:center!important;
  }
  #evidence .ev-log{
    min-height:0!important;
  }
  #logic.logic-scene,
  #logic .logic-scene-copy{
    min-height:var(--pv-home-screen)!important;
  }
  #logic .logic-scene-copy{
    justify-content:center!important;
  }
  #homeAnnual{
    min-height:var(--pv-home-screen)!important;
    display:flex!important;
    align-items:flex-start!important;
  }
  #homeAnnual > .wrap{
    width:100%!important;
  }
  #homeOthers{
    min-height:clamp(520px,var(--pv-home-screen),680px)!important;
    display:flex!important;
    align-items:center!important;
  }
}
@media(max-width:340px) and (orientation:portrait){
  #hero .pv-hb{
    min-height:430px!important;
  }
  #logic.logic-scene,
  #logic .logic-scene-copy{
    min-height:calc(100dvh - 108px)!important;
  }
}

/* v769 — 홈 섹션 제목 리듬 통일.
   스크롤 스냅은 끄고, 소제목 시작 위치를 맞춘 뒤 본문만 각 칸 안에서 정리합니다. */
#logic .logic-scene-copy .eyebrow,
#homeAnnual .home-annual-head .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#E6C170;
  font:900 13px/1 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
}
#logic .logic-scene-copy .eyebrow b,
#homeAnnual .home-annual-head .eyebrow b{
  color:#E6C170;
}
#logic .logic-scene-copy .eyebrow i,
#homeAnnual .home-annual-head .eyebrow i{
  color:rgba(230,193,112,.76);
  font-style:normal;
}
#homeAnnual .home-annual-head{
  position:relative;
  z-index:2;
  padding:0 clamp(16px,4vw,28px) 16px;
}
#homeAnnual .home-annual-head .h-sec{
  margin:14px 0 0;
  max-width:680px;
  color:#FFF8EC;
  font-size:clamp(34px,5.2vw,58px);
  line-height:1.08;
  letter-spacing:-.04em;
  text-shadow:0 18px 42px rgba(0,0,0,.46);
}
#homeAnnual .home-annual-head .h-sec em{
  color:#E7BE64;
  font-style:normal;
}
#homeAnnual .home-annual-head .sub{
  margin:12px 0 0;
  color:rgba(247,241,231,.76);
  font:700 15px/1.55 var(--sans);
}
@media(max-width:767px) and (orientation:portrait){
  html{
    scroll-snap-type:none!important;
  }
  #hero,
  #evidence #kgFig,
  #evidence .ev-log,
  #logic,
  #homeAnnual,
  #homeOthers{
    scroll-snap-align:none!important;
  }
  #hero .pv-hb,
  #logic .logic-scene-copy{
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }
  #logic .logic-scene-copy{
    padding-top:48px!important;
  }
  #homeAnnual{
    align-items:flex-start!important;
    padding-top:48px!important;
  }
  #homeAnnual > .wrap{
    display:flex!important;
    flex-direction:column!important;
    min-height:var(--pv-home-screen)!important;
  }
  #homeAnnual .yt-wrap{
    margin:auto 0!important;
  }
  #homeAnnual .yt-head{
    font-size:0!important;
    line-height:0!important;
    margin:0!important;
  }
  #homeAnnual .yt-scope-note{
    display:none!important;
  }
}
@media(max-width:340px) and (orientation:portrait){
  #logic .logic-scene-copy,
  #homeAnnual{
    padding-top:40px!important;
  }
}

/* v780 - existing hero copy on restrained photoreal scene */
#hero.pv-hero-b{
  position:relative;
  overflow:hidden;
  background:#06111d!important;
}
#hero.pv-hero-b::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,10,18,.36) 0%,rgba(3,10,18,.20) 42%,rgba(3,10,18,.05) 72%,rgba(3,10,18,.18) 100%);
}
#hero .pv-hb{position:relative;z-index:2}
#hero .pv-hb-copy{position:relative;z-index:4}
#hero .pv-hb-kicker{color:#d8ad63!important}
#hero .pv-hb-title{color:#f7f1e7!important;text-shadow:0 3px 18px rgba(0,0,0,.38)!important}
#hero .pv-hb-title span{color:#e0b85c!important}
#hero .pv-hb-sub{color:rgba(247,241,231,.82)!important;text-shadow:0 2px 12px rgba(0,0,0,.34)!important}


/* v783 — 모바일 히어로만: 실측 크롬을 제외한 한 화면을 문구와 이미지가 나눠 씁니다. */
@media(max-width:767px) and (orientation:portrait){
  #hero.pv-hero-b{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    background:#06111d!important;
  }
  #hero .pv-hb{
    height:calc(100dvh - var(--pv-chrome,110px))!important;
    min-height:0!important;
    padding:24px 22px 0!important;
    overflow:hidden!important;
  }
  #hero .pv-hb-grid{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
  }
  #hero .pv-hb-copy{flex:0 0 auto!important}
  #hero .pv-hb-visual{
    position:relative!important;
    inset:auto!important;
    flex:1 1 auto!important;
    min-height:96px!important;
    width:calc(100% + 44px)!important;
    max-width:none!important;
    margin:10px -22px 0!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#06111d 0%,#06111d 10%,#050d16 100%)!important;
  }
  #hero .pv-hb-shot{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    background:#06111d!important;
  }
  #hero .pv-hb-shot::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg,#06111d 0%,rgba(6,17,29,.72) 8%,transparent 25%,transparent 86%,rgba(6,17,29,.2) 100%);
  }
  #hero .pv-hb-shot img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
}

@media(max-width:340px) and (orientation:portrait){
  #hero .pv-hb{padding:18px 16px 0!important}
  #hero .pv-hb-visual{width:calc(100% + 32px)!important;margin:8px -16px 0!important;min-height:88px!important}
}

/* v784 — GO LIVE 비교값의 시간 단위를 화면에 직접 표시합니다. */
#evidence #kgFig .kg-tbl thead th small{
  display:block;
  margin-top:3px;
  color:rgba(247,241,231,.58);
  font-size:10px;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
}
#evidence #kgFig .kg-unit-note{
  display:block;
  margin-top:5px;
  color:rgba(247,241,231,.62);
  font-size:11px;
  line-height:1.45;
}
