/* 2026 월드컵 경우의 수 — scoped .ws-wrap */
.ws-wrap{
  --g:#0a8a4f; --gd:#066b3c; --gold:#f5c518; --ink:#0f1f17; --line:#e3ece6; --muted:#6b7c72;
  max-width:760px; margin:0 auto; padding:8px 0 40px; color:var(--ink);
}
.ws-wrap *{box-sizing:border-box}

.ws-hero{background:linear-gradient(135deg,var(--g),var(--gd));color:#fff;border-radius:18px;padding:22px 20px;position:relative;overflow:hidden}
.ws-hero::after{content:"📊";position:absolute;right:-6px;bottom:-16px;font-size:110px;opacity:.10}
.ws-kicker{font-size:.76rem;letter-spacing:.1em;font-weight:700;color:var(--gold);text-transform:uppercase}
.ws-hero h1{font-size:1.5rem;font-weight:800;margin:.3rem 0 .25rem;line-height:1.25}
.ws-hero .ws-sub{opacity:.92;font-size:.92rem;margin:0}

/* verdict */
.ws-verdict{margin-top:14px;border-radius:16px;padding:18px 20px;border:1px solid var(--line);background:#fff;transition:.2s}
.ws-verdict .vt{font-size:1.2rem;font-weight:900;line-height:1.3}
.ws-verdict .vd{font-size:.9rem;margin-top:6px;color:var(--muted)}
.ws-verdict.go{background:#e7f8ee;border-color:#9fe0bd}
.ws-verdict.go .vt{color:#0a7a45}
.ws-verdict.hope{background:#eef6ff;border-color:#b9d8f7}
.ws-verdict.hope .vt{color:#1463c0}
.ws-verdict.edge{background:#fff7e6;border-color:#f3d588}
.ws-verdict.edge .vt{color:#b5780a}
.ws-verdict.risk{background:#fdecee;border-color:#f3b6bd}
.ws-verdict.risk .vt{color:#c2364a}
.ws-verdict.neutral .vt{color:var(--gd)}

/* presets */
.ws-presets{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.ws-presets button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--gd)}
.ws-presets button:hover{background:#eef5f0}

/* section */
.ws-sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}
.ws-sec h2{font-size:1.05rem;font-weight:800;margin:0 0 12px}

/* match cards */
.ws-match{padding:12px 0;border-top:1px dashed var(--line)}
.ws-match:first-child{border-top:0}
.ws-match.star{}
.ws-mlabel{font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:8px}
.ws-match.star .ws-mlabel{color:var(--gd)}
.ws-mrow{display:grid;grid-template-columns:1fr .7fr 1fr;gap:8px}
.ws-opt{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:11px 6px;font-weight:700;font-size:.92rem;cursor:pointer;transition:.12s;color:var(--ink);line-height:1.2}
.ws-opt.draw{font-size:.85rem;color:var(--muted)}
.ws-opt:hover{border-color:var(--g)}
.ws-opt.win.on{background:var(--g);border-color:var(--g);color:#fff}
.ws-opt.draw.on{background:#6b7c72;border-color:#6b7c72;color:#fff}

/* standings */
.ws-table-head,.ws-srow{display:grid;grid-template-columns:30px 1fr 42px 32px 32px 32px 46px;align-items:center;gap:2px}
.ws-table-head{font-size:.72rem;color:var(--muted);font-weight:700;padding:0 4px 8px;border-bottom:1px solid var(--line)}
.ws-srow{padding:10px 4px;border-bottom:1px solid var(--line);font-size:.9rem}
.ws-srow:last-child{border-bottom:0}
.ws-srow .c-rank{font-weight:800;color:var(--muted)}
.ws-srow .c-team{font-weight:700}
.ws-srow .c-num{text-align:center;color:var(--muted)}
.ws-srow .c-num.pts{font-weight:900;color:var(--ink)}
.ws-srow.kr{background:#fff7d6;border-radius:8px}
.ws-srow.kr .c-team{font-weight:900}
.ws-srow.z1 .c-rank{color:#0a7a45}
.ws-srow.z3 .c-rank{color:#b5780a}

.ws-legend{display:flex;gap:16px;margin-top:12px;font-size:.78rem;color:var(--muted)}
.ws-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}
.ws-legend .dot.d1{background:#0a7a45}
.ws-legend .dot.d3{background:var(--gold)}

.ws-rule ul{margin:0;padding-left:18px}
.ws-rule li{padding:4px 0}
.ws-link{display:inline-block;margin-top:12px;font-weight:800;color:var(--gd);text-decoration:none}
.ws-link:hover{text-decoration:underline}

.ws-note{font-size:.78rem;color:var(--muted);margin:10px 0 0}

@media (max-width:520px){
  .ws-hero h1{font-size:1.28rem}
  .ws-opt{font-size:.82rem;padding:10px 4px}
  .ws-table-head,.ws-srow{grid-template-columns:26px 1fr 34px 26px 26px 26px 40px}
}
