@import"https://fonts.googleapis.com/css2?family=Teko:wght@400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap";:root{--color-bois: #6B4423;--color-bois-light: #8B5A2B;--color-bois-lighter: #A67C52;--color-sable: #E8DCC4;--color-sable-mid: #D4C4A8;--color-sable-dark: #C4B896;--color-palmier: #2D5A27;--color-palmier-mid: #3D7A35;--color-palmier-light: #5A9A4E;--color-coco: #C9B896;--color-coco-dark: #B8A078;--color-jungle: #1B3D16;--color-jungle-mid: #2A5C22;--font-family-heading: "Teko", sans-serif;--font-family-body: "Roboto", sans-serif;--font-size: 16px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--background: #0D1117;--foreground: #E8DFD0;--card: #1A1F26;--card-foreground: #E8DFD0;--primary: #FF6B35;--primary-foreground: #FFFFFF;--primary-hover: #FF8C42;--warning: #FFA726;--gradient-primary: linear-gradient(145deg, var(--primary-hover) 0%, var(--primary) 42%, #E85D2C 100%);--gradient-primary-hover: linear-gradient(145deg, #ffb078 0%, var(--primary-hover) 45%, var(--primary) 100%);--secondary: #8B6F47;--secondary-foreground: #FFFFFF;--secondary-hover: #9B7F57;--muted: #2D3339;--muted-foreground: #9BA3A8;--accent: #3D6B4F;--accent-foreground: #E8DFD0;--destructive: #D32F2F;--destructive-foreground: #FFFFFF;--success: #4CAF50;--success-foreground: #FFFFFF;--border: #2D3339;--input: #2D3339;--input-background: #1A1F26;--ring: #FF6B35;--radius: .5rem;--radius-sm: .25rem;--radius-lg: .75rem;--fire-glow: rgba(255, 107, 53, .2);--bp-tablet: 768px;--bp-fhd: 1920px;--bp-uhd: 2560px;--layout-max-form-narrow: 32rem;--layout-max-dashboard-tablet: 60rem;--layout-max-dashboard-fhd: 85rem;--layout-max-dashboard-4k: 112rem;--layout-max-home-tablet: 48rem;--layout-max-home-fhd: 56rem;--layout-max-home-4k: 64rem;--layout-max-admin-tablet: 72rem;--layout-max-admin-fhd: 90rem;--layout-max-admin-4k: 112rem;--layout-padding-dashboard-4k-x: 2.5rem;font-family:var(--font-family-body);font-size:var(--font-size);line-height:1.5;color:var(--foreground)}html{font-size:var(--font-size)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);letter-spacing:.05em;text-transform:uppercase;color:var(--foreground)}h1{font-size:3.5rem;font-weight:var(--font-weight-bold);line-height:1.2}h2{font-size:2.5rem;font-weight:var(--font-weight-bold);line-height:1.3}h3{font-size:1.875rem;font-weight:var(--font-weight-medium);line-height:1.4}h4{font-size:1.5rem;font-weight:var(--font-weight-medium);line-height:1.4}p{font-family:var(--font-family-body);font-size:1rem;line-height:1.6}label,.label{display:block;margin-bottom:.25rem;font-family:var(--font-family-body);font-size:.875rem;font-weight:var(--font-weight-medium);line-height:1.5;letter-spacing:.025em;color:var(--foreground)}button{font-family:var(--font-family-body);font-size:1rem;font-weight:var(--font-weight-medium);line-height:1.5;letter-spacing:.05em}input,textarea,select{font-family:var(--font-family-body);font-size:1rem;font-weight:var(--font-weight-normal);line-height:1.5}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--background)}.skip-link{position:absolute;top:-3rem;left:.5rem;padding:.5rem 1rem;background:var(--gradient-primary);color:var(--primary-foreground);z-index:100;text-decoration:none;border-radius:0 0 var(--radius) 0}.skip-link:focus{top:0;outline:3px solid var(--ring);outline-offset:2px}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;text-decoration:none;text-align:center;background:var(--secondary);color:var(--secondary-foreground)}.btn:hover{background:var(--secondary-hover)}.btn-primary{background:var(--gradient-primary);color:var(--primary-foreground)}.btn-primary:hover{background:var(--gradient-primary-hover)}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{background:var(--secondary-hover)}.btn-danger{background:var(--destructive);color:var(--destructive-foreground)}.btn-danger:hover{background:#e53935}.btn-sm{padding:.25rem .5rem;font-size:.875rem;margin-right:.25rem}.btn--primary{background:var(--gradient-primary);color:var(--primary-foreground)}.btn--primary:hover:not(:disabled){background:var(--gradient-primary-hover)}.btn--secondary{background:var(--secondary);color:var(--secondary-foreground)}.btn--secondary:hover:not(:disabled){background:var(--secondary-hover)}.btn--outline{background:transparent;border:1px solid var(--border);color:var(--foreground)}.btn--outline:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn--destructive{background:var(--destructive);color:var(--destructive-foreground)}.btn--destructive:hover:not(:disabled){background:#e53935}.btn--ghost{background:transparent;color:var(--foreground)}.btn--ghost:hover:not(:disabled){background:var(--muted)}.btn--sm{padding:.25rem .5rem;font-size:.875rem}.btn--lg{padding:.75rem 1.5rem;font-size:1.125rem}.btn--icon{padding:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000004d;display:flex;flex-direction:column;gap:1rem}.card__header{margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.card__title{margin:0;font-family:var(--font-family-heading);font-size:1.5rem;font-weight:var(--font-weight-medium);color:var(--foreground)}.card__description{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.card__content{flex:1}.card__footer{display:flex;gap:1rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.input{width:100%;padding:.5rem .75rem;border:1px solid var(--input);border-radius:var(--radius);background:var(--input-background);font-family:var(--font-family-body);font-size:1rem;line-height:1.5;color:var(--foreground);transition:border-color .2s,box-shadow .2s}.input:hover:not(:disabled){border-color:var(--border)}.input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--fire-glow)}.input:disabled{opacity:.6;cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--destructive)}.input.input--sm{padding:.25rem .5rem;font-size:.875rem}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;line-height:1.5}.alert--error{background:#d32f2f33;color:#ffcdd2;border:1px solid var(--destructive)}.alert--success{background:#4caf5033;color:#c8e6c9;border:1px solid #4CAF50}.alert--info{background:#29b6f626;color:#b3e5fc;border:1px solid #29B6F6}.table-container{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:1rem}.table-wrapper{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table thead tr{background-color:var(--muted);border-bottom:1px solid var(--border)}.table th{padding:1rem 1.5rem;text-align:left;color:var(--foreground);font-family:var(--font-family-body);font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:normal}.table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.table tbody tr:hover{background-color:#2d333980}.table tbody tr:last-child{border-bottom:none}.table td{padding:1rem 1.5rem;color:var(--foreground)}.rule-log-scope-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-family:var(--font-family-body);font-weight:var(--font-weight-medium);white-space:nowrap;vertical-align:middle}.rule-log-scope-badge--participant{background-color:var(--success);color:var(--success-foreground)}.rule-log-scope-badge--team{background-color:var(--secondary);color:var(--secondary-foreground)}.rule-log-scope-badge--none{background-color:var(--muted);color:var(--muted-foreground)}.rule-log-points-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.9375rem;font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);letter-spacing:.03em;white-space:nowrap;vertical-align:middle}.rule-log-points-badge--positive{background-color:#4caf5038;color:#a5d6a7;border:1px solid var(--success)}.rule-log-points-badge--negative{background-color:#d32f2f33;color:#ffcdd2;border:1px solid var(--destructive)}.rule-log-points-badge--zero{background-color:var(--muted);color:var(--muted-foreground);border:1px solid var(--border)}.player-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.player-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;min-width:0}.player-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.player-card-title{color:var(--foreground);margin:0;font-size:1.5rem;font-family:var(--font-family-heading);font-weight:var(--font-weight-medium)}.player-card-actions{display:flex;gap:.5rem}.player-card-icon-btn{width:2.5rem;height:2.5rem;padding:0;display:flex;align-items:center;justify-content:center;background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;transition:all .2s}.player-card-icon-btn:hover:not(:disabled){background-color:var(--accent);border-color:var(--primary);color:var(--primary)}.player-card-icon-btn.delete:hover:not(:disabled){background-color:#d32f2f33;border-color:var(--destructive);color:var(--destructive)}.player-card-icon-btn:disabled{opacity:.5;cursor:not-allowed}.player-card-icon{width:1.25rem;height:1.25rem}.player-card-body{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.player-card-points{background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;width:100%;box-sizing:border-box}.player-card-points-icon{width:2.5rem;height:2.5rem;background:var(--gradient-primary);border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fire-glow{box-shadow:0 0 14px var(--fire-glow),0 0 28px #ff6b352e}.player-card-points-svg{width:1.25rem;height:1.25rem;color:#fff}.player-card-points-value{color:var(--foreground);font-size:1.5rem;font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);margin:0}.player-card-candidates{background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;min-width:0;width:100%;box-sizing:border-box;overflow-x:auto}.player-card-assign{margin-bottom:.75rem}.player-card-assign-btn{width:100%;padding:.5rem .75rem;font-size:.875rem;font-family:var(--font-family-body);font-weight:var(--font-weight-medium);color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:var(--radius);cursor:pointer;transition:background-color .2s,color .2s}.player-card-assign-btn:hover:not(:disabled){background:var(--gradient-primary);color:var(--primary-foreground)}.player-card-assign-btn:disabled{opacity:.5;cursor:not-allowed}.player-card-candidates-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;padding:0;margin:0;width:100%;min-width:min-content}.player-card-candidate-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem;padding:.5rem}.player-card-candidate-item.player-card-candidate-empty .player-card-candidate-name{color:var(--muted-foreground);font-style:italic}.player-card-candidate-name{color:var(--foreground);font-family:var(--font-family-body);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:normal;margin:0;flex:1 1 auto;white-space:nowrap}.player-card-candidate-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-family:var(--font-family-body);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:normal;flex-shrink:0}.player-card-candidate-badge.active{background-color:var(--success);color:var(--success-foreground)}.player-card-candidate-badge.eliminated{background-color:var(--destructive);color:var(--destructive-foreground)}.player-card-candidate-badge.medical{background-color:#1565c0;color:#e3f2fd}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--foreground)}.form-group input,.form-group select,.form-group .input{width:100%;max-width:20rem}.form-group input:hover,.form-group input:focus,.form-group select:hover,.form-group select:focus,.form-group .input:hover,.form-group .input:focus{border-color:var(--ring)}.form-error{padding:.5rem;margin-bottom:1rem;background:#d32f2f33;color:#ffcdd2;border:1px solid var(--destructive);border-radius:var(--radius)}.form-card h2,.admin-card h2{margin-top:0;margin-bottom:1rem;color:var(--foreground)}.form-inline{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.form-inline .form-group{margin-bottom:0}.form-inline .form-group input,.form-inline .form-group select,.form-inline .form-group .input{max-width:none}.form-actions{display:flex;gap:1rem;margin-top:1rem}.form-hint{font-size:.875rem;color:var(--muted-foreground);margin-top:.25rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.color-text{width:6rem!important}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--background)}.login-main{width:100%;max-width:24rem;padding:2rem;background:var(--card);border-radius:var(--radius-lg);box-shadow:0 4px 12px #0006;border:1px solid var(--border)}.login-main h1{margin-top:0;margin-bottom:.5rem;color:var(--foreground);font-size:1.5rem}.login-subtitle{margin-bottom:1.5rem;color:var(--muted-foreground);font-size:.95rem}.login-form .btn,.login-form button[class*=btn]{width:100%;margin-top:.5rem;padding:.75rem}.home-page{min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.home-header{padding:.75rem 1rem;display:flex;justify-content:flex-end}.home-admin-link{padding:.5rem;color:var(--primary);text-decoration:none;border-radius:var(--radius)}.home-admin-link:hover{background:var(--muted)}.home-admin-icon{font-size:1.5rem}.home-main{flex:1;padding:2rem 1rem;max-width:40rem;margin:0 auto;width:100%}.home-title{margin:0 0 .5rem;color:var(--foreground);font-size:2rem}.home-intro{margin:0 0 1.5rem;color:var(--muted-foreground)}.home-actions{display:flex;flex-direction:column;gap:1rem}.home-card{display:block;padding:1.25rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--foreground);box-shadow:0 1px 3px #0000004d}.home-card:hover{border-color:var(--primary);box-shadow:0 0 20px var(--fire-glow)}.home-card h2{margin:0 0 .5rem;font-size:1.15rem;color:var(--foreground)}.home-card p{margin:0;font-size:.95rem;color:var(--muted-foreground)}.join-game-page,.create-game-page,.game-dashboard-page{min-height:100vh;background:var(--background)}.join-game-main,.create-game-main,.create-game-success,.game-dashboard-main{max-width:var(--layout-max-form-narrow);margin:0 auto;padding:2rem 1rem}.game-dashboard-actions{margin:1rem 0 1.5rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-panel{width:100%;max-width:28rem;max-height:min(90vh,40rem);overflow:auto;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 40px #00000059}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem 0;border-bottom:1px solid var(--border);margin-bottom:.75rem}.modal-title{margin:0;font-size:1.15rem;font-weight:600}.modal-close{flex-shrink:0;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--muted-foreground);font-size:1.5rem;line-height:1;cursor:pointer}.modal-close:hover{color:var(--foreground);background:var(--muted)}.modal-close:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.modal-body{padding:0 1rem 1rem}.create-game-code-label{margin-bottom:.25rem;color:var(--muted-foreground)}.create-game-code{font-size:1.75rem;font-weight:700;letter-spacing:.2em;color:var(--primary);margin:0 0 1rem}.create-game-hint{margin-bottom:1rem;color:var(--muted-foreground)}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.admin-header{background:var(--card);border-bottom:1px solid var(--border);color:var(--foreground);padding:.75rem 1rem;box-shadow:0 2px 4px #0000004d}.admin-nav{display:flex;align-items:center;gap:1rem;max-width:60rem;margin:0 auto}.admin-nav-link{color:var(--foreground);text-decoration:none;font-weight:500}.admin-nav-link:hover{color:var(--primary)}.admin-nav-btn{margin-left:auto;padding:.35rem .75rem;background:transparent;border:1px solid var(--border);color:var(--foreground);border-radius:var(--radius);cursor:pointer;font-size:.9rem}.admin-nav-btn:hover{background:var(--muted);border-color:var(--primary);color:var(--primary)}.admin-main{flex:1;padding:1.5rem 1rem;max-width:60rem;margin:0 auto;width:100%}.admin-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000004d}.admin-loading,.admin-error{padding:1rem;color:var(--foreground)}.admin-error{color:var(--destructive)}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem}.admin-table th,.admin-table td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--border);color:var(--foreground)}.admin-table th{background:var(--muted);font-weight:var(--font-weight-medium);color:var(--foreground)}.admin-table tbody tr:hover td{background-color:#2d333980}.seasons-page h1{margin-top:0;margin-bottom:1rem;color:var(--foreground)}.seasons-page>.btn{margin-bottom:1rem}.seasons-list{margin-top:1rem}.season-detail-page{max-width:56rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--primary);text-decoration:none;font-weight:500}.back-link:hover{color:var(--primary-hover);text-decoration:underline}.season-block p{margin:0 0 .75rem;color:var(--foreground)}.season-block .btn,.season-block form .btn{margin-right:.5rem;margin-bottom:.5rem}.teams-block h2,.participants-block h2{color:var(--foreground)}.teams-list{list-style:none;padding:0;margin:1rem 0 0}.team-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.team-item .team-color{width:1.25rem;height:1.25rem;border-radius:4px;flex-shrink:0}.team-item span:not(.team-color){flex:1}.team-edit input[type=text],.team-edit .color-text{width:8rem;padding:.25rem}@media (max-width: 768px){.admin-nav{flex-wrap:wrap}.admin-nav-btn{margin-left:0;width:100%}.form-inline{flex-direction:column;align-items:stretch}.form-inline .form-group input,.form-inline .form-group select,.form-inline .form-group .input{max-width:100%}.table-container{overflow-x:auto}.admin-table,.table{display:block;overflow-x:auto}.admin-table th,.admin-table td,.table th,.table td{white-space:nowrap}.team-item{flex-wrap:wrap}.team-item .btn,.team-item button{margin-top:.25rem}}@media (min-width: 768px){.game-dashboard-main{max-width:var(--layout-max-dashboard-tablet);padding-left:1.5rem;padding-right:1.5rem}.home-main{max-width:var(--layout-max-home-tablet)}.admin-main,.admin-nav,.season-detail-page{max-width:var(--layout-max-admin-tablet)}}@media (min-width: 1920px){.game-dashboard-main{max-width:var(--layout-max-dashboard-fhd)}.home-main{max-width:var(--layout-max-home-fhd)}.admin-main,.admin-nav,.season-detail-page{max-width:var(--layout-max-admin-fhd)}.player-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}}@media (min-width: 2560px){.game-dashboard-main{max-width:var(--layout-max-dashboard-4k);padding-left:var(--layout-padding-dashboard-4k-x);padding-right:var(--layout-padding-dashboard-4k-x)}.home-main{max-width:var(--layout-max-home-4k)}.admin-main,.admin-nav,.season-detail-page{max-width:var(--layout-max-admin-4k)}.player-card-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.25rem}}
