*{box-sizing:border-box}
body{margin:0;background:#f4f8fb;color:#30343a;font-family:"Yu Gothic",Meiryo,sans-serif}
main{max-width:900px;margin:auto;padding:20px 14px 60px}
header{padding:24px 28px;border-radius:16px;background:linear-gradient(135deg,#135389,#287aad);color:#fff;margin-bottom:18px}
header span{font-size:12px;font-weight:bold;letter-spacing:.1em}
header h1{margin:4px 0 4px;font-size:22px}
header p{margin:0;font-size:13px;opacity:.9}
.card{background:#fff;border:1px solid #b9d3e5;border-radius:12px;padding:16px 18px;margin-bottom:16px;box-shadow:0 4px 14px #13538912}
.card h2{margin:0 0 12px;color:#135389;font-size:17px}
.match-block{border:1px solid #d6e6f2;border-radius:10px;padding:12px;margin-bottom:12px;background:#fbfeff}
.match-block h3{margin:0 0 8px;font-size:14px;color:#135389}
.entry-row{display:grid;grid-template-columns:1.2fr auto 1fr auto;gap:8px;align-items:center;margin-bottom:6px;font-size:14px}
.entry-row.done{grid-template-columns:auto 1.2fr auto auto auto;background:#eef6fb;padding:6px 8px;border-radius:6px}
.entry-row select,.entry-row input[type=number]{padding:7px;border:1px solid #b9d3e5;border-radius:6px;font-size:14px;width:100%}
.entry-row .net-score{font-size:12px;color:#3a6a8a;white-space:nowrap}
.entry-row.done .rank{font-weight:bold;color:#135389}
label.tiebreak{font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:4px}
.sum-line{font-size:13px;margin:6px 0;color:#555}
.message{color:#9b3b3b;font-size:13px;min-height:1.2em;margin-bottom:6px}
button{padding:9px 14px;border:0;border-radius:7px;background:#135389;color:#fff;font-weight:bold;cursor:pointer;font-size:13px}
button.secondary{background:#5c7c94}
button.danger{background:#9b3b3b}
button.small{padding:5px 10px;font-size:12px}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}
th{background:#135389;color:#fff;text-align:left;padding:7px}
td{padding:7px;border-bottom:1px solid #d6e6f2}
tbody tr:nth-child(even){background:#eef6fb}
.player-chip{display:inline-block;background:#eef6fb;border:1px solid #b9d3e5;border-radius:14px;padding:4px 10px;margin:2px;font-size:13px}
.add-player-row{display:flex;gap:8px;margin-top:8px}
.add-player-row input{flex:1;padding:8px;border:1px solid #b9d3e5;border-radius:6px}
.hint{font-size:12px;color:#5c7c94;margin-bottom:8px}
.champion{font-size:16px;font-weight:bold;color:#c07800}
.reset-section{text-align:right;margin-top:24px}
@media(max-width:600px){
  .entry-row{grid-template-columns:1fr;}
  .entry-row.done{grid-template-columns:1fr;}
}
