:root{--bg:#05050a;--panel:#13151d;--text:#f5f5fa;--muted:#a9a9c0;--accent:#ff3fa4;--accent-2:#3fd8ff;--amber:#ffb547;--danger:#ff6b4e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit}#app{min-height:100dvh}body.offline:after{content:"Reconnexion…";top:max(10px, env(safe-area-inset-top));z-index:10;background:#ff6b4eeb;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:700;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000080}.stage{background:radial-gradient(at 50% 120%,#12111f 0%,#07070d 55%,#030308 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.stage-fx{pointer-events:none;position:absolute;inset:0;overflow:hidden}.beam{transform-origin:50% 0;filter:blur(8px);opacity:.5;mix-blend-mode:screen;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);width:26vw;min-width:110px;height:130vh;animation:7s ease-in-out infinite alternate sweep;position:absolute;top:-12%}.beam-1{background:linear-gradient(#ff3fa4bf,#0000 80%);left:6%}.beam-2{background:linear-gradient(#3fd8ffb3,#0000 80%);animation-duration:9s;animation-delay:-3s;left:30%}.beam-3{background:linear-gradient(#ffb547b3,#0000 80%);animation-duration:8s;animation-delay:-1s;left:54%}.beam-4{background:linear-gradient(#78ff8c99,#0000 80%);animation-duration:10s;animation-delay:-5s;left:76%}@keyframes sweep{0%{transform:rotate(-24deg)}to{transform:rotate(24deg)}}.par{filter:blur(40px);opacity:.55;mix-blend-mode:screen;border-radius:50%;width:220px;height:220px;animation:3.2s ease-in-out infinite parPulse;position:absolute;top:-60px}.par-1{background:#ff3fa4;left:-40px}.par-2{background:#3fd8ff;animation-delay:-1.1s;left:calc(50% - 110px)}.par-3{background:#ffb547;animation-delay:-2.2s;right:-40px}@keyframes parPulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:.65;transform:scale(1.1)}}.haze{filter:blur(20px);background:radial-gradient(#b4b4ff29,#0000 70%);width:140%;height:40vh;animation:16s ease-in-out infinite alternate drift;position:absolute;bottom:-10vh;left:-20%}.haze-2{opacity:.6;animation-duration:22s;animation-direction:alternate-reverse;bottom:5vh}@keyframes drift{0%{transform:translate(-8%)}to{transform:translate(8%)}}@media (prefers-reduced-motion:reduce){.beam,.par,.haze{animation:none}}.card{-webkit-backdrop-filter:blur(14px);text-align:center;background:#10101cc7;border:1px solid #ffffff14;border-radius:22px;width:100%;max-width:420px;padding:28px 22px 24px;position:relative;box-shadow:0 20px 60px #0009}.logo{justify-content:center;gap:8px;margin-bottom:10px;display:flex}.logo span{border-radius:50%;width:14px;height:14px;animation:1.8s ease-in-out infinite parPulse}.logo .d1{background:var(--accent);box-shadow:0 0 16px var(--accent)}.logo .d2{background:var(--accent-2);box-shadow:0 0 16px var(--accent-2);animation-delay:-.6s}.logo .d3{background:var(--amber);box-shadow:0 0 16px var(--amber);animation-delay:-1.2s}h1{margin:6px 0 8px;font-size:1.7rem;line-height:1.15}.tagline{color:var(--muted);margin:0 0 18px;font-size:.95rem}.error-banner{background:#ff6b4e29;border:1px solid #ff6b4e80;border-radius:12px;margin:0 0 16px;padding:10px 12px;font-size:.9rem}.field{text-align:left;margin-bottom:16px}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.8rem;font-weight:700;display:block}.avatar-picker{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.avatar-chip{aspect-ratio:1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;font-size:1.45rem;transition:transform .15s,background .15s,border-color .15s}.avatar-chip.active{border-color:var(--accent);background:#ff3fa438;transform:scale(1.08)}.pseudo-row{gap:8px;display:flex}.pseudo-row input{min-width:0;color:var(--text);background:#0006;border:1px solid #ffffff26;border-radius:12px;outline:none;flex:1;padding:13px 14px;font-size:16px}.pseudo-row input:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px #3fd8ff33}.dice{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:12px;width:52px;font-size:1.4rem}.cta{background:linear-gradient(90deg, var(--accent), #ff7a3f);cursor:pointer;border:0;border-radius:14px;width:100%;margin-top:6px;padding:15px;font-size:1.1rem;font-weight:800;box-shadow:0 10px 30px #ff3fa459}.cta:disabled{opacity:.45;box-shadow:none}.waiting{text-align:center;position:relative}.waiting h2{margin:0 0 18px;font-size:1.8rem}.identity{background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;display:inline-flex}.identity-avatar{font-size:2rem}.identity-pseudo{font-size:1.15rem;font-weight:700}.emoji-buttons{justify-content:center;gap:16px;margin-top:30px;display:flex}.emoji-btn{cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:50%;width:76px;height:76px;font-size:2.2rem}.emoji-btn.sent{animation:.35s ease-out pop}@keyframes pop{40%{background:#ff3fa44d;transform:scale(1.25)}}.hint{color:var(--muted);margin-top:18px}.checklight{max-width:340px;margin:0 auto}.checklight-badge{letter-spacing:.18em;text-transform:uppercase;border:1px solid #ffffff59;border-radius:999px;margin:0 0 12px;padding:4px 14px;font-size:.8rem;display:inline-block}.checklight-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:8px 0 0;font-size:.85rem}.checklight-address{font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 24px #ffffff8c,0 0 60px #78a0ff73;margin:0;font-size:clamp(5rem,32vw,9rem);font-weight:800;line-height:1}.game{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 0,#1a1a2e 0%,#0d0d18 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.console{background:var(--panel) url(/ui/faders/console-panel.svg) center / cover;border:1px solid #2a2e38;border-radius:18px;flex-wrap:wrap;justify-content:center;gap:14px;padding:20px 16px 18px;display:flex;box-shadow:inset 0 2px #ffffff0f,0 18px 40px #0000008c}.fader-group{flex-direction:column;align-items:center;gap:10px;display:flex}.fader{flex-direction:column;align-items:center;gap:8px;display:flex}.channel-number{letter-spacing:.06em;color:#8a90a0;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:800}.fader-row{align-items:stretch;gap:8px;display:flex}.fader-track{touch-action:none;cursor:grab;background:linear-gradient(#181a21 0%,#101218 100%);border:1px solid #23262f;border-radius:10px;outline:none;width:52px;height:min(52dvh,320px);position:relative;box-shadow:inset 0 2px 8px #000c,0 1px 4px #0009}.fader-track:focus-visible{box-shadow:0 0 0 3px #3fd8ff80}.fader-rail{background:url(/ui/faders/rail-texture.svg) 50%/100% 100%;border-radius:8px;width:16px;position:absolute;top:12px;bottom:12px;left:50%;transform:translate(-50%);box-shadow:inset 0 2px 6px #000000e6}.fader-cap{filter:drop-shadow(0 4px 6px #000000b3);pointer-events:none;background:url(/ui/faders/cap-metal.svg) 50%/100% 100%;border-radius:6px;width:60px;height:44px;position:absolute;left:50%;transform:translate(-50%)}.fader-track.active .fader-cap{filter:drop-shadow(0 0 10px #ffb54799)drop-shadow(0 4px 6px #000000b3)}.vu-meter{background:#101218;border:1px solid #23262f;border-radius:6px;width:12px;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #000c}.vu-meter-fill{transform-origin:bottom;background:linear-gradient(#ff6b4e 0%,#ffd760 30%,#2fd67d 100%);position:absolute;inset:0;transform:scaleY(0)}.fx-group{gap:4px;display:flex}.fx-btn{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.05rem;font-weight:700;display:flex}.fx-btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linejoin:round;width:18px;height:18px}.fx-btn.active{background:var(--amber);color:#1a1206;border-color:#0000;box-shadow:0 0 12px #ffb54780}.console.with-fx{flex-wrap:nowrap;gap:10px;padding:18px 10px 16px}.console.with-fx .fader-track{height:min(46dvh,300px)}.console.with-fx .fx-btn{width:28px;height:30px}.extras{gap:18px;display:flex}.button-flash,.button-select{cursor:pointer;background:50%/100% 100% no-repeat;border:0;border-radius:14px;width:74px;height:74px}.button-flash{background-image:url(/ui/faders/button-flash.svg)}.button-select{background-image:url(/ui/faders/button-select.svg)}.button-flash.active,.button-select.active{filter:brightness(1.4)drop-shadow(0 0 14px #ffdc78b3)}@media (max-width:360px){.console{gap:8px;padding:16px 10px}.fader-track{width:46px}}
