:root{--color-accent: #c02c38;--color-accent-dark: #9c1f2a;--color-background: #ffffff;--color-text: #1a1a1a;--color-text-muted: #666666;--color-rule: #e6e6e6;--color-surface-hover: #f7f7f7;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2.5rem;--border-radius: 4px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.6}body{font-family:var(--font-family-base);color:var(--color-text);background:var(--color-background);min-height:100vh;padding:var(--spacing-xl) var(--spacing-lg);display:flex;flex-direction:column;align-items:center}body>*{width:100%;max-width:720px}header{margin-bottom:var(--spacing-xl)}h1{font-weight:700;font-size:2.5rem;letter-spacing:-.02em;line-height:1.1}.cn-accent{color:var(--color-accent)}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-accent-dark)}.rules{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-rule);color:var(--color-text-muted)}.rules p+p{margin-top:var(--spacing-md)}body>p{margin-bottom:var(--spacing-lg);color:var(--color-text)}form{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:stretch;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-rule)}input[type=text]{flex:1 1 240px;font-family:inherit;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);background:var(--color-background);border:1px solid #cccccc;border-radius:var(--border-radius)}input[type=text]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #c02c3826}input[type=text]::placeholder{color:var(--color-text-muted)}button{font-family:inherit;font-size:.95rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;border-radius:var(--border-radius);white-space:nowrap;transition:background-color .12s ease,color .12s ease}#add-player{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}#add-player:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}#save,#reset{background:transparent;color:var(--color-text);border:1px solid #cccccc}#save:hover,#reset:hover{background:var(--color-surface-hover)}#reset:hover{color:var(--color-accent);border-color:var(--color-accent)}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#player-list{list-style:none}.player-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0 var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--color-rule)}.player-name{flex:1;font-size:1.2rem;font-weight:500}.player-score{font-size:2rem;font-weight:700;color:var(--color-accent);min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}.score-button{min-width:56px;font-size:1.1rem;background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.score-button:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.score-button-minus{min-width:56px;font-size:1.1rem;background:transparent;color:var(--color-text-muted);border:1px solid #cccccc}.score-button-minus:hover{color:var(--color-text);background:var(--color-surface-hover)}.remove-button{font-size:1.2rem;line-height:1;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;color:var(--color-text-muted);border:1px solid transparent}.remove-button:hover{color:var(--color-accent);border-color:var(--color-rule)}.player-item.leader{box-shadow:inset 3px 0 0 0 var(--color-accent)}.player-item.leader .player-name{color:var(--color-accent)}#form-message{min-height:1.4em;margin-top:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-md);color:var(--color-accent);font-size:.95rem}@media(max-width:600px){:root{font-size:15px}h1{font-size:2rem}form{flex-direction:column}input[type=text]{flex:0 0 auto;width:100%;font-size:16px}form button{width:100%;min-height:44px}.player-item{gap:var(--spacing-sm)}.score-button,.score-button-minus{min-width:52px;min-height:44px}.remove-button{min-width:44px;min-height:44px;margin-left:var(--spacing-xs)}}
