:root{--brand-dark: rgb(12, 13, 13);--brand-light: rgb(236, 237, 237);--brand-gray: rgb(152, 154, 154);--brand-gray-dark: rgb(94, 94, 94);--accent-blue: #3b82f6;--accent-blue-light: #60a5fa;--success-500: #22c55e;--success-600: #16a34a;--success-50: rgba(34, 197, 94, .1);--error-500: #ef4444;--error-600: #dc2626;--error-50: rgba(239, 68, 68, .1);--warning-500: #f59e0b;--warning-50: rgba(245, 158, 11, .1);--bg-primary: var(--brand-dark);--bg-secondary: rgb(20, 21, 21);--bg-tertiary: rgb(30, 31, 31);--bg-elevated: rgb(25, 26, 26);--text-primary: var(--brand-light);--text-secondary: var(--brand-gray);--text-tertiary: var(--brand-gray-dark);--border-color: rgba(152, 154, 154, .2);--border-hover: rgba(152, 154, 154, .4);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Monaco", "Cascadia Code", "Roboto Mono", monospace;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3rem);font-weight:900}h2{font-size:clamp(1.5rem,4vw,2.375rem);font-weight:700}h3{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600}h4{font-size:clamp(1.125rem,2.5vw,1.375rem);font-weight:600}p{line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:1rem;font-weight:600;line-height:1;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;text-decoration:none;white-space:nowrap;min-height:44px;-webkit-tap-highlight-color:transparent}.button-primary{background:var(--accent-blue);color:#fff;box-shadow:0 4px 12px #3b82f64d}.button-primary:hover:not(:disabled){background:var(--accent-blue-light);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.button-primary:active:not(:disabled){transform:translateY(0)}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-secondary{background:var(--bg-elevated);color:var(--text-primary);border:2px solid var(--border-color)}.button-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.button-ghost{background:transparent;color:var(--text-secondary)}.button-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.button-full{width:100%}.button-lg{padding:var(--space-4) var(--space-8);font-size:1.125rem;min-height:52px}.input{width:100%;padding:var(--space-3) var(--space-4);font-size:1rem;line-height:1.5;color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-base);min-height:44px}.input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f633}.input:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.5}.input::placeholder{color:var(--text-tertiary)}.input-lg{padding:var(--space-4) var(--space-5);font-size:1.125rem;min-height:52px}.select{width:100%;padding:var(--space-3) var(--space-4);font-size:1rem;color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-height:44px}.select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f633}.checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-blue)}.card{background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-base)}.card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--border-color)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:#3b82f626;color:var(--accent-blue-light);border:1px solid rgba(59,130,246,.3)}.badge-success{background:var(--success-50);color:var(--success-500);border:1px solid rgba(34,197,94,.3)}.badge-warning{background:var(--warning-50);color:var(--warning-500);border:1px solid rgba(245,158,11,.3)}.badge-error{background:var(--error-50);color:var(--error-500);border:1px solid rgba(239,68,68,.3)}.alert{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex;align-items:start;gap:var(--space-3);border:1px solid}.alert-success{background:var(--success-50);color:var(--success-500);border-color:#22c55e4d;border-left:4px solid var(--success-500)}.alert-error{background:var(--error-50);color:var(--error-500);border-color:#ef44444d;border-left:4px solid var(--error-500)}.alert-warning{background:var(--warning-50);color:var(--warning-500);border-color:#f59e0b4d;border-left:4px solid var(--warning-500)}.loading{text-align:center;padding:var(--space-12);color:var(--text-secondary)}.spinner{display:inline-block;width:24px;height:24px;border:3px solid rgba(152,154,154,.2);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-secondary)}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.5}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}@media (min-width: 768px){.container{padding:0 var(--space-6)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp var(--transition-slow) cubic-bezier(.16,1,.3,1)}.animate-scaleIn{animation:scaleIn var(--transition-base) ease-out}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-600)}.text-error{color:var(--error-600)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.hidden{display:none}.block{display:block}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop,.show-mobile{display:none!important}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-dark);padding:var(--space-4);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-20px,20px) rotate(5deg)}}.login-container{background:var(--bg-elevated);border:1px solid var(--border-color);padding:var(--space-8);border-radius:var(--radius-2xl);box-shadow:0 20px 60px #00000080;width:100%;max-width:460px;position:relative;z-index:1;animation:scaleIn var(--transition-slow) ease-out}.login-container h2{color:var(--text-primary);margin-bottom:var(--space-2);text-align:center;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.login-container img{max-width:200px;margin:var(--space-4) auto var(--space-6);display:block}.login-container>.text-center>p{color:var(--text-secondary);margin-bottom:var(--space-8)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-form h2{font-size:1.5rem;margin-bottom:var(--space-2);text-align:center}.link-button{background:none;border:none;color:var(--accent-blue);cursor:pointer;font-size:.9375rem;padding:var(--space-3);text-decoration:underline;transition:color var(--transition-base)}.link-button:hover{color:var(--accent-blue-light)}.dashboard{min-height:100vh;display:flex;flex-direction:column;padding-bottom:calc(80px + var(--safe-area-inset-bottom))}.dashboard-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-2) var(--space-4);position:relative;z-index:var(--z-sticky)}.dashboard-header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);max-width:1200px;margin:0 auto}.dashboard-header h1{font-size:clamp(1.5rem,4vw,2rem);color:var(--text-primary);margin-bottom:var(--space-1);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.dashboard-header p{color:var(--text-secondary);font-size:.9375rem}.user-info{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.division-badge,.admin-badge,.user-badge{background-color:#3b82f626;color:var(--accent-blue-light);border:1px solid rgba(59,130,246,.3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.admin-badge{background-color:var(--warning-50);color:var(--warning-500);border:1px solid rgba(245,158,11,.3)}.user-badge{background-color:#989a9a26;color:var(--text-secondary);border:1px solid var(--border-color)}.button-header{padding:var(--space-2) var(--space-4);background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.button-header:hover{background-color:var(--bg-tertiary);border-color:var(--border-hover)}.dashboard-content{flex:1;padding:var(--space-4);max-width:1200px;margin:0 auto;width:100%}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-elevated);border-top:1px solid var(--border-color);padding:var(--space-2) var(--space-2) calc(var(--space-2) + var(--safe-area-inset-bottom));display:flex;justify-content:space-around;align-items:center;z-index:var(--z-fixed);box-shadow:0 -2px 10px #0000004d}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-lg);color:var(--text-tertiary);text-decoration:none;transition:all var(--transition-base);flex:1;max-width:100px;cursor:pointer;background:none;border:none;font-family:inherit}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item.active{color:var(--accent-blue);background:#3b82f61a}.mobile-nav-icon{font-size:1.5rem;line-height:1}.mobile-nav-label{font-size:.6875rem;font-weight:600;text-align:center}.desktop-tabs{display:none;padding:0 var(--space-4);max-width:1200px;margin:0 auto;width:100%}.desktop-tab{padding:var(--space-4) var(--space-6);background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-heading)}.desktop-tab:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.desktop-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}@media (min-width: 768px){.mobile-nav{display:none}.desktop-tabs{display:flex}.dashboard{padding-bottom:0}.dashboard-content{padding:var(--space-8)}}.match-submission{animation:fadeIn var(--transition-base) ease-out}.match-submission .card,.match-submission-header{margin-bottom:var(--space-6)}.match-submission-header h2{margin-bottom:var(--space-2)}.subtitle{color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.submission-form{display:flex;flex-direction:column;gap:var(--space-4)}.input-group{display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width: 768px){.input-group{flex-direction:row}}.info-box{background:var(--bg-secondary);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.info-box h3{margin-bottom:var(--space-4);color:var(--text-primary)}.info-box ul{list-style-position:outside;margin-left:var(--space-6);color:var(--text-secondary)}.info-box li{margin-bottom:var(--space-2);line-height:1.6}.info-box ul ul{margin-top:var(--space-2)}.point-examples{background:var(--bg-primary);padding:var(--space-4);border-radius:var(--radius-lg);margin-top:var(--space-4);border-left:4px solid var(--accent-blue);border:1px solid var(--border-color);border-left-width:4px;border-left-color:var(--accent-blue)}.point-examples p{margin-bottom:var(--space-1);color:var(--text-secondary);font-size:.9375rem}.point-examples strong{color:var(--text-primary)}.leaderboard-view{animation:fadeIn var(--transition-base) ease-out}.section-header,.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.section-header h2,.leaderboard-header h2{margin:0}.leaderboard-cards{display:grid;gap:var(--space-3)}.leaderboard-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);transition:all var(--transition-base);display:flex;gap:var(--space-3)}.leaderboard-card:active{transform:scale(.98)}.leaderboard-card.highlight{background:#3b82f61a;border:2px solid var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue)}.card-rank{display:flex;align-items:center;justify-content:center;min-width:56px;flex-shrink:0}.rank-number{font-size:1.5rem;font-weight:700;color:var(--text-secondary);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px solid var(--border-color)}.medal{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:900;color:#fff;box-shadow:var(--shadow-md);text-shadow:0 2px 4px rgba(0,0,0,.2)}.medal-1{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.medal-2{background:linear-gradient(135deg,#d1d5db,#9ca3af)}.medal-3{background:linear-gradient(135deg,#d97706,#92400e)}.card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.team-name{font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.total-points{font-size:1.5rem;font-weight:900;color:var(--accent-blue);white-space:nowrap;flex-shrink:0;line-height:1}.card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.stat{display:flex;flex-direction:column;gap:var(--space-1);background:var(--bg-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color)}.stat-label{font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1}.leaderboard-table{width:100%;border-collapse:collapse;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;display:none}.leaderboard-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.leaderboard-table th{padding:var(--space-4) var(--space-5);text-align:left;font-weight:600;color:var(--text-secondary);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.leaderboard-table td{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color)}.leaderboard-table tr.highlight{background:#3b82f61a}@media (min-width: 768px){.leaderboard-cards{display:none}.leaderboard-table{display:table}}.admin-panel{animation:fadeIn var(--transition-base) ease-out}.admin-panel h2{margin-bottom:var(--space-6)}.admin-section{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6)}.admin-section h3{margin-bottom:var(--space-4);font-size:1.25rem}.create-form{display:flex;flex-direction:column;gap:var(--space-3);max-width:600px}@media (min-width: 768px){.create-form{flex-direction:row}}.divisions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.division-card{background:var(--bg-secondary);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-base);margin:10px 0}.division-card:hover{transform:translateY(-2px);border-color:var(--border-hover)}.division-card h4{margin-bottom:var(--space-2);color:var(--text-primary)}.division-stats{display:flex;gap:var(--space-4);color:var(--text-secondary);font-size:.875rem}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--space-6) * -1);padding:0 var(--space-6)}.admin-table{width:100%;border-collapse:collapse;min-width:600px}.admin-table thead{background:var(--bg-secondary)}.admin-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--text-secondary);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.admin-table td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color);font-size:.9375rem}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-4)}.loading-screen .spinner{width:48px;height:48px;border-width:4px}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.stat-icon{font-size:2rem;line-height:1;opacity:.8}.stat-value{font-size:2.5rem;font-weight:900;line-height:1;color:var(--text-primary)}.stat-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat-sublabel{font-size:.75rem;color:var(--text-tertiary)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}.collapsible-section{overflow:hidden}.collapsible-header{width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);transition:opacity var(--transition-base)}.collapsible-header:hover{opacity:.8}.collapse-icon{font-size:.875rem;color:var(--text-secondary);display:inline-block;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.collapsible-content{animation-duration:.2s}.section-badge{background:var(--accent-blue);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;min-width:24px;text-align:center}
