:root{--primary-color: #ff3e00;--secondary-color: #4a90e2;--bg-color: #1a1a1a;--text-color: #ffffff;--nav-bg: #2a2a2a}html{scroll-snap-type:y proximity}body{margin:0;font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-color)}.app-container{display:flex;flex-direction:column;min-height:100vh}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--nav-bg);box-shadow:0 2px 4px #0003}.nav-brand{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.nav-links{display:flex;list-style:none;gap:1.5rem;margin:0;padding:0}.nav-links a{color:var(--text-color);text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--primary-color)}.main-content{padding:.4rem;flex:1;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.nav-auth{display:flex;align-items:center}.user-menu{display:flex;align-items:center;gap:1rem}.user-avatar{width:32px;height:32px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;cursor:default;-webkit-user-select:none;user-select:none}.logout-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ffffff1a;color:#fff}.auth-links{display:flex;align-items:center;gap:1rem}.login-link{color:#fffc;text-decoration:none;font-weight:500;transition:color .2s}.login-link:hover{color:#fff}.register-btn{background:#2196f3;color:#fff;padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-weight:500;transition:background .2s}.register-btn:hover{background:#1976d2}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#333;color:#fff}.logo{font-size:1.5rem}.nav-links-desktop{display:flex;gap:1.5rem}.nav-links-desktop a,.nav-links-mobile a{color:#fff;text-decoration:none;padding:.5rem 0}.hamburger-toggle{display:none;background:none;border:none;cursor:pointer}.bar{display:block;width:25px;height:3px;margin:5px 0;background-color:#fff;transition:.4s}.nav-links-mobile{display:none;right:0;width:25%;flex-direction:column;position:fixed;top:4rem;left:0;height:calc(100vh - 4rem);overflow-y:auto;z-index:1000;background-color:#444;padding:1rem;box-shadow:0 4px 6px #0000001a}@media(max-width:768px){.nav-links-desktop{display:none}.hamburger-toggle{display:block}.nav-links-mobile.is-open{display:flex}}.leagues-container{display:flex;gap:2rem;height:calc(100vh - 100px)}.panel{flex:1;background:#2a2a2a;padding:1.5rem;border-radius:8px;display:flex;flex-direction:column}.panel h2{margin-top:0;color:var(--primary-color);border-bottom:1px solid #444;padding-bottom:.5rem}.panel ul{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.panel li{padding:.75rem;border-bottom:1px solid #333;cursor:pointer;transition:background .2s}.panel li:hover{background:#333}.panel li.active{background:var(--primary-color);color:#fff}.create-form{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid #444;padding-top:1rem}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-header h3{margin:0;font-size:1.1rem;color:#ddd}.new-league-btn{padding:.25rem .5rem!important;background:#444!important;font-size:.8rem;font-weight:400!important}.create-form input{padding:.5rem;border-radius:4px;border:1px solid #444;background:#1a1a1a;color:#fff}.create-form button{padding:.5rem;background:var(--secondary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.create-form button:hover{opacity:.9}.add-player-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #444}.add-player-section h3{margin-top:0;font-size:1.1rem;color:#ddd}.mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.mode-toggle button{flex:1;padding:.5rem;background:#333;border:1px solid #444;color:#aaa;cursor:pointer;border-radius:4px}.mode-toggle button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.form-group{display:flex;gap:.5rem}.form-group input{flex:1}.settings-group{display:flex;gap:1rem;margin-bottom:.5rem}.settings-group label{display:flex;flex-direction:column;font-size:.8rem;color:#aaa;flex:1}.settings-group input{margin-top:.25rem}.no-data{color:#888;font-style:italic;padding:1rem;text-align:center}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#1e293b;padding:2rem;border-radius:12px;width:90%;max-width:400px;box-shadow:0 10px 25px #00000080;border:1px solid rgba(255,255,255,.1);animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{margin-top:0;margin-bottom:1rem;color:#f8fafc;font-size:1.5rem}.modal-content p{color:#cbd5e1;margin-bottom:2rem;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.modal-btn{padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:1rem}.modal-btn.cancel{background:transparent;color:#94a3b8;border:1px solid #475569}.modal-btn.cancel:hover{background:#ffffff0d;color:#f8fafc}.modal-btn.confirm{background:#3b82f6;color:#fff}.modal-btn.confirm:hover{background:#2563eb;transform:translateY(-1px)}.modal-btn.confirm.danger{background:#ef4444}.modal-btn.confirm.danger:hover{background:#dc2626}.toast{position:fixed;bottom:20px;right:20px;padding:12px 20px;border-radius:8px;background:#334155;color:#fff;box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;gap:12px;z-index:2000;animation:slideIn .3s ease-out;min-width:250px;border-left:4px solid transparent}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#22c55e;background:#064e3b}.toast-error{border-left-color:#ef4444;background:#450a0a}.toast-info{border-left-color:#3b82f6;background:#1e3a8a}.toast-message{flex:1;font-size:.95rem}.toast-close{background:transparent;border:none;color:#ffffffb3;font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1}.toast-close:hover{color:#fff}.matches-container{display:flex;flex-direction:column;gap:2rem}.match-selection{display:flex;gap:2rem;background:#2a2a2a;padding:1.5rem;border-radius:8px}.existing-matches{flex:1;display:flex;flex-direction:column;gap:.5rem}.existing-matches button{padding:.75rem;background:#1a1a1a;color:#fff;border:1px solid #333;text-align:left;cursor:pointer;border-radius:4px}.existing-matches button.active{background:var(--primary-color);border-color:var(--primary-color)}.new-match{flex:1;border-left:1px solid #444;padding-left:2rem}.new-match form{display:flex;flex-direction:column;gap:1rem}.score-entry{background:#2a2a2a;padding:1.5rem;border-radius:8px}.score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.save-btn{padding:.5rem 1rem;background:var(--secondary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.score-entry table{width:100%;border-collapse:collapse}.score-entry th,.score-entry td{padding:1rem;text-align:left;border-bottom:1px solid #444}.score-entry input{width:80px;padding:.5rem;background:#1a1a1a;color:#fff;border:1px solid #444;border-radius:4px;font-size:1.1rem}.score-entry input:focus{border-color:var(--secondary-color);outline:none}.roster-selection{background:#2a2a2a;padding:1.5rem;border-radius:8px;margin-top:2rem}.roster-selection h3{margin-top:0;color:#64b5f6}.roster-slot{margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.roster-slot label{width:100px;color:#fffc}.roster-slot select{flex:1;max-width:300px;padding:.5rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px}.match-results{margin-top:2rem;padding-top:2rem;border-top:2px solid #444}.match-results h3{color:#64b5f6;margin-bottom:1.5rem}.additional-pins{display:flex;gap:2rem;margin-bottom:2rem;padding:1rem;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.pin-input-group{display:flex;flex-direction:column;gap:.5rem}.pin-input-group label{font-size:.9rem;color:#ffffffb3}.pin-input-group input{width:120px;padding:.5rem;background:#1a1a1a;color:#fff;border:1px solid #444;border-radius:4px;font-size:1rem}.pin-input-group input:focus{border-color:var(--secondary-color);outline:none}.results-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.game-result{display:flex;align-items:center;gap:1rem}.game-result label{min-width:100px;font-weight:700;color:#ffffffe6}.result-buttons{display:flex;gap:.5rem}.result-buttons button{padding:.5rem 1.5rem;background:#ffffff1a;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;transition:all .2s}.result-buttons button:hover{background:#ffffff26;border-color:#ffffff4d}.result-buttons button.active{background:var(--secondary-color);border-color:var(--secondary-color);color:#fff}.totals-result{margin-top:1rem;padding-top:1rem;border-top:1px solid #444}.points-display{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#0000004d;border-radius:8px;margin-top:1.5rem}.points-summary{display:flex;gap:2rem;font-size:1.2rem;font-weight:700}.points-summary .your-team{color:#4caf50}.points-summary .opponent{color:#ff5252}.roster-suggestions{margin-bottom:2rem;padding:1rem;background:#0003;border-radius:8px;border:1px solid rgba(100,181,246,.3)}input.frame-based-score{background:#64b5f61a;border-color:#64b5f64d;border:1px solid rgba(100,181,246,.3)}.roster-suggestions h4{margin-top:0;margin-bottom:1rem;color:#64b5f6;font-size:1rem}.suggestions-list{display:flex;flex-direction:column;gap:.5rem}.suggestion-btn{padding:.75rem 1rem;background:#64b5f61a;border:1px solid rgba(100,181,246,.3);border-radius:4px;cursor:pointer;text-align:left;transition:all .2s;color:#fff}.suggestion-btn:hover{background:#64b5f633;border-color:#64b5f680}.suggestion-players{font-size:.95rem;margin-bottom:.25rem}.suggestion-meta{font-size:.8rem;color:#fff9}.form-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.form-row label{min-width:100px;font-weight:700;color:#ffffffe6}.form-row select,.form-row input{flex:1;padding:.5rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px}.roster-setup{margin-top:1.5rem}.roster-setup h4{color:#64b5f6;margin-bottom:1rem}.match-tabs{background:#2a2a2a;border-radius:8px;overflow:hidden}.tab-buttons{display:flex;border-bottom:2px solid #444}.tab-btn{flex:1;padding:1rem;background:transparent;color:#ffffffb3;border:none;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.tab-btn:hover{background:#ffffff0d;color:#ffffffe6}.tab-btn.active{color:var(--primary-color);border-bottom:3px solid var(--primary-color);background:#64b5f61a}.tab-content{padding:1.5rem}.matches-list{display:flex;flex-direction:column;gap:.5rem}.no-matches{text-align:center;color:#ffffff80;padding:2rem;font-style:italic}.matches-table{width:100%;border-collapse:collapse;margin-top:1rem}.match-row{cursor:pointer;transition:background .2s}.match-row:hover{background:#64b5f61a}.match-row.selected{background:#64b5f633}.delete-match-btn-small{padding:.25rem .5rem;background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.3);border-radius:4px;cursor:pointer;font-size:1.2rem;line-height:1;transition:all .2s}.delete-match-btn-small:hover{background:#f4433666;border-color:#f44336}input.frame-based-score{background:#64b5f61a;border-color:#64b5f64d;cursor:not-allowed;color:#ffffffe6;font-weight:600}input.frame-based-score:hover{background:#64b5f626}@media(max-width:600px){.matches-table .mobile-hidden{display:none!important}.matches-container{gap:1rem;padding:.5rem}.controls{flex-direction:column}.controls select{width:100%}.matches-table thead{display:none}.matches-table tbody tr{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;border-bottom:1px solid #444;padding:.5rem 0;margin-bottom:.5rem;background:#ffffff0d;border-radius:4px}.matches-table td{border:none;padding:.25rem;text-align:left;box-sizing:border-box;display:flex;align-items:center}.date-cell{grid-column:1 / span 2;font-weight:700;color:#aaa;font-size:.75rem}.opponent-cell{grid-column:3 / span 2;font-weight:700;color:#aaa;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important;line-height:2.5}.delete-cell{grid-column:5;grid-row:1;justify-content:flex-end;padding-right:.5rem!important}.game-cell,.series-cell,.points-cell{justify-content:center;background:#0003;border-radius:2px;font-weight:700;min-width:0}.series-cell{color:#64b5f6}.points-cell{color:gold}.matches-table{font-size:.85rem}.score-entry th,.score-entry td{padding:.5rem .25rem}.score-entry input{width:50px;padding:.25rem;font-size:.9rem}.score-header h2{font-size:1.2rem}.game-result{flex-direction:column;align-items:flex-start;gap:.5rem}.game-result label{min-width:auto}.result-buttons button{padding:.4rem .8rem;font-size:.9rem}}.matches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.condensed-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#fffc}.matches-table.condensed .date-cell,.matches-table.condensed .opponent-cell,.matches-table.condensed .delete-cell{display:none!important}@media(max-width:600px){.matches-table.condensed tbody tr{grid-template-columns:repeat(5,1fr)}.matches-table.condensed .game-cell,.matches-table.condensed .series-cell,.matches-table.condensed .points-cell{grid-row:1}}.matches-table.condensed .date-header,.matches-table.condensed .opponent-header,.matches-table.condensed .delete-header{display:none!important}.team-records-section{margin-bottom:2rem;background:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.team-records-section h3{margin-top:0;margin-bottom:1.5rem;color:var(--text-primary);font-size:1.25rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.record-card{background:var(--bg-secondary);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.record-card h4{margin-top:0;margin-bottom:1rem;color:var(--secondary-color);font-size:1.1rem;text-align:center}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.stat-row:last-child{border-bottom:none}.stat-label{font-weight:500;color:var(--text-secondary);font-size:.9rem}.stat-details{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.stat-value{font-weight:700;color:var(--text-primary);font-size:1.1rem}.stat-name{font-size:.85rem;color:var(--primary-color);margin-top:2px}.stat-date{font-size:.75rem;color:var(--text-secondary);margin-top:2px}@media(max-width:768px){.records-grid{grid-template-columns:1fr}.team-records-section{padding:1rem}}.averages-row td{border-top:2px solid #444;font-weight:700;background:#0006;padding-top:1rem;padding-bottom:1rem}.averages-label{text-align:right!important;padding-right:1.5rem!important;color:#ffffffb3;font-style:italic;font-size:.9rem}.average-cell{color:#64b5f6;font-size:1.1rem}.total-points-cell{color:#ffb74d;font-size:1.2rem}.scorecard{background:#ffffff0d;border-radius:12px;box-shadow:0 4px 12px #00000026;overflow-x:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.frames-container{display:flex;margin-bottom:1rem}.frame{flex:1;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;background:#ffffff14;border-radius:6px;overflow:hidden;transition:all .2s ease}.frame:hover{border-color:#2196f34d;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.active-frame{border:1px solid #2196F3;background:#2196f326;box-shadow:0 0 12px #2196f366;transform:translateY(-2px)}.frame-header{background:#0003;padding:6px;text-align:center;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9rem;color:#ffffffe6}.active-frame .frame-header{background:#2196f34d;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.rolls{display:flex;height:40px;background:#ffffff0d}.roll-input{width:100%;border:none;border-right:1px solid rgba(255,255,255,.1);text-align:center;font-size:.9rem;outline:none;background:transparent;color:#fffffff2;font-weight:500;transition:background .2s ease;display:flex;align-items:center;justify-content:center}.roll-input:last-child{border-right:none}.roll-input:hover{background:#2196f31a}.roll-input:focus{background:#2196f333}.roll-input.active-roll{background:#2196f340;border:2px solid #2196F3;box-shadow:0 0 8px #2196f380;font-weight:700}.frame-score{padding:8px 0;text-align:center;font-weight:700;border-top:1px solid rgba(255,255,255,.1);background:#00000026;color:#fffffff2;font-size:.9rem}.active-frame .frame-score{background:#2196f333;color:#fff}.total-score{text-align:right;font-size:1.3rem;font-weight:700;color:#64b5f6;padding-top:.75rem;border-top:2px solid rgba(33,150,243,.3);text-shadow:0 1px 3px rgba(0,0,0,.3)}.pin-rack{position:relative;width:160px;height:150px;margin:0 auto;-webkit-user-select:none;user-select:none}.pin{position:absolute;width:30px;height:30px;border-radius:50%;border:2px solid #333;background-color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#333;cursor:pointer;transition:all .2s ease}.pin.down{background-color:#f30d0d;color:#fff;transform:scale(.9);opacity:.8}.pin:hover{border-color:#007bff}.player-entry-container{display:flex;flex-direction:column;gap:2rem}.selectors{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.selectors select{padding:.75rem 1rem;background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none;min-width:150px}.selectors select:hover{background:#ffffff26;border-color:#2196f380;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.selectors select:focus{border-color:#2196f3;background:#2196f333;box-shadow:0 0 0 3px #2196f333}.selectors select:disabled{opacity:.5;cursor:not-allowed}.selectors select option{background:#1a1a1a;color:#fff;padding:.5rem}.game-interface{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:600px}.status-bar{width:100%;background:linear-gradient(135deg,#2196f333,#2196f31a);border-radius:12px;text-align:center;border:2px solid rgba(33,150,243,.3);box-shadow:0 4px 12px #2196f333;scroll-snap-align:start;scroll-margin-top:10px}.status-bar h3{font-size:1rem;cursor:pointer;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gamed-editor-controls{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.control-row{display:flex;justify-content:center;width:100%}.button-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.auto-advance-toggle{display:flex;align-items:center;gap:.5rem;color:#fffc;cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none;background:#ffffff0d;padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);transition:all .2s}.auto-advance-toggle:hover{background:#ffffff1a;border-color:#fff3}.auto-advance-toggle input{width:1.1rem;height:1.1rem;cursor:pointer;accent-color:#2196F3}.auto-advance-toggle input:disabled{opacity:.1;cursor:not-allowed;accent-color:#f33a21}.gamed-editor-controls .button-row button{padding:.75rem 1.5rem;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0003}.gamed-editor-controls .button-row button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;background:#ffffff26;border-color:#fff6}.gamed-editor-controls .button-row button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0003}.gamed-editor-controls .button-row button:disabled{opacity:.4;cursor:not-allowed}.gamed-editor-controls .button-row button.primary{background:linear-gradient(135deg,#2196f3,#1976d2);border-color:#1976d2;color:#fff;box-shadow:0 4px 12px #2196f366}.gamed-editor-controls .button-row button.primary:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#2196f3);box-shadow:0 6px 16px #2196f380}.pin-rack-container{width:100%;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.games-list{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:800px}.game-card{background:#ffffff0d;border-radius:12px;border:2px solid transparent;transition:all .3s ease;cursor:pointer;scroll-snap-align:start;scroll-margin-top:10px}.game-card:hover{background:#ffffff14}.game-card.active{border-color:#2196f3;background:#2196f31a;box-shadow:0 0 15px #2196f333}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:700;color:#fff;font-size:1.1rem}.remove-game-btn{background:transparent;border:none;color:#ffffff80;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .5rem;transition:color .2s}.remove-game-btn:hover{color:#ff5252}.add-game-btn{padding:1rem;background:#ffffff0d;border:2px dashed rgba(255,255,255,.2);border-radius:12px;color:#ffffffb3;font-size:1.1rem;cursor:pointer;transition:all .3s ease;width:100%}.add-game-btn:hover{background:#ffffff1a;border-color:#2196f3;color:#2196f3}.manual-score-widget{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#282828f2,#1e1e1ef2);border:2px solid rgba(255,152,0,.6);border-radius:8px;min-height:200px;text-align:center}.widget-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem}.warning-icon-large{font-size:1.5rem;margin:0}.manual-score-widget h3{color:#ffc107;margin:0;font-size:1.1rem;line-height:1}.widget-message{color:#ffffffe6;margin:0 0 .5rem;line-height:1.4;font-size:.9rem;max-width:90%}.widget-message strong{color:#ffc107;font-size:1rem;font-weight:700}.widget-question{color:#fffc;margin:0 0 1rem;font-size:.85rem}.widget-proceed-btn{padding:.5rem 1.25rem;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;box-shadow:0 4px 12px #ff98004d}.widget-proceed-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff980080;background:linear-gradient(135deg,#ffa726,#f57c00)}.standings-container{display:flex;flex-direction:column;gap:2rem}.controls{display:flex;gap:1rem}.controls select{padding:.5rem;font-size:1rem;background:#2a2a2a;color:#fff;border:1px solid #444;border-radius:4px}.standings-table{background:#2a2a2a;padding:1.5rem;border-radius:8px}.standings-table h2{margin-top:0;margin-bottom:2rem;color:#64b5f6}.team-standings{margin-bottom:2rem;background:#0003;border-radius:8px;padding:1rem}.team-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #444}.rank{font-size:1.5rem;font-weight:700;color:gold;min-width:50px}.team-name{font-size:1.3rem;font-weight:700;color:#fff;flex:1}.team-stats{color:#ffffffb3;font-size:.9rem}.matches-table{width:100%;border-collapse:collapse;margin-top:.5rem}.matches-table th,.matches-table td{padding:.75rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.matches-table th{color:#fffc;font-size:.9rem;font-weight:600;background:#0000004d}.matches-table td:first-child,.matches-table th:first-child{text-align:left}.matches-table td:nth-child(2),.matches-table th:nth-child(2){text-align:left}.result-win{background:#4caf504d;color:#4caf50;font-weight:700}.result-lose{background:#f443364d;color:#f44336;font-weight:700}.result-tie{background:#9e9e9e4d;color:#9e9e9e;font-weight:700}.points-cell{font-weight:700;color:#64b5f6;font-size:1.1rem}.no-matches{text-align:center;color:#ffffff80;padding:1rem;font-style:italic}.no-data{text-align:center;color:#ffffff80;padding:2rem;font-size:1.1rem}.player-history-container{max-width:1600px;margin:0 auto}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.history-header h1{margin:0;color:var(--primary-color)}.controls{display:flex;gap:1rem;flex-wrap:wrap}.player-select,.league-filter{padding:.75rem 1rem;background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none;min-width:200px}.player-select:hover,.league-filter:hover{background:#ffffff26;border-color:#2196f380;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.player-select:focus,.league-filter:focus{border-color:#2196f3;background:#2196f333;box-shadow:0 0 0 3px #2196f333}.player-select option,.league-filter option{background:#1a1a1a;color:#fff}.player-info{text-align:center;margin-bottom:2rem}.player-info h2{margin:0;color:#64b5f6;font-size:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:1px solid rgba(255,255,255,.1)}.section-header.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.section-header.clickable:hover h3{color:var(--secondary-color)}.section-header h3{margin:0!important;border-left:3px solid #64B5F6;padding-left:.75rem;font-size:1.1rem!important}.toggle-icon{color:#fff6;font-size:.7rem;transition:transform .3s ease;margin-right:.5rem}.toggle-icon.open{transform:rotate(0)}.toggle-icon:not(.open){transform:rotate(-90deg)}.lifetime-summary-section{margin-bottom:1.5rem;animation:fadeIn .5s ease-out;background:#ffffff08;border-radius:12px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.05)}.lifetime-summary-section.collapsed{margin-bottom:.75rem}.lifetime-summary-section h3{color:#fff;font-weight:600;letter-spacing:.5px}.lifetime-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.lifetime-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.75rem 1rem;display:flex;flex-direction:column;justify-content:center;transition:transform .3s ease,box-shadow .3s ease}.lifetime-card:hover{transform:translateY(-3px);background:#ffffff14;box-shadow:0 4px 16px #0000004d}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.stat-group{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.25rem;margin-bottom:.25rem}.stat-group:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.stat-label{color:#fff9;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{color:#fff;font-size:1.1rem;font-weight:700;font-family:Inter,sans-serif}.highlight-blue{color:#64b5f6}.highlight-orange{color:#ffb74d}.highlight-purple{color:#ba68c8}@media(max-width:768px){.lifetime-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.2rem}}@media(max-width:480px){.lifetime-grid{grid-template-columns:1fr}}.summary-section{margin-bottom:1.5rem;background:#ffffff08;border-radius:12px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.05)}.summary-section.collapsed{margin-bottom:.75rem}.summary-section h3{color:#81c784}.summary-table{width:100%;border-collapse:collapse;background:#0003;border-radius:8px;overflow:hidden}.summary-table thead{background:linear-gradient(135deg,#4caf5033,#4caf501a)}.summary-table th{padding:.75rem .5rem;text-align:center;font-weight:700;color:#fff;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;border-bottom:2px solid rgba(76,175,80,.4)}.summary-table td{padding:.75rem .5rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);font-size:.95rem}.summary-table .league-cell{text-align:left;padding-left:1rem}.summary-table .over-avg-cell{color:#81c784;font-weight:700}.summary-table .high-game-cell,.summary-table .high-series-cell{color:#64b5f6;font-weight:700}.summary-table td.is-best{box-shadow:inset 0 0 0 1.5px #81c784;background:#81c78426;color:#fff;font-weight:700}.history-content{background:#ffffff08;border-radius:12px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.05);margin-bottom:2rem}.history-content.collapsed{margin-bottom:.75rem}.history-content h3{color:#64b5f6}.table-wrapper{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;background:#0003;border-radius:8px;overflow:hidden}.history-table thead{background:linear-gradient(135deg,#2196f34d,#2196f333)}.history-table th{padding:.75rem .5rem;text-align:center;font-weight:700;color:#fff;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;border-bottom:2px solid rgba(33,150,243,.5)}.history-table tbody tr{transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.history-table tbody tr.league-end{border-bottom:3px solid rgba(33,150,243,.5)}.history-table tbody tr:hover{background:#2196f31a}.history-table tbody tr:last-child{border-bottom:none}.history-table td{text-align:center;color:#ffffffe6;font-size:.95rem;padding:.75rem .5rem}.season-header-row{background:#ffffff1a}.season-header-content{display:flex;justify-content:space-between;padding:.75rem 1.5rem;align-items:center}.season-name{font-weight:700;color:var(--primary-color);font-size:1.1rem}.team-name{font-weight:500;color:#64b5f6;font-size:1rem}.date-cell{font-weight:700;color:#64b5f6;font-size:.95rem}.game-score{font-size:.95rem;font-weight:500}.series-score{font-weight:700;font-size:.95rem}.weekly-avg-cell{font-weight:700}.pins-over-avg-cell.positive{color:#81c784;font-weight:700}.pins-over-avg-cell.negative{color:#f44336}.goa-cell{color:#81c784}.below-avg-cell{color:#f44336}.avg-score{font-weight:700;font-size:.95rem;color:#ffb74d}.hdcp-score{font-weight:700;color:#ba68c8}.no-data{text-align:center;padding:3rem;background:#ffffff0d;border-radius:12px;color:#fff9}.no-data p{margin:0;font-size:1.2rem}@media(max-width:1024px){.history-table th{font-size:.75rem}.history-table td{font-size:.85rem}}@media(max-width:768px){.history-header{flex-direction:column;align-items:stretch}.controls{flex-direction:column}.player-select,.league-filter{width:100%}.history-table,.summary-table{font-size:.7rem}.history-table th,.history-table td,.summary-table th,.summary-table td{padding:.4rem .15rem}.season-header-content{padding:.5rem .75rem;flex-direction:column;align-items:flex-start;gap:.25rem}.season-name{font-size:1rem}.team-name{font-size:.9rem}.summary-section{padding:.75rem}}.game-link{color:inherit;text-decoration:none;display:block;width:100%;height:100%}.game-link:hover{color:var(--secondary-color);text-decoration:underline;cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.summary-table td.is-worst{box-shadow:inset 0 0 0 1.5px #ef5350;background:#ef535026;color:#fff;font-weight:700}.league-link{color:inherit;text-decoration:none;cursor:pointer;display:block;width:100%;height:100%}.league-link:hover{color:var(--secondary-color);text-decoration:underline}.auth-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:1rem}.auth-card{background:#1e1e1ef2;padding:2rem;border-radius:12px;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1)}.auth-card h2{text-align:center;margin-bottom:1.5rem;color:#fff;font-size:1.8rem}.auth-error{background:#ff52521a;color:#ff5252;padding:.75rem;border-radius:6px;margin-bottom:1rem;text-align:center;border:1px solid rgba(255,82,82,.2)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#fffc;font-size:.9rem}.form-group input{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#2196f3;background:#2196f31a}.auth-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2196f34d}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{margin-top:1.5rem;text-align:center;color:#fff9;font-size:.9rem}.auth-footer a{color:#2196f3;text-decoration:none;font-weight:500;margin-left:.25rem}.auth-footer a:hover{text-decoration:underline}.adopt-player-container{max-width:1200px;margin:2rem auto;padding:0 1rem}.adopt-player-container h1{color:var(--primary-color);margin-bottom:.5rem}.description{color:#ccc;margin-bottom:2rem;line-height:1.6}.management-section{margin-bottom:3rem}.management-section h2{color:#eee;font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.message{padding:1rem;border-radius:8px;margin-bottom:2rem}.message.success{background:#4caf5033;color:#81c784;border:1px solid #4caf50}.message.error{background:#f4433633;color:#e57373;border:1px solid #f44336}.table-container{background:#ffffff0d;border-radius:12px;overflow-x:auto;box-shadow:0 4px 20px #0000004d;-webkit-overflow-scrolling:touch}.management-table{width:100%;border-collapse:collapse;text-align:left}.management-table th{background:#ffffff1a;padding:1rem;color:var(--primary-color);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}.management-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05);color:#eee;vertical-align:middle}.management-table tr:last-child td{border-bottom:none}.management-table tr:hover{background:#ffffff05}.linked-row{background:rgba(var(--primary-color-rgb),.03)}.management-table input[type=text],.management-table input[type=email]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.4rem .6rem;border-radius:4px;width:100%}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.edit-btn,.save-btn,.cancel-btn,.unlink-btn,.adopt-btn,.delete-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.edit-btn{background:#ffffff1a;color:#fff}.edit-btn:hover{background:#fff3}.save-btn{background:#4caf50;color:#fff}.cancel-btn{background:#757575;color:#fff}.unlink-btn{background:#f443361a;color:#ff5252;border:1px solid rgba(244,67,54,.3)}.unlink-btn:hover{background:#f44336;color:#fff}.delete-btn{background:#f443361a;color:#ff5252;border:1px solid rgba(244,67,54,.3)}.delete-btn:hover:not(:disabled){background:#f44336;color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.adopt-btn{background:var(--primary-color);color:#fff}.adopt-btn.pending{background:#ff9800;cursor:not-allowed;opacity:.8}.admin-toggle{padding:.3rem .8rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#aaa;cursor:pointer;font-size:.75rem;transition:all .2s}.admin-toggle.is-admin{background:#2196f333;color:#64b5f6;border-color:#2196f3}.admin-toggle:hover:not(:disabled){border-color:var(--primary-color)}.admin-toggle:disabled{opacity:.5;cursor:not-allowed}.email-cell,.linked-players-cell{font-family:monospace;color:#aaa;font-size:.9rem}.no-players{text-align:center;padding:3rem;color:#888}.admin-adoption-container{max-width:1000px;margin:2rem auto;padding:0 1rem}.admin-adoption-container h1{color:var(--primary-color);margin-bottom:2rem}.request-section{margin-bottom:3rem}.request-section h2{color:#ccc;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.request-list{display:flex;flex-direction:column;gap:1rem}.request-card{background:#ffffff0d;padding:1.5rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.request-card.pending{border-left:4px solid var(--primary-color)}.request-card.processed{opacity:.7}.request-card.approved{border-left:4px solid #4caf50}.request-card.denied{border-left:4px solid #f44336}.request-info{flex:1}.user-email{font-size:.9rem;color:#888;margin-bottom:.25rem}.player-name{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.25rem}.request-date{font-size:.8rem;color:#666}.request-actions{display:flex;gap:.75rem}.approve-button,.deny-button{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.approve-button{background:#4caf50;color:#fff}.approve-button:hover:not(:disabled){background:#43a047}.deny-button{background:#f44336;color:#fff}.deny-button:hover:not(:disabled){background:#d32f2f}.delete-button{background:#ffffff1a;color:#ff5252;border:1px solid rgba(244,67,54,.3);padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.delete-button:hover:not(:disabled){background:#f44336;color:#fff}.delete-button:disabled{opacity:.5;cursor:not-allowed}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:700}.approved .status-badge{background:#4caf5033;color:#81c784}.denied .status-badge{background:#f4433633;color:#e57373}.no-requests{text-align:center;color:#666;padding:2rem;background:#ffffff05;border-radius:8px}.loading{text-align:center;padding:4rem;color:#888}@media(max-width:600px){.request-card{flex-direction:column;align-items:flex-start}.request-actions{width:100%}.approve-button,.deny-button,.delete-button{flex:1}}
