.app{background:linear-gradient(135deg, var(--color-primary-start) 0%, var(--color-primary-end) 100%);min-height:100vh;padding:15px;transition:background .5s}.app:not([data-loaded=true]){background:0 0;transition:none}.app:not([data-loaded=true]) .container,.app:not([data-loaded=true]) .app-footer{visibility:hidden}.container{background:#fff;border-radius:20px;max-width:1200px;margin:0 auto;padding:30px;box-shadow:0 20px 40px #0000001a}h1{text-align:center;color:var(--text);margin-bottom:40px;font-size:2.5rem;font-weight:700}.section{background:var(--surface);border-radius:var(--radius-lg);border:2px solid var(--border);margin-bottom:30px;overflow:hidden}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:18px 20px;transition:background-color .2s;display:flex}.section-header:hover{background-color:var(--surface-accent)}.section-header.no-collapse{cursor:default}.section-header.no-collapse:hover{background-color:#0000}.section-header h2{color:var(--text);margin:0;font-size:1.4rem;font-weight:600}.collapse-indicator{color:var(--color-primary);font-size:1rem;font-weight:700;transition:transform .2s}.section.collapsed .section-content{display:none}.section.collapsed .section-header{border-bottom:none}.section-content{padding:20px}.panel{background:var(--surface);border-radius:var(--radius-lg);border:2px solid var(--border);margin-bottom:40px;padding:15px}.panel h2{color:var(--text-soft);align-items:center;gap:10px;margin-bottom:20px;padding-left:2px;font-size:1.5rem;display:flex}.upload-area{border:3px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:#fff;padding:40px;transition:all .3s}.upload-area:hover{border-color:var(--color-primary);background:var(--surface-hover)}.upload-area.dragover{border-color:var(--color-primary);background:#ebf8ff}.upload-content h3{color:var(--text);margin-bottom:10px}.upload-content p{color:var(--text-muted);margin-bottom:20px}.file-input{display:none}.upload-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;padding:12px 24px;font-size:16px;font-weight:600;transition:background-color .3s,border-color .3s}.upload-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.processing{border-radius:var(--radius-md);text-align:center;color:#2b6cb0;background:#bee3f8;margin-top:20px;padding:15px}.progress-container{background:var(--border-strong);border-radius:4px;width:100%;height:8px;margin:10px 0;overflow:hidden}.progress-bar{background:var(--color-primary);width:0%;height:100%;transition:width .2s}.player-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-bottom:20px;display:grid}.player-item{box-shadow:var(--shadow-card);background:#fff;border-radius:10px;align-items:center;gap:15px;padding:15px;transition:all .3s;display:flex}.player-item:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.player-item.absent{opacity:.6;background:var(--surface-hover)}.player-name{color:var(--text);flex:1;font-weight:500}.player-item.with-bench-info{flex-direction:column;align-items:stretch;gap:10px}.player-main-row{align-items:center;gap:15px;display:flex}.player-main-row .player-name{flex:1}.player-bench-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:8px;padding-top:10px;font-size:.85rem;display:flex}.bench-count-emoji{color:var(--text-muted);white-space:nowrap;cursor:help;font-size:.9rem}.bench-next-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-soft);align-items:center;gap:8px;font-size:.85rem;display:flex}.bench-next-toggle input[type=checkbox]{display:none}.toggle-switch{background:var(--border-strong);border-radius:11px;width:40px;height:22px;transition:background-color .2s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-switch.active{background:#c53030}.toggle-switch.active:after{transform:translate(18px)}.player-action-buttons{align-items:center;gap:8px;display:flex}.toggle-presence-button{cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;padding:8px;font-size:12px;transition:all .2s;display:flex}.toggle-presence-button.present,.toggle-presence-button.absent{background:var(--info);color:#fff}.toggle-presence-button.present:hover,.toggle-presence-button.absent:hover{background:var(--info-hover)}.toggle-presence-button:focus{outline:none}.toggle-presence-button:focus-visible{outline:2px solid var(--info-hover);outline-offset:2px}.remove-button{color:#fff;cursor:pointer;background:#fc8181;border:none;border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;padding:8px;font-size:12px;transition:all .2s;display:flex}.remove-button:hover{background:var(--danger)}.player-entry-container{margin-bottom:20px}.player-entry-form{align-items:stretch;gap:10px;display:flex}.player-input-wrapper{flex:1}.player-entry-input{border:2px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.player-entry-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #4299e126}.player-entry-input::placeholder{color:var(--placeholder)}.player-entry-actions{gap:8px;display:flex}.camera-button{background:var(--surface-accent);border:2px solid var(--border);cursor:pointer;width:50px;height:50px;color:var(--text-soft);border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.camera-button:hover{background:var(--border);border-color:var(--color-primary);color:var(--color-primary)}.add-player-button{background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.add-player-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.add-player-button:disabled{background:var(--border-strong);cursor:not-allowed}.multi-input-hint{border-radius:var(--radius-md);color:#744210;background:#fef5e7;border:1px solid #f6ad55;margin:10px 0 0;padding:10px 14px;font-size:.9rem}.image-upload-modal{width:95%;max-width:550px}.modal-upload-area{margin:0;padding:30px 20px}.modal-upload-area .upload-content{flex-direction:column;align-items:center;gap:12px;display:flex}.modal-upload-area .upload-icon{color:var(--color-primary);opacity:.7}.modal-upload-area p{text-align:center;margin:0;font-size:.95rem}.extracted-players-section{flex-direction:column;gap:15px;display:flex}.extracted-players-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.extracted-count{color:var(--text);margin:0;font-size:1rem}.extracted-count strong{color:var(--color-primary)}.selection-actions{gap:8px;display:flex}.selection-action-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-soft);cursor:pointer;background:0 0;padding:6px 12px;font-size:.85rem;transition:all .2s}.selection-action-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.selection-action-btn:disabled{opacity:.5;cursor:not-allowed}.extracted-players-list{flex-direction:column;gap:8px;max-height:300px;padding:4px;display:flex;overflow-y:auto}.extracted-player-item{border:2px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.extracted-player-item:hover{border-color:var(--color-primary);background:var(--surface-hover)}.extracted-player-item.selected{border-color:var(--color-primary);background:#4299e114}.player-checkbox{border:2px solid var(--border-strong);border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.extracted-player-item.selected .player-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.player-name-text{color:var(--text);flex:1;font-weight:500}.hidden-checkbox{display:none}.try-another-image-btn{border:2px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;padding:10px 16px;font-size:.9rem;transition:all .2s}.try-another-image-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--surface-hover)}.court-assignments-container{flex-direction:column;gap:10px;display:flex}.court-settings-inline{border:2px solid var(--border);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:15px;padding:15px;display:flex}.court-settings-inline .court-input-group{align-items:center;gap:10px;display:flex}.court-settings-inline .court-input-group label{color:var(--text-soft);white-space:nowrap;font-weight:500}.no-assignments-hint,.no-players-hint{background:var(--surface-hover);border:2px dashed var(--border);text-align:center;border-radius:12px;padding:20px}.no-assignments-hint p,.no-players-hint p{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.no-players-hint{background:#fffaf0;border-color:#fbd38d}.no-players-hint p{color:#744210}.court-settings{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.court-input-group{align-items:center;gap:10px;display:flex}.court-input{border:2px solid var(--border);border-radius:var(--radius-md);text-align:center;width:80px;padding:10px;font-size:16px}.court-input:focus{border-color:var(--color-primary);outline:none}.generate-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 24px;font-size:16px;font-weight:600;transition:background-color .3s}.generate-button:hover{background:var(--color-primary-hover)}.generate-button:disabled{background:var(--border-strong);cursor:not-allowed}.manual-court-button{background:var(--surface-hover);color:var(--text-soft);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s}.manual-court-button:hover{background:var(--surface-accent);border-color:var(--border-strong)}.manual-court-button.has-selection{color:#2b6cb0;background:#ebf8ff;border-color:#63b3ed}.last-generated{color:var(--placeholder);font-size:.75rem;font-style:italic;position:absolute;bottom:0;right:0}.regenerate-section{justify-content:center;padding-top:5px;display:flex;position:relative}@media (width<=600px){.regenerate-section{flex-direction:column;align-items:center;padding-bottom:0}.last-generated{text-align:center;margin-top:6px;position:static}}.no-assignments-hint .generate-button{margin-top:16px}.manual-court-modal-content{max-width:500px}.manual-court-modal-content .modal-body{max-height:60vh;overflow-y:auto}.manual-court-modal-content .player-selection-grid{margin-top:15px}.manual-court-modal-content .modal-footer{border-top:1px solid var(--border);padding-top:15px}.manual-court-modal-content .modal-footer .modal-cancel-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 24px;font-size:14px;font-weight:500;transition:background-color .2s}.manual-court-modal-content .modal-footer .modal-cancel-button:hover{background:var(--color-primary-hover)}.button-shake{animation:.2s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)rotate(-2deg)}75%{transform:translate(5px)rotate(2deg)}}.courts-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px;display:grid}.court-card{border-radius:var(--radius-lg);border:2px solid var(--border);background:#fff;padding:20px;transition:transform .3s;box-shadow:0 4px 12px #0000001a}.court-card.animating-shake{animation:.4s ease-in-out courtShake}@keyframes courtShake{0%,to{transform:translate(0)rotate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)rotate(-.5deg)}20%,40%,60%,80%{transform:translate(3px)rotate(.5deg)}}.animating-blur{animation:.4s ease-in-out blurEffect}@keyframes blurEffect{0%,to{filter:blur();opacity:1}50%{filter:blur(4px);opacity:.7}}.court-header{text-align:center;color:var(--text);margin-bottom:15px;font-size:1.2rem;font-weight:600;position:relative}.court-header h3{color:var(--text);justify-content:center;align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.manual-court-icon{opacity:.8;font-size:.9rem;animation:2s ease-in-out infinite subtle-pulse}.rotate-teams-button{cursor:pointer;color:var(--placeholder);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:1.1rem;line-height:1;transition:color .2s,background .2s;position:absolute;top:0;right:0}.rotate-teams-button:hover{color:var(--color-primary);background:#ebf8ff}.teams{justify-content:space-between;align-items:center;gap:15px;display:flex}.team{text-align:center;flex:1}.team-label{color:var(--text-soft);margin-bottom:8px;font-size:.9rem;font-weight:600}.team-players{flex-direction:column;gap:5px;display:flex}.team-player{background:var(--surface-accent);border-radius:var(--radius-md);color:var(--text);padding:8px 12px;font-size:.9rem}.vs-divider{color:var(--color-primary);font-size:1.5rem;font-weight:700}.singles-match{text-align:center}.singles-players{justify-content:center;align-items:center;gap:20px;display:flex}.singles-player{color:#2b6cb0;background:#bee3f8;border-radius:10px;padding:12px 16px;font-weight:500}.bench-section{border-radius:var(--radius-lg);background:#fff5f5;border:2px solid #fed7d7;padding:20px}.bench-header{color:#c53030;text-align:center;margin-bottom:15px;font-size:1.1rem;font-weight:600}.bench-players{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.bench-player{color:#c53030;border-radius:var(--radius-md);background:#fed7d7;padding:8px 16px;font-weight:500}.view-bench-counts-button{color:#c53030;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:2px solid #c53030;margin:15px auto 0;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:block}.view-bench-counts-button:hover{color:#fff;background:#c53030}.player-stats{text-align:center;background:#f0fff4;border:2px solid #9ae6b4;border-radius:10px;margin-bottom:20px;padding:15px}.stats-item{color:#22543d;margin:0 15px;font-weight:600;display:inline-block}.stats-number{color:#38a169;font-size:1.5rem}.winner-instructions{border-radius:var(--radius-md);color:#234e52;background-color:#e6fffa;border:1px solid #81e6d9;margin-top:20px;margin-bottom:32px;padding:12px 16px;font-size:.9rem}.team-clickable{cursor:pointer;border-radius:var(--radius-md);margin:2px;padding:8px;transition:background-color .2s,transform .1s}.team-clickable:hover{background-color:var(--surface-hover);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.team-winner{border-radius:var(--radius-md);background-color:#fef5e7;border:2px solid #f6ad55;margin:2px;padding:8px}.crown{margin-left:5px;font-size:1.1em;animation:2s ease-in-out infinite alternate glow}@keyframes glow{0%{text-shadow:0 0 5px gold}to{text-shadow:0 0 10px gold,0 0 15px gold}}.singles-player-clickable{cursor:pointer;border-radius:var(--radius-md);margin:2px;padding:8px 12px;transition:background-color .2s,transform .1s}.singles-player-clickable:hover{background-color:var(--surface-hover);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.singles-player-winner{border-radius:var(--radius-md);background-color:#fef5e7;border:2px solid #f6ad55;margin:2px;padding:8px 12px;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:90%;min-width:400px;max-width:500px;box-shadow:var(--shadow-modal);background:#fff;animation:.2s ease-out modalAppear}@keyframes modalAppear{0%{opacity:0;transform:scale(.9)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:center;padding:20px 25px 0;display:flex}.modal-header h3{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;padding:5px;transition:all .2s}.modal-close:hover{background:var(--surface-hover);color:var(--text-soft)}.modal-body{padding:20px 25px}.modal-body p{color:var(--text-soft);margin:0;line-height:1.5}.score-modal-teams{color:var(--text-soft);justify-content:center;align-items:center;gap:10px;margin:12px 0 8px;font-size:.9rem;display:flex}.score-modal-team-name{text-align:center;font-weight:600}.score-modal-vs{color:var(--placeholder);text-transform:uppercase;font-size:.8rem;font-weight:500}.score-modal-inputs{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.score-modal-inputs input[type=number]{text-align:center;border-radius:var(--radius-sm);width:60px;color:var(--text);-moz-appearance:textfield;background:#f8f8f8;border:1px solid #ccc;padding:6px 8px;font-size:1rem}.score-modal-inputs input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-modal-inputs input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-modal-inputs input[type=number]:focus{border-color:var(--color-primary);background:#fff;outline:none}.court-score-separator{color:#999;-webkit-user-select:none;user-select:none;font-size:.9rem}.modal-footer{justify-content:flex-end;gap:10px;padding:0 25px 25px;display:flex}.button{border-radius:var(--radius-md);cursor:pointer;border:none;min-width:80px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.button-primary{background:var(--color-primary);color:#fff}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{background:var(--border);color:var(--text-soft)}.button-secondary:hover{background:var(--border-strong)}.button-danger{background:var(--danger);color:#fff}.button-danger:hover{background:var(--danger-hover)}.button-absent{background:var(--info);color:#fff}.button-absent:hover{background:var(--info-hover)}.player-removal-actions{flex-wrap:wrap;gap:10px;display:flex}.player-removal-actions .button{flex:1;justify-content:center;align-items:center;gap:6px;min-width:140px;display:flex}.clear-all-button{background:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.clear-all-button:hover{background:var(--danger-hover)}.clear-all-button:disabled{background:var(--border-strong);color:var(--placeholder);cursor:not-allowed}.share-button{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#38a169;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:flex}.share-button:hover{background:#2f855a}.share-url-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-soft);background:var(--surface-hover);box-sizing:border-box;margin-top:8px;padding:8px 12px;font-size:13px}.share-url-row{align-items:center;gap:8px;margin-top:8px;display:flex}.share-url-row .share-url-input{flex:1;margin-top:0}.player-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.reset-algorithm-button{background:var(--info);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.reset-algorithm-button:hover{background:var(--info-hover)}.reset-algorithm-button:disabled{background:var(--border-strong);color:var(--placeholder);cursor:not-allowed}@media (width<=768px){.app{padding:0}.main-container{background:linear-gradient(135deg, var(--color-primary-start) 0%, var(--color-primary-end) 100%);width:100%;box-shadow:none;border-radius:0;margin:0;padding:15px 0 0}h1{color:#fff}.title-emoji{display:none}.modal-content{width:85%;min-width:280px;max-width:400px;margin:0 20px}.panel{padding:15px}.upload-area{padding:20px}.player-list,.courts-grid{grid-template-columns:1fr}.court-settings{flex-direction:column;align-items:stretch}.upload-area{background:#fff;border:1px solid #d2d6dc}.section-header{padding:14px 15px}.section-header h2{font-size:1.2rem}.section-content{padding:15px}.player-entry-form{flex-direction:column}.player-entry-actions{flex-direction:row}.camera-button{min-width:50px;min-height:50px}.add-player-button{flex:1;justify-content:center;min-height:50px}.player-entry-input{min-height:50px;font-size:16px}.court-settings-inline{flex-direction:column;align-items:stretch}.court-settings-inline .court-input-group{justify-content:space-between}.court-settings-inline .generate-button{width:100%}.image-upload-modal{max-width:95%;margin:10px}.extracted-players-list{max-height:250px}.extracted-players-header{flex-direction:column;align-items:flex-start}}@media (width<=450px){.app{padding:5px}.panel{padding:10px}}.manual-court-selection{border:2px solid var(--border);background:#fff;border-radius:12px;margin-bottom:20px;padding:20px}.manual-court-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;transition:color .2s;display:flex}.manual-court-header:hover{color:var(--color-primary)}.manual-court-header h3{color:var(--text);margin:0;font-size:1.1rem}.manual-court-toggle{color:var(--color-primary);font-size:1.2rem;font-weight:700;transition:transform .2s}.manual-court-content{margin-top:15px}.manual-court-description{color:var(--text-muted);margin:0 0 15px;font-size:.9rem;line-height:1.4}.manual-court-selected{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:15px;padding:15px}.selected-players strong{color:var(--text);font-size:.9rem}.selected-player-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.selected-player-tag{background:var(--color-primary);color:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;animation:.2s ease-in fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes subtle-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.remove-selected-player{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:1.1rem;line-height:1;transition:background-color .2s;display:flex}.remove-selected-player:hover{background:#fff3}.clear-manual-selection{background:var(--danger-hover);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:10px;padding:8px 16px;font-size:.85rem;transition:all .2s}.clear-manual-selection:hover{background:#c53030;transform:translateY(-1px)}.player-selection-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:15px;display:grid}.player-selection-button{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:10px;padding:12px;font-family:inherit;transition:all .2s;display:flex}.player-selection-button:hover:not(.disabled){border-color:var(--color-primary);background:var(--surface-hover);transform:translateY(-1px)}.player-selection-button.selected{border-color:var(--color-primary);background:var(--color-primary-light,#ebf8ff);box-shadow:0 2px 4px #3b82f61a}.player-selection-button.disabled{opacity:.5;cursor:not-allowed;transform:none}.player-selection-checkbox{border:2px solid var(--border-strong);width:20px;height:20px;color:var(--color-primary);border-radius:4px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.player-selection-button.selected .player-selection-checkbox{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.player-selection-name{color:var(--text);flex:1;font-weight:500}.manual-court-info{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:10px;padding:10px 0;display:flex}.selection-count{color:var(--text-muted);font-size:.85rem;font-weight:500}.match-preview{color:var(--color-primary);font-size:.85rem;font-style:italic;font-weight:600;animation:.3s ease-in fadeIn}@media (width<=768px){.player-selection-grid{grid-template-columns:1fr}.manual-court-info{flex-direction:column;align-items:flex-start;gap:8px}.selected-player-list{justify-content:flex-start}.manual-court-selection{padding:15px}.player-selection-button{min-height:44px;padding:15px 12px}.leaderboard-table th,.leaderboard-table td{padding:8px 10px}}.leaderboard-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.leaderboard-table{border-collapse:collapse;width:100%;margin-top:10px}.leaderboard-table th,.leaderboard-table td{border-bottom:1px solid var(--border);padding:10px 14px}.leaderboard-table th{background:var(--color-primary);color:#fff;text-align:left}.leaderboard-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-content{justify-content:space-between;align-items:center;gap:6px;display:flex}.leaderboard-table th.sortable-th:hover{filter:brightness(1.15)}.leaderboard-table th.sortable-th.sorted{background:var(--color-primary-dark,#2b5db5)}.sort-icon{flex-shrink:0;font-size:.8em}.sort-icon--inactive{opacity:.4}.sort-icon--active{opacity:1;color:#fff}.leaderboard-table tbody tr:nth-child(2n){background:var(--surface-hover)}.primary-action-link{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);padding:.6rem 1.4rem;font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.primary-action-link:hover{opacity:.85;color:#fff}.app-footer{text-align:center;color:#fff;max-width:1200px;margin:20px auto 0;padding:20px;font-size:.95rem}.app-footer p{margin:0;padding-bottom:20px}.app-footer a{color:#fff;font-weight:500;text-decoration:underline;transition:opacity .2s}.app-footer a:hover{opacity:.8}.app-footer .analysis-link{border-radius:var(--radius-md);text-align:center;border:1px solid #ffffff4d;flex:1;min-width:0;padding:10px 20px;text-decoration:none;transition:background .2s,border-color .2s}.app-footer .analysis-link:hover{opacity:1;background:#ffffff1a;border-color:#ffffff80}.app-footer .footer-links{justify-content:center;gap:10px;max-width:600px;margin:0 auto;display:flex}@media (width<=768px){.app-footer{margin:0;padding:15px 0}.app-footer .footer-links{margin:0 15px}}.player-edit-field{margin-bottom:20px}.player-edit-label{color:var(--text-soft);margin-bottom:10px;font-size:.95rem;font-weight:600;display:block}.gender-selector{gap:10px;display:flex}.gender-pill{border:2px solid var(--border);cursor:pointer;color:var(--text-soft);background:#fff;border-radius:20px;padding:8px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.gender-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.gender-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.level-slider{width:100%;accent-color:var(--color-primary);cursor:pointer}.player-name-clickable{cursor:pointer}.player-name-clickable:hover{color:var(--color-primary);text-decoration:underline}.player-badge{color:var(--text-muted);margin-left:6px;font-size:.78rem;font-weight:400}.smart-engine-toggle-row{border-top:1px solid var(--border);justify-content:flex-end;margin-top:10px;padding:10px 0 0;display:flex}.toggle-switch.smart-engine-active{background:#5c8fd4}.tooltip-wrapper{align-items:center;display:inline-flex;position:relative}.tooltip-icon{color:var(--placeholder);cursor:pointer;vertical-align:middle;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin-left:5px;font-size:.8rem;transition:color .2s;display:inline-flex}.tooltip-icon:hover,.tooltip-icon.active{color:var(--color-primary)}.tooltip-popup{background:var(--text);color:var(--surface-hover);border-radius:var(--radius-md);border-top:3px solid var(--color-primary);z-index:1000;pointer-events:none;width:220px;padding:8px 12px;font-size:.78rem;font-weight:400;line-height:1.4;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.level-cell{align-items:center;gap:3px;display:inline-flex}.trend-up{color:#4caf50;font-size:.75em;line-height:1;transform:translateY(5%)}.trend-down{color:#f44336;font-size:.75em;line-height:1;transform:translateY(5%)}.app.smart-mode{--color-primary-start:#1e3a6b;--color-primary-end:#0a1628;--color-primary:#5c8fd4;--color-primary-hover:#7ba7e8;background:linear-gradient(135deg,#1e3a6b 0%,#0a1628 100%)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#213547;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--color-primary-start:#ffb84d;--color-primary-end:#ff5f7e;--color-primary:#ffb84d;--color-primary-hover:#ff5f7e;--text:#2d3748;--text-soft:#4a5568;--text-muted:#718096;--placeholder:#a0aec0;--surface:#f8fafc;--surface-hover:#f7fafc;--surface-accent:#edf2f7;--border:#e2e8f0;--border-strong:#cbd5e0;--danger:#f56565;--danger-hover:#e53e3e;--info:#3182ce;--info-hover:#2c5aa0;--radius-sm:6px;--radius-md:8px;--radius-lg:15px;--radius-pill:20px;--shadow-card:0 2px 8px #0000001a;--shadow-float:0 4px 12px #00000026;--shadow-modal:0 25px 50px #00000040;--transition:.2s ease;background-color:#fff;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%;margin:0 auto}button{cursor:pointer;border:none;outline:none;font-family:inherit;font-size:.9em;font-weight:500;transition:all .25s}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input{font-family:inherit}input:focus{outline:2px solid var(--color-primary);outline-offset:2px}
