body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--text);margin:0;font-weight:500}p{margin:0}:root{--bg:#ece9ff;--surface:#fff;--surface-muted:#f5f3ff;--border:#d9dcf3;--border-strong:#a8b2d1;--text:#111827;--text-muted:#5b6b88;--primary:#2f5bff;--primary-dark:#1d3ecf;--primary-subtle:#eaf0ff;--danger:#e61c1c;--danger-bg:#9f131345;--focus:#9bb8ff;--radius:.9rem;--shadow:0 16px 40px #11182714;--nav-bg:#f5f7fbeb;--nav-btn-bg:#eaf0ff;--nav-btn-text:#1d3ecf}@media (prefers-color-scheme:dark){:root{--bg:#0f1117;--surface:#1a1d27;--surface-muted:#22263a;--border:#2e3350;--border-strong:#4a5280;--text:#e8eaf6;--text-muted:#c7c8dc;--primary:#5b7fff;--primary-dark:#93b4ff;--primary-subtle:#1e2d5a;--danger:#ff8080;--danger-bg:#4a2020;--focus:#3d5aff;--shadow:0 16px 40px #0006;--nav-bg:#161c2df2;--nav-btn-bg:#1e2d5a;--nav-btn-text:#93b4ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Open Sans,sans-serif;font-weight:400}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;height:60px;padding:0 32px;display:flex}.site-header a{color:inherit;text-decoration:none}.site-logo{color:var(--primary);letter-spacing:-.5px;font-size:20px}.site-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:center;align-items:center;margin-top:auto;padding:16px;display:flex}.footer-github{color:var(--text-muted);transition:color .15s;display:flex}.footer-github:hover{color:var(--text)}.home-main{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.home-hero-img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.home-main:before{content:"";z-index:1;background:linear-gradient(#0000008c 0%,#00000059 100%);position:absolute;inset:0}.main-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:28px;padding:80px 24px;display:flex;position:relative}.main-content h1{letter-spacing:-1.5px;color:#fff;text-shadow:0 2px 12px #0006;font-size:56px}.main-content>p{color:#fffc;font-size:18px}.role-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.role-btn{border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;padding:14px 36px;font-family:inherit;font-size:16px;font-weight:500;transition:border-color .15s,background .15s}.role-btn:hover{background:#ffffff38;border-color:#fffc}.notfound-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.notfound-code{color:var(--primary);font-size:96px;font-weight:700;line-height:1}.notfound-main h2{font-size:24px}.notfound-main p{color:var(--text-muted)}.notfound-main a{color:var(--primary);margin-top:8px;font-weight:500;text-decoration:none}.notfound-main a:hover{text-decoration:underline}.notfound-back-btn{color:var(--primary);font-size:inherit;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-family:inherit;font-weight:500}.notfound-back-btn:hover{text-decoration:underline}.loading-main{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.about-main{flex:1;justify-content:center;padding:48px 24px;display:flex}.about-card{flex-direction:column;gap:12px;width:min(100%,48rem);display:flex}.about-card h1{margin-bottom:4px;font-size:2rem}.about-card h2{margin-top:12px;font-size:1.1rem}.about-card p{color:var(--text-muted);line-height:1.6}.auth-main{flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-card{flex-direction:column;gap:16px;width:min(100%,24rem);display:flex}.auth-card h1{font-size:1.75rem}.auth-form{flex-direction:column;gap:8px;display:flex}.auth-form label{color:var(--text);font-size:.875rem;font-weight:600}.auth-form input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);height:2.75rem;color:var(--text);padding:0 .75rem;font-family:inherit;font-size:1rem;transition:border-color .14s,box-shadow .14s}.auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--focus);outline:none}.auth-form button{border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;border:0;height:2.75rem;margin-top:8px;font-family:inherit;font-size:1rem;font-weight:600;transition:background .14s}.auth-form button:hover{background:var(--primary-dark)}.auth-form button:focus-visible{box-shadow:0 0 0 4px var(--focus);outline:none}.auth-footer-text{color:var(--text-muted);text-align:center;font-size:.875rem}.auth-footer-text a{color:var(--primary);font-weight:500;text-decoration:none}.auth-footer-text a:hover{text-decoration:underline}.org-main{flex:1;justify-content:center;padding:2rem 1rem;display:flex}.org-container{flex-direction:column;gap:1.25rem;width:min(100%,52rem);display:flex}.org-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.org-header h1{font-size:1.75rem}.org-new-btn{border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;border:0;height:2.5rem;padding:0 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .14s}.org-new-btn:hover{background:var(--primary-dark)}.org-back-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:.9rem;font-weight:500}.org-back-btn:hover{text-decoration:underline}.org-tournament-list{flex-direction:column;gap:.75rem;display:flex}.org-tournament-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-family:inherit;transition:border-color .14s,box-shadow .14s;display:flex}.org-tournament-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus)}.org-tournament-info{flex-direction:column;gap:.25rem;display:flex}.org-tournament-name{color:var(--text);font-size:1rem;font-weight:600}.org-tournament-meta{color:var(--text-muted);font-size:.82rem}.org-status{text-transform:uppercase;letter-spacing:.04em;border-radius:2rem;flex-shrink:0;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.org-status--upcoming{background:var(--surface-muted);color:var(--text-muted)}.org-status--active{color:#065f46;background:#d1fae5}.org-status--completed{background:var(--primary-subtle);color:var(--primary-dark)}@media (prefers-color-scheme:dark){.org-status--active{color:#6ee7b7;background:#064e3b}}.org-meta-row{color:var(--text-muted);flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem;display:flex}.org-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;display:grid}.org-dashboard-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem;padding:1.25rem}.org-dashboard-card h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.org-dashboard-stat{color:var(--text);font-size:2rem;font-weight:700;line-height:1}.coach-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.coach-section h2{font-size:1rem;font-weight:700}.coach-empty{color:var(--text-muted);font-size:.9rem}.org-dashboard-stat--alert{color:var(--danger)}.dash-tabs{border-bottom:1px solid var(--border);gap:.25rem;display:flex}.dash-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:color .12s,border-color .12s}.dash-tab:hover{color:var(--text)}.dash-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.dash-section{flex-direction:column;gap:1rem;display:flex}.dash-section h2{color:var(--text);font-size:1rem;font-weight:700}.dash-round-summary{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.dash-round-label{min-width:4.5rem;font-weight:700}.dash-round-date{color:var(--text-muted);min-width:7rem}.dash-round-progress{color:var(--text-muted)}.dash-missing{color:var(--danger);font-weight:600}.dash-round-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.95rem;font-weight:700}.dash-pairings{flex-direction:column;gap:.75rem;margin-bottom:.5rem;display:flex}.dash-pairing-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;flex-direction:column;gap:.6rem;padding:1rem 1.25rem;display:flex}.dash-pairing-header{justify-content:space-between;align-items:center;display:flex}.dash-courtroom{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.78rem;font-weight:700}.dash-matchup{flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;display:flex}.dash-vs{color:var(--text-muted);font-style:italic;font-weight:400}.dash-scoresheets{border-top:1px solid var(--border);flex-direction:column;gap:.35rem;padding-top:.6rem;display:flex}.dash-scoresheet-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.dash-judge-name{color:var(--text-muted)}.ss-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:2rem;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.ss-chip--submitted{color:#065f46;background:#d1fae5}.ss-chip--pending{background:var(--surface-muted);color:var(--text-muted)}.ss-chip--missing{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}@media (prefers-color-scheme:dark){.ss-chip--submitted{color:#6ee7b7;background:#064e3b}}.dash-standings-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--surface);border-radius:1rem;width:100%;font-size:.9rem;overflow:hidden}.dash-standings-table th,.dash-standings-table td{border-bottom:1px solid var(--border);text-align:left;padding:.65rem .9rem}.dash-standings-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-muted);font-size:.75rem;font-weight:700}.dash-standings-table tbody tr:last-child td{border-bottom:none}.dash-standings-table tbody tr:hover td{background:var(--surface-muted)}.dash-team-code{font-weight:700}.dash-diff--pos{color:#059669;font-weight:600}.dash-diff--neg{color:var(--danger);font-weight:600}.dash-invites-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dash-remove-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.2rem .4rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .12s}.dash-remove-btn:hover{background:var(--danger-bg)}.confirm-btn-danger{background:var(--danger)!important;color:#fff!important}.confirm-btn-danger:hover{opacity:.9}.coach-view-banner{background:var(--primary-subtle);color:var(--primary-dark);border-radius:.5rem;align-self:flex-start;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.dash-school-link{color:var(--primary);font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-weight:600;text-decoration:underline}.dash-assign-btn{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:.4rem;padding:.2rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s}.dash-assign-btn:hover{background:var(--primary-subtle)}.dash-view-btn{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;border-radius:.4rem;padding:.2rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s}.dash-view-btn:hover{background:var(--surface-muted)}.dash-scorer-badge{color:var(--text-muted);background:var(--surface-muted);border-radius:.3rem;padding:.15rem .4rem;font-size:.72rem}.dash-presider-badge{color:#065f46;background:#d1fae5;border-radius:.3rem;padding:.15rem .4rem;font-size:.72rem;font-weight:600}.dash-presider-slot{min-width:4rem;display:inline-block}@media (prefers-color-scheme:dark){.dash-presider-badge{color:#6ee7b7;background:#064e3b}}.dash-scorer-select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);height:2rem;color:var(--text);cursor:pointer;padding:0 .5rem;font-family:inherit;font-size:.85rem}.dash-presider-label{color:var(--text-muted);cursor:pointer;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.dash-presider-label input{cursor:pointer}.modal-backdrop{z-index:10000;background:#0f172a80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.confirm-modal{background:var(--surface);overscroll-behavior:contain;border-radius:1.25rem;width:min(100%,30rem);max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 24px 60px #0f172a4d}.confirm-modal h2{margin:0 0 .4rem;font-size:1.2rem}.confirm-modal>p{color:var(--text);margin:0 0 .25rem;font-size:.9rem}.nominee-ranking{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.nominee-ranking h3{margin:0 0 .25rem;font-size:1rem}.nominee-ranking>p{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.nominee-rank-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.nominee-rank-row:last-of-type{border-bottom:none}.nominee-info{flex:1;gap:.15rem;display:grid}.nominee-roles{color:var(--text-muted);font-size:.8rem;line-height:1.4}.nominee-side{color:var(--text-muted);font-size:.85em;font-weight:600}.rank-selection{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-width:7.5rem;min-height:2.5rem;color:var(--text);text-align:center;text-align-last:center;cursor:pointer;padding:0 .5rem;font-size:.95rem;font-weight:700}.rank-selection:focus-visible{box-shadow:0 0 0 4px var(--focus);outline:none}.ranking-error{border:2px solid var(--danger);background:var(--danger-bg);color:var(--text);border-radius:.4rem;margin-top:.75rem;padding:.5rem .65rem;font-size:.85rem;font-weight:700;line-height:1.3}.tiebreaker-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.tiebreaker-section h3{margin:0 0 .25rem;font-size:1rem}.tiebreaker-section>p{color:var(--text);margin:0 0 .75rem;font-size:.85rem}.tiebreaker-options{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.tiebreaker-option{border:2px solid var(--border);background:var(--surface-muted);cursor:pointer;text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:.25rem;min-height:5rem;padding:1rem .75rem;transition:border-color .12s,background .12s;display:flex;position:relative}.tiebreaker-option input[type=radio]{opacity:0;width:0;height:0;position:absolute}.tiebreaker-option--selected{border-color:var(--primary);background:var(--primary-subtle)}.tiebreaker-option--selected:after{content:"✓";color:var(--primary);font-size:.85rem;font-weight:800;position:absolute;top:.4rem;right:.5rem}.tiebreaker-option:focus-within{box-shadow:0 0 0 4px var(--focus);outline:none}.tiebreaker-code{color:var(--text);font-size:2rem;font-weight:900;line-height:1}.tiebreaker-role{letter-spacing:.05em;text-transform:uppercase;color:var(--text);font-size:.75rem;font-weight:600}@media screen and (width<=48rem){.tiebreaker-option{min-height:6rem;padding:1.25rem .75rem}.tiebreaker-code{font-size:2.4rem}}.confirm-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem;display:grid}.confirm-actions button{border-radius:var(--radius);cursor:pointer;border:0;min-height:2.75rem;font-size:.95rem;font-weight:800;transition:background .14s,transform .14s}.confirm-actions button:first-child{color:var(--nav-btn-text);background:var(--nav-btn-bg)}.confirm-actions button:last-child{color:#fff;background:var(--primary);box-shadow:0 8px 18px #1f5eff33}.confirm-actions button:hover:not(:disabled){transform:translateY(-1px)}.confirm-actions button:last-child:hover:not(:disabled){background:var(--primary-dark)}.confirm-actions button:focus-visible{box-shadow:0 0 0 4px var(--focus);outline:none}#confirm-button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}@media screen and (width<=48rem){.confirm-modal{padding:1.25rem}.rank-selection{min-width:8rem;min-height:3rem;font-size:1rem}.confirm-actions button{min-height:3.25rem;font-size:1rem}}
