@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1;--primary-800: #075985;--primary-900: #0c4a6e;--neutral-50: #fafafa;--neutral-100: #f4f4f5;--neutral-200: #e4e4e7;--neutral-300: #d4d4d8;--neutral-400: #a1a1aa;--neutral-500: #71717a;--neutral-600: #52525b;--neutral-700: #3f3f46;--neutral-800: #27272a;--neutral-900: #18181b;--accent-cyan: #06b6d4;--accent-emerald: #10b981;--accent-amber: #f59e0b;--accent-red: #ef4444;--background: #ffffff;--surface: #fafafa;--surface-elevated: #ffffff;--border: var(--neutral-200);--border-hover: var(--neutral-300);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-tertiary: var(--neutral-500);--text-inverse: #ffffff;--success: var(--accent-emerald);--warning: var(--accent-amber);--error: var(--accent-red);--info: var(--primary-500);--font-family-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Fira Code", "JetBrains Mono", Consolas, Monaco, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--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;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--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);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-tooltip: 1070}@media (prefers-color-scheme: dark){:root{--background: var(--neutral-900);--surface: var(--neutral-800);--surface-elevated: var(--neutral-700);--border: var(--neutral-700);--border-hover: var(--neutral-600);--text-primary: var(--neutral-50);--text-secondary: var(--neutral-300);--text-tertiary: var(--neutral-400)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:var(--leading-normal);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-body);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text-primary);background-color:var(--background);line-height:var(--leading-normal)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:transparent;border:0;cursor:pointer;outline:none;transition:all var(--transition-fast)}button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background-color:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}@media (max-width: 640px){html{font-size:14px}}@media (max-width: 480px){html{font-size:13px}}.team-cell{text-align:center}.team-name{font-weight:var(--font-medium);color:var(--text-primary)}.score-cell{position:relative;cursor:pointer;transition:background-color .2s ease}.score-cell:hover{background-color:var(--neutral-700)}.score-main{font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-family);color:var(--text-primary);margin-bottom:var(--space-1)}.score-breakdown{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.2}.breakdown-line{margin-bottom:1px}.mass-cell{text-align:center;font-weight:var(--font-medium);font-family:var(--font-family)}.power-cell{text-align:center;font-weight:var(--font-medium);font-family:var(--font-family);color:var(--success-600)}.temp-drop-cell,.time-cell,.temp-cell,.rate-cell{text-align:center;font-weight:var(--font-medium);font-family:var(--font-family)}.scoreboard{width:100%;position:relative}.scoreboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-20);text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:var(--text-lg);color:var(--text-secondary);font-weight:var(--font-medium)}.scoreboard-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.controls-left{display:flex;align-items:center;gap:var(--space-4)}.controls-right{display:flex;align-items:center;gap:var(--space-3)}.live-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--success);color:#fff;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.live-dot{width:8px;height:8px;background:currentColor;border-radius:50%;animation:pulse 2s infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:hover:not(:disabled){background:var(--surface);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-600);border-color:var(--primary-600)}.btn-icon{font-size:var(--text-base)}.error-message{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:var(--error);margin-bottom:var(--space-6)}.error-icon{font-size:var(--text-lg)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-20) var(--space-8);text-align:center}.empty-icon{font-size:4rem;color:var(--text-tertiary);margin-bottom:var(--space-4)}.empty-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-description{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:400px}.scoreboard-table-container{overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.scoreboard-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface-elevated);font-size:var(--text-sm)}.scoreboard-table thead{background:var(--surface);position:sticky;top:0;z-index:1}.scoreboard-table th{padding:var(--space-4) var(--space-3);text-align:left;font-weight:var(--font-semibold);color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.scoreboard-table th:first-child{padding-left:var(--space-6);border-top-left-radius:var(--radius-xl)}.scoreboard-table th:last-child{padding-right:var(--space-6);border-top-right-radius:var(--radius-xl)}.scoreboard-table tbody tr{transition:all var(--transition-fast);position:relative}.scoreboard-table tbody tr:hover{background:var(--surface)}.scoreboard-table tbody tr:not(:last-child){border-bottom:1px solid var(--border)}.scoreboard-table td{padding:var(--space-4) var(--space-3);vertical-align:middle;color:var(--text-primary)}.scoreboard-table td:first-child{padding-left:var(--space-6)}.scoreboard-table td:last-child{padding-right:var(--space-6)}.rank-header{min-width:35px;width:35px}.scoreboard-table .team-header,.scoreboard-table .score-header,.scoreboard-table .power-header,.scoreboard-table .temp-drop-header,.scoreboard-table .time-header,.scoreboard-table .temp-header,.scoreboard-table .mass-header,.scoreboard-table .rate-header{text-align:center!important}.rank-cell{text-align:center;font-weight:var(--font-bold);font-size:var(--text-base)}.medal{font-size:var(--text-lg);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.position-1{background:linear-gradient(135deg,#ffd7001a,#ffd7000d);border-left:4px solid gold}.position-2{background:linear-gradient(135deg,#c0c0c01a,#c0c0c00d);border-left:4px solid silver}.position-3{background:linear-gradient(135deg,#cd7f321a,#cd7f320d);border-left:4px solid #cd7f32}.participant-cell{font-weight:var(--font-semibold);color:var(--text-primary);min-width:120px}.participant-name{font-size:var(--text-base);font-weight:var(--font-bold)}.score-cell{font-weight:var(--font-bold);font-size:var(--text-base);color:var(--primary-600);font-family:var(--font-family);text-align:center}.temp-cell,.time-cell,.rate-cell{font-family:var(--font-family);color:var(--text-secondary)}.temp-drop-cell{font-family:var(--font-family);font-weight:var(--font-semibold);color:var(--accent-cyan)}.beverage-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--neutral-100);color:var(--text-secondary);border-radius:var(--radius-base);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:capitalize}@media (max-width: 1024px){.scoreboard-table th:nth-child(n+7),.scoreboard-table td:nth-child(n+7){display:none}}@media (max-width: 768px){.scoreboard-table th:nth-child(n+6),.scoreboard-table td:nth-child(n+6){display:none}.scoreboard-controls{flex-direction:column;align-items:stretch;gap:var(--space-3)}.controls-left,.controls-right{justify-content:space-between}}@media (max-width: 640px){.scoreboard-table th:nth-child(n+5),.scoreboard-table td:nth-child(n+5){display:none}.scoreboard-table th,.scoreboard-table td{padding:var(--space-3) var(--space-2)}.scoreboard-table th:first-child,.scoreboard-table td:first-child{padding-left:var(--space-4)}.scoreboard-table th:last-child,.scoreboard-table td:last-child{padding-right:var(--space-4)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scoreboard-table tbody tr.new-entry{animation:slideInUp .5s ease-out}.performance-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:var(--space-2)}.performance-excellent{background:var(--success)}.performance-good{background:var(--accent-emerald)}.performance-average{background:var(--warning)}.performance-poor{background:var(--error)}.admin-panel{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 4px 12px #0000001a;overflow:hidden;max-height:0;transition:max-height .3s ease-in-out;opacity:0}.admin-panel-open{max-height:75vh;opacity:1}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);background:var(--surface)}.panel-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.panel-close{background:none;border:none;font-size:var(--text-xl);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);transition:all .2s ease}.panel-close:hover{background:var(--neutral-200);color:var(--text-primary)}.admin-panel-content{padding:var(--space-4);max-width:1200px;margin:0 auto;overflow-y:auto;max-height:calc(75vh - 60px)}.admin-form{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-6)}.form-section{display:flex;flex-direction:column;gap:var(--space-3)}.section-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1);padding-bottom:var(--space-1);border-bottom:2px solid var(--primary-500)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-row.triple{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-label.required:after{content:" *";color:var(--error-500)}.form-input,.form-textarea{padding:var(--space-3);border:1px solid var(--neutral-400);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all .2s ease;background:var(--neutral-800);color:var(--neutral-100)}.form-input::placeholder,.form-textarea::placeholder{color:var(--neutral-400)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f633;background:var(--neutral-700)}.form-textarea{resize:vertical;min-height:80px}.submit-button{background:var(--primary-600);color:#fff;border:none;padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2);align-self:flex-start}.submit-button:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px)}.submit-button:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none}.submit-button-icon{font-size:var(--text-lg)}.message{padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-4)}.message.success{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-200)}.message.error{background:var(--error-50);color:var(--error-700);border:1px solid var(--error-200)}@media (max-width: 768px){.admin-panel-content{padding:var(--space-4)}.form-row,.form-row.triple{grid-template-columns:1fr}.admin-panel-open{max-height:85vh}.admin-panel-content{max-height:calc(85vh - 60px)}}@media (max-width: 480px){.admin-panel-header{padding:var(--space-3) var(--space-4)}.panel-title{font-size:var(--text-lg)}.admin-toggle{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}}#root{min-height:100vh;background:var(--background)}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;background:transparent}.app-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--neutral-900);border-bottom:1px solid var(--neutral-700);padding:var(--space-4) 0;transition:all var(--transition-base)}.app-header.scrolled{background:var(--neutral-800);box-shadow:var(--shadow-md)}.header-content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);gap:var(--space-8)}.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--font-bold);font-size:var(--text-xl);color:#fff;text-decoration:none}.brand-icon{font-size:var(--text-2xl);color:var(--primary-500)}.brand-text{display:flex;flex-direction:column;line-height:var(--leading-tight)}.brand-title{font-size:var(--text-lg);font-weight:var(--font-bold)}.brand-subtitle{font-size:var(--text-sm);color:var(--neutral-300);font-weight:var(--font-medium)}.nav{display:flex;align-items:center;gap:var(--space-4);margin-left:auto;flex-shrink:0}.nav-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--neutral-800);border:1px solid var(--neutral-700);border-radius:var(--radius-xl);font-size:var(--text-sm);color:var(--neutral-300)}.stat-item{display:flex;align-items:center;gap:var(--space-2)}.stat-value{font-weight:var(--font-semibold);color:#fff}.app-main{flex:1;display:flex;flex-direction:column;max-width:1280px;margin:0 auto;width:100%;padding:var(--space-8) var(--space-6);gap:var(--space-8)}.app-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}.card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.card-header{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}.card-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2);text-align:center}.card-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.card-content{padding:var(--space-6)}.status-indicator{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--success);color:var(--text-inverse);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.status-indicator.loading{background:var(--warning)}.status-indicator.error{background:var(--error)}.status-dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;animation:pulse 2s infinite}.app-footer{margin-top:auto;background:var(--surface);border-top:1px solid var(--border);padding:var(--space-8) var(--space-6);text-align:center}.footer-content{max-width:1280px;margin:0 auto}.footer-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.admin-toggle{background:var(--primary-600);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-2)}.admin-toggle:hover{background:var(--primary-700);transform:translateY(-1px)}.admin-toggle:active{transform:translateY(0)}.admin-toggle.active{background:var(--neutral-600);color:var(--neutral-200)}.admin-toggle.active:hover{background:var(--neutral-500)}@media (max-width: 1024px){.header-content{padding:0 var(--space-4)}.app-main{padding:var(--space-6) var(--space-4);gap:var(--space-6)}}@media (max-width: 768px){.header-content{flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}.brand{flex:1;min-width:0}.nav{flex:0 0 auto}.brand-subtitle,.nav-stats{display:none}.app-main{padding:var(--space-4);gap:var(--space-4)}.card-header,.card-content{padding:var(--space-4)}}@media (max-width: 640px){.header-content{padding:0 var(--space-3)}.brand{font-size:var(--text-lg)}.brand-icon{font-size:var(--text-xl)}.nav-stats{display:none}.app-main{padding:var(--space-3)}}
