/* 피타고리안 승률 계산기 전용 CSS (2026-10-12). 2패널 계산형 + 득실차–승률 곡선(표식 이동 R45) + 2025 팀별 '실제 − 기대' 막대(누르면 그 팀) + 목표 승률 표. 공용 부품은 assets/v2.css */
.pw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pw-in{padding:16px 18px 18px;min-width:0}
.pw-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pw-fields .v2-f{min-width:0}
.pw-fields .v2-f.full{grid-column:1/-1}
.pw-fields .v2-f > .v2-label{display:block}
.pw-fields [hidden]{display:none}
.pw-hint{display:block;margin-top:5px;font-family:var(--sans);font-size:12px;line-height:1.5;color:var(--muted)}
.v2-input:has(input[aria-invalid="true"]){border-color:var(--accent)}
.pw-seg{margin-top:6px;display:flex;flex-wrap:nowrap}
.pw-seg button{flex:1 1 0;min-width:0;height:var(--v2-ctl,42px);padding:0 6px;font-family:var(--sans);font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw-seg--lg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.pw-select{display:block;width:100%;max-width:100%;height:var(--v2-ctl,42px);margin-top:6px;padding:0 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:600;text-overflow:ellipsis}
.pw-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pw-tnote{margin:12px 0 0;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ink)}
.pw-tnote:empty{display:none}
.pw-help{margin:10px 0 0;font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--muted)}
.pw-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:14px}
.pw-out{padding:16px 18px 18px;min-width:0;border-left:1px solid var(--soft);display:flex;flex-direction:column}
.pw-out > .v2-label{display:block;margin-bottom:6px}
.pw-bigrow{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap}
.pw-out .v2-big.is-empty span{font-size:18px;font-weight:600;color:var(--muted)}
.pw-pct{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.pw-pct:empty,.pw-chip:empty{display:none}
.pw-chip{display:inline-block;font-family:var(--sans);font-size:12.5px;font-weight:700;color:var(--ink)}
.pw-chip::before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:var(--muted);vertical-align:0}
.pw-chip[data-tier="up"]::before{background:var(--accent)}
.pw-rows{margin-top:12px}
.pw-rows li span{min-width:0}
.pw-rows li span em{display:block;margin-top:2px;font-style:normal;font-size:11.5px;color:var(--muted)}
.pw-rows li b{min-width:0;text-align:right;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.pw-rows li.is-key b{font-size:15px}
.pw-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--soft)}
.pw-rows + .pw-foot{margin-top:14px}
.pw-foot .v2-status{margin-left:auto}
.pw-box{padding:14px 18px 16px;border-top:1px solid var(--soft);min-width:0}
.pw-box > .v2-label{display:block;margin-bottom:10px}
.pw-box.is-off,.pw-luckbox[hidden]{display:none}
.pw-note{margin:8px 0 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
.pw-note--top{margin:-4px 0 10px}
/* 곡선: 360px에서도 글자가 작아지지 않게 그림은 줄이지 않고 옆으로 민다(R14) */
.pw-chartwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.pw-chartwrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pw-chart{display:block;width:100%;min-width:520px;height:auto;overflow:visible}
.pw-chart .pw-gl{stroke:var(--soft);stroke-width:1}
.pw-chart .pw-gl.is-mid{stroke:var(--muted);stroke-dasharray:3 3;opacity:.7}
.pw-tk{font-family:var(--sans);font-size:11px;fill:var(--muted);font-variant-numeric:tabular-nums}
.pw-axl{font-family:var(--sans);font-size:11.5px;font-weight:600;fill:var(--muted)}
.pw-curve{fill:none;stroke:var(--ink);stroke-width:2;opacity:.75}
.pw-dot{fill:var(--muted);opacity:.45}
.pw-dot.is-sel{fill:none;stroke:var(--ink);stroke-width:2;opacity:1}
.pw-gap{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3}
.pw-pe,.pw-pa{transition:transform .45s ease}
.pw-exp{fill:var(--accent);stroke:var(--paper);stroke-width:2}
.pw-act{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}
.pw-scroll{display:none;margin:6px 0 0;font-family:var(--sans);font-size:11.5px;color:var(--muted)}
.pw-keys{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--sans);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.pw-keys li::before{content:"";display:inline-block;width:11px;height:11px;margin-right:6px;border-radius:50%;vertical-align:-1px;box-sizing:border-box}
.pw-keys .k-curve::before{width:16px;height:0;border-radius:0;border-top:2px solid var(--ink);vertical-align:3px;opacity:.75}
.pw-keys .k-exp::before{background:var(--accent)}
.pw-keys .k-act::before{border:2.5px solid var(--ink);background:var(--paper)}
.pw-keys .k-team::before{background:var(--muted);opacity:.45}
.pw-keys .k-exp,.pw-keys .k-act{color:var(--ink);font-weight:700}
/* 팀 막대: 가운데 0, 오른쪽 + (득실보다 많이 이김), 왼쪽 − */
.pw-luckbox{container:pwl / inline-size}
.pw-luck{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 18px}
@container pwl (min-width:600px){ .pw-luck{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--rows,5),auto);grid-auto-flow:column} } /* 두 열은 위→아래로 읽게(왼쪽 열이 + 쪽) */
.pw-tm{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,auto) minmax(60px,1fr) 3.4em;align-items:center;gap:8px;width:100%;min-height:34px;padding:4px 6px;border:1px solid transparent;border-radius:var(--radius);background:none;text-align:left;font-family:var(--sans);font-size:12.5px;color:var(--ink);cursor:pointer}
.pw-tm:hover{background:var(--btn)}
.pw-tm[aria-pressed="true"]{border-color:var(--ink);background:var(--paper)}
.pw-tm:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.pw-tn{font-weight:700;overflow-wrap:anywhere}
.pw-tr{color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pw-tb{position:relative;display:block;height:10px;border-radius:5px;background:var(--wash)}
.pw-tb::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1px solid var(--muted)}
.pw-tb i{position:absolute;top:0;bottom:0;left:50%;width:0;border-radius:5px;transition:width .4s ease}
.pw-tb i.is-up{background:var(--accent)}
.pw-tb i.is-down{left:auto;right:50%;background:var(--muted)}
.pw-tv{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.pw-needbox .tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.pw-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13px;font-variant-numeric:tabular-nums}
.pw-table th,.pw-table td{padding:7px 8px;border-top:1px solid var(--soft);text-align:left;white-space:nowrap}
.pw-table thead th{font-size:11.5px;font-weight:700;color:var(--muted);border-top:0}
.pw-table .n{text-align:right}
.pw-table tbody th{font-weight:600}
.pw-table tr.is-now th,.pw-table tr.is-now td{background:var(--accent-wash);font-weight:700}
.pw-still .pw-pe,.pw-still .pw-pa,.pw-still .pw-tb i{transition:none}
@media (prefers-reduced-motion:reduce){.pw-pe,.pw-pa,.pw-tb i{transition:none}}
@media (max-width:720px){
  .pw-grid{grid-template-columns:minmax(0,1fr)}
  .pw-out{order:-1;border-left:0;border-bottom:1px solid var(--soft)}
}
@media (max-width:560px){ .pw-scroll{display:block} }
@media (max-width:420px){ .pw-in,.pw-out,.pw-box{padding-left:12px;padding-right:12px} }
@container v2in (max-width:299px){ .pw-fields{grid-template-columns:minmax(0,1fr)} .pw-fields .v2-f.full{grid-column:auto} }
@container v2in (max-width:420px){ .pw-seg--lg{grid-template-columns:repeat(3,minmax(0,1fr))} }
@container v2in (max-width:380px){ #pwFm{flex-wrap:wrap} #pwFm button{flex:1 1 40%} } /* 1181px 셸에서 입력 열 274px: Pythagenpat 글자 잘림 → 둘째 줄 전체 */
