/* 와트 마력 변환기 전용 CSS (2026-10-21). 출력 시험대: [등식 카드 | 들어 올리기] / 전동기 명판 띠 / 자주 찾는 값.
   폭(작업면 컨테이너 whp): 760 이상 [등식 | 들어 올리기](들어 올리기 칸은 등식 카드 높이만큼 늘어남), 그 아래 한 열.
   등식 칸(v2in): 아래 여섯 칸은 2열(3열이면 1,920px에서도 한 자리 긴 341,214.16 Btu/h가 잘림), 360 미만(휴대폰)이면 여덟 칸 모두 '라벨 | 입력' 한 줄씩.
   움직임(R45): 승강기가 1초 동안 오름(linear, 시계 0.0 → 1.0 s), 명판 띠가 값 쪽으로 미끄러짐(0.5s). 동작 줄이기면 둘 다 바로. 공용 부품 assets/v2.css */
.whp-work{container:whp / inline-size}
.whp-work .v2-status:empty{display:none}
.whp-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"eq" "lift" "pl" "qk"}
.whp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin:0 0 8px}
.whp-headhint{font-family:var(--sans);font-size:12px;color:var(--muted);overflow-wrap:anywhere}

/* 등식 카드: 여덟 칸 중 친 칸이 정본(진한 테두리), kW = 주 마력 큰 쌍 + 여섯 칸 */
.whp-eq{grid-area:eq;min-width:0;padding:14px 18px;border-bottom:1px solid var(--soft)}
.whp-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin:0 0 12px}
.whp-dec{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.whp-form{display:grid;gap:12px}
.whp-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:0 8px}
.whp-sign{display:grid;place-items:center;min-width:20px;height:var(--v2-ctl,42px);font-family:var(--sans);font-size:22px;font-weight:700;line-height:1;color:var(--muted)}
.whp-pair .v2-input input{font-size:18px;font-weight:750}
.whp-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.whp-cell.is-src .v2-input{border-color:var(--ink)}
.whp-cell .v2-input b{min-width:0;padding:0 8px;white-space:nowrap}
.whp-sent{margin:12px 0 0;font-family:var(--sans);font-size:14px;font-weight:650;font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere;transition:opacity var(--ease)}
.whp-sent.is-error{color:var(--accent)}
.whp-eq.is-pend .whp-sent,.whp-eq.is-pend .whp-foot .v2-formula{opacity:.45}
.whp-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-top:10px}
.whp-foot .v2-formula{margin:0;min-width:0;white-space:normal;overflow-wrap:anywhere}
.whp-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* 들어 올리기: [눈금 0 m·1 m | 승강기 칸(도르래·줄·추를 실은 바닥, 출발 자리 점선)] + 시계, 읽힘 값·범례. 칸이 520 이상이면 [승강기 | 읽힘 값] 가로 */
.whp-lift{grid-area:lift;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(220px,1fr) auto;align-content:start;min-width:0;margin:0;padding:14px 18px 14px;border-bottom:1px solid var(--soft);}
.whp-lift .whp-head{grid-column:1/-1}
.whp-shaft{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);min-height:220px}
.whp-ruler{position:relative;border-right:1px solid var(--line)}
.whp-tick{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:4px;transform:translateY(50%);font-family:var(--sans);font-size:11px;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums}
.whp-tick::after{content:"";width:8px;height:1px;background:var(--line)}
.whp-tick--top{color:var(--ink)}
.whp-well{position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb, var(--soft) 60%, transparent) 23px 24px)}
.whp-well::after{content:"";position:absolute;bottom:0;left:50%;width:196px;height:6px;margin-left:-98px;border:1px dashed var(--muted);border-radius:1px;box-sizing:border-box;opacity:.7}
.whp-pulley{position:absolute;z-index:2;top:4px;left:50%;width:36px;height:36px;margin-left:-18px}
.whp-pulley circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.whp-spoke{stroke:var(--muted);stroke-width:1.5}
.whp-lift.is-up .whp-pulley{animation:whp-spin 1s linear}
@keyframes whp-spin{to{transform:rotate(-1turn)}}
.whp-car{position:absolute;z-index:1;left:0;right:0;bottom:0;width:fit-content;margin:0 auto;display:flex;flex-direction:column;align-items:center;transition:transform 1s linear}
.whp-car::before{content:"";position:absolute;bottom:100%;left:50%;width:2px;height:800px;margin-left:-1px;background:var(--ink)}
.whp-load{display:flex;flex-wrap:wrap-reverse;justify-content:center;gap:2px;width:178px;padding:0 0 2px}
.whp-load i{display:block;width:16px;height:16px;border:1px solid var(--ink);background:color-mix(in srgb, var(--ink) 72%, transparent)}
.whp-load i.is-part{background:linear-gradient(to top,color-mix(in srgb, var(--ink) 72%, transparent) calc(var(--f,1) * 100%),transparent 0)}
.whp-deck{display:block;width:196px;height:6px;border-radius:1px;background:var(--ink)}
.whp-clock{position:absolute;top:0;right:0;padding:2px 6px;border:1px solid var(--soft);border-radius:var(--radius);background:var(--paper);font-family:var(--mono,ui-monospace,monospace);font-size:12px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.whp-liftinfo{display:flex;flex-direction:column;min-width:0}
.whp-legend{margin:6px 0 0;font-family:var(--sans);font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.whp-rd{margin:6px 0 0}
.whp-rd li{flex-wrap:wrap;gap:2px 12px;padding:6px 0;font-size:13px}
.whp-rd li b{min-width:0;margin-left:auto;text-align:right;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums lining-nums}
.whp-replay{align-self:flex-start;margin-top:10px}
@container whp (min-width:520px) and (max-width:759px){ /* 한 열 배치에서 들어 올리기 칸이 넓으면 [승강기 | 읽힘 값] */
  .whp-lift{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto minmax(240px,auto);column-gap:22px}
}
@container whp (min-width:520px) and (max-width:759px){
  .whp-liftinfo{justify-content:center}
  .whp-rd{margin:0}
  .whp-rd li{flex-direction:column;align-items:flex-start;gap:2px}
  .whp-rd li b{margin-left:0;text-align:left;font-size:20px;font-weight:800}
}

/* 명판 띠: 위 북미 HP 등급(엇갈린 세 줄) · 가운데 kW 로그 눈금 · 아래 IEC kW 등급, 가운데 표시선이 넣은 값 */
.whp-plates{grid-area:pl;min-width:0;padding:14px 18px 14px;border-bottom:1px solid var(--soft)}
.whp-strip{position:relative;height:168px;overflow:hidden;border:1px solid var(--soft);border-radius:var(--radius);background:var(--paper);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.whp-strip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.whp-track{position:absolute;top:0;left:0;height:100%}
.whp-strip.is-ready .whp-track{transition:transform .5s cubic-bezier(.2,.75,.25,1)}
.whp-strip.is-off .whp-track{opacity:.45}
.whp-strip.is-off .whp-mark{display:none}
/* 세로 자리(띠 위에서 px): HP 세 줄 6·38·70(상자 31) → 눈금선 106 → IEC 두 줄 123·145(상자 19). 줄이 겹치지 않게 HP는 i % 3, IEC는 i % 2로 엇갈린다 */
.whp-row{position:absolute;left:0;right:0}
.whp-row--hp{top:6px;height:96px}
.whp-row--iec{top:120px;height:44px}
.whp-axis{position:absolute;left:0;right:0;top:106px;height:12px;border-top:1px solid var(--line)}
.whp-axis span{position:absolute;top:1px;padding:0 3px;font-family:var(--sans);font-size:10px;font-weight:650;color:var(--muted);white-space:nowrap;border-left:1px solid var(--line);line-height:11px}
.whp-pl{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;padding:2px 5px;border:1px solid var(--soft);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.15;white-space:nowrap;transform:translateX(-50%);cursor:pointer;font-variant-numeric:tabular-nums lining-nums}
.whp-pl b{font-size:11.5px;font-weight:750}
.whp-pl small{font-size:10px;font-weight:600;color:var(--muted)}
.whp-pl::after{content:"";position:absolute;left:50%;width:1px;background:var(--line)}
.whp-row--hp .whp-pl--b{top:32px}
.whp-row--hp .whp-pl--c{top:64px}
.whp-row--hp .whp-pl::after{top:100%;height:calc(98px - 100%)}
.whp-row--hp .whp-pl--b::after{height:calc(66px - 100%)}
.whp-row--hp .whp-pl--c::after{height:calc(34px - 100%)}
.whp-row--iec .whp-pl{top:auto;bottom:0}
.whp-row--iec .whp-pl--a{bottom:22px}
.whp-row--iec .whp-pl::after{bottom:100%;height:39px}
.whp-row--iec .whp-pl--a::after{height:17px}
.whp-pl:hover{background:var(--wash)}
.whp-pl.is-near{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.whp-pl.is-near small{color:inherit;opacity:.8}
.whp-mark{position:absolute;z-index:1;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none}
.whp-mark::before{content:"";position:absolute;top:0;left:-5px;border:6px solid transparent;border-top-color:var(--accent)}
.whp-platerd{margin:8px 0 0;font-family:var(--sans);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere}

/* 자주 찾는 값: 묶음 세 개 × 네 개, 누르면 위 칸에 */
.whp-quick{grid-area:qk;min-width:0;padding:14px 18px 16px;container:whpq / inline-size}
.whp-qgs{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 14px}
.whp-qg{min-width:0}
.whp-qt{margin:0 0 6px;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--muted)}
.whp-qg ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
@container whpq (min-width:700px){ .whp-qgs{grid-template-columns:repeat(3,minmax(0,1fr))} .whp-qg ul{grid-template-columns:repeat(2,minmax(0,1fr))} }
@container whpq (max-width:519px){ .whp-qg ul{grid-template-columns:repeat(2,minmax(0,1fr))} }
.whp-qg button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;height:100%;min-height:44px;padding:6px 9px;border:1px solid var(--soft);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--sans);text-align:left;cursor:pointer;font-variant-numeric:tabular-nums lining-nums;transition:background var(--ease),border-color var(--ease)}
.whp-qg button span{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}
.whp-qg button b{font-size:13.5px;font-weight:750}
.whp-qg button small{font-size:11px;font-weight:600;color:var(--muted)}
.whp-qg button em{font-size:11.5px;font-style:normal;color:var(--muted);overflow-wrap:anywhere}
.whp-qg button:hover{background:var(--wash)}
.whp-qg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.whp-qg button[aria-pressed="true"]{border-color:var(--fill);box-shadow:inset 0 0 0 1px var(--fill)}

@media (prefers-reduced-motion: reduce){ .whp-car,.whp-strip.is-ready .whp-track{transition:none} .whp-lift.is-up .whp-pulley{animation:none} }

/* 폭 */
@container whp (min-width:760px){
  .whp-grid{grid-template-columns:minmax(0,1fr) minmax(280px,36%);grid-template-areas:"eq lift" "pl pl" "qk qk"}
  .whp-lift{border-left:1px solid var(--soft)}
}
@container v2in (max-width:359px){ /* 휴대폰 폭: 칸마다 '라벨 | 입력' 한 줄씩(반쪽 칸 150px에는 한 자리 긴 9,341,214.16 Btu/h가 안 들어감), =·≈는 바로 아래 문장이 알린다 */
  .whp-pair,.whp-more{grid-template-columns:minmax(0,1fr);gap:8px}
  .whp-cell{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);align-items:center;gap:0 10px}
  .whp-cell > label{margin:0}
  .whp-sign{display:none}
  .whp-pair .v2-input input{font-size:16px}
}
@container whp (max-width:439px){
  .whp-eq,.whp-lift,.whp-plates,.whp-quick{padding-left:14px;padding-right:14px}
  .whp-acts .v2-btn .i{display:none} /* 버튼 네 개가 한 줄에 들어가게 */
}
