@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+KR:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{--ink:#17211f;--muted:#71817d;--paper:#f6f4ee;--line:#d9ddd4;--lime:#d8f35c;--blue:#3977e8;--red:#e05d62;--deep:#10201d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#e8eed6 0,transparent 28%),var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif}.shell{max-width:1160px;margin:auto;padding:72px 28px 34px}header{max-width:700px}.eyebrow,.kicker{font:500 11px 'DM Mono',monospace;letter-spacing:.13em;color:#60706c}.eyebrow span{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%;margin-right:8px}h1{font-size:clamp(42px,7vw,78px);letter-spacing:-.09em;line-height:1;margin:13px 0 19px;font-weight:800}h1 em{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:-.08em}header p{color:#596965;line-height:1.75;font-size:16px;margin:0}.controls{margin:47px 0 25px;display:flex;gap:12px;align-items:end}.control-field{display:grid;gap:7px}.control-field label{font-size:12px;color:var(--muted);font-weight:600}.control-field select,.ghost{height:40px}.balance-button{margin-left:auto;height:47px;padding:0 22px;border:0;background:var(--deep);color:white;font:700 14px 'Noto Sans KR';cursor:pointer;border-radius:3px;transition:.2s}.balance-button:hover{transform:translateY(-2px);background:#244039}.balance-button span{font-size:19px;margin-left:14px;color:var(--lime)}select,input,.ghost{border:1px solid var(--line);background:#fff;border-radius:3px;color:var(--ink);font:13px 'Noto Sans KR';padding:0 10px}.ghost{cursor:pointer;font-weight:600}.ghost:hover{background:#f0f4df}.players-section{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}.section-heading,.result-heading{display:flex;justify-content:space-between;align-items:end;padding:22px 25px 18px;border-bottom:1px solid var(--line)}h2{font-size:20px;letter-spacing:-.05em;margin:3px 0 0}.section-heading p{font-size:12px;color:var(--muted);margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th{text-align:left;font:500 10px 'DM Mono';color:#74827e;letter-spacing:.06em;padding:12px 14px;background:#fbfcfa;border-bottom:1px solid var(--line)}th:first-child,td:first-child{padding-left:25px}td{height:57px;border-bottom:1px solid #edf0eb;padding:8px 14px}tbody tr:last-child td{border-bottom:0}.number{font:500 12px 'DM Mono';color:#9aa5a2;width:40px}.name{width:145px}.score{width:73px}.primary,.secondary,.constraint{width:115px;height:34px}small{font-size:9px;color:#99a29f}.results{margin-top:28px}.hidden{display:none}.fairness{background:#e9f4c8;color:#3e5522;border-radius:30px;padding:7px 11px;font-size:12px;font-weight:700}.teams{display:grid;grid-template-columns:1fr 84px 1fr;align-items:center;margin-top:18px}.team{border-radius:5px;overflow:hidden;color:#fff}.team.blue{background:linear-gradient(135deg,#275fd0,#1c4aa3)}.team.red{background:linear-gradient(135deg,#dc5c62,#ae374a)}.team-top{display:flex;justify-content:space-between;padding:21px 24px 17px;border-bottom:1px solid rgba(255,255,255,.22)}.team-top span{font:11px 'DM Mono';opacity:.7}.team-top h3{font-size:22px;margin:3px 0 0;letter-spacing:-.06em}.team-top strong{font:700 30px 'DM Mono';align-self:center}.team ol{list-style:none;padding:7px 24px 17px;margin:0;counter-reset:team}.team li{counter-increment:team;display:grid;grid-template-columns:24px 1fr auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);padding:10px 0;font-size:14px}.team li:last-child{border:0}.team li:before{content:counter(team,decimal-leading-zero);font:10px 'DM Mono';opacity:.6}.role-pill{font-size:10px;background:rgba(255,255,255,.18);padding:4px 7px;border-radius:20px}.versus{text-align:center}.versus span{display:block;font:700 17px 'DM Mono';color:#6c7774}.versus small{display:block;margin-top:6px;font:10px/1.4 'Noto Sans KR';color:#65716e}.explanation{color:#586662;font-size:13px;margin:18px 2px;line-height:1.65}footer{font-size:11px;color:#87918e;border-top:1px solid var(--line);padding-top:18px;margin-top:46px}@media(max-width:700px){.shell{padding:44px 17px 25px}.controls{flex-wrap:wrap;margin-top:35px}.balance-button{width:100%;margin-top:8px}.section-heading,.result-heading{padding:18px}.teams{grid-template-columns:1fr;gap:13px}.versus{order:initial}.team ol,.team-top{padding-left:18px;padding-right:18px}}
