body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{display:flex;flex-direction:column;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:url(/kitchen-sync/static/media/backsplash1.2fefd54ae185967f18a3.png) no-repeat 50% fixed;background-color:#f0f0f0;background-size:cover;margin:0;padding:0}.App,body{font-family:Sora,sans-serif;min-height:100vh}.App{background-color:#ffffffe6;box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:1200px;padding:20px}h1{color:#2c3e50;text-shadow:1px 1px 2px #fffc}.player-input,h1{margin-bottom:30px;text-align:center}.player-input form{display:flex;gap:10px;justify-content:center}.player-input input{background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;width:250px}button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .3s}button:hover:not(:disabled){background-color:#2980b9}button:disabled{background-color:#bdc3c7;cursor:not-allowed}.assign-button{background-color:#27ae60;display:block;font-size:18px;margin:30px auto;padding:15px 30px}.assign-button:hover:not(:disabled){background-color:#219a52}.player-list{margin-bottom:30px;text-align:center}.player-list ul{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0}.player-list li{background-color:#fffffff2;border-radius:20px;box-shadow:0 2px 4px #0000001a;gap:10px;justify-content:space-between;padding:8px 15px}.player-list li,.remove-button{align-items:center;display:flex}.remove-button{background-color:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:12px;height:24px;justify-content:center;padding:0;transition:background-color .3s;width:24px}.remove-button:hover{background-color:#c0392b}.courts-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.court-column{display:flex;flex-direction:column;gap:12px}.score-box{grid-gap:8px;align-items:end;background-color:#fffffff2;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:grid;gap:8px;grid-template-columns:1fr auto 1fr;padding:16px}.score-team label{color:#2c3e50;display:block;font-size:.85em;font-weight:600;margin-bottom:6px;text-align:center}.score-team input{background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:16px;padding:8px;text-align:center;width:100%}.score-versus{color:#2c3e50;font-weight:700;padding-bottom:8px}.save-scores{margin:0 auto 30px;text-align:center}.save-scores-button{background-color:#2c3e50;font-size:18px;padding:15px 30px}.save-scores-button:hover:not(:disabled){background-color:#1a252f}.save-scores-message{color:#2c3e50;margin:12px 0 0}.past-games h1,.past-games p{text-align:center}.past-games p{color:#2c3e50}.past-games-table-wrap{overflow-x:auto}.past-games-table{background-color:#fffffff2;border-collapse:collapse;box-shadow:0 4px 6px #0000001a;width:100%}.past-games-table td,.past-games-table th{border-bottom:1px solid #e4ebf0;padding:12px 14px;text-align:left;vertical-align:top}.past-games-table th{color:#2c3e50;font-size:.9em}.share-column{text-align:center;width:4.5rem}.share-column input{accent-color:#2c3e50;height:18px;width:18px}.past-games-actions{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:20px}.share-scores-button{background-color:#2c3e50;font-size:18px;padding:15px 30px}.share-scores-button:hover:not(:disabled){background-color:#1a252f}.share-preview,.share-scores-message{color:#2c3e50;margin:0}.share-preview{box-shadow:0 2px 4px #0000001a;font-family:inherit;line-height:1.45;padding:14px 16px;text-align:left;white-space:pre-wrap;width:min(100%,420px)}.court,.share-preview{background-color:#fffffff2;border-radius:8px}.court{box-shadow:0 4px 6px #0000001a;padding:20px}.court h3{color:#2c3e50;margin-top:0;text-align:center}.court ul{list-style:none;margin:0;padding:0}.court li{background-color:#e8f4fde6;border-radius:4px;margin:5px 0;padding:8px;text-align:center}.sitting-out{background-color:#fff3cde6;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-top:30px;padding:20px;text-align:center}.sitting-out h3{color:#856404;margin-top:0}.sitting-out ul{display:flex;gap:15px;justify-content:center;list-style:none;margin:0;padding:0}.sitting-out li{background-color:#fffffff2;border-radius:4px;box-shadow:0 1px 3px #0000001a;padding:8px 15px}.game-stats{background-color:#fffffff2;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:15px;text-align:center}.games-played{align-items:center;display:flex;gap:20px;justify-content:center}.games-played h3{color:#2c3e50;margin:0}.reset-button{background-color:#95a5a6;font-size:14px;padding:8px 16px}.reset-button:hover:not(:disabled){background-color:#7f8c8d}.player-info{align-items:center;display:flex;gap:15px}.sit-out-count{background-color:#0000000d;border-radius:12px;color:#666;font-size:.9em;padding:2px 8px}.court-players{align-items:center;gap:10px}.court-players,.team{display:flex;flex-direction:column}.team{gap:5px;width:100%}.player{background-color:#e8f4fde6;border-radius:4px;padding:8px;text-align:center}.versus{background-color:#fff9;border-radius:50%;color:#2c3e50;font-size:1.1em;font-weight:700;height:30px;margin:5px 0;padding:5px;width:30px}.court-count-selector,.versus{align-items:center;display:flex;justify-content:center}.court-count-selector{background-color:#fffffff2;border-radius:8px;box-shadow:0 2px 4px #0000001a;gap:15px;margin-bottom:30px;padding:15px;text-align:center}.court-count-selector label{color:#2c3e50;font-weight:700}.court-count-selector input{background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;font-size:16px;padding:8px;text-align:center;width:60px}.court-count-selector input::-webkit-inner-spin-button,.court-count-selector input::-webkit-outer-spin-button{height:24px;opacity:1}.app-header{margin-bottom:30px;text-align:center}.app-header h1{color:#2c3e50;font-size:3em;font-weight:700;margin-bottom:5px;text-shadow:2px 2px 4px #0000001a}.tagline{color:#34495e;font-size:1.1em;font-style:italic;font-weight:300;margin:0;text-shadow:1px 1px 2px #fffc}.app-footer{margin-top:40px;padding:20px 0 10px;text-align:center}.app-footer a{color:#2c3e50;font-size:.95em;text-decoration:underline;text-underline-offset:3px}.app-footer a:hover{color:#1a252f}.top-nav{background-color:#2c3e50eb;color:#fff;justify-content:space-between;margin:-20px -20px 20px;padding:8px 16px}.nav-start,.top-nav{align-items:center;display:flex}.nav-start{gap:4px}.nav-item{align-items:center;background:#0000;border:none;border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95em;font-weight:500;gap:8px;line-height:1;padding:8px 10px;text-decoration:none}.nav-item:hover:not(:disabled){background-color:#ffffff1f}.nav-icon{display:block;height:22px;width:22px}.nav-label{color:inherit}.user-menu{position:relative}.user-menu-dropdown{background-color:#fff;border-radius:8px;box-shadow:0 8px 24px #0000002e;color:#2c3e50;padding:16px;position:absolute;right:0;top:calc(100% + 8px);width:280px;z-index:20}.user-menu-status{font-size:.95em;font-weight:500;line-height:1.4;margin:0 0 12px}.user-menu-form{display:flex;flex-direction:column;gap:8px}.user-menu-label{font-size:.8em;font-weight:600}.user-menu-dropdown input{border:1px solid #ccd6dd;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.95em;padding:8px 10px;width:100%}.user-menu-login{font-size:.95em;padding:8px 12px}.user-menu-message{font-size:.85em;line-height:1.4;margin:0}.verify-email{color:#2c3e50;padding:40px 16px;text-align:center}.verify-email a{color:#2c3e50}