/* 우리떠기 자체구축 사이트 — 새 홈 첫 화면 묶음 (조합 A, 2026-10-06 대표님 확정)
   ① 갓 찐 순간 정지 → ② 시그니처 쇼케이스 → ③ 쭉 늘어나는 찰기 → ⑤ 쌀이 떡이 되기까지 → ⑥ 데워 보기

   이름은 모두 wh- 로 시작한다. 기존 스킨(shop / wt- / wt_motion)과 절대 겹치지 않게 하기 위해서다.
   (재발 방지: wt-in 처럼 이미 쓰는 이름을 또 쓰면 스킨 전체에 내 여백이 덮어씌워진다)

   색 규칙 — 틀과 배경은 차가운 얼음 파랑, 떡 위에만 따뜻한 호박색 빛, 포인트는 팥색.
   호박색은 다섯 화면에서 모두 같은 값(#F2A33C)이다. */
.wh{
  --ice:#071722;--ice2:#0E2A3D;--ice3:#1A4A66;
  --frost:#D8ECF7;--frostdim:#AECCDD;
  --amber:#F2A33C;--amberlit:#FFD9A0;--pat:#7A2E35;
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;
  box-sizing:border-box;
}
.wh *,.wh *::before,.wh *::after{box-sizing:border-box}
.wh img,.wh canvas,.wh svg{max-width:100%}

/* 공통 틀 */
.wh-sec{position:relative;background:var(--ice);color:var(--frost);overflow:hidden}
.wh-in{max-width:1200px;margin:0 auto;padding:0 20px}
.wh-hd{text-align:center}
.wh-hd b{display:inline-block;padding:6px 14px;border:1px solid rgba(216,236,247,.32);
  border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--frostdim)}
.wh-hd h2{margin:12px 0 0;font-size:clamp(23px,4.4vw,38px);font-weight:800;letter-spacing:-.03em;
  color:#fff;line-height:1.22;word-break:keep-all}
.wh-hd h2 em{font-style:normal;color:var(--amberlit)}
.wh-hd p{margin:9px 0 0;font-size:clamp(14px,1.6vw,16px);color:var(--frostdim);word-break:keep-all}
.wh-src{margin:9px 0 0;font-size:12px;color:#AECCDD;word-break:keep-all;line-height:1.6}
.wh-todo{display:inline-block;padding:4px 11px;border-radius:999px;font-size:12.5px;
  font-weight:700;color:#2A1B06;background:var(--amber)}
.wh-shot{position:absolute;right:12px;bottom:12px;z-index:5;margin:0;padding:6px 10px;
  border-radius:8px;font-size:12px;line-height:1.4;color:#0A1118;
  background:rgba(216,236,247,.92);max-width:46vw;text-align:right}
.wh-cta{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;border:0;
  border-radius:999px;background:var(--amber);color:#2A1B06;font-family:inherit;font-size:16px;
  font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.wh-cta:hover,.wh-cta:visited{color:#2A1B06}
.wh-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* ── 게임 쪽(냉동실 탈출) 머리 ───────────────────── */
.wh-game{padding:30px 0 34px}
/* 게임 자체에 큰 제목이 있으므로 여기서는 한 줄 안내만 둔다 */
.wh-game .wh-hd{margin:0 0 22px;display:grid;gap:9px;justify-items:center}
.wh-game .wh-hd span{font-size:14px;color:var(--frostdim);word-break:keep-all;max-width:420px}

/* ── ① 갓 찐 순간, 정지 ─────────────────────────── */
.wh-frozen{display:grid;place-items:center;min-height:86svh;padding:52px 0 44px;
  background:radial-gradient(130% 92% at 50% 112%,var(--ice3) 0%,var(--ice2) 38%,var(--ice) 76%)}
.wh-frozen .tag{position:absolute;left:0;right:0;top:0;z-index:4;text-align:center;padding:16px}
.wh-frozen .tag span{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--frostdim)}
.wh-pod{position:relative;width:min(64vw,286px);aspect-ratio:1;display:grid;place-items:center;
  margin:0 auto}
.wh-pod .glow{position:absolute;inset:-30%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 56%,rgba(242,163,60,.55),rgba(242,163,60,.14) 42%,transparent 68%);
  filter:blur(8px)}
.wh-pod .shot{position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  box-shadow:0 30px 70px -24px rgba(0,0,0,.85),0 0 0 1px rgba(216,236,247,.14)}
.wh-pod .shot img{width:100%;height:100%;object-fit:cover;display:block}
.wh-pod .shot::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(72% 58% at 42% 26%,rgba(255,217,160,.42),transparent 62%)}
.wh-pod canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.wh-frost{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(120% 86% at 50% 50%,transparent calc(62% - var(--f,0) * 62%),
    rgba(216,236,247,.30) calc(92% - var(--f,0) * 62%),rgba(216,236,247,.60) 100%);
  opacity:calc(.25 + var(--f,0) * .75)}
.wh-frost i{position:absolute;inset:0;display:block;opacity:var(--f,0);
  background:
    radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.7),transparent),
    radial-gradient(2px 2px at 83% 27%,rgba(255,255,255,.55),transparent),
    radial-gradient(1.5px 1.5px at 31% 82%,rgba(255,255,255,.6),transparent),
    radial-gradient(2px 2px at 68% 71%,rgba(255,255,255,.45),transparent),
    radial-gradient(1.5px 1.5px at 92% 55%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 7% 61%,rgba(255,255,255,.5),transparent)}
.wh-frozen .copy{position:relative;z-index:3;text-align:center;margin:26px auto 0;
  max-width:620px;padding:0 20px}
.wh-frozen h1{margin:0;font-size:clamp(28px,6vw,54px);font-weight:800;letter-spacing:-.035em;
  line-height:1.16;word-break:keep-all;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.wh-frozen h1 em{font-style:normal;color:var(--amberlit)}
.wh-frozen .sub{margin:12px 0 0;font-size:clamp(14px,1.8vw,16px);line-height:1.62;
  color:var(--frostdim);word-break:keep-all}
.wh-temp{margin:22px auto 0;display:inline-flex;align-items:baseline;gap:8px;padding:9px 16px;
  border:1px solid rgba(216,236,247,.3);border-radius:999px;background:rgba(7,23,34,.6)}
.wh-temp strong{font-size:clamp(23px,4.4vw,32px);font-weight:800;letter-spacing:-.02em;color:#fff;
  font-variant-numeric:tabular-nums;transition:color .5s}
.wh-temp.set strong{color:#EAF6FD}
.wh-temp span{font-size:13px;color:var(--frostdim)}
.wh-frozen .wh-cta{margin-top:24px}

/* ── ② 시그니처 쇼케이스 ─────────────────────────── */
/* 세 구역의 배경이 사실상 같았다. 한 벌로 묶는다 */
.wh-case,.wh-stretch,.wh-oven{padding:54px 0 48px;
  background:radial-gradient(118% 84% at 50% 108%,var(--ice3),var(--ice2) 44%,var(--ice) 80%)}
.wh-stage{position:relative;margin:26px auto 0;max-width:520px;min-height:52svh}
.wh-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.wh-poster{position:absolute;inset:0;display:grid;place-items:center;padding:10px 10px 52px}
.wh-cab{position:relative;width:min(84%,330px);padding:12px;border-radius:14px;
  background:linear-gradient(180deg,#143348,#0B2234);border:1px solid rgba(216,236,247,.24);
  box-shadow:0 26px 60px -26px rgba(0,0,0,.85)}
.wh-cab .shelf{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;
  border-bottom:1px solid rgba(216,236,247,.16)}
.wh-cab .shelf:last-of-type{border-bottom:0}
.wh-cab .slot{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#0A1C29}
.wh-cab .slot img{width:100%;height:100%;object-fit:cover;display:block}
.wh-cab .slot.empty{display:grid;place-items:center;font-size:12px;color:#9BBDD0;
  border:1px dashed rgba(216,236,247,.3);text-align:center;padding:4px}
.wh-cab::after{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;
  background:radial-gradient(90% 56% at 50% 18%,rgba(242,163,60,.3),transparent 66%)}
.wh-cab::before{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;z-index:2;
  background:linear-gradient(118deg,rgba(216,236,247,.16) 0 30%,transparent 30% 100%)}
.wh-hint{margin:10px 0 0;text-align:center;font-size:12px;color:#9BBDD0}
.wh-spin{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:3}
.wh-spin[disabled]{opacity:.7;cursor:default}
.wh-panel{position:absolute;left:12px;right:12px;bottom:12px;z-index:6;padding:14px 16px;
  border-radius:14px;background:rgba(246,240,228,.97);color:#141210;display:none;
  box-shadow:0 18px 44px -18px rgba(0,0,0,.7)}
.wh-panel.on{display:grid;gap:10px}
.wh-panel .row{display:flex;align-items:center;gap:12px}
.wh-panel img{width:52px;height:52px;border-radius:9px;object-fit:cover;flex:none}
.wh-panel strong{display:block;font-size:15px;font-weight:700}
.wh-panel .price{display:block;font-size:18px;font-weight:800;letter-spacing:-.02em}
.wh-panel .note{margin:0;font-size:12px;color:#55504A}
.wh-panel .go{display:block;padding:13px;border-radius:10px;background:#141210;color:#fff;
  text-align:center;font-size:15px;font-weight:800;text-decoration:none}
.wh-panel .go:hover,.wh-panel .go:visited{color:#fff}
.wh-panel .x{position:absolute;right:10px;top:10px;width:30px;height:30px;border:0;
  border-radius:50%;background:rgba(20,18,16,.1);font-size:16px;line-height:1;cursor:pointer;
  color:#141210}

/* ── ③ 쭉 늘어나는 찰기 ─────────────────────────── */
.wh-view{position:relative;width:min(100%,600px);margin:24px auto 0;aspect-ratio:16/10;
  border-radius:14px;overflow:hidden;background:#0A1C29;cursor:ew-resize;touch-action:pan-y;
  user-select:none;box-shadow:0 26px 60px -28px rgba(0,0,0,.85),0 0 0 1px rgba(216,236,247,.14)}
.wh-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  opacity:0}   /* 전환을 주면 장을 바꿀 때마다 두 겹이 살아 있다 */
.wh-view img.on{opacity:1}
.wh-view::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(64% 52% at 50% 36%,rgba(255,217,160,.22),transparent 64%)}
.wh-real{position:absolute;left:12px;top:12px;z-index:4;margin:0;padding:5px 10px;border-radius:8px;
  font-size:12px;font-weight:700;color:#0A1118;background:rgba(216,236,247,.92)}
.wh-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;
  padding:10px 18px;border-radius:999px;background:rgba(7,23,34,.78);
  border:1px solid rgba(216,236,247,.38);font-size:13px;font-weight:700;color:var(--frost);
  pointer-events:none;transition:opacity .3s}
.wh-grip.gone{opacity:0}
.wh-ruler{position:absolute;left:4%;right:4%;bottom:9%;height:38px;z-index:3;pointer-events:none;
  border-radius:7px;background:rgba(7,23,34,.76);border:1px solid rgba(216,236,247,.32);
  display:grid;align-items:center;padding:0 9px;opacity:var(--ro,0);transition:opacity .25s}
.wh-ruler .bar{position:relative;height:9px;border-radius:5px;background:rgba(216,236,247,.22);
  overflow:hidden}
.wh-ruler .bar i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,0) * 100%);
  background:var(--amber);border-radius:5px}
.wh-ruler .ticks{position:absolute;left:9px;right:9px;top:7px;height:7px;
  background:repeating-linear-gradient(90deg,rgba(216,236,247,.5) 0 1px,transparent 1px 10%)}
.wh-ruler .num{position:absolute;right:11px;top:-24px;padding:3px 9px;border-radius:999px;
  background:var(--amber);color:#2A1B06;font-size:12px;font-weight:800;white-space:nowrap}

/* ── ⑤ 쌀이 떡이 되기까지 ───────────────────────── */
.wh-story{padding:54px 0 48px;background:var(--ice2)}
.wh-steps{display:grid;gap:14px;margin:26px 0 0;padding:0;list-style:none}
@media (min-width:860px){.wh-steps{grid-template-columns:repeat(4,1fr)}}
/* 숨겼다 보여 주는 일은 wt_motion 이 맡는다(html.wt-mo 가 붙을 때만 숨긴다).
   여기서 직접 숨기면 JS 가 안 돌 때 글이 영영 흐린 채로 남는다 */
.wh-steps>li{position:relative;padding:18px 16px 20px;border-radius:14px;
  background:rgba(216,236,247,.1);border:1px solid rgba(216,236,247,.18)}
.wh-steps .disc{position:relative;display:block;width:84px;aspect-ratio:1;border-radius:50%;
  overflow:hidden;margin:0 0 12px;box-shadow:0 14px 30px -14px rgba(0,0,0,.8)}
.wh-steps .disc img{width:100%;height:100%;object-fit:cover;display:block}
.wh-steps .disc::after{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 56% at 42% 28%,rgba(255,217,160,.38),transparent 64%)}
.wh-steps>li.cold .disc::after{
  background:radial-gradient(70% 56% at 42% 28%,rgba(216,236,247,.3),transparent 64%)}
.wh-steps .no{display:inline-block;width:24px;height:24px;border-radius:50%;background:var(--amber);
  color:#2A1B06;font-size:12.5px;font-weight:800;line-height:24px;text-align:center}
.wh-steps h3{margin:9px 0 0;font-size:17px;font-weight:800;letter-spacing:-.02em;color:#fff}
.wh-steps>li>p{margin:6px 0 0;font-size:13.5px;line-height:1.6;color:var(--frostdim);
  word-break:keep-all}
.wh-nums{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 0;padding:0;list-style:none}
.wh-nums li{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;
  background:rgba(216,236,247,.12);border:1px solid rgba(216,236,247,.28);
  color:var(--frost)}
.wh-nums li.need{background:var(--amber);border-color:var(--amber);color:#2A1B06}

/* ── ⑥ 꺼내서 데워 보기 ─────────────────────────── */
.wh-mw{position:relative;width:min(100%,440px);margin:24px auto 0;aspect-ratio:7/5;
  border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#1B4157,#0C2637);
  border:1px solid rgba(216,236,247,.24);box-shadow:0 26px 60px -26px rgba(0,0,0,.85);
  display:grid;--pw:84px;grid-template-columns:1fr var(--pw)}
.wh-cav{position:relative;margin:12px;border-radius:10px;overflow:hidden;background:#07151E}
.wh-cav .plate{position:absolute;left:50%;bottom:16%;width:62%;aspect-ratio:3/1;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(60% 100% at 50% 40%,#E7DFD1,#B9AE9C)}
.wh-cav .food{position:absolute;left:50%;bottom:24%;width:46%;aspect-ratio:1;
  transform:translateX(-50%);border-radius:12px;overflow:hidden;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.8)}
.wh-cav .food img{width:100%;height:100%;object-fit:cover;display:block}
.wh-cav .lit{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;
  background:radial-gradient(70% 58% at 50% 46%,rgba(242,163,60,.5),transparent 68%)}
.wh-mw.on .wh-cav .lit{opacity:1}
.wh-cav canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.wh-door{position:absolute;left:0;top:0;bottom:0;width:calc(100% - var(--pw));z-index:4;
  transform-origin:left center;transform:perspective(900px) rotateY(0deg);
  transition:transform .75s cubic-bezier(.3,.8,.25,1);
  background:linear-gradient(118deg,rgba(216,236,247,.16) 0 34%,rgba(10,28,41,.66) 34%);
  border-right:1px solid rgba(216,236,247,.24)}
.wh-mw.on .wh-door{transform:perspective(900px) rotateY(-108deg)}
.wh-door .grid{position:absolute;inset:12px;border-radius:10px;
  border:1px solid rgba(216,236,247,.3);
  background:radial-gradient(circle,rgba(216,236,247,.1) 1px,transparent 1px) 0 0/9px 9px}
.wh-door .handle{position:absolute;right:8px;top:20%;bottom:20%;width:7px;border-radius:4px;
  background:rgba(216,236,247,.55)}
.wh-pan{display:grid;align-content:start;gap:8px;padding:14px 10px}
.wh-disp{height:34px;border-radius:7px;background:#06121A;border:1px solid rgba(216,236,247,.22);
  display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:.06em;
  color:var(--amber);font-variant-numeric:tabular-nums}
.wh-keys{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.wh-keys i{height:17px;border-radius:4px;background:rgba(216,236,247,.14)}
.wh-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 0}
.wh-mute{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;
  border:1px solid rgba(216,236,247,.36);border-radius:999px;background:transparent;
  color:var(--frost);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.wh-mute:focus-visible{outline:3px solid #fff;outline-offset:3px}
.wh-big{margin:20px 0 0;text-align:center;font-size:clamp(19px,3.4vw,28px);font-weight:800;
  letter-spacing:-.03em;color:#fff}
.wh-warn{margin:8px auto 0;max-width:460px;text-align:center;font-size:12px;color:#FFC98C;
  word-break:keep-all}

@media (prefers-reduced-motion:reduce){
  .wh-pod canvas,.wh-cav canvas{display:none}
  .wh-door{transition:none}
  .wh-steps>li{opacity:1;transform:none}
}
