:root{--bg-primary: #0A0E12;--bg-secondary: #151A1F;--bg-tertiary: #1E2429;--bg-hover: #252B31;--bg-active: #2C3237;--golf-green: #2E7D32;--golf-green-light: #4CAF50;--golf-green-dark: #1B5E20;--golf-green-glow: rgba(46, 125, 50, .3);--golf-green-hover: #388E3C;--text-primary: #FFFFFF;--text-secondary: #B0B8C1;--text-tertiary: #6B7280;--text-muted: #4B5563;--text-disabled: #374151;--color-blanc: #F5F5F5;--color-blanc-bg: #2C3135;--color-blanc-text: #1F2937;--color-blanc-glow: rgba(245, 245, 245, .2);--color-rouge: #EF4444;--color-rouge-hover: #DC2626;--color-rouge-glow: rgba(239, 68, 68, .3);--color-bleu: #3B82F6;--color-bleu-hover: #2563EB;--color-bleu-glow: rgba(59, 130, 246, .3);--color-jaune: #FBBF24;--color-jaune-hover: #F59E0B;--color-jaune-text: #1F2937;--color-jaune-glow: rgba(251, 191, 36, .3);--color-noir: #1F2937;--color-noir-border: #6B7280;--color-noir-text: #F9FAFB;--color-noir-glow: rgba(31, 41, 55, .4);--success: #10B981;--success-hover: #059669;--success-glow: rgba(16, 185, 129, .2);--error: #EF4444;--error-hover: #DC2626;--error-glow: rgba(239, 68, 68, .2);--warning: #F59E0B;--warning-hover: #D97706;--warning-glow: rgba(245, 158, 11, .2);--info: #3B82F6;--info-hover: #2563EB;--info-glow: rgba(59, 130, 246, .2);--border-subtle: #1E2429;--border-normal: #2C3237;--border-strong: #3F444A;--border-accent: #2E7D32;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--glow-green: 0 0 20px var(--golf-green-glow);--glow-accent: 0 0 15px rgba(46, 125, 50, .5);--glow-subtle: 0 0 10px rgba(46, 125, 50, .2);--overlay-dark: rgba(0, 0, 0, .7);--overlay-darker: rgba(0, 0, 0, .85);--overlay-light: rgba(255, 255, 255, .1);--font-2xs: 10px;--font-xs: 11px;--font-sm: 12px;--font-base: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 22px;--font-2xl: 28px;--font-3xl: 36px;--font-4xl: 48px;--lh-tight: 1.25;--lh-normal: 1.5;--lh-relaxed: 1.75;--fw-light: 300;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--ls-tighter: -.05em;--ls-tight: -.025em;--ls-normal: 0;--ls-wide: .025em;--ls-wider: .05em;--space-0: 0;--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;--container-xs: 480px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--max-width-form: 600px;--max-width-content: 900px;--max-width-game: 1200px;--max-width-admin: 1400px;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--border-0: 0;--border-1: 1px;--border-2: 2px;--border-4: 4px;--transition-fast: .15s;--transition-normal: .25s;--transition-slow: .35s;--transition-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--touch-min: 44px;--touch-lg: 56px;--touch-xl: 64px;--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}html{scroll-behavior:smooth;font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-base);font-weight:var(--fw-normal);line-height:var(--lh-normal);min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}h1{font-size:var(--font-3xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}h2{font-size:var(--font-2xl);letter-spacing:var(--ls-tight)}h3{font-size:var(--font-xl)}h4{font-size:var(--font-lg);font-weight:var(--fw-medium)}h5{font-size:var(--font-md);font-weight:var(--fw-medium)}h6{font-size:var(--font-base);font-weight:var(--fw-medium)}p{margin:0;line-height:var(--lh-normal)}a{color:var(--golf-green-light);text-decoration:none;transition:color var(--transition-fast) var(--ease-out)}a:hover{color:var(--golf-green)}strong,b{font-weight:var(--fw-semibold);color:var(--text-primary)}small{font-size:var(--font-sm)}code{font-family:Courier New,Courier,monospace;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.9em;color:var(--golf-green-light)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-md);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}::selection{background:var(--golf-green-glow);color:var(--text-primary)}::-moz-selection{background:var(--golf-green-glow);color:var(--text-primary)}:focus-visible{outline:3px solid var(--golf-green);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--golf-green);color:#fff;padding:var(--space-2) var(--space-4);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-to-main:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--border-normal: #FFFFFF;--border-strong: #FFFFFF;--text-secondary: #FFFFFF}}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.gap-0{gap:var(--space-0)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-full{grid-column:1 / -1}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-12{margin:var(--space-12)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:var(--space-0)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mr-2{margin-right:var(--space-2)}.mr-4{margin-right:var(--space-4)}.mb-0{margin-bottom:var(--space-0)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.ml-2{margin-left:var(--space-2)}.ml-4{margin-left:var(--space-4)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-12{padding:var(--space-12)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pr-4{padding-right:var(--space-4)}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pl-4{padding-left:var(--space-4)}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.w-screen{width:100vw}.max-w-xs{max-width:var(--container-xs)}.max-w-sm{max-width:var(--container-sm)}.max-w-md{max-width:var(--container-md)}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-form{max-width:var(--max-width-form)}.max-w-content{max-width:var(--max-width-content)}.max-w-game{max-width:var(--max-width-game)}.max-w-admin{max-width:var(--max-width-admin)}.min-w-0{min-width:0}.min-w-full{min-width:100%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.font-light{font-weight:var(--fw-light)}.font-normal{font-weight:var(--fw-normal)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.text-2xs{font-size:var(--font-2xs)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.text-4xl{font-size:var(--font-4xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-disabled{color:var(--text-disabled)}.text-success{color:var(--success)}.text-error{color:var(--error)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-golf{color:var(--golf-green)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-hover{background-color:var(--bg-hover)}.bg-success{background-color:var(--success)}.bg-error{background-color:var(--error)}.bg-warning{background-color:var(--warning)}.bg-info{background-color:var(--info)}.bg-golf{background-color:var(--golf-green)}.border{border:var(--border-1) solid var(--border-normal)}.border-0{border:none}.border-subtle{border-color:var(--border-subtle)}.border-normal{border-color:var(--border-normal)}.border-strong{border-color:var(--border-strong)}.border-accent{border-color:var(--border-accent)}.border-t{border-top:var(--border-1) solid var(--border-normal)}.border-r{border-right:var(--border-1) solid var(--border-normal)}.border-b{border-bottom:var(--border-1) solid var(--border-normal)}.border-l{border-left:var(--border-1) solid var(--border-normal)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.glow-green{box-shadow:var(--glow-green)}.glow-accent{box-shadow:var(--glow-accent)}.glow-subtle{box-shadow:var(--glow-subtle)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.z-0{z-index:var(--z-base)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.transition{transition:all var(--transition-normal) var(--ease-in-out)}.transition-fast{transition:all var(--transition-fast) var(--ease-in-out)}.transition-slow{transition:all var(--transition-slow) var(--ease-in-out)}.transition-colors{transition:color,background-color,border-color var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.-rotate-90{transform:rotate(-90deg)}.scale-90{transform:scale(.9)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px;padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:1024px){.container{max-width:1024px;padding-left:var(--space-8);padding-right:var(--space-8)}}@media(min-width:1280px){.container{max-width:1280px}}.gradient-text{background:linear-gradient(135deg,var(--golf-green-light) 0%,var(--golf-green) 50%,var(--golf-green-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.glass{background:#1e2429b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.divider{height:1px;background:var(--border-subtle)}.divider-vertical{width:1px;height:100%;background:var(--border-subtle)}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-center{object-position:center}.object-top{object-position:top}.object-bottom{object-position:bottom}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);min-width:120px;padding:var(--space-3) var(--space-6);font-size:var(--font-base);font-weight:var(--fw-medium);text-align:center;text-decoration:none;white-space:nowrap;border-radius:var(--radius-md);border:1px solid transparent;background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-normal) var(--ease-out);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;transform:none;pointer-events:none}.btn-sm{min-height:36px;min-width:100px;padding:var(--space-2) var(--space-4);font-size:var(--font-sm)}.btn-lg{min-height:var(--touch-lg);min-width:160px;padding:var(--space-4) var(--space-8);font-size:var(--font-lg)}.btn-xl{min-height:var(--touch-xl);min-width:200px;padding:var(--space-5) var(--space-10);font-size:var(--font-xl);font-weight:var(--fw-semibold)}.btn-primary{background:linear-gradient(135deg,var(--golf-green) 0%,var(--golf-green-dark) 100%);color:#fff;border-color:var(--golf-green-dark);box-shadow:var(--shadow-md),var(--glow-subtle)}.btn-primary:hover{background:linear-gradient(135deg,var(--golf-green-light) 0%,var(--golf-green) 100%);box-shadow:var(--shadow-lg),var(--glow-accent);transform:translateY(-2px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-normal)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary);box-shadow:none}.btn-outline{background:transparent;color:var(--golf-green);border-color:var(--golf-green);box-shadow:none}.btn-outline:hover{background:var(--golf-green);color:#fff}.btn-success{background:var(--success);color:#fff;border-color:var(--success-hover);box-shadow:var(--shadow-md),var(--success-glow)}.btn-success:hover{background:var(--success-hover);box-shadow:var(--shadow-lg),var(--success-glow)}.btn-error{background:var(--error);color:#fff;border-color:var(--error-hover);box-shadow:var(--shadow-md),var(--error-glow)}.btn-error:hover{background:var(--error-hover);box-shadow:var(--shadow-lg),var(--error-glow)}.btn-block{width:100%;min-width:auto}.btn-icon{min-width:auto;width:var(--touch-min);padding:var(--space-2)}.btn-icon.btn-lg{width:var(--touch-lg)}.card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);transition:all var(--transition-normal) var(--ease-out)}.card:hover{border-color:var(--border-normal);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-elevated{background:var(--bg-tertiary);box-shadow:var(--shadow-lg)}.card-bordered{border:2px solid var(--border-strong)}.card-subtle{background:var(--bg-secondary);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.card-glow{box-shadow:var(--shadow-lg),var(--glow-green)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--golf-green);box-shadow:var(--shadow-xl),var(--glow-subtle)}.card-interactive:active{transform:translateY(0)}.card-header{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.card-body{padding:var(--space-4) 0}.card-footer{padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:var(--space-4)}.card-title{font-size:var(--font-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.input{width:100%;min-height:var(--touch-min);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-normal);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);font-family:inherit;transition:all var(--transition-normal)}.input:hover{border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--golf-green);box-shadow:0 0 0 3px var(--golf-green-glow);background:var(--bg-secondary)}.input::placeholder{color:var(--text-tertiary)}.input:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary)}.input-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--font-sm)}.input-lg{min-height:var(--touch-lg);padding:var(--space-4) var(--space-6);font-size:var(--font-lg)}.input-error{border-color:var(--error)}.input-error:focus{box-shadow:0 0 0 3px var(--error-glow)}.input-success{border-color:var(--success)}.input-success:focus{box-shadow:0 0 0 3px var(--success-glow)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);font-size:var(--font-xs);font-weight:var(--fw-medium);line-height:1;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:var(--golf-green);color:#fff}.badge-success{background:var(--success);color:#fff}.badge-error{background:var(--error);color:#fff}.badge-warning{background:var(--warning);color:var(--text-primary)}.alert{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);border:1px solid;font-size:var(--font-base);line-height:var(--lh-relaxed)}.alert-info{background:#3b82f61a;border-color:var(--info);color:var(--text-primary)}.alert-success{background:#10b9811a;border-color:var(--success);color:var(--text-primary)}.alert-warning{background:#f59e0b1a;border-color:var(--warning);color:var(--text-primary)}.alert-error{background:#ef44441a;border-color:var(--error);color:var(--text-primary)}.progress{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--golf-green) 0%,var(--golf-green-light) 100%);transition:width var(--transition-slow) var(--ease-out);border-radius:var(--radius-full)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:24px;height:24px;border:3px solid var(--bg-tertiary);border-top-color:var(--golf-green);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner-lg{width:48px;height:48px;border-width:4px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.divider-horizontal{height:1px;width:100%;background:var(--border-subtle);margin:var(--space-6) 0}.divider-text{display:flex;align-items:center;text-align:center;margin:var(--space-6) 0;color:var(--text-tertiary);font-size:var(--font-sm)}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.divider-text:before{margin-right:var(--space-4)}.divider-text:after{margin-left:var(--space-4)}.modal-overlay{position:fixed;inset:0;background:var(--overlay-darker);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-normal);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow:auto;z-index:var(--z-modal)}.tooltip{position:absolute;padding:var(--space-2) var(--space-3);background:var(--bg-hover);color:var(--text-primary);font-size:var(--font-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);white-space:nowrap;pointer-events:none}.btn-color{width:80px;height:80px;min-width:auto;padding:var(--space-2);border:3px solid transparent;border-radius:var(--radius-lg);font-size:var(--font-sm);font-weight:var(--fw-semibold);transition:all var(--transition-normal);cursor:pointer}.btn-color:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.btn-color:active{transform:translateY(-2px)}.btn-color.active{border-color:#fff;box-shadow:var(--shadow-xl);animation:pulse-glow 2s ease-in-out infinite}.btn-color-blanc{background:var(--color-blanc-bg);color:var(--text-primary);border-color:var(--border-strong)}.btn-color-blanc:hover{box-shadow:var(--shadow-lg),var(--color-blanc-glow)}.btn-color-rouge{background:var(--color-rouge);color:#fff}.btn-color-rouge:hover{background:var(--color-rouge-hover);box-shadow:var(--shadow-lg),var(--color-rouge-glow)}.btn-color-bleu{background:var(--color-bleu);color:#fff}.btn-color-bleu:hover{background:var(--color-bleu-hover);box-shadow:var(--shadow-lg),var(--color-bleu-glow)}.btn-color-jaune{background:var(--color-jaune);color:var(--color-jaune-text)}.btn-color-jaune:hover{background:var(--color-jaune-hover);box-shadow:var(--shadow-lg),var(--color-jaune-glow)}.btn-color-noir{background:var(--color-noir);color:var(--color-noir-text);border-color:var(--color-noir-border)}.btn-color-noir:hover{box-shadow:var(--shadow-lg),var(--color-noir-glow)}.score-control{display:inline-flex;align-items:center;gap:var(--space-2)}.score-btn{width:36px;height:36px;min-width:auto;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-normal);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-lg);font-weight:var(--fw-bold);cursor:pointer;transition:all var(--transition-fast)}.score-btn:hover{background:var(--bg-hover);border-color:var(--golf-green);transform:scale(1.1)}.score-btn:active{transform:scale(.95)}.score-value{min-width:60px;text-align:center;font-size:var(--font-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.score-value.positive{color:var(--success)}.score-value.negative{color:var(--error)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-4);padding:var(--space-8) 0}.podium-place{display:flex;flex-direction:column;align-items:center;text-align:center}.podium-rank{font-size:var(--font-4xl);margin-bottom:var(--space-2)}.podium-card{padding:var(--space-6);border-radius:var(--radius-lg);min-width:180px}.podium-first .podium-card{background:linear-gradient(135deg,gold,orange);color:#1f2937;box-shadow:var(--shadow-xl),0 0 30px #ffd70080;min-height:200px}.podium-second .podium-card{background:linear-gradient(135deg,silver,#a8a8a8);color:#1f2937;box-shadow:var(--shadow-lg),0 0 20px #c0c0c066;min-height:160px}.podium-third .podium-card{background:linear-gradient(135deg,#cd7f32,#b87333);color:#fff;box-shadow:var(--shadow-lg),0 0 20px #cd7f3266;min-height:140px}.game-layout{min-height:100vh;background:var(--bg-primary);position:relative}.game-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);padding-right:380px;background:var(--bg-secondary);border-bottom:1px solid var(--border-normal)}.game-content{padding:var(--space-6);padding-right:380px;max-width:100%;min-height:calc(100vh - 120px)}.score-panel{position:fixed;right:0;top:0;height:100vh;width:350px;background:var(--bg-secondary);border-left:1px solid var(--border-normal);box-shadow:-4px 0 8px #0000004d;z-index:950;overflow-y:auto}.score-panel-card{height:100%;border:none;background:transparent}.score-panel-card .ant-card-body{padding:var(--space-4);height:100%;display:flex;flex-direction:column}.score-panel-players{flex:1;overflow-y:auto;margin-bottom:var(--space-4)}.score-panel-footer{margin-top:var(--space-4);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center}.score-panel-collapsed{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:100}.btn-expand-score{height:80px;border-radius:var(--radius-md) 0 0 var(--radius-md);writing-mode:vertical-rl;text-orientation:mixed;padding:var(--space-4) var(--space-2)}.btn-collapse{min-width:40px;min-height:40px;padding:var(--space-2)}.divider-dark{margin:var(--space-4) 0;border-color:var(--border-normal)}@media(max-width:1024px){.game-content{padding-right:var(--space-6)}.score-panel{width:300px}}@media(max-width:768px){.game-header{flex-direction:column;gap:var(--space-4)}.score-panel{width:100%;height:auto;position:relative;border-left:none;border-top:1px solid var(--border-normal)}.game-content{padding-right:var(--space-6)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-md),0 0 10px var(--golf-green-glow)}50%{box-shadow:var(--shadow-lg),0 0 20px var(--golf-green-glow),0 0 30px var(--golf-green-glow)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 5px var(--golf-green-glow))}50%{filter:drop-shadow(0 0 20px var(--golf-green-glow))}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down-fade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn var(--transition-normal) var(--ease-out)}.animate-fadeOut{animation:fadeOut var(--transition-normal) var(--ease-out)}.animate-slideInUp{animation:slideInUp var(--transition-normal) var(--ease-out)}.animate-slideInDown{animation:slideInDown var(--transition-normal) var(--ease-out)}.animate-slideInLeft{animation:slideInLeft var(--transition-normal) var(--ease-out)}.animate-slideInRight{animation:slideInRight var(--transition-normal) var(--ease-out)}.animate-scaleIn{animation:scaleIn var(--transition-normal) var(--ease-out)}.animate-scaleOut{animation:scaleOut var(--transition-normal) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-pulse-glow{animation:pulse-glow 2s var(--ease-in-out) infinite}.animate-shake{animation:shake .5s var(--ease-in-out)}.animate-bounce{animation:bounce 1s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-wiggle{animation:wiggle 1s var(--ease-in-out) infinite}.animate-float{animation:float 3s var(--ease-in-out) infinite}.animate-glow-pulse{animation:glow-pulse 2s var(--ease-in-out) infinite}.animate-delay-75{animation-delay:75ms}.animate-delay-100{animation-delay:.1s}.animate-delay-150{animation-delay:.15s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-700{animation-delay:.7s}.animate-delay-1000{animation-delay:1s}.animate-duration-75{animation-duration:75ms}.animate-duration-100{animation-duration:.1s}.animate-duration-150{animation-duration:.15s}.animate-duration-200{animation-duration:.2s}.animate-duration-300{animation-duration:.3s}.animate-duration-500{animation-duration:.5s}.animate-duration-700{animation-duration:.7s}.animate-duration-1000{animation-duration:1s}.stagger-children>*{animation:slideInUp var(--transition-normal) var(--ease-out)}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.stagger-children>*:nth-child(9){animation-delay:.4s}.stagger-children>*:nth-child(10){animation-delay:.45s}.page-enter{animation:fadeIn var(--transition-slow) var(--ease-out)}.page-exit{animation:fadeOut var(--transition-slow) var(--ease-out)}@keyframes success-checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.success-checkmark{animation:success-checkmark .6s var(--ease-out) forwards}@keyframes error-x{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.error-x{animation:error-x .4s var(--ease-out) forwards}@keyframes loading-dots{0%,20%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}to{opacity:.4;transform:scale(1)}}.loading-dots span{display:inline-block;width:8px;height:8px;margin:0 2px;background:var(--golf-green);border-radius:50%;animation:loading-dots 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:0ms}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:50%;background:#fff9;transform:scale(0);animation:ripple .6s linear;pointer-events:none}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.hover-lift{transition:transform var(--transition-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-normal) var(--ease-out)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-normal) var(--ease-out)}.hover-glow:hover{box-shadow:var(--shadow-lg),var(--glow-accent)}.focus-ring{transition:box-shadow var(--transition-fast)}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px var(--golf-green-glow)}.active-scale{transition:transform var(--transition-fast)}.active-scale:active{transform:scale(.95)}.entrance-fade{animation:fadeIn .6s var(--ease-out) both}.entrance-slide-up{animation:slideInUp .6s var(--ease-out) both}.entrance-scale{animation:scaleIn .4s var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-pulse,.animate-bounce,.animate-spin,.animate-float,.animate-wiggle,.animate-pulse-glow,.animate-glow-pulse{animation:none!important}}:root{--primary-color: #2E7D32;--primary-light: #4CAF50;--primary-dark: #1B5E20;--primary-hover: #388E3C;--success-color: #4CAF50;--success-light: #81C784;--success-dark: #388E3C;--error-color: #F44336;--error-light: #EF5350;--error-dark: #D32F2F;--warning-color: #FF9800;--warning-light: #FFB74D;--warning-dark: #F57C00;--info-color: #2196F3;--info-light: #64B5F6;--info-dark: #1976D2;--color-blanc: #F5F5F5;--color-blanc-text: #424242;--color-rouge: #D32F2F;--color-bleu: #1976D2;--color-jaune: #FBC02D;--color-jaune-text: #424242;--color-noir: #212121;--bg-primary: #FFFFFF;--bg-secondary: #F5F5F5;--bg-tertiary: #EEEEEE;--text-primary: #212121;--text-secondary: #757575;--text-disabled: #BDBDBD;--border-color: #E0E0E0;--shadow-color: rgba(0, 0, 0, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--shadow-sm: 0 2px 4px var(--shadow-color);--shadow-md: 0 4px 8px var(--shadow-color);--shadow-lg: 0 8px 16px var(--shadow-color);--touch-target-min: 44px;--touch-target-lg: 56px;--font-xs: 12px;--font-sm: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 24px;--font-xxl: 32px;--font-xxxl: 48px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-md);line-height:1.5}@media(min-width:768px)and (orientation:landscape){body{font-size:var(--font-lg)}}button,.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast)}button:active,.touch-target:active{transform:scale(.98)}.category-blanc{background-color:var(--color-blanc);color:var(--color-blanc-text);border:2px solid var(--border-color)}.category-rouge{background-color:var(--color-rouge);color:#fff}.category-bleu{background-color:var(--color-bleu);color:#fff}.category-jaune{background-color:var(--color-jaune);color:var(--color-jaune-text)}.category-noir{background-color:var(--color-noir);color:#fff}.text-center{text-align:center}.flex-center{display:flex;justify-content:center;align-items:center}.full-height{height:100vh}.full-width{width:100%}.shadow-md{box-shadow:var(--shadow-md)}.rounded-md{border-radius:var(--radius-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-up{animation:slideUp var(--transition-normal)}.pulse{animation:pulse var(--transition-slow) infinite}html{scroll-behavior:smooth}:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}@media(prefers-contrast:high){:root{--border-color: #000000;--text-secondary: #000000}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#root{width:100%;min-height:100vh;margin:0;padding:0}#root>*{animation:fadeIn .3s ease-out}
