:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:#000000de;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}#root{min-height:100vh}.header-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;margin-bottom:1rem}.round-selector{display:flex;align-items:center;gap:.5rem}.round-selector label{font-weight:600;color:#f0f0f0;white-space:nowrap}.round-selector select{padding:.5rem 1rem;border-radius:6px;border:2px solid rgba(255,255,255,.2);background-color:#0000004d;color:#fff;font-size:.95rem;cursor:pointer;transition:all .3s ease;min-width:280px}.round-selector select:hover{border-color:#fff6;background-color:#0006}.round-selector select:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff33}.selected-round-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#646cff33,#747bff33);border:1px solid rgba(100,108,255,.4);border-radius:8px;margin-bottom:.5rem}.badge-label{color:#ffffffb3;font-size:.85rem}.badge-value{color:#fff;font-weight:600;font-size:1rem}.main-nav{display:flex;gap:1rem;margin-top:.5rem}.nav-link{padding:.75rem 1.5rem;text-decoration:none;color:#fff;background-color:#ffffff26;border:2px solid rgba(255,255,255,.2);border-radius:8px;transition:all .3s ease;font-weight:600;font-size:1rem;cursor:pointer}.nav-button{font-family:inherit;background:none}.nav-link:hover{background-color:#646cff4d;border-color:#646cff80;transform:translateY(-2px);box-shadow:0 4px 12px #646cff4d}.nav-link.active{background:linear-gradient(135deg,#646cff,#747bff);color:#fff;border-color:#646cff;box-shadow:0 2px 8px #646cff66}.player-ratings{margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%}.team-name{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:#1a1a1a;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.player-card{background:#f9f9f9;border-radius:6px;transition:transform .2s,box-shadow .2s}.player-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.jersey-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#007bff;color:#fff;border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0}.player-name{font-weight:600;font-size:1rem;color:#2c3e50;line-height:1.2}.player-info{margin-bottom:.75rem}.position{background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.rating{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;border-radius:4px;font-weight:600}.rating-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.rating-value{font-size:1rem}.rating-excellent{background:#4caf50;color:#fff}.rating-good{background:#8bc34a;color:#fff}.rating-average{background:#ffc107;color:#333}.rating-poor{background:#ff5722;color:#fff}.rating-unavailable{background:#9e9e9e;color:#fff;justify-content:center}.player-stats-modal{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-in}.player-stats-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:2px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.75rem;font-weight:700}.close-button{background:#fff3;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;line-height:1;padding:0}.close-button:hover{background:#ffffff4d}.player-stats-info{padding:1.5rem;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.player-stats-info p{margin:.5rem 0;font-size:1rem;color:#333}.stats-table-container{padding:1.5rem}.stats-table-container h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#333}.loading-stats{text-align:center;padding:2rem}.spinner-small{border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:0 auto 1rem}.stats-table{width:100%;border-collapse:collapse;font-size:.95rem}.stats-table thead{background:#f5f5f5}.stats-table th{text-align:left;padding:.75rem;font-weight:600;color:#555;border-bottom:2px solid #ddd;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.stats-table td{padding:.75rem;border-bottom:1px solid #e0e0e0}.stats-table tbody tr:hover{background:#f9f9f9}.stats-table tbody tr:last-child td{border-bottom:none}.stat-name{font-weight:600;color:#555;width:40%}.stat-value{color:#333}.stat-empty{color:#999;font-style:italic}.stat-highlight{font-weight:700;color:#667eea;font-size:1.1em}.stat-percentage{color:#28a745;font-weight:600;margin-left:.5rem}.stat-details{color:#666;font-size:.85em;margin-left:.5rem}.stat-object{display:flex;flex-direction:column;gap:.25rem}.stat-object-item{font-size:.9em;color:#555}.stat-object-item strong{color:#333;font-weight:600}.stat-number{font-weight:600;color:#2c3e50;font-size:1.05em}@media(max-width:768px){.player-stats-content{max-height:95vh;margin:.5rem}.modal-header h2{font-size:1.25rem}.stats-table{font-size:.85rem}.stats-table th,.stats-table td{padding:.5rem}}.fixture-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;margin-bottom:2rem;overflow:hidden;transition:box-shadow .3s}.fixture-card:hover{box-shadow:0 6px 24px #00000026}.fixture-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem}.fixture-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.fixture-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.fixture-date{font-size:.95rem;opacity:.95}.fixture-state{display:inline-block;padding:.25rem .75rem;background:#fff3;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.state-finished{background:#4caf504d}.state-inplay{background:#ffc1074d;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.fixture-teams{display:flex;flex-wrap:wrap;justify-content:space-between;padding:1.5rem}.team-section{width:50%;margin-bottom:1.5rem}@media screen and (max-width:800px){.team-section{width:100%}}.team-section:last-child{margin-bottom:0}.dashboard{width:100%}.empty-state{text-align:center;padding:4rem 2rem;color:#fff9;font-size:1.1rem}.empty-state p{margin:0}.rating-analysis{max-width:1400px;margin:0 auto;padding:2rem;animation:fadeIn .5s ease-in}.analysis-header{margin-bottom:2rem}.back-button{padding:.6rem 1.2rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s;margin-bottom:1rem}.back-button:hover{background:#5568d3;transform:translate(-4px)}.analysis-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#1a1a1a}.header-subtitle{margin:0;color:#666;font-size:1rem}.analysis-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.summary-icon{font-size:2.5rem;line-height:1}.summary-content h3{margin:0 0 .5rem;font-size:.85rem;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.75rem;font-weight:700;color:#667eea}.analysis-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;margin-bottom:2rem}.analysis-section h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#1a1a1a}.section-description{margin:0 0 1.5rem;color:#666;line-height:1.5}.section-note{margin-top:1rem;padding:.75rem 1rem;background:#f9fafb;border-left:4px solid #667eea;border-radius:4px;font-size:.9rem;color:#555}.stat-selector{margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.stat-selector label{font-weight:600;color:#555}.stat-selector select{flex:1;max-width:400px;padding:.6rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;cursor:pointer;background:#fff;transition:border-color .2s}.stat-selector select:hover{border-color:#667eea}.stat-selector select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.outliers-table-container{overflow-x:auto}.outliers-table{width:100%;border-collapse:collapse;font-size:.95rem}.outliers-table thead{background:#f9fafb;position:sticky;top:0}.outliers-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:#555;border-bottom:2px solid #e5e7eb;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.outliers-table td{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.outliers-table tbody tr{transition:background .2s}.outliers-table tbody tr:hover{background:#f9fafb}.outliers-table .player-name{font-weight:600;color:#333}.outliers-table .team-name{color:#666}.outliers-table .position{color:#667eea;font-weight:500}.outliers-table .rating{font-weight:700;font-size:1.05em}.outliers-table .z-score{font-weight:600;font-family:Courier New,monospace}.outliers-table .minutes{color:#999}.outliers-table .anomaly-type{font-size:.85em;color:#666;font-style:italic}.outliers-legend{margin-top:1.5rem;padding:1rem;background:#f9fafb;border-radius:6px;border-left:4px solid #667eea}.outliers-legend p{margin:.5rem 0;line-height:1.5}.insights-section .insights-content{background:#f9fafb;padding:1.5rem;border-radius:6px;border-left:4px solid #667eea}.insights-content ol{margin:1rem 0;padding-left:1.5rem}.insights-content li{margin:.5rem 0;color:#333;font-weight:500}.loading-container,.error-container{text-align:center;padding:4rem 2rem}.loading-container p{color:#666;font-size:1.1rem}.error-container h2{color:#ef4444;margin-bottom:1rem}.error-container p{color:#666;margin-bottom:1.5rem}.retry-button{padding:.75rem 1.5rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .3s}.retry-button:hover{background:#dc2626}@media(max-width:768px){.rating-analysis{padding:1rem}.analysis-header h1{font-size:1.5rem}.analysis-summary{grid-template-columns:1fr}.analysis-section{padding:1.5rem}.stat-selector{flex-direction:column;align-items:stretch}.stat-selector select{max-width:100%}.outliers-table{font-size:.85rem}.outliers-table th,.outliers-table td{padding:.5rem}}.rating-adjuster{background:linear-gradient(135deg,#646cff1a,#747bff1a);border:2px solid rgba(100,108,255,.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.adjuster-header{display:flex;align-items:center;gap:.75rem}.adjuster-icon{font-size:1.5rem}.adjuster-header label{font-weight:600;font-size:1.1rem;color:#646cff}.adjuster-select{padding:.75rem 1rem;font-size:1.1rem;font-weight:600;border:2px solid rgba(255,255,255,.2);border-radius:8px;background-color:#0000004d;color:#fff;cursor:pointer;transition:all .3s ease;max-width:200px}.adjuster-select:hover{border-color:#646cff80;background-color:#0006}.adjuster-select:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff33}.adjuster-select option{background-color:#1a1a1a;color:#fff;padding:.5rem}.adjuster-info{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#ffffff0d;border-radius:8px;font-size:.95rem;color:#646cff}.info-icon{font-size:1.2rem}.adjuster-info strong{color:#646cff;font-weight:700}.analysis-page{width:100%}.analysis-page-error{text-align:center;padding:3rem 1rem}.analysis-page-error h2{color:#f44336;margin-bottom:1rem}.analysis-page-error p{color:#666;margin-bottom:2rem}.back-button{padding:.75rem 1.5rem;background-color:#646cff;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.back-button:hover{background-color:#535bf2;transform:translateY(-2px)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center;box-shadow:0 4px 12px #00000026}.app-header h1{margin:0 0 1rem;font-size:2.5rem;font-weight:700}.view-toggle-button{padding:.75rem 1.5rem;background:#fffffff2;color:#667eea;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;margin-top:1rem}.view-toggle-button:hover{background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.view-toggle-button:active{transform:translateY(0)}.round-selector{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.round-selector label{font-size:1rem;font-weight:600}.round-selector select{padding:.75rem 1.5rem;font-size:1rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#fffffff2;color:#333;cursor:pointer;min-width:300px;transition:all .3s;font-weight:500}.round-selector select:hover:not(:disabled){border-color:#ffffff80;background:#fff}.round-selector select:disabled{opacity:.6;cursor:not-allowed}.round-info{margin-top:1rem}.round-name{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.round-dates{font-size:1rem;opacity:.9;margin:0}.upload-section{background:#fff;padding:1.5rem;margin:2rem auto;max-width:800px;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.file-upload-button{display:inline-block;padding:.75rem 2rem;background:#667eea;color:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:1rem;transition:background .3s,transform .2s}.file-upload-button:hover{background:#5568d3;transform:translateY(-2px)}.file-upload-button:active{transform:translateY(0)}.upload-hint{margin:.75rem 0 0;font-size:.9rem;color:#666}.app-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}.loading{text-align:center;padding:4rem 2rem}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#ffebee;color:#c62828;padding:1.5rem;border-radius:8px;text-align:center;margin:2rem auto;max-width:800px}.error-message p{margin:0 0 1rem}.retry-button{padding:.5rem 1.5rem;background:#c62828;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:1rem;transition:background .3s,transform .2s}.retry-button:hover{background:#b71c1c;transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.fixtures-container{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fixtures-stats{background:#fff;padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.fixtures-stats p{margin:0;font-size:1.1rem;color:#333}.fixtures-list{display:flex;flex-direction:column;gap:2rem}.no-fixtures{text-align:center;padding:4rem 2rem;background:#fff;border-radius:8px;color:#666}.app-footer{background:#2c3e50;color:#fff;text-align:center;padding:1.5rem;margin-top:3rem}.app-footer p{margin:0;opacity:.8}@media(max-width:768px){.app-header h1{font-size:1.75rem}.round-name{font-size:1.25rem}.app-main{padding:1rem}.upload-section{margin:1rem}}
