*{box-sizing:border-box;margin:0;padding:0}:root{--brand-main: #b2fce4;--brand-dark: #8fd9c4;--brand-text: #00193a;--white: #ffffff;--gray-light: #f5f5f5;--gray: #e0e0e0;--gray-dark: #666666;--black: #1a1a1a;--red: #d32f2f;--gold: #ffc107;--silver: #90a4ae;--bronze: #cd7f32;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1)}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--gray-light);color:var(--black);line-height:1.5;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--brand-main);color:var(--black);padding:1.25rem;text-align:center;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:.5rem}.header-logo{height:1.5rem;width:auto}.header h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.main{flex:1;padding:1rem 1rem 5rem;max-width:600px;margin:0 auto;width:100%}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--white);display:flex;justify-content:space-around;padding:.75rem 0;border-top:1px solid var(--gray);z-index:100}.nav a{color:var(--gray-dark);text-decoration:none;font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-lg);transition:all .2s ease}.nav a.active{color:var(--black);background:var(--brand-main)}.page{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.25rem;color:var(--brand-text)}.card{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md)}.card h3{font-size:1rem;font-weight:600;color:var(--brand-text);margin-bottom:.75rem}.card.success-card{background:#b2fce44d;border-left:4px solid var(--brand-main);border-radius:var(--radius-md)}.card.success-card h3{color:var(--brand-text)}.btn{display:inline-block;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--gray);color:var(--black);-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-main);color:var(--black)}.btn-primary:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-large{width:100%;padding:1rem;font-size:1.125rem}.btn-small{padding:.5rem 1rem;font-size:.875rem;border-radius:var(--radius-md)}.btn-link{background:transparent;color:var(--black);padding:.5rem;border-radius:var(--radius-md)}.btn-remove{background:transparent;color:var(--red);border:none;padding:.25rem .5rem;font-size:.875rem;cursor:pointer}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--gray-dark)}.input{width:100%;padding:1rem;border:2px solid var(--gray);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease}.input:focus{outline:none;border-color:var(--brand-main);box-shadow:0 0 0 3px #b2fce44d}.player-list{list-style:none;background:var(--white);border:1px solid var(--gray);border-radius:var(--radius-md);max-height:200px;overflow-y:auto;margin-top:.5rem}.player-list li{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--gray);transition:background .2s}.player-list li:last-child{border-bottom:none}.player-list li:hover,.player-list li.highlighted{background:var(--gray-light)}.player-list li.no-results{color:var(--gray-dark);font-style:italic;cursor:default}.player-list li.no-results:hover{background:var(--white)}.player-list li.taken{color:var(--gray-dark);cursor:not-allowed;opacity:.6;display:flex;justify-content:space-between;align-items:center}.player-list li.taken:hover{background:var(--white)}.player-list li .taken-team{font-size:.75rem;color:var(--gray-dark);font-style:italic}.player-select{position:relative}.player-select .player-list{position:absolute;left:0;right:0;z-index:10;box-shadow:0 4px 6px #0000001a}.selected-player{display:flex;justify-content:space-between;align-items:center;background:var(--gray-light);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:.5rem}.selected-players{margin-bottom:.75rem}.team-players{list-style:none}.team-players li{padding:.5rem 0;border-bottom:1px solid var(--gray);display:flex;justify-content:space-between;align-items:center}.team-players li:last-child{border-bottom:none}.captain-badge{background:var(--gold);color:var(--black);padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.matches-list{list-style:none}.match-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gray)}.match-item:last-child{border-bottom:none}.match-info{display:flex;flex-direction:column}.match-round{font-size:.75rem;color:var(--gray-dark)}.match-opponent{font-weight:500}.match-result{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600}.result-won{background:#b2fce480;color:var(--brand-text)}.result-lost{background:#ffcdd2;color:var(--red)}.result-draw{background:var(--gray);color:var(--gray-dark)}.round-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab{flex:1;padding:.75rem;background:var(--white);border:2px solid var(--gray);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tab.active{background:var(--brand-main);border-color:var(--brand-main);color:var(--black)}.tab:hover:not(.active){border-color:var(--brand-main)}.fixtures-list{display:flex;flex-direction:column;gap:1rem}.fixture-card{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-md)}.fixture-card.completed{opacity:.8}.fixture-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.rink-badge{background:var(--brand-main);color:var(--black);padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.status-badge{background:var(--gray);color:var(--gray-dark);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.fixture-teams{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.fixture-teams .team{flex:1;text-align:center;font-weight:600;padding:.625rem;background:var(--gray-light);border-radius:var(--radius-md)}.fixture-teams .team.team-link{text-decoration:none;color:var(--brand-text);cursor:pointer;transition:background-color .2s,color .2s}.fixture-teams .team.team-link:hover{background:var(--brand-main);color:var(--brand-text)}.fixture-teams .team.winner{background:#b2fce480;color:var(--brand-text)}.fixture-teams .team.winner.team-link:hover{background:var(--brand-main);color:var(--brand-text)}.fixture-teams .vs{color:var(--gray-dark);font-size:.875rem}.fixture-result{text-align:center;margin-top:.75rem;color:var(--gray-dark);font-size:.875rem}.fixture-score-btn{display:block;margin-top:.75rem;text-align:center}.match-header{display:flex;justify-content:space-between;margin-bottom:1rem}.match-teams-large{text-align:center}.team-name{font-size:1.25rem;font-weight:600;padding:.5rem}.vs-large{color:var(--gray-dark);font-size:1rem;padding:.5rem}.winner-buttons{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.winner-btn{padding:1rem;border:2px solid var(--gray);border-radius:var(--radius-lg);background:var(--white);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.winner-btn:hover:not(.selected){border-color:var(--brand-main)}.winner-btn.selected{border-color:var(--brand-main);background:#b2fce44d;color:var(--brand-text)}.winner-btn.draw{background:var(--gray-light)}.leaderboard{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.leaderboard-header,.leaderboard-row{display:grid;grid-template-columns:2rem 1fr repeat(4,2rem) 2.5rem;gap:.5rem;padding:.75rem 1rem;align-items:center}.leaderboard-header{background:var(--brand-main);color:var(--black);font-size:.75rem;font-weight:600}.leaderboard-row{border-bottom:1px solid var(--gray)}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.top-1{background:#ffc10733}.leaderboard-row.top-2{background:#90a4ae33}.leaderboard-row.top-3{background:#cd7f3233}.leaderboard-row .rank{font-weight:600;color:var(--brand-text)}.leaderboard-row .team{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-row .team.team-link{text-decoration:none;color:var(--brand-text);cursor:pointer}.leaderboard-row .team.team-link:hover{color:var(--brand-text);text-decoration:underline}.leaderboard-row .stat{text-align:center;color:var(--gray-dark);font-size:.875rem}.leaderboard-row .points{text-align:center;font-weight:600;color:var(--brand-text)}.status-list{display:flex;flex-direction:column;gap:.5rem}.status-list>div{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--gray)}.status-list>div:last-child{border-bottom:none}.status-list dt{color:var(--gray-dark)}.status-list dd{font-weight:500}.loading{text-align:center;padding:2rem;color:var(--gray-dark)}.error{background:#ffcdd2;color:var(--red);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-weight:500}.message{background:#b2fce480;color:var(--brand-text);padding:.75rem 1rem;border-radius:var(--radius-md);margin-top:1rem}.registered-message{background:#b2fce480;color:var(--brand-text);padding:.5rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;text-align:center}.status-text{color:var(--gray-dark);margin-bottom:1rem}.auto-refresh{text-align:center;color:var(--gray-dark);font-size:.75rem;margin-top:1rem}.small{font-size:.875rem;color:var(--gray-dark)}.links{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.team-list,.roster-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.team-row,.roster-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--gray-light);border-radius:var(--radius-md)}.team-info{display:flex;flex-direction:column;gap:.25rem}.team-actions{display:flex;gap:.5rem}.btn-danger{background:#ffcdd2;color:var(--red)}.btn-danger:hover:not(:disabled){background:#ef9a9a}.add-player-form{display:flex;gap:.5rem;margin-bottom:1rem}.add-player-form .input{flex:1}.add-player-form .btn{white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-md)}.modal h3{margin-bottom:1rem;color:var(--brand-text);font-weight:600}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.edit-player-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.edit-player-row .player-select{flex:1}.draw-actions{margin-top:1rem}.draw-actions .small{margin-top:.5rem}
