*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--c-bg: #0b0e14;--c-surface: #151921;--c-surface-hover: #1c2130;--c-border: #252a36;--c-text: #e4e6eb;--c-text-secondary: #8b92a5;--c-text-muted: #565e73;--c-primary: #e8384f;--c-primary-hover: #f04e63;--c-primary-light: rgba(232, 56, 79, .12);--c-danger: #ef4444;--c-danger-hover: #f87171;--c-navy: #0d1017;--c-navy-light: #151921;--c-gold: #f59e0b;--c-gold-bg: rgba(245, 158, 11, .1);--c-gold-border: rgba(245, 158, 11, .25);--c-error-bg: rgba(232, 56, 79, .1);--c-input-bg: #1c2130;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--transition: .2s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;background:var(--c-bg);color:var(--c-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}input::placeholder{color:var(--c-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition);white-space:nowrap}.btn:hover{background:var(--c-surface-hover);box-shadow:var(--shadow-sm)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);box-shadow:0 4px 12px #c41e3a4d}.btn-danger{background:var(--c-danger);color:#fff;border-color:var(--c-danger)}.btn-danger:hover{background:var(--c-danger-hover);border-color:var(--c-danger-hover)}.btn-sm{padding:.35rem .75rem;font-size:.8rem;border-radius:6px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.navbar{display:flex;justify-content:space-between;align-items:center;background:var(--c-navy);color:#fff;padding:.75rem 1.5rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.nav-brand{color:#fff;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em}.nav-brand:hover{text-decoration:none;opacity:.9}.nav-logo{height:34px;width:34px;filter:invert(1) brightness(.9)}.nav-right{display:flex;align-items:center;gap:.75rem}.nav-user{color:#ffffffb3;font-size:.85rem;font-weight:500}.navbar .btn-sm{background:#ffffff1a;border-color:#fff3;color:#fff}.navbar .btn-sm:hover{background:#fff3}.container{max-width:840px;margin:0 auto;padding:1.5rem}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#080a0f,#0d1017,#111520);padding:1rem}.auth-card{background:var(--c-surface);padding:2.5rem;border-radius:var(--radius-lg);width:100%;max-width:420px;text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--c-border)}.auth-card h1{color:var(--c-primary);margin-bottom:.25rem;font-size:1.75rem;letter-spacing:-.02em}.subtitle{color:var(--c-text-secondary);margin-bottom:2rem;font-size:.95rem}.auth-card form{display:flex;flex-direction:column;gap:.875rem}.auth-card input{padding:.8rem 1rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.95rem;transition:border-color var(--transition),box-shadow var(--transition);outline:none;background:var(--c-input-bg);color:var(--c-text)}.auth-card input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-light)}.auth-card .btn-primary{margin-top:.5rem;padding:.8rem;font-size:1rem}.auth-link{margin-top:1.5rem;font-size:.9rem;color:var(--c-text-secondary)}.error{background:var(--c-error-bg);color:var(--c-primary);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;border:1px solid rgba(196,30,58,.15)}.page{padding-top:.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;gap:1rem}.page-header h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.header-actions{display:flex;gap:.5rem;flex-shrink:0}.league-meta{color:var(--c-text-secondary);font-size:.875rem;margin-top:.25rem}.join-section{margin-bottom:2rem;background:var(--c-surface);padding:1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.join-form{display:flex;gap:.5rem}.join-form input{flex:1;padding:.6rem 1rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.9rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition);background:var(--c-input-bg);color:var(--c-text)}.join-form input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-light)}.league-list{display:flex;flex-direction:column;gap:.75rem}.league-card{display:block;background:var(--c-surface);padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--c-border);color:inherit;transition:all var(--transition);box-shadow:var(--shadow-sm)}.league-card:hover{border-color:var(--c-primary);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.league-card h3{margin-bottom:.35rem;font-size:1.1rem;letter-spacing:-.01em}.league-card p{font-size:.875rem;color:var(--c-text-secondary)}.league-owner{font-size:.8rem!important;color:var(--c-text-muted)!important;margin-top:.25rem}.form-card{display:flex;flex-direction:column;gap:1.25rem;background:var(--c-surface);padding:1.75rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);max-width:440px}.form-card label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:600;color:var(--c-text)}.form-card input{padding:.65rem .9rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.95rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition);background:var(--c-input-bg);color:var(--c-text)}.form-card input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-light)}.invite-code-box{background:var(--c-gold-bg);border:1px solid var(--c-gold-border);padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.75rem;font-size:.9rem;display:flex;align-items:center;gap:.75rem;color:var(--c-gold);font-weight:500}.invite-code-box code{background:#f59e0b26;padding:.3rem .75rem;border-radius:6px;font-weight:700;font-size:1.1rem;letter-spacing:.1em;color:var(--c-text);border:1px solid var(--c-gold-border)}.standings{display:flex;flex-direction:column;gap:.625rem}.standings h3{font-size:1.1rem;margin-bottom:.5rem}.team-rank-row{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--transition);box-shadow:var(--shadow-sm)}.team-rank-row:hover{box-shadow:var(--shadow-md)}.team-rank-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;transition:background var(--transition);-webkit-user-select:none;user-select:none}.team-rank-header:hover{background:var(--c-surface-hover)}.rank{font-weight:800;font-size:1rem;min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--c-primary-light);color:var(--c-primary);border-radius:var(--radius-full);flex-shrink:0}.team-name{font-weight:600;flex:1;font-size:.95rem}.team-owner{color:var(--c-text-muted);font-size:.8rem}.team-hr{font-weight:700;font-size:1.05rem;color:var(--c-primary);background:var(--c-primary-light);padding:.25rem .75rem;border-radius:var(--radius-full);white-space:nowrap}.expand-icon{color:var(--c-text-muted);font-size:.7rem;transition:transform var(--transition);flex-shrink:0}.team-players-list{padding:.75rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--c-border);background:var(--c-surface-hover)}.player-card{display:flex;align-items:center;gap:.875rem;padding:.75rem;background:var(--c-surface);border-radius:var(--radius-sm);border:1px solid var(--c-border);transition:box-shadow var(--transition)}.player-card:hover{box-shadow:var(--shadow-sm)}.player-headshot{width:52px;height:52px;border-radius:var(--radius-full);object-fit:cover;background:var(--c-bg);border:2px solid var(--c-border);flex-shrink:0}.player-info{flex:1;min-width:0}.player-name{font-weight:600;display:block;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--c-text)}a.player-name:hover{color:var(--c-primary)}.player-team{font-size:.8rem;color:var(--c-text-secondary);margin-top:.1rem}.player-hr{font-weight:700;color:var(--c-primary);font-size:.95rem;white-space:nowrap}.roster-section{margin-bottom:2rem}.roster-section h3,.search-section h3{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.roster-list{display:flex;flex-direction:column;gap:.5rem}.search-section{margin-top:1.5rem;background:var(--c-surface);padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--c-border);box-shadow:var(--shadow-sm)}.search-form{display:flex;gap:.5rem;margin-bottom:1rem}.search-form input{flex:1;padding:.6rem 1rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.9rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition);background:var(--c-input-bg);color:var(--c-text)}.search-form input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-light)}.search-results{display:flex;flex-direction:column;gap:.5rem}.search-result-row{display:flex;align-items:center;gap:.875rem;padding:.625rem .875rem;background:var(--c-surface-hover);border:1px solid var(--c-border);border-radius:var(--radius-sm);transition:all var(--transition)}.search-result-row:hover{border-color:var(--c-primary)}.search-headshot{width:44px;height:44px;border-radius:var(--radius-full);object-fit:cover;background:var(--c-bg);border:2px solid var(--c-border);flex-shrink:0}.search-info{flex:1;display:flex;flex-direction:column;min-width:0}.search-info .player-name{font-size:.9rem}.search-info .player-team{font-size:.8rem}.empty-text{color:var(--c-text-muted);font-style:italic;padding:1.5rem 0;text-align:center}@media(max-width:640px){.container{padding:1rem}.navbar{padding:.625rem 1rem}.nav-brand{font-size:1.1rem}.nav-logo{height:28px;width:28px}.nav-user{display:none}.auth-card{padding:1.75rem 1.5rem}.auth-card h1{font-size:1.4rem}.page-header{flex-direction:column;gap:.75rem}.page-header h2{font-size:1.25rem}.header-actions{width:100%}.header-actions .btn{flex:1}.join-form{flex-direction:column}.form-card{max-width:100%}.team-rank-header{padding:.875rem 1rem;gap:.5rem}.rank{min-width:2rem;height:2rem;font-size:.85rem}.team-name{font-size:.875rem}.team-owner{display:none}.team-hr{font-size:.9rem;padding:.2rem .6rem}.team-players-list{padding:.625rem .75rem 1rem}.player-card{gap:.625rem;padding:.625rem}.player-headshot{width:44px;height:44px}.player-name{font-size:.875rem}.search-section{padding:1rem}.search-form{flex-direction:column}.search-result-row{gap:.625rem;padding:.5rem .625rem}.search-headshot{width:38px;height:38px}.invite-code-box{flex-direction:column;text-align:center;gap:.5rem}}@media(max-width:380px){.container{padding:.75rem}.auth-card{padding:1.5rem 1.25rem}.player-headshot{width:38px;height:38px}.search-headshot{width:34px;height:34px}}
