@import"https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Playfair+Display:wght@400;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Crimson Text,Times New Roman,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;color:#1a1a1a}#app{width:100%;min-height:100vh}.app{min-height:100vh;background:#fafafa;color:#1a1a1a;font-family:Crimson Text,Times New Roman,serif;padding:2rem}.container{max-width:1200px;margin:0 auto}h1{font-family:Playfair Display,Times New Roman,serif;font-weight:600;font-size:2.5rem;margin:0 0 2rem;letter-spacing:.05em;text-transform:uppercase}.header-actions{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.actions{display:flex;gap:1rem}.input-form{max-width:500px;margin:0 auto}.input-group{margin-bottom:1.5rem}.input-group label{display:block;font-size:1.1rem;margin-bottom:.5rem;font-weight:600;letter-spacing:.02em}.input-group input,.input-group select{width:100%;padding:.75rem;font-size:1rem;font-family:Crimson Text,Times New Roman,serif;border:2px solid #1a1a1a;background:#fff;box-sizing:border-box;letter-spacing:.01em}.input-group input:focus,.input-group select:focus{outline:none;border-color:#4a4a4a}.game-toggle{display:flex;gap:0;border:2px solid #1a1a1a;width:100%}.toggle-option{flex:1;padding:.75rem 1rem;font-size:1rem;font-family:Crimson Text,Times New Roman,serif;font-weight:600;background:#fff;color:#1a1a1a;border:none;border-right:1px solid #1a1a1a;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;transition:all .2s}.toggle-option:last-child{border-right:none}.toggle-option:hover{background:#f5f5f5}.toggle-option.active{background:#1a1a1a;color:#fff}.toggle-option:active{background:#4a4a4a}.submit-btn,.action-btn{padding:.875rem 2rem;font-size:1rem;font-family:Crimson Text,Times New Roman,serif;font-weight:600;background:#1a1a1a;color:#fff;border:2px solid #1a1a1a;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;transition:all .2s}.submit-btn:hover,.action-btn:hover{background:#4a4a4a;border-color:#4a4a4a}.submit-btn:active,.action-btn:active{background:#1a1a1a}.players-info{margin-bottom:2rem;padding:1rem 0;border-top:2px solid #1a1a1a;border-bottom:2px solid #1a1a1a}.players-info p{margin:.5rem 0;font-size:1.1rem;letter-spacing:.01em}.games-list{display:flex;flex-direction:column;margin-bottom:2rem}.game-row{display:flex;align-items:stretch;border-bottom:1px solid #d0d0d0;background:#fff;transition:opacity .2s;position:relative;min-height:4rem}.game-row:first-child{border-top:1px solid #d0d0d0}.game-row.played{opacity:.5;background:#f5f5f5}.game-number{font-weight:400;font-size:.85rem;color:#8a8a8a;padding:1.25rem .75rem;display:flex;align-items:center;flex-shrink:0;width:2rem;justify-content:center}.game-content{flex:1;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.game-matchup-row{display:flex;align-items:center;justify-content:center;gap:2rem;flex:1}.team-side{display:flex;flex-direction:column;gap:.5rem;flex:1;justify-content:center}.team-left{align-items:flex-end}.team-right{align-items:flex-start}.player-line{display:flex;align-items:center;font-size:1.1rem;min-height:1.5rem}.player-name{font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.color-piece{font-size:1.5rem;line-height:1;display:inline-block}.vs-divider{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;padding:0 1rem;flex-shrink:0}.winner-btn-left,.winner-btn-right{width:2rem;min-height:100%;padding:0;font-family:Crimson Text,Times New Roman,serif;background:transparent;color:#4a4a4a;border:none;cursor:pointer;font-size:.9rem;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.5;align-self:stretch}.winner-btn-left:hover,.winner-btn-right:hover{background:#f0f0f0;color:#1a1a1a;opacity:1}.winner-btn-left.active,.winner-btn-right.active{opacity:1;color:#1a1a1a;background:#d0d0d0;font-weight:600}.winner-btn-left:active,.winner-btn-right:active{background:#d0d0d0}.winner-btn-placeholder{width:2rem;flex-shrink:0}.winner-indicator{text-align:center;font-weight:600;letter-spacing:.02em;font-size:.9rem;padding-top:.5rem;border-top:1px solid #1a1a1a;margin-top:.25rem}.wins-section{margin-top:1.5rem;padding-top:.75rem;border-top:1px solid #e8e8e8}.wins-toggle{width:100%;padding:.4rem .5rem;font-size:.75rem;font-family:Crimson Text,Times New Roman,serif;font-weight:400;background:transparent;color:#8a8a8a;border:none;cursor:pointer;text-align:left;letter-spacing:.01em;transition:all .2s}.wins-toggle:hover{color:#6a6a6a}.wins-list{margin-top:.4rem;background:transparent}.win-item{display:flex;justify-content:space-between;padding:.3rem .5rem}.win-player{font-weight:400;letter-spacing:.01em;color:#6a6a6a;font-size:.8rem}.win-count{font-weight:400;font-size:.8rem;color:#8a8a8a}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app{background:#fff;padding:0}.header-actions{margin-bottom:.75rem}.actions,h1{display:none}.players-info{margin-bottom:1rem;padding:.75rem 0;font-size:.95rem}.games-list{gap:.5rem;margin-bottom:.75rem}.game-row{page-break-inside:avoid;border-bottom:1px solid #d0d0d0}.game-row:first-child{border-top:1px solid #d0d0d0}.game-number{font-size:.75rem;padding:.75rem .5rem;width:1.5rem}.game-content{padding:.75rem 1rem;gap:.5rem}.game-matchup-row{gap:1rem}.team-side{gap:.35rem}.player-line{font-size:.95rem;min-height:1.2rem;gap:.5rem}.color-piece{font-size:1.2rem;min-width:1.2rem}.vs-divider{font-size:.75rem;padding:0 .75rem}.winner-btn-left,.winner-btn-right,.winner-btn-placeholder{display:none}.winner-indicator{font-size:.8rem;padding-top:.35rem;margin-top:.15rem}.wins-section{margin-top:.75rem;padding-top:.75rem}.wins-toggle{display:none}.wins-list{display:block;border:1px solid #1a1a1a;border-top:2px solid #1a1a1a}.win-item{padding:.4rem .6rem;font-size:.85rem}@page{size:legal;margin:.5in}}@media(max-width:768px){.app{padding:1rem}h1{font-size:2rem}.header-actions{flex-direction:column;gap:1rem}.actions{flex-direction:column;width:100%;gap:.75rem}.action-btn{width:100%;padding:.75rem 1.5rem;font-size:.9rem}.game-matchup-row{gap:1rem}.vs-divider{padding:0 .5rem;font-size:.75rem}.player-line{font-size:1rem}.color-piece{font-size:1.1rem}}
