@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";html,body{margin:0;padding:0}#root{min-height:100vh}:root{--bg:#050810;--bg-2:#0c111d;--surface:#ffffff0a;--surface-2:#ffffff0f;--border:#ffffff14;--border-strong:#ffffff29;--text:#f8fafc;--muted:#94a3b8;--dim:#64748b;--green:#0f8;--green-2:#00d27a;--lime:#b8ff5e;--pitch:#0d2818;--accent:#ff3d7f;--accent-2:#ff6b9d;--orange:#ff9100;--gold:#ffd166;--grad-hero:linear-gradient(135deg, #0f8 0%, #b8ff5e 50%, #ffd166 100%);--grad-pink:linear-gradient(135deg, #ff3d7f 0%, #ff9100 100%);--grad-dark:linear-gradient(180deg, #0d2818cc 0%, #05081066 100%);--shadow-glow:0 0 60px #00ff8826;--shadow-card:0 1px 0 #ffffff0d inset, 0 30px 60px -20px #0009;--shadow-btn:0 10px 30px -10px #00ff8880;--r-lg:24px;--r-md:16px;--r-sm:10px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(800px 600px at 5% -10%,#00ff882e,#0000 60%),radial-gradient(700px 500px at 100% 5%,#ff3d7f1f,#0000 60%),radial-gradient(900px 600px at 50% 110%,#b8ff5e14,#0000 60%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 70%);mask-image:radial-gradient(#000 30%,#0000 70%)}.app{z-index:1;max-width:820px;margin:0 auto;padding:28px 20px 100px;position:relative}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.topbar h1{letter-spacing:-.03em;align-items:center;gap:10px;margin:0;font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700;display:flex}.topbar h1 .logo{background:var(--grad-hero);border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:inline-flex;box-shadow:0 8px 24px #0f86}.topbar nav{background:var(--surface);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:999px;gap:2px;padding:5px;display:flex}.topbar nav button{color:var(--muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:999px;padding:9px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:color .2s}.topbar nav button:hover{color:var(--text)}.topbar nav button.on{color:var(--text);background:linear-gradient(135deg,#ffffff1f,#ffffff0a);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff1a}main{flex-direction:column;gap:18px;display:flex}.hero{border-radius:var(--r-lg);background:var(--grad-dark), radial-gradient(circle at 30% 20%, #0f86, transparent 50%), linear-gradient(135deg, #0d2818 0%, #050810 100%);border:1px solid var(--border);box-shadow:var(--shadow-card), var(--shadow-glow);padding:28px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#0000 30%,#0006 70%),repeating-linear-gradient(90deg,#0000 0 60px,#00ff880a 60px 61px);position:absolute;inset:0}.hero:after{content:"⚽";opacity:.04;pointer-events:none;font-size:200px;position:absolute;bottom:-30px;right:-20px;transform:rotate(-15deg)}.hero-content{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:relative}.hero-meta{letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:#00ff881f;border:1px solid #00ff8840;border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.hero-meta .dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 12px var(--green);border-radius:50%;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.hero h2{letter-spacing:-.04em;text-transform:capitalize;background:linear-gradient(#fff 0%,#b8c5d1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700;line-height:1.1}.hero .place{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:15px;display:flex}.hero .countdown{gap:6px;margin-top:18px;display:flex}.hero .countdown .unit{border:1px solid var(--border);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-radius:12px;min-width:60px;padding:10px 14px}.hero .countdown .unit b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700;line-height:1;display:block}.hero .countdown .unit span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px;font-size:10px;display:block}.hero-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.share-btn{letter-spacing:.02em;background:var(--grad-hero)!important;color:#052c14!important;box-shadow:var(--shadow-btn)!important;border:none!important;border-radius:999px!important;padding:14px 22px!important;font-size:14px!important;font-weight:800!important}.share-btn:hover{transform:translateY(-2px)!important;box-shadow:0 14px 40px -10px #00ff88b3!important}.capacity{z-index:1;margin-top:22px;position:relative}.capacity-head{color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.capacity-head b{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700}.capacity-bar{background:#ffffff0f;border-radius:999px;height:8px;position:relative;overflow:hidden}.capacity-bar>div{background:var(--grad-hero);height:100%;box-shadow:0 0 12px var(--green);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.note,.cancelled{z-index:1;border-radius:12px;align-items:center;gap:8px;margin:14px 0 0;padding:10px 14px;font-size:14px;font-weight:500;display:flex;position:relative}.note{color:var(--gold);background:#ffd1661a;border:1px solid #ffd16640}.cancelled{color:var(--accent-2);background:#ff3d7f1f;border:1px solid #ff3d7f4d;font-weight:700}.card{background:linear-gradient(180deg, #ffffff08 0%, #ffffff03 100%), var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);padding:22px;transition:border-color .2s}.card:hover{border-color:var(--border-strong)}.card h3{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700;display:flex}.card .count-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:3px 10px;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:700;display:inline-flex}.card .count-pill.green{color:var(--green);background:#00ff881a;border-color:#00ff8840}.muted{color:var(--muted);font-size:14px;font-weight:400}.form{flex-direction:column;gap:14px;display:flex}.form label{color:var(--dim);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.form label.check{color:var(--text);text-transform:none;letter-spacing:normal;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:row;align-items:center;gap:10px;padding:12px 14px;font-size:15px;font-weight:500}.form label.check input{cursor:pointer;width:auto;accent-color:var(--green)}.form input,.form select,.form textarea{border:1px solid var(--border);color:var(--text);border-radius:var(--r-sm);background:#0000004d;width:100%;padding:13px 16px;font-family:inherit;font-size:15px;font-weight:500;transition:all .2s}.form input::placeholder{color:var(--dim)}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green);background:#00ff880a;outline:none;box-shadow:0 0 0 4px #00ff881f}.form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.form textarea{resize:vertical;min-height:70px}.form .row{flex-direction:row;align-items:stretch;gap:10px;display:flex}.form .row>*{flex:1}.form.row{flex-direction:row;align-items:stretch}.form.row input{flex:1}.form.row button{white-space:nowrap;flex:none}button{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;letter-spacing:.01em;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}button:hover{background:#ffffff14;border-color:#ffffff40}button:active{transform:scale(.98)}button.primary{background:var(--grad-hero);color:var(--pitch);box-shadow:var(--shadow-btn);border:none;font-weight:800}button.primary:hover{transform:translateY(-1px);box-shadow:0 14px 40px -10px #00ff88b3}button.danger{background:var(--grad-pink);color:#fff;border:none;font-weight:700}button.link{color:var(--accent-2);opacity:.7;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}button.link:hover{opacity:1;background:#ff3d7f1a}.players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.players li{background:var(--surface);border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:15px;font-weight:500;transition:all .15s;display:flex}.players li:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translate(2px)}.players li>.player-info{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.avatar{color:#fff;letter-spacing:.02em;text-transform:uppercase;border:2px solid #ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.player-name{flex-direction:column;min-width:0;display:flex}.player-name .name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.player-name b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.signup-time{color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-top:3px;font-size:11px}.num{color:var(--dim);font-variant-numeric:tabular-nums;text-align:center;min-width:22px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700}.players.attente .avatar{opacity:.7;border-style:dashed}.players.attente li{border:1px dashed var(--border);background:0 0}.badge{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);background:#ffffff0f;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.badge.regular{color:var(--green);background:#00ff881a;border-color:#00ff8840}.badge.extras{background:var(--grad-pink);color:#fff;border:none}.badge.mine{color:#a5b4fc;background:#6366f12e;border-color:#6366f166}.empty{text-align:center;color:var(--dim);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-sm);padding:24px 16px;font-size:14px;font-style:italic}.card.pending{text-align:center;background:linear-gradient(135deg, #fbbf240f, #ff91000a), var(--bg-2);border-color:#fbbf2433;padding:28px 22px}.pending-icon{background:#fbbf241f;border:1px solid #fbbf2440;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:10px;font-size:38px;display:inline-flex}.diffusion{background:#fbbf240f;border:1px solid #fbbf2440;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;padding:14px 16px;display:flex}.diffusion.on{background:#00ff880f;border-color:#00ff884d}.diffusion-info{flex:1;min-width:180px}.diffusion-status{margin-bottom:2px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700}.card.rules{background:linear-gradient(135deg, #6366f114, #a855f70a), var(--bg-2);border-color:#a855f733;padding:0;overflow:hidden}.card.rules.open{border-color:#a855f766}.rules-toggle{width:100%;color:var(--text);cursor:pointer;letter-spacing:-.01em;justify-content:flex-start;align-items:center;gap:14px;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;background:0 0!important;border:none!important;padding:18px 22px!important;display:flex!important}.rules-toggle:hover{transform:none;background:#ffffff05!important}.rules-icon{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:inline-flex;box-shadow:0 6px 18px #a855f766}.rules-title{text-align:left;flex:1}.rules-chev{color:var(--muted);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:400;line-height:1;display:inline-flex}.rules-body{white-space:pre-wrap;word-wrap:break-word;color:var(--text);letter-spacing:-.005em;margin:0;padding:4px 22px 22px;font-family:inherit;font-size:14.5px;line-height:1.7}@media (width<=600px){.app{padding:18px 14px 80px}.topbar h1{font-size:20px}.topbar h1 .logo{width:32px;height:32px;font-size:17px}.topbar nav button{padding:8px 14px;font-size:12px}.hero{padding:22px 18px}.hero h2{font-size:24px}.hero-actions{align-items:stretch;width:100%}.share-btn{width:100%!important}.card{border-radius:20px;padding:18px}.card h3{font-size:15px}.players li{padding:8px 12px 8px 8px;font-size:14px}.avatar{width:34px;height:34px;font-size:13px}.form input,.form select,.form textarea{padding:12px 14px;font-size:16px}button{padding:12px 16px;font-size:14px}}@media (width<=380px){.form .row,.form.row{flex-direction:column}.hero .countdown .unit{flex:1;min-width:0;padding:8px 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
