:root{--hifk-red: #C8102E;--hifk-red-dark: #9A0C23;--hifk-red-light: #E52E4D;--bg-primary: #0D0D0D;--bg-secondary: #1A1A1A;--bg-card: #242424;--bg-card-hover: #2D2D2D;--bg-input: #1F1F1F;--text-primary: #FFFFFF;--text-secondary: #B3B3B3;--text-muted: #666666;--accent: var(--hifk-red);--accent-hover: var(--hifk-red-light);--accent-glow: rgba(200, 16, 46, .4);--success: #22C55E;--warning: #F59E0B;--error: #EF4444;--border-color: #333333;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--shadow-sm: 0 2px 4px 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);--shadow-glow: 0 0 20px var(--accent-glow);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading: "Barlow Condensed", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 40px;--font-size-4xl: 48px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-primary);background-image:linear-gradient(rgba(0,0,0,.85),rgba(0,0,0,.7)),url(/hifk-bg.jpg);background-size:cover;background-position:center;background-attachment:fixed;color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:600px;margin:0 auto;padding:var(--space-md)}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:transparent}.page-header{text-align:center;margin-bottom:var(--space-xl)}.card{background:rgba(24,24,24,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--border-radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.08);width:100%;max-width:520px}.card-glass{background:rgba(36,36,36,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-header{text-align:center;margin-bottom:var(--space-lg)}.card-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-sm)}.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:.02em}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent)}.highlight{color:var(--accent);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--hifk-red-dark) 100%);color:var(--text-primary);box-shadow:var(--shadow-sm),var(--shadow-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent) 100%);transform:translateY(-2px);box-shadow:var(--shadow-md),0 0 30px var(--accent-glow)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent)}.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-outline:hover:not(:disabled){background:var(--accent);color:var(--text-primary)}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-lg)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-weight:500;color:var(--text-secondary);font-size:var(--font-size-sm)}.form-input{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-family:inherit;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder{color:var(--text-muted)}.form-input-lg{padding:var(--space-lg);font-size:var(--font-size-lg)}.form-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;text-align:center;font-weight:700;font-size:var(--font-size-2xl)}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.form-select{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-family:inherit;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.form-select:focus{outline:none;border-color:var(--accent)}.score-input{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.score-team{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);flex:1}.score-team-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.score-input-field{width:80px;height:80px;text-align:center;font-size:var(--font-size-3xl);font-weight:800;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);transition:all var(--transition-fast)}.score-input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.score-separator{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-muted)}.time-input{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.time-input-field{width:80px;height:80px;text-align:center;font-size:var(--font-size-3xl);font-weight:800;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);transition:all var(--transition-fast)}.time-input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.time-separator{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-muted)}.game-card{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(200,16,46,.1) 100%);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-xl);text-align:center;margin-bottom:var(--space-lg)}.game-teams{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.game-team{font-size:var(--font-size-xl);font-weight:700}.game-vs{font-size:var(--font-size-base);color:var(--text-muted);font-weight:500}.game-datetime{color:var(--text-secondary);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.game-type-badge{display:inline-block;padding:var(--space-xs) var(--space-md);background:var(--accent);color:#fff;border-radius:20px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-md)}.result-display{text-align:center;padding:var(--space-xl)}.result-score{font-size:var(--font-size-4xl);font-weight:800;margin:var(--space-md) 0}.result-time{font-size:var(--font-size-3xl);font-weight:800;color:var(--accent);margin:var(--space-md) 0}.winner-card{background:linear-gradient(135deg,rgba(200,16,46,.2) 0%,var(--bg-card) 100%);border:2px solid var(--accent);border-radius:var(--border-radius-lg);padding:var(--space-xl);margin:var(--space-xl) 0;text-align:center;position:relative;overflow:hidden}.winner-card:before{content:"🏆";position:absolute;top:-20px;right:-20px;font-size:100px;opacity:.1}.winner-label{font-size:var(--font-size-sm);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:var(--space-sm)}.winner-name{font-size:var(--font-size-2xl);font-weight:800}.winner-guess{color:var(--text-secondary);font-size:var(--font-size-lg);margin-top:var(--space-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);border-radius:var(--border-radius-lg);max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.modal-title{font-size:var(--font-size-lg);font-weight:700}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--space-sm);line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-lg);overflow-y:auto;flex:1}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-lg);border-top:1px solid var(--border-color);background:rgba(0,0,0,.2)}.confirm-modal{max-width:400px}.confirm-modal .modal-body p{color:var(--text-secondary);line-height:1.6}.prompt-modal{max-width:450px}.prompt-modal .modal-header h3{font-size:1.125rem}.time-input-group{display:flex;align-items:center;gap:.5rem}.time-input-group input{width:80px;text-align:center}.time-input-group span{font-size:1.5rem;color:var(--text-secondary)}.participant-list{list-style:none}.participant-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.participant-item:last-child{border-bottom:none}.participant-item:hover{background:var(--bg-secondary)}.participant-name{font-weight:600}.participant-guess{color:var(--accent);font-weight:700;font-size:var(--font-size-lg)}.participant-diff{color:var(--text-muted);font-size:var(--font-size-sm);margin-left:var(--space-sm)}.badge{display:inline-block;padding:var(--space-xs) var(--space-md);border-radius:20px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-active{background:var(--success);color:#fff}.badge-closed{background:var(--text-muted);color:#fff}.badge-draft{background:var(--warning);color:#000}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.alert-success{background:rgba(34,197,94,.1);border:1px solid var(--success);color:var(--success)}.alert-error{background:rgba(239,68,68,.1);border:1px solid var(--error);color:var(--error)}.alert-warning{background:rgba(245,158,11,.1);border:1px solid var(--warning);color:var(--warning)}.alert-info{background:rgba(200,16,46,.1);border:1px solid var(--accent);color:var(--accent)}.logo{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.logo-hifk{font-size:var(--font-size-4xl);font-weight:800;color:var(--accent);letter-spacing:.1em;text-shadow:0 0 30px var(--accent-glow)}.logo-subtitle{font-size:var(--font-size-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.2em}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease}.slide-up{animation:slideUp var(--transition-slow) ease}@media(max-width:480px){:root{--font-size-3xl: 32px;--font-size-4xl: 40px}.card{padding:var(--space-lg)}.score-input-field,.time-input-field{width:60px;height:60px;font-size:var(--font-size-2xl)}.game-teams{flex-direction:column;gap:var(--space-sm)}.game-vs{display:none}}.admin-grid{display:grid;gap:var(--space-lg)}.admin-section{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--space-lg);border:1px solid var(--border-color)}.admin-section-title{font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.status-indicator{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.active{background:var(--success);box-shadow:0 0 10px var(--success)}.status-dot.closed{background:var(--text-muted)}.status-dot.draft{background:var(--warning)}.closed-message{text-align:center;padding:var(--space-2xl)}.closed-icon{font-size:64px;margin-bottom:var(--space-md)}.closed-title{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}.closed-text{color:var(--text-secondary)}.admin-page{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a0a0d,#0a0a0a)}.admin-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:rgba(20,20,20,.95);border-bottom:1px solid rgba(200,16,46,.3);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.admin-nav-brand{display:flex;align-items:center;gap:.75rem}.admin-logo{font-size:1.5rem;font-weight:800;color:var(--hifk-red)}.admin-logo-img{height:40px;width:auto}.admin-title{font-size:1rem;color:var(--text-secondary);font-weight:500}.admin-nav-links{display:flex;align-items:center;gap:1rem}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .2s;font-size:.875rem}.nav-link:hover{color:var(--text-primary);background:rgba(255,255,255,.08)}.admin-container{max-width:1200px;margin:0 auto;padding:2rem}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.admin-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.admin-card{background:rgba(24,24,24,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.08)}.admin-card h2{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.game-card-admin{background:linear-gradient(145deg,var(--bg-card) 0%,rgba(30,30,30,1) 100%);border-radius:16px;overflow:hidden;border:1px solid var(--border-color);transition:all .3s ease}.game-card-admin:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.4);border-color:rgba(200,16,46,.4)}.game-card-admin.active{border-color:rgba(34,197,94,.5);box-shadow:0 0 30px rgba(34,197,94,.15)}.game-card-admin.closed{opacity:.85}.game-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:rgba(0,0,0,.3);border-bottom:1px solid var(--border-color)}.game-id{font-size:.75rem;color:var(--text-muted);font-family:monospace}.game-card-body{padding:1.25rem}.game-matchup{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.game-matchup .team{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.game-matchup .team.home{color:var(--hifk-red)}.game-matchup .vs{color:var(--text-muted);font-size:.875rem;font-weight:500}.game-meta{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.game-stats{display:flex;align-items:center;justify-content:center;gap:1.5rem}.game-stats .stat{font-size:.875rem;color:var(--text-secondary)}.game-stats .stat.result{color:var(--hifk-red);font-weight:600}.game-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem;background:rgba(0,0,0,.2);border-top:1px solid var(--border-color)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge-draft{background:rgba(245,158,11,.2);color:#f59e0b}.badge-active{background:rgba(34,197,94,.2);color:#22c55e}.badge-closed{background:rgba(100,100,100,.2);color:#888}.edit-form{padding:1.25rem;background:rgba(0,0,0,.3);border-top:1px solid var(--border-color)}.edit-form h4{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:600}.btn-block{width:100%}.btn-sm{padding:.5rem .875rem;font-size:.8125rem}.btn-danger{background:rgba(239,68,68,.2);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:rgba(239,68,68,.35);border-color:rgba(239,68,68,.5)}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:16px;border:1px dashed var(--border-color)}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.empty-state p{color:var(--text-secondary)}.slide-up{animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.admin-nav{flex-direction:column;gap:1rem;padding:1rem}.admin-nav-links{width:100%;justify-content:center;flex-wrap:wrap}.admin-header{flex-direction:column;gap:1rem;text-align:center}.games-grid{grid-template-columns:1fr}.admin-container{padding:1rem}.form-grid{grid-template-columns:1fr}}.team-logo-sm{width:28px;height:28px;object-fit:contain}.team-logo-md{width:48px;height:48px;object-fit:contain}.team-logo-lg{width:80px;height:80px;object-fit:contain}.team-select-display{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-weight:600}.game-matchup-logos{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem;padding:.5rem 0}.team-with-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem}.team-with-logo .team-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.team-with-logo .team-name.home{color:var(--hifk-red)}.vs-badge{font-size:.75rem;font-weight:700;color:var(--text-muted);background:rgba(255,255,255,.08);padding:.35rem .75rem;border-radius:12px}
