@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-ext-400-normal-DWiEslNC.woff2)format("woff2"),url(/assets/bebas-neue-latin-ext-400-normal-HFKRJXnW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-cyrillic-ext-400-normal-BuyJL26e.woff2)format("woff2"),url(/assets/pacifico-cyrillic-ext-400-normal-BH1b5rOk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-cyrillic-400-normal-DS5_g9Hw.woff2)format("woff2"),url(/assets/pacifico-cyrillic-400-normal-BtlfDWif.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-vietnamese-400-normal-CNs27uJ4.woff2)format("woff2"),url(/assets/pacifico-vietnamese-400-normal-CLnUcRoK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-latin-ext-400-normal-Ba3kv-va.woff2)format("woff2"),url(/assets/pacifico-latin-ext-400-normal-nyRvH6_c.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-latin-400-normal-7HIToT7q.woff2)format("woff2"),url(/assets/pacifico-latin-400-normal-DArfF-vd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bleu-azur:#0057a8;--bleu-azur-dark:#003d7a;--blanc-velodrome:#f5f5f0;--or-etoile:#c9a84c;--or-etoile-light:#e0c070;--rouge-defi:#e63946;--vert-valide:#2dc653;--gris-doux:#8892a4;--intensite-facile:#2dc653;--intensite-moyen:#c9a84c;--intensite-hard:#e63946;--surface-bg:#f5f5f0;--surface-card:#fff;--surface-input:#fff;--surface-border:#e0e0e0;--surface-border-focus:var(--bleu-azur);--text-primary:#1a1a2e;--text-secondary:#8892a4;--text-inverse:#fff;--nuit-goudes:#0d1117;--nuit-surface:#161b22;--nuit-surface-2:#1c2128;--nuit-border:#30363d;--font-titre:"Bebas Neue", "Impact", sans-serif;--font-corps:"Nunito", "Inter", sans-serif;--font-accent:"Pacifico", cursive;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:50px;--shadow-sm:0 2px 8px #0000001f;--shadow-md:0 4px 20px #0000002e;--shadow-lg:0 8px 40px #00000040;--shadow-or:0 4px 20px #c9a84c59;--transition-fast:.15s ease;--transition-mid:.3s ease;--transition-slow:.6s cubic-bezier(.25, .46, .45, .94);--ease-corniche:cubic-bezier(.25, .46, .45, .94);--ease-carreau:cubic-bezier(.175, .885, .32, 1.275)}[data-theme=dark]{--surface-bg:#0d1117;--surface-card:#161b22;--surface-input:#1c2128;--surface-border:#30363d;--surface-border-focus:var(--or-etoile);--text-primary:#e6edf3;--text-secondary:#8b949e;--blanc-velodrome:#0d1117;--bleu-azur:#388bfd;--bleu-azur-dark:#1f6feb;--or-etoile:#e3b341;--or-etoile-light:#f0d070}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;background-color:#0d1b3e;font-size:16px;transition:background-color .2s}:is(html:has(.home-page),html:has(.auth-page),html:has(.editor-page),html:has(.profile-page),html:has(.packs-page),html:has(.library-page),html:has(.setup-page),html:has(.gate-page),html:has(.salon-page),html:has(.mes-salons-page),html:has(.salon-history-page),html:has(.permis-page),html:has(.legal-page),html:has(.history-page)){background-color:var(--surface-bg)}html:has(.game-page){background-color:#f0f4ff}body{font-family:var(--font-corps);background-color:var(--surface-bg);color:var(--text-primary);overscroll-behavior:contain;min-height:100dvh;transition:background-color .3s,color .3s;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:9999;opacity:.028;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}#root{flex-direction:column;min-height:100dvh;display:flex}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px}h1,h2,h3{font-family:var(--font-titre);letter-spacing:.03em}.font-accent{font-family:var(--font-accent)}.icon>svg{width:100%;height:100%;display:block}.btn{font-family:var(--font-corps);border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg, var(--bleu-azur), var(--bleu-azur-dark));color:var(--text-inverse);box-shadow:var(--shadow-md);padding:14px 28px;font-size:1rem}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-gold{background:linear-gradient(135deg, var(--or-etoile), var(--or-etoile-light));color:#1a1a2e;box-shadow:var(--shadow-or);padding:14px 28px;font-size:1rem}.btn-gold:hover{transform:translateY(-1px);box-shadow:0 6px 28px #c9a84c80}.btn-danger{background:var(--rouge-defi);color:var(--text-inverse);padding:14px 28px;font-size:1rem}.btn-ghost{color:var(--bleu-azur);border:2px solid var(--bleu-azur);background:0 0;padding:12px 24px;font-size:1rem}.btn-sm{padding:8px 16px;font-size:.875rem}.btn-back{min-height:44px;font-family:var(--font-corps);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), gap var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:4px 12px 4px 0;font-size:.9rem;font-weight:600;display:inline-flex}.btn-back:hover{color:var(--text-primary);gap:6px}@keyframes carreau{0%{transform:scale(1)}30%{transform:scale(.92)}65%{transform:scale(1.05)}to{transform:scale(1)}}.btn-primary:active,.btn-gold:active,.btn-danger:active,.btn-carreau:active,.btn-carreau.animating{animation:carreau .22s var(--ease-carreau) forwards}.btn:disabled,.btn[disabled]{background:var(--gris-doux,#9aa0a8);color:#ffffffd9;box-shadow:none;cursor:not-allowed;opacity:.65;border-color:#0000;transform:none}.btn:disabled:hover,.btn[disabled]:hover{box-shadow:none;transform:none}.btn:disabled:active,.btn[disabled]:active{animation:none}.card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--surface-border);padding:24px}.input{border:2px solid var(--surface-border);border-radius:var(--radius-md);width:100%;font-family:var(--font-corps);transition:border-color var(--transition-fast), background-color .3s ease;background:var(--surface-input);color:var(--text-primary);outline:none;padding:14px 18px;font-size:1rem}.input:focus{border-color:var(--surface-border-focus)}.input::placeholder{color:var(--text-secondary)}.badge-facile{background:var(--intensite-facile);color:#fff}.badge-moyen{background:var(--intensite-moyen);color:#1a1a2e}.badge-hard{background:var(--intensite-hard);color:#fff}.badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;font-size:.75rem;font-weight:700}.page{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;padding:20px 16px;display:flex}@media (width>=768px){.page{max-width:640px;padding:28px 24px}}@media (width>=1024px){.page{max-width:860px;padding:40px 32px}.card{padding:36px}.btn-primary,.btn-gold,.btn-ghost,.btn-danger{padding:16px 32px;font-size:1.05rem}}body.native .layout-page:not(.home-page):not(.salon-page):not(.salon-game-page):not(.salon-history-page):not(.mes-salons-page){padding-top:max(14px, env(safe-area-inset-top))}body.native .layout-page:not(.home-page):not(.salon-page):not(.salon-game-page):not(.salon-history-page):not(.mes-salons-page):not(.library-page):not(.profile-page){padding-bottom:env(safe-area-inset-bottom)}body.native .game-page:not(.salon-game-page){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}body.native,body.native *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body.native{-webkit-user-select:none;user-select:none}body.native input,body.native textarea,body.native [contenteditable]{-webkit-user-select:text;user-select:text}body.has-bottomnav .home-page,body.has-bottomnav .library-page,body.has-bottomnav .mes-salons-page,body.has-bottomnav .profile-page,body.has-bottomnav .permis-page,body.has-bottomnav .salon-page{padding-bottom:calc(60px + env(safe-area-inset-bottom))}body.has-bottomnav .permis-page{padding-bottom:calc(92px + env(safe-area-inset-bottom))}@media (width>=1024px){body.has-bottomnav .home-page,body.has-bottomnav .library-page,body.has-bottomnav .mes-salons-page,body.has-bottomnav .profile-page,body.has-bottomnav .permis-page,body.has-bottomnav .salon-page{padding-bottom:0;padding-left:96px}}@media (hover:none){.profile-edit-card-btn,.gallery-item-overlay,.sound-btn{opacity:1}}body.has-bottomnav .btn-back{display:none}@media (width<=480px){.library-page .library-title,.profile-page .profile-title,.mes-salons-page .salon-title,.setup-page .setup-title{font-size:1.85rem}}body.keyboard-open .bottomnav{display:none}body.scroll-locked{overflow:hidden}.authmodal-overlay,.paywall-overlay,.confirm-overlay,.salon-modal-backdrop,.history-lightbox,.salon-media-lightbox,.authmodal{overscroll-behavior:contain}body.native{scrollbar-width:none;-ms-overflow-style:none}body.native::-webkit-scrollbar{width:0;height:0;display:none}body.native ::-webkit-scrollbar{width:0;height:0;display:none}body.native .layout-page{overflow-x:clip}.bottomnav{z-index:900;background:var(--surface-bg,#fff);border-top:1px solid var(--border,#00000014);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #00000012}.bottomnav-tab{cursor:pointer;min-height:56px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0 6px;transition:opacity .15s,transform .1s;display:flex}.bottomnav-tab:active{transform:scale(.92)}.bottomnav-icon{opacity:.45;transition:opacity .15s;display:flex}.bottomnav-label{letter-spacing:.01em;font-size:.7rem;font-weight:800}.bottomnav-tab.is-active .bottomnav-icon{opacity:1}.bottomnav-tab.is-active{color:var(--bleu-azur)}[data-theme=dark] .bottomnav{background:var(--nuit-goudes);border-color:#ffffff1a}[data-theme=dark] .bottomnav-tab.is-active{color:var(--or-etoile)}@media (width>=1024px){.bottomnav{width:96px;padding:28px 0 24px;padding-left:env(safe-area-inset-left);border-top:none;border-right:1px solid var(--border,#00000014);flex-direction:column;justify-content:flex-start;gap:6px;top:0;bottom:0;right:auto;box-shadow:2px 0 14px #00000012}.bottomnav-tab{border-radius:16px;flex:none;gap:5px;min-height:0;margin:0 10px;padding:14px 0;transition:background .15s,opacity .15s,transform .1s}.bottomnav-tab.is-active{background:var(--surface-card,#0057a814)}[data-theme=dark] .bottomnav-tab.is-active{background:#ffffff0f}}.layout-page{max-width:480px;min-height:100dvh;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));flex-direction:column;width:100%;margin:0 auto;display:flex}.layout-page.home-page,.layout-page.game-page,.layout-page.history-page{max-width:100%;padding:0}@media (width>=1024px){.layout-page.library-page{max-width:1200px}}@media (width>=768px){.layout-page{max-width:640px;padding:0 24px}}@media (width>=1024px){.layout-page{max-width:900px;padding:0 32px}}.home-roulette{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;flex-shrink:0;width:280px;height:280px;position:relative}.home-roulette-glow{pointer-events:none;background:radial-gradient(circle,#0057a873 0%,#c9a84c26 45%,#0000 70%);border-radius:50%;animation:3.5s ease-in-out infinite hr-pulse;position:absolute;inset:-20px}@keyframes hr-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.home-roulette-needle-wrap{z-index:10;filter:drop-shadow(0 3px 8px #000000b3);pointer-events:none;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.home-roulette-disc{will-change:transform;backface-visibility:hidden;border-radius:50%;position:absolute;inset:0;transform:translateZ(0);box-shadow:0 10px 40px #0009}.home-roulette-svg{width:100%;height:100%}.home-roulette-disc.idle-css-spin{animation:40s linear infinite hr-idle}.home-roulette-disc.no-css-spin{animation:none}@keyframes hr-idle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-roulette-cta{white-space:nowrap;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);pointer-events:none;font-size:.72rem;font-weight:700;animation:2.5s ease-in-out infinite hr-blink;position:absolute;bottom:-42px;left:50%;transform:translate(-50%)}@keyframes hr-blink{0%,to{opacity:.4}50%{opacity:1}}.home-roulette:hover .home-roulette-glow{background:radial-gradient(circle,#c9a84c73 0%,#0057a840 40%,#0000 70%)}@media (width>=1024px){.home-roulette{width:min(68vh,460px);height:min(68vh,460px)}.home-roulette-cta{font-size:.82rem;bottom:-50px}}@media (width>=1280px){.home-roulette{width:min(72vh,520px);height:min(72vh,520px)}}@media (width>=1600px){.home-roulette{width:min(76vh,600px);height:min(76vh,600px)}}.home-page{background:var(--surface-bg);flex-direction:column;gap:0;min-height:100dvh;padding:0;display:flex;overflow-x:hidden}.home-about{padding:48px max(20px, env(safe-area-inset-left)) max(56px, calc(env(safe-area-inset-bottom) + 40px));max-width:720px;color:var(--text-secondary);order:4;margin:0 auto;font-size:.92rem;line-height:1.55}.home-about h2{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.02em;text-align:center;margin:0 0 16px;font-size:clamp(1.7rem,5vw,2.2rem)}.home-about h3{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.03em;margin:28px 0 10px;font-size:1.25rem}.home-about p{margin:0 0 14px}.home-about strong{color:var(--bleu-azur);font-weight:700}.home-about em{color:var(--text-primary);font-style:italic}.home-about ul{margin:0 0 16px;padding-left:20px}.home-about li{margin-bottom:10px}@media (width>=1024px){.home-page{flex-wrap:wrap}.home-about{padding:80px 64px max(64px, env(safe-area-inset-bottom));flex:0 0 100%;max-width:960px;font-size:1rem}}.home-left{display:contents}.home-header{padding:max(20px, calc(env(safe-area-inset-top) + 16px)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));min-height:max(64px, calc(env(safe-area-inset-top) + 56px));flex-shrink:0;order:0;justify-content:flex-end;align-items:center;display:flex}.home-header-toggles{gap:10px;display:flex}.theme-toggle{background:var(--surface-card);border:1px solid var(--surface-border);cursor:pointer;width:44px;height:44px;transition:background var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--surface-bg)}.theme-toggle:active{transform:scale(.92)}.home-brand{text-align:center;flex-shrink:0;order:1;padding:12px 24px 8px}.home-by{font-family:var(--font-titre);color:var(--or-etoile);letter-spacing:.32em;text-transform:uppercase;opacity:.95;margin-bottom:8px;font-size:.78rem;display:inline-block}.home-title{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.02em;margin-bottom:12px;font-size:clamp(2.4rem,9.5vw,3.4rem);line-height:.95}.home-tagline{color:var(--text-secondary);max-width:280px;margin:0 auto;font-size:.88rem;font-weight:500;line-height:1.5}.home-roulette-area{flex:1;order:2;justify-content:center;align-items:center;min-height:0;padding:8px 24px 48px;display:flex}.home-actions{padding:0 max(20px, env(safe-area-inset-left)) max(28px, calc(env(safe-area-inset-bottom) + 20px)) max(20px, env(safe-area-inset-right));flex-direction:column;flex-shrink:0;order:3;gap:10px;display:flex}.home-btn-play{letter-spacing:.02em;width:100%;padding:18px;font-size:1.1rem}.home-ghost-btn{width:100%}.home-premium-cta{justify-content:center;align-items:center;display:flex;color:#e8c878!important;background:#c9a84c1f!important;border-color:#c9a84c80!important}.home-salon-row{flex-direction:column;gap:10px;display:flex}.home-salon-cta{justify-content:center;align-items:center;display:flex!important}@media (width>=480px){.home-salon-row{flex-direction:row}.home-salon-row .home-salon-cta{flex:1}}.home-premium-cta:hover{background:#c9a84c38!important;border-color:#c9a84cb3!important}.home-user-bar{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:6px 8px 6px 16px;display:flex}.home-user-info{cursor:pointer;color:#fff;font-family:var(--font-corps);background:0 0;border:none;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 0;font-size:.9rem;font-weight:700;display:inline-flex}.home-user-info:hover{opacity:.85}.home-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.home-user-actions{flex-shrink:0;gap:6px;display:flex}.home-user-btn{color:#ffffffe6;border-radius:var(--radius-pill);font-family:var(--font-corps);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#ffffff14;border:1px solid #fff3;padding:6px 14px;font-size:.78rem;font-weight:700}.home-user-btn:hover{background:#ffffff2e;border-color:#fff6}.home-user-btn--gold{color:#e8c878;background:#c9a84c2e;border-color:#c9a84c80}.home-user-btn--gold:hover{background:#c9a84c4d;border-color:#c9a84cb3}@media (width<=1023px){.home-brand,.home-roulette-area,.home-actions{width:100%;max-width:640px;margin-left:auto;margin-right:auto}}@media (width>=1024px){.home-page{flex-direction:row;align-items:stretch;gap:0;padding:0}.home-header{z-index:10;min-height:0;padding:0;position:absolute;top:24px;right:32px}.home-left{flex-direction:column;flex:0 0 46%;justify-content:center;gap:40px;min-height:100dvh;padding:60px 56px 60px 8vw;display:flex}.home-brand{order:unset;flex-shrink:unset;text-align:left;padding:0}.home-actions{order:unset;flex-shrink:unset;padding:0}.home-title{white-space:nowrap;font-size:clamp(3.5rem,3.8vw,5.5rem)}.home-tagline{max-width:100%;margin:0;font-size:1rem}.home-btn-play{font-size:1.05rem}.home-roulette-area{order:unset;flex:1;min-height:100dvh;padding:0}}@media (width>=1280px){.home-left{flex:0 0 44%;padding:60px 64px 60px 9vw}.home-title{font-size:clamp(4rem,4vw,6rem)}}@media (width>=1600px){.home-left{flex:0 0 42%;gap:48px;padding:80px 72px 80px 10vw}.home-title{font-size:clamp(5rem,4.2vw,7rem)}}.password-input{align-items:center;display:flex;position:relative}.password-input .input{width:100%;padding-right:46px}.password-input-toggle{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input-toggle:hover{color:var(--bleu-azur);background:#0057a814}[data-theme=dark] .password-input-toggle:hover{background:#ffffff14}.auth-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 16px));justify-content:center;gap:20px}.auth-back{align-self:flex-start}.auth-card{width:100%}.auth-title{font-family:var(--font-titre);margin-bottom:20px;font-size:2rem}.auth-tabs{background:var(--surface-input);border-radius:var(--radius-md);gap:4px;margin-bottom:20px;padding:4px;display:flex}.auth-tabs button{border-radius:var(--radius-sm);cursor:pointer;color:var(--gris-doux);transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:10px;font-size:.9rem;font-weight:600}.auth-tabs button.active{background:var(--surface-card);color:var(--bleu-azur);box-shadow:var(--shadow-sm)}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-error{color:var(--rouge-defi);text-align:center;font-size:.875rem;font-weight:600}.auth-success{border:1px solid var(--vert-valide);color:var(--vert-valide);border-radius:var(--radius-md);text-align:center;background:#2dc6531f;padding:12px 16px;font-size:.9rem;font-weight:600;line-height:1.4}.auth-forgot-link{text-align:center;color:var(--bleu-azur);margin-top:6px;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.auth-forgot-link:hover{text-decoration:underline}.auth-subtitle{color:var(--text-secondary);text-align:center;margin:0 0 14px;font-size:.92rem;line-height:1.5}.auth-back-to-login{text-align:center;color:var(--text-secondary);margin-top:16px;font-size:.85rem;text-decoration:none;display:block}.auth-back-to-login:hover{color:var(--text-primary);text-decoration:underline}.paywall-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0d1b3eb8;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}@media (width>=600px){.paywall-overlay{align-items:center}}.paywall-modal{text-align:center;background:#fff;border-radius:24px 24px 16px 16px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:400px;padding:32px 24px 24px;display:flex}@media (width>=600px){.paywall-modal{border-radius:20px}}.paywall-icon-wrap{background:linear-gradient(135deg,#0057a8,#003d7a);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:4px;display:flex}.paywall-title{font-family:var(--font-titre);color:var(--bleu-azur);margin:0;font-size:1.8rem}.paywall-packname{color:var(--nuit-goudes,#0d1b3e);margin:0;font-size:1.05rem;font-weight:800}.paywall-desc{color:var(--gris-doux);margin:0;font-size:.88rem;line-height:1.55}.paywall-teaser{text-align:left;background:#f8f9fc;border-radius:12px;width:100%;padding:14px 16px}.paywall-teaser-label{letter-spacing:.1em;text-transform:uppercase;color:var(--or-etoile);margin:0 0 6px;font-size:.72rem;font-weight:700}.paywall-teaser-text{color:#1a1a2e;margin:0 0 10px;font-size:.9rem;font-style:italic;line-height:1.45}.paywall-teaser-blurred{opacity:.35;flex-direction:column;gap:6px;display:flex}.paywall-teaser-blurred span{background:#c4c9d8;border-radius:6px;width:100%;height:12px;display:block}.paywall-teaser-blurred span:nth-child(2){width:80%}.paywall-teaser-blurred span:nth-child(3){width:60%}.paywall-teaser-more{color:var(--gris-doux);opacity:1;margin:4px 0 0;font-size:.78rem}.paywall-pricing{gap:10px;width:100%;margin-top:4px;display:flex}.paywall-plan{border:2px solid #e5e8f0;border-radius:14px;flex-direction:column;flex:1;gap:3px;padding:14px 10px;display:flex;position:relative}.paywall-plan--featured{border-color:var(--or-etoile);background:#fffbf0}.paywall-plan-badge{background:var(--or-etoile);color:#fff;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:.62rem;font-weight:800;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.paywall-plan-name{color:#1a1a2e;font-size:.82rem;font-weight:800}.paywall-plan-price{font-family:var(--font-titre);color:var(--bleu-azur);font-size:1.4rem;line-height:1}.paywall-plan-price span{font-size:.75rem;font-family:var(--font-corps,"Nunito", sans-serif);color:var(--gris-doux);font-weight:600}.paywall-plan-desc{color:var(--gris-doux);font-size:.72rem}.paywall-cta{width:100%;margin-top:4px;padding:16px;font-size:1rem}.paywall-close{color:var(--gris-doux);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:.82rem;text-decoration:underline}.paywall-close:hover{color:var(--bleu-azur)}.skeleton-wrap{flex-direction:column;gap:10px;width:100%;display:flex}.skeleton{border-radius:var(--radius-md);background:var(--surface-card,#f0f1f3);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff8c 50%,#0000 100%);animation:1.4s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}[data-theme=dark] .skeleton{background:#ffffff0a}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,#0000 0%,#ffffff12 50%,#0000 100%)}.skeleton--card{height:78px}.skeleton--list{height:56px}.skeleton--text{border-radius:6px;height:18px}.skeleton--tall{height:140px}.skeleton--text:nth-child(odd){width:92%}.skeleton--text:nth-child(2n){width:76%}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{opacity:.4;animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.setup-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(120px, calc(env(safe-area-inset-bottom) + 100px));gap:20px}.setup-header{flex-direction:column;gap:6px;display:flex}.setup-step-indicator{align-items:center;gap:8px;margin:4px 0 2px;display:flex}.setup-step-dot{background:var(--surface-card);border:2px solid var(--surface-border);width:24px;height:24px;color:var(--gris-doux);font-family:var(--font-titre);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.setup-step-dot.active{background:var(--bleu-azur);border-color:var(--bleu-azur);color:#fff}.setup-step-dot.done{background:var(--vert-valide);border-color:var(--vert-valide);color:#fff}.setup-step-bar{background:var(--surface-border);border-radius:1px;flex:0 0 32px;height:2px}.setup-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:2.2rem}.setup-subtitle{color:var(--gris-doux)}.setup-section{flex-direction:column;flex:1;gap:12px;display:flex}.setup-section-title{font-family:var(--font-titre);color:var(--text-primary);letter-spacing:.02em;margin:0;font-size:1.3rem}.setup-players{flex-direction:column;gap:10px;display:flex}.setup-player-row{align-items:center;gap:10px;display:flex}.setup-player-num{font-family:var(--font-titre);color:var(--or-etoile);text-align:center;flex-shrink:0;width:24px;font-size:1.3rem}.setup-remove-btn{color:var(--rouge-defi);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:8px;font-size:1rem}.setup-actions{flex-direction:column;gap:10px;display:flex}.setup-error{color:var(--rouge-defi);text-align:center;font-size:.875rem;font-weight:700}.setup-packs-grid{flex-direction:column;gap:12px;width:100%;margin:auto 0;display:flex}.setup-packs-loading{text-align:center;color:var(--gris-doux);padding:24px}.pack-card{background:var(--bg-card,white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;align-items:center;gap:14px;padding:16px;display:flex}.pack-card--selected{border-color:var(--bleu-azur);background:var(--bg-card-selected,#eef4ff);box-shadow:0 0 0 1px var(--bleu-azur), var(--shadow-md)}.pack-icon{flex-shrink:0;align-items:center;display:flex}.pack-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pack-name{font-size:1rem;font-weight:800}.pack-desc{color:var(--gris-doux);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.pack-check{color:var(--bleu-azur);font-size:1.2rem;font-weight:800}.pack-card--premium{opacity:.82}.pack-card--premium .pack-name{color:var(--gris-doux)}.pack-premium-badge{color:var(--or-etoile);flex-shrink:0;align-items:center;display:flex}.setup-cta-bar{padding:12px 16px max(16px, calc(env(safe-area-inset-bottom) + 12px));background:linear-gradient(to top, var(--bg-page,#fff) 70%, #fff0 100%);z-index:50;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.setup-cta-bar>*{pointer-events:auto}.setup-cta-hint{color:var(--gris-doux);justify-content:center;align-items:center;gap:6px;margin:0;font-size:.85rem;display:flex}.setup-cta-hint strong{color:var(--text-primary)}.setup-cta-btn{width:100%;max-width:480px;margin:0 auto;padding:18px;font-size:1.1rem}@media (width>=768px){.setup-cta-bar{padding:16px 24px max(20px, calc(env(safe-area-inset-bottom) + 16px))}}.cosmetic-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:2px solid var(--surface-border);transition:all var(--transition-fast)}.cosmetic-card--owned{background:linear-gradient(135deg, var(--surface-card), #2dc6530a);border-color:#2dc65366}.cosmetic-card--active{border-color:var(--bleu-azur);background:linear-gradient(135deg, var(--surface-card), #0057a80f)}.cosmetic-card--vertical{text-align:center;border-radius:var(--radius-lg);border-width:1px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.cosmetic-card--vertical .cosmetic-card-info{flex-direction:column;align-items:center;gap:4px;display:flex}.cosmetic-card--vertical .cosmetic-card-name{font-family:var(--font-titre);color:var(--bleu-azur);font-size:1.2rem}.cosmetic-card--vertical .cosmetic-card-desc{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.4}.cosmetic-card--vertical .cosmetic-card-price{font-family:var(--font-titre);color:var(--or-etoile);letter-spacing:.05em;font-size:1.2rem}.cosmetic-card-buy{padding:8px 18px;font-size:.85rem}.cosmetic-card-owned-badge{border-radius:var(--radius-pill);color:var(--vert-valide);letter-spacing:.04em;background:#2dc65326;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;display:inline-flex}.cosmetic-card--horizontal{align-items:center;gap:12px;padding:10px 12px;display:flex}.cosmetic-card--horizontal .cosmetic-card-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cosmetic-card--horizontal .cosmetic-card-cat{text-transform:uppercase;letter-spacing:.06em;color:var(--gris-doux);font-size:.7rem;font-weight:700}.cosmetic-card--horizontal .cosmetic-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;overflow:hidden}.cosmetic-card-preview{flex-shrink:0;justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;background:var(--surface-card);border-radius:var(--radius-lg);color:var(--text-primary);border:1px dashed #0057a82e;flex-direction:column;align-items:center;gap:10px;padding:32px 20px;display:flex}.empty-state-icon{width:64px;height:64px;color:var(--bleu-azur);background:#0057a814;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.empty-state-title{font-family:var(--font-titre);color:var(--text-primary);letter-spacing:.02em;margin:0;font-size:1.4rem}.empty-state-desc{max-width:320px;color:var(--gris-doux);margin:0;font-size:.9rem;line-height:1.5}.empty-state-actions{flex-direction:column;gap:10px;width:100%;max-width:280px;margin-top:8px;display:flex}[data-theme=dark] .empty-state{border-color:#ffffff14}[data-theme=dark] .empty-state-icon{background:#ffffff0d}.library-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(32px, calc(env(safe-area-inset-bottom) + 16px));gap:20px}.library-header{flex-direction:column;gap:6px;display:flex}.library-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:2.2rem}.library-import{flex-direction:column;gap:10px;padding:16px;display:flex}.library-import-label{color:var(--gris-doux);font-size:.9rem;font-weight:700}.library-import-row{gap:10px;display:flex}.library-import-error{color:var(--rouge-defi);font-size:.85rem;font-weight:700}.library-grid{flex-direction:column;gap:10px;display:flex}.library-create-cta{width:100%;padding:14px;font-size:1rem}.library-tabs{background:var(--surface-input);border-radius:var(--radius-pill);gap:6px;padding:4px;display:flex}.library-tab{color:var(--text-secondary);font-family:var(--font-corps);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:10px 16px;font-size:.9rem;font-weight:700;display:inline-flex}.library-tab:hover{color:var(--text-primary)}.library-tab.active{background:var(--bleu-azur);color:#fff;box-shadow:var(--shadow-sm)}.library-purchased-flash{border-radius:var(--radius-md);color:var(--vert-valide);background:#2dc6531f;border:1px solid #2dc65366;align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;font-weight:700;display:flex}.library-cos-error{color:var(--rouge-defi);text-align:center;font-size:.9rem;font-weight:700}.library-cos-section{flex-direction:column;gap:10px;display:flex}.library-cos-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=768px){.library-cos-grid{grid-template-columns:1fr 1fr}}@media (width>=1024px){.library-cos-grid{grid-template-columns:1fr 1fr 1fr}}.library-section-title{font-family:var(--font-titre);letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;margin-top:8px;font-size:1rem}.library-section-title:first-child{margin-top:0}.library-mine-tag{background:var(--vert-valide);color:#fff;border-radius:var(--radius-pill);letter-spacing:.05em;vertical-align:middle;margin-left:6px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-block}.library-pack-card--mine{border-left:3px solid var(--vert-valide)}.library-pack-actions{flex-direction:column;gap:6px;margin-top:12px;display:flex}.library-pack-actions-row{gap:6px;display:flex}.library-pack-actions .btn-sm{padding:5px 10px;font-size:.75rem}.library-delete-btn{color:var(--rouge-defi);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1.5px solid #e6394680;flex:1;padding:5px 10px;font-size:.75rem;font-weight:700}.library-delete-btn:hover{border-color:var(--rouge-defi);background:#e639461a}.confirm-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--surface-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:12px;padding:28px 24px;display:flex}.confirm-icon-wrap{background:#e639461f;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:4px;display:flex}.confirm-title{font-family:var(--font-titre);color:var(--text-primary);font-size:1.4rem}.confirm-pack-name{color:var(--bleu-azur);font-size:1.05rem;font-weight:800}.confirm-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.confirm-actions{flex-direction:column;gap:8px;width:100%;margin-top:8px;display:flex}.share-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.share-modal{background:var(--surface-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:14px;padding:28px 24px;display:flex}.share-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:1.5rem}.share-pack-name{color:var(--text-primary);font-size:1rem;font-weight:800}.share-qr{border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fff;padding:14px}.share-code-row{background:var(--surface-input);border-radius:var(--radius-md);width:100%;padding:10px 16px}.share-code{color:var(--bleu-azur);letter-spacing:.1em;font-family:monospace;font-size:1rem;font-weight:700}.share-actions{flex-direction:column;gap:8px;width:100%;display:flex}.library-pack-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.library-pack-top{cursor:pointer;align-items:center;gap:14px;padding:16px;display:flex}.library-pack-icon{flex-shrink:0;align-items:center;display:flex}.library-pack-info{flex-direction:column;flex:1;gap:2px;display:flex}.library-pack-name{color:var(--text-primary);font-size:1rem;font-weight:800}.library-pack-desc{color:var(--gris-doux);font-size:.8rem}.library-pack-chevron{color:var(--gris-doux);font-size:.75rem}.library-pack-challenges{border-top:1px solid #f0f0f0;flex-direction:column;gap:8px;padding:12px 16px 16px;display:flex;overflow:hidden}.library-challenge-item{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.4;display:flex}.library-challenge-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.library-loading{text-align:center;color:var(--gris-doux);padding:40px}.library-pack-card--premium .library-pack-name{color:var(--gris-doux)}.library-premium-tag{color:#fff;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;background:linear-gradient(90deg,#c9a84c,#e0c070);border-radius:20px;margin-left:8px;padding:1px 7px;font-size:.62rem;font-weight:800;display:inline-block}.library-challenge-item--blurred{filter:blur(3px);-webkit-user-select:none;user-select:none;color:#c4c9d8}.library-locked-cta{flex-direction:column;gap:8px;margin-top:8px;display:flex}.library-locked-msg{color:var(--gris-doux);text-align:center;margin:0;font-size:.82rem}@media (width>=1024px){.library-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.library-grid .library-section-title{grid-column:1/-1}}.editor-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(32px, calc(env(safe-area-inset-bottom) + 16px));gap:20px}.editor-header{flex-direction:column;gap:6px;display:flex}.editor-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:2.2rem}.editor-subtitle{color:var(--gris-doux)}.editor-pack-name{width:100%}.editor-challenges{flex-direction:column;gap:12px;display:flex}.editor-challenge-row{flex-direction:column;gap:10px;padding:16px;display:flex}.editor-challenge-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.editor-case-num{font-family:var(--font-titre);letter-spacing:.05em;flex-shrink:0;font-size:1.1rem;font-weight:800}.editor-intensity-picker{gap:6px;display:flex}.intensity-btn{border-radius:var(--radius-pill);cursor:pointer;color:var(--int-color);transition:all var(--transition-fast);border:2px solid #0000;padding:4px 10px;font-size:.75rem;font-weight:700}.intensity-btn.active{color:#fff}.editor-textarea{resize:none;border-radius:var(--radius-md);font-size:.95rem;line-height:1.5}.editor-char-count{color:var(--gris-doux);text-align:right;font-size:.75rem}.editor-error{color:var(--rouge-defi);text-align:center;font-size:.875rem;font-weight:700}.editor-success{text-align:center;flex-direction:column;align-items:center;gap:20px;margin-top:40px;padding:32px;display:flex}.editor-success-title{font-family:var(--font-titre);color:var(--vert-valide);font-size:2rem}.editor-success-name{color:var(--bleu-azur);font-size:1.2rem;font-weight:800}.editor-share-label{color:var(--gris-doux);font-size:.9rem}.editor-qr{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:16px}.editor-share-link{background:var(--blanc-velodrome);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;display:flex}.editor-share-code{color:var(--bleu-azur);letter-spacing:.1em;font-family:monospace;font-size:1rem;font-weight:700}.editor-success-actions{flex-direction:column;gap:10px;width:100%;display:flex}.editor-tier-banner{border-radius:var(--radius-md);color:var(--text-secondary);background:#c9a84c1f;border:1px solid #c9a84c59;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;display:flex}.editor-tier-link{color:var(--or-etoile);cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.editor-section{flex-direction:column;gap:8px;display:flex}.editor-section-label{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;font-weight:700}.editor-theme-picker{flex-wrap:wrap;gap:8px;display:flex}.editor-theme-btn{background:var(--surface-card);border:2px solid var(--surface-border);border-radius:var(--radius-pill);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.editor-theme-btn:hover{border-color:var(--bleu-azur);color:var(--bleu-azur)}.editor-theme-btn.active{border-color:var(--bleu-azur);background:var(--bleu-azur);color:#fff}.editor-cover-upload{border:2px dashed var(--surface-border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);align-self:flex-start;align-items:center;gap:8px;padding:12px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.editor-cover-upload:hover{border-color:var(--bleu-azur);color:var(--bleu-azur)}.editor-cover-preview{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.editor-cover-preview img{border-radius:var(--radius-md);object-fit:cover;max-width:100%;max-height:200px}.editor-remove-btn{cursor:pointer;color:var(--rouge-defi);background:0 0;border:none;padding:4px 8px;font-size:1.2rem}.editor-locked-add{border:2px dashed var(--surface-border);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:12px;font-size:.85rem;font-weight:600;display:inline-flex}.editor-locked-add:hover{border-color:var(--or-etoile);color:var(--or-etoile)}.editor-paywall{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-top:24px;padding:32px 24px;display:flex}.editor-paywall-icon{background:linear-gradient(135deg, var(--or-etoile), var(--or-etoile-light));width:80px;height:80px;box-shadow:var(--shadow-or);border-radius:50%;justify-content:center;align-items:center;display:flex}.editor-paywall-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:1.8rem}.editor-paywall-desc{color:var(--text-secondary);max-width:360px;font-size:.95rem;line-height:1.5}.editor-upsell-card{border-radius:var(--radius-md);background:#c9a84c14;border:1px dashed #c9a84c66;flex-direction:column;align-items:center;gap:10px;width:100%;padding:16px;display:flex}.editor-upsell-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.editor-upsell-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}@media (width<=480px){.editor-title{font-size:1.8rem}.editor-challenge-row{padding:12px}.editor-challenge-header{flex-wrap:wrap;gap:8px 10px}.editor-intensity-picker{order:3;justify-content:center;gap:8px;width:100%}.intensity-btn{text-align:center;min-width:64px;padding:5px 14px}.editor-share-link{text-align:center;flex-direction:column;gap:10px}.editor-paywall{padding:24px 12px}}@media (width>=1024px){.editor-challenges{grid-template-columns:1fr 1fr;gap:16px;display:grid}}.roulette-wrapper{flex-direction:column;align-items:center;width:100%;max-width:320px;margin:0 auto;display:flex;position:relative}.roulette-disc{aspect-ratio:1;will-change:transform;backface-visibility:hidden;border-radius:50%;width:100%;transition:box-shadow .4s;transform:translateZ(0);box-shadow:0 10px 28px #0000008c,0 4px 8px #0000004d}.roulette-wrapper.is-spinning .roulette-disc{animation:.55s ease-in-out infinite alternate boule-pulse;box-shadow:0 12px 40px #000000b3,0 0 30px #c9a84c73,0 0 60px #c9a84c33}@keyframes boule-pulse{0%{box-shadow:0 12px 40px #000000b3,0 0 30px #c9a84c66}to{box-shadow:0 14px 55px #000c,0 0 55px #c9a84cb3,0 0 90px #3d608059}}.roulette-wrapper.has-landed .roulette-disc{animation:.6s ease-out forwards boule-land}@keyframes boule-land{0%{box-shadow:0 0 0 14px #c9a84c,0 0 80px #c9a84ce6}60%{box-shadow:0 10px 35px #0009,0 0 20px #c9a84c66}to{box-shadow:0 10px 28px #0000008c,0 4px 8px #0000004d}}.roulette-svg{border-radius:50%;width:100%;height:100%;display:block}.roulette-glow-ring{pointer-events:none;z-index:-1;border:2px solid #c9a84c80;border-radius:50%;width:calc(100% + 28px);height:calc(100% + 28px);animation:.75s ease-in-out infinite alternate piste-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #c9a84c4d,inset 0 0 20px #c9a84c1a}@keyframes piste-ring{0%{opacity:.45;transform:translate(-50%,-50%)scale(1)}to{opacity:1;transform:translate(-50%,-50%)scale(1.05)}}.roulette-needle-wrap{z-index:10;transform-origin:12px 40px;filter:drop-shadow(0 4px 8px #000000b3);margin-left:-12px;position:absolute;top:-22px;left:50%}.roulette-needle-svg{display:block}.roulette-needle-wrap.vibrating{animation:90ms ease-in-out infinite aiguille-vibre}@keyframes aiguille-vibre{0%{transform:rotate(-3.5deg)}25%{transform:rotate(3.5deg)}50%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}.roulette-result-badge{background:linear-gradient(135deg, var(--or-etoile), var(--or-etoile-light));color:#1a1a2e;font-family:var(--font-titre);letter-spacing:.08em;border-radius:var(--radius-pill);margin-top:14px;padding:7px 26px;font-size:1.3rem;box-shadow:0 4px 20px #c9a84c80,0 2px 6px #0000004d}@media (width>=1024px){.roulette-wrapper{max-width:460px}}@media (width>=1440px){.roulette-wrapper{max-width:540px}}.challenge-card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-left:6px solid var(--bleu-azur);width:100%;padding:24px}.challenge-card.intensity-moyen{border-left-color:var(--intensite-moyen)}.challenge-card.intensity-hard{border-left-color:var(--intensite-hard)}.challenge-card.intensity-facile{border-left-color:var(--intensite-facile)}.challenge-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.challenge-case{font-family:var(--font-titre);color:var(--gris-doux);letter-spacing:.05em;font-size:1.1rem}.challenge-player{color:var(--bleu-azur);margin-bottom:10px;font-size:.95rem;font-weight:800}.challenge-text{color:var(--text-primary);font-size:1.1rem;font-weight:700;line-height:1.55;font-family:var(--font-corps)}.pastis-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.pastis-glass{background:#ffffff26;border:3px solid #fff9;border-radius:4px 4px 8px 8px;align-items:flex-end;width:54px;height:80px;display:flex;position:relative;overflow:hidden}.pastis-liquid{border-radius:0 0 6px 6px;width:100%;position:absolute;bottom:0;left:0}.pastis-bubbles{gap:6px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.bubble{background:#ffffffb3;border-radius:50%;width:5px;height:5px}.pastis-time{font-family:var(--font-titre);color:#1a1a2e;z-index:2;white-space:nowrap;font-size:1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pastis-expired{color:var(--rouge-defi);font-size:.875rem;font-weight:700}.vote-panel{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;padding:24px}.vote-title{font-family:var(--font-titre);color:var(--text-primary);margin-bottom:4px;font-size:1.6rem}.vote-subtitle{color:var(--gris-doux);margin-bottom:20px;font-size:.95rem}.vote-list{flex-direction:column;gap:10px;display:flex}.vote-row{background:var(--surface-input);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.vote-player-name{font-weight:700}.vote-btns{gap:8px;display:flex}.vote-btn{border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;padding:6px 16px;font-size:.875rem;font-weight:700}.vote-yes{border-color:var(--vert-valide);color:var(--vert-valide);background:0 0}.vote-yes.active{background:var(--vert-valide);color:#fff}.vote-no{border-color:var(--rouge-defi);color:var(--rouge-defi);background:0 0}.vote-no.active{background:var(--rouge-defi);color:#fff}.vote-excuse-btn{width:100%;color:var(--gris-doux);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:4px;font-size:.8rem;font-style:italic;text-decoration:underline}.prov-badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px 3px 6px;font-size:.74rem;font-weight:700;line-height:1;display:inline-flex}.prov-badge--icon{gap:0;padding:2px}.prov-badge-label{padding-top:1px}.prov-badge--marseille{color:var(--bleu-azur);background:#0057a81a;border-color:#0057a840}.prov-badge--pays{color:#b97e0a;background:#f59e0b24;border-color:#f59e0b4d}.prov-badge--paris{color:var(--rouge-defi);background:#e639461f;border-color:#e639464d}.prov-badge--nord{color:#4a6bb0;background:#6384c824;border-color:#6384c84d}.prov-badge--pirate{color:var(--nuit-goudes,#0d1b3e);background:#0d1b3e1a;border-color:#0d1b3e40}[data-theme=dark] .prov-badge--marseille{color:#6ea8e0;background:#0057a838}[data-theme=dark] .prov-badge--pays{color:#f0c060;background:#f59e0b33}[data-theme=dark] .prov-badge--paris{color:#ff8a94;background:#e6394638}[data-theme=dark] .prov-badge--nord{color:#9ab4e8;background:#6384c83d}[data-theme=dark] .prov-badge--pirate{color:#cfd6e4;background:#ffffff1f}.player-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);background:#fff;align-items:center;gap:14px;padding:12px 16px;display:flex}.player-card--active{box-shadow:0 0 0 3px var(--bleu-azur), var(--shadow-md);background:linear-gradient(135deg,#eef4ff,#fff)}.player-avatar{background:linear-gradient(135deg, var(--bleu-azur), var(--or-etoile));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:800;display:flex;position:relative;overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%}.player-rank{background:var(--or-etoile);color:#1a1a2e;border-radius:4px;padding:1px 4px;font-size:.6rem;font-weight:800;position:absolute;bottom:-2px;right:-2px}.player-info{flex-direction:column;flex:1;display:flex}.player-name{align-items:center;gap:6px;font-size:1rem;font-weight:700;display:inline-flex}.player-turn{color:var(--bleu-azur);font-size:.8rem;font-weight:600}.player-score{font-family:var(--font-titre);color:var(--or-etoile);letter-spacing:.03em;font-size:1.3rem}.endgame{min-height:100dvh;padding:max(32px, calc(env(safe-area-inset-top) + 20px)) 16px max(40px, calc(env(safe-area-inset-bottom) + 28px));background:linear-gradient(135deg,#0d1b3e 0%,#0057a8 60%,#c9a84c 100%);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden auto}.confetti-container{pointer-events:none;z-index:0;position:fixed;inset:0}.confetti-piece{width:10px;height:10px;position:absolute;top:0}.endgame-content{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-lg);z-index:1;background:#ffffff12;border:1px solid #ffffff24;flex-direction:column;gap:20px;width:100%;max-width:480px;margin:auto 0;padding:28px 20px;display:flex;position:relative}.endgame-header{text-align:center}.endgame-pack{color:#ffffff73;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:.75rem}.endgame-title{font-family:var(--font-titre);color:#fff;margin-bottom:10px;font-size:3.2rem;line-height:1}.endgame-winner-stat{color:var(--or-etoile-light);font-size:.9rem;font-style:italic;font-family:var(--font-accent)}.endgame-tabs{border-radius:var(--radius-md);background:#00000040;gap:4px;padding:4px;display:flex}.endgame-tab{border-radius:var(--radius-sm);color:#ffffff80;font-family:var(--font-corps);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:9px 8px;font-size:.85rem;font-weight:700}.endgame-tab.active{color:#fff;background:#ffffff26;box-shadow:0 2px 8px #0003}.endgame-podium{flex-direction:column;gap:8px;display:flex}.endgame-player-row{border-radius:var(--radius-md);background:#ffffff0f;border:1px solid #ffffff14;align-items:center;gap:12px;padding:12px 16px;display:flex}.endgame-player-row.winner{background:#c9a84c2e;border-color:#c9a84c99;box-shadow:0 0 20px #c9a84c26}.endgame-medal{align-items:center;display:flex}.endgame-player-info{flex-direction:column;flex:1;gap:2px;display:flex}.endgame-player-name{color:#fff;font-size:1rem;font-weight:700}.endgame-player-detail{color:#ffffff73;font-size:.75rem}.endgame-player-score{font-family:var(--font-titre);color:var(--or-etoile-light);letter-spacing:.04em;font-size:1.4rem}.endgame-loser-stat{text-align:center;color:#fff6;margin-top:4px;font-size:.82rem;font-style:italic}.endgame-recap{flex-direction:column;gap:10px;display:flex}.recap-stats-row{gap:8px;display:flex}.recap-stat{border-radius:var(--radius-md);background:#ffffff0f;border:1px solid #ffffff14;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 6px;display:flex}.recap-stat-val{font-family:var(--font-titre);color:#fff;font-size:1.6rem;line-height:1}.recap-stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;text-align:center;font-size:.72rem}.recap-bar-wrap{flex-direction:column;gap:6px;display:flex}.recap-bar-label{color:#fff9;justify-content:space-between;font-size:.82rem;display:flex}.recap-bar-bg{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.recap-bar-fill{background:linear-gradient(90deg,#2dc653,#5ae87a);border-radius:4px;height:100%}.recap-cases{flex-direction:column;gap:6px;display:flex}.recap-section-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffff80;font-size:.78rem}.recap-cases-grid{align-items:flex-end;gap:6px;height:52px;display:flex}.recap-case-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;display:flex}.recap-case-count{color:var(--or-etoile-light);min-height:12px;font-size:.7rem;font-weight:700}.recap-case-bar{background:linear-gradient(180deg, var(--or-etoile), var(--bleu-azur));border-radius:3px 3px 0 0;width:100%;min-height:6px}.recap-case-bar.empty{background:#ffffff1a}.recap-case-num{font-family:var(--font-titre);color:#fff9;font-size:.85rem}.recap-case-top{color:#ffffff73;text-align:center;font-size:.78rem;font-style:italic}.recap-distinctions{flex-direction:column;gap:8px;display:flex}.recap-distinction{border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:10px;padding:8px 12px;display:flex}.recap-distinction.gold{background:#c9a84c1f;border-color:#c9a84c4d}.recap-distinction.red{background:#e639461a;border-color:#e6394640}.recap-dist-icon{align-items:center;display:flex}.recap-dist-title{text-transform:uppercase;letter-spacing:.06em;color:#ffffff73;margin-bottom:2px;font-size:.72rem}.recap-dist-name{color:#fff;font-size:.9rem;font-weight:700}.endgame-tab-content{height:290px;margin:0 -2px;padding:0 2px;overflow:hidden auto}.endgame-tab-content::-webkit-scrollbar{width:3px}.endgame-tab-content::-webkit-scrollbar-track{background:0 0}.endgame-tab-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.endgame-history{flex-direction:column;display:flex}.history-empty{text-align:center;color:#fff6;padding:24px 0;font-style:italic}.endgame-history-list{flex-direction:column;gap:6px;padding-right:4px;display:flex}.endgame-history-list .history-entry{border-radius:var(--radius-sm);background:#ffffff0d;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 12px;display:flex}.endgame-history-list .history-entry.completed{border-left-color:#2dc653}.endgame-history-list .history-entry.refused{border-left-color:#e63946}.history-entry-left{flex-shrink:0;align-items:center;gap:6px;display:flex}.history-case{font-family:var(--font-titre);color:#ffffff80;min-width:24px;font-size:1rem}.history-result-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.history-result-dot.completed{background:#2dc653}.history-result-dot.refused{background:#e63946}.history-entry-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.history-player{color:#ffffffe6;font-size:.82rem;font-weight:700}.history-challenge{color:#fff6;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.history-entry-right{flex-shrink:0}.history-pts{font-family:var(--font-titre);color:var(--or-etoile-light);font-size:1rem}.history-refused{color:#e63946b3;font-size:.9rem}.endgame-actions{flex-direction:column;gap:10px;display:flex}.endgame-ghost{color:#ffffffb3!important;border-color:#ffffff4d!important}@media (width>=1024px){.endgame{align-items:center;padding:40px 24px}.endgame-content{gap:24px;max-width:560px;padding:40px 36px}.endgame-title{font-size:4.5rem}}.media-upload{flex-direction:column;gap:10px;display:flex}.media-upload-input{display:none}.media-upload-btn{border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer;transition:all var(--transition-fast);background:#ffffff1a;border:2px dashed #ffffff4d;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.9rem;font-weight:600;display:flex}.media-upload-btn:hover:not(:disabled){border-color:var(--or-etoile);color:var(--or-etoile);background:#c9a84c1a}.media-upload-btn.uploading{opacity:.7;cursor:not-allowed}@media (width<=1023px){.media-upload-btn{color:var(--gris-doux);background:#0000000f;border-color:#00000026}.media-upload-btn:hover:not(:disabled){border-color:var(--bleu-azur);color:var(--bleu-azur);background:#0057a80f}}.media-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.media-previews{flex-wrap:wrap;gap:8px;display:flex}.media-preview-item{border-radius:var(--radius-sm);position:relative;overflow:hidden}.media-thumb{object-fit:cover;border-radius:var(--radius-sm);width:64px;height:64px;display:block}.media-check{color:#fff;background:#2dc653b3;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex;position:absolute;inset:0}.media-error{color:var(--rouge-defi);text-align:center;font-size:.85rem}.radar-btn{cursor:pointer;color:var(--rouge-defi);transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:#e639461f;border:1px solid #e6394680;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.radar-btn:hover{transform:scale(1.08);box-shadow:0 0 16px #e6394673}.radar-btn-pulse{pointer-events:none;border:2px solid #e63946b3;border-radius:50%;animation:1.6s ease-out infinite radar-pulse;position:absolute;inset:-3px}@keyframes radar-pulse{0%{opacity:.85;transform:scale(.9)}70%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}.radar-btn-badge{background:var(--rouge-defi);color:#fff;border:2px solid var(--bg-page,#fff);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}@media (prefers-reduced-motion:reduce){.radar-btn-pulse{opacity:0;animation:none}}.radar-overlay{z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.radar-modal{border-radius:var(--radius-lg);text-align:center;color:#fff;background:#0d1b3e;border:1px solid #ffffff26;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:380px;padding:32px 24px;display:flex}.radar-modal--alert{border-color:#e6394699;box-shadow:0 0 32px #e6394659}.radar-title{font-family:var(--font-titre);color:#fff;align-items:center;margin:0;font-size:1.4rem;display:flex}.radar-scanning{color:#ffffffb3;flex-direction:column;align-items:center;gap:16px;display:flex}.radar-sonar{background:radial-gradient(circle,#0057a84d 0%,#0057a80d 100%);border:2px solid #0057a899;border-radius:50%;width:120px;height:120px;position:relative;overflow:hidden}.radar-sweep{transform-origin:0 100%;background:linear-gradient(135deg,#ff5a5ab3 0%,#0000 70%);width:50%;height:50%;position:absolute;top:0;left:50%}.radar-result{color:#2dc653;margin:0;font-size:1rem;font-weight:700;line-height:1.5}.radar-detected{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.radar-alert{color:#ff6b76;font-family:var(--font-titre);letter-spacing:.02em;text-shadow:0 0 12px #e6394666;margin:0;font-size:1.2rem}.radar-detected-list{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.radar-detected-list li{border-radius:var(--radius-md);background:#e639461f;border:1px solid #e6394659;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.radar-detected-name{color:#fff;font-size:.95rem;font-weight:800}.radar-detected-reasons{color:#ffffffb3;font-size:.75rem;font-style:italic}.radar-detected-msg{color:#ffffffa6;margin:0;font-size:.85rem;font-style:italic}.game-page{padding-top:max(16px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(24px, calc(env(safe-area-inset-bottom) + 8px));background:linear-gradient(180deg, #f0f4ff 0%, var(--blanc-velodrome) 100%);gap:16px}@media (width<=1023px){.game-page--compact{gap:10px}.game-page--compact .game-active-player{margin-bottom:10px}.game-page--compact .game-challenge-area{gap:10px}.game-page--compact .challenge-card{border-left-width:4px;padding:14px 16px}.game-page--compact .challenge-header{margin-bottom:6px}.game-page--compact .challenge-case{font-size:.95rem}.game-page--compact .challenge-player{margin-bottom:4px;font-size:.85rem}.game-page--compact .challenge-text{font-size:.98rem;line-height:1.35}.game-page--compact .game-timer-row{padding:8px 12px}.game-page--compact .vote-panel{padding:16px}.game-page--compact .vote-title{font-size:1.2rem}.game-page--compact .vote-subtitle{margin-bottom:10px;font-size:.85rem}.game-page--compact .vote-list{gap:6px}.game-page--compact .vote-row{padding:6px 12px}.game-page--compact .vote-player-name{font-size:.9rem}.game-page--compact .vote-btn{padding:5px 14px;font-size:.82rem}.game-page--compact .vote-excuse-btn{margin-top:6px;font-size:.75rem}}.game-scores{align-items:center;gap:10px;padding-bottom:4px;display:flex}.game-scores-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.game-scores-chips::-webkit-scrollbar{display:none}.game-scores-chips:after{content:"";flex-shrink:0;width:4px}.game-scores-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.score-chip{border-radius:var(--radius-md);min-width:56px;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);background:#fff;border:2px solid #0000;flex-direction:column;flex-shrink:0;align-items:center;padding:8px 12px;display:flex}.score-chip.active{border-color:var(--bleu-azur);background:var(--bleu-azur)}.score-name{white-space:nowrap;text-overflow:ellipsis;max-width:56px;font-size:.75rem;font-weight:700;overflow:hidden}.score-chip.active .score-name,.score-chip.active .score-pts{color:#fff}.score-pts{font-family:var(--font-titre);color:var(--or-etoile);font-size:1.1rem}.score-chip.active .score-pts{color:var(--or-etoile-light)}.game-active-player{text-align:center;flex-direction:column;gap:2px;margin-bottom:18px;display:flex}.game-turn-label{color:var(--gris-doux);font-size:.9rem}.game-turn-name{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.03em;font-size:1.8rem}.game-roulette-area{flex-direction:column;align-items:center;gap:12px;display:flex}.game-page--idle .game-roulette-area{flex:1;justify-content:center}.game-page--idle .game-content{flex:none}.game-comment{color:var(--gris-doux);text-align:center;font-size:.95rem;font-style:italic;font-weight:600}.game-content{flex-direction:column;flex:1;justify-content:flex-end;gap:12px;display:flex}.game-spin-btn{width:100%;font-family:var(--font-titre);letter-spacing:.1em;border-radius:var(--radius-lg);box-shadow:var(--shadow-or);padding:20px;font-size:1.4rem}.game-spinning-panel{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;display:flex}.game-spinning-dots{color:var(--or-etoile);letter-spacing:8px;font-size:1.4rem}.game-spinning-text{font-family:var(--font-titre);letter-spacing:.06em;color:var(--bleu-azur);font-size:1.6rem}.game-spinning-comment{color:var(--text-secondary);max-width:260px;font-size:.95rem;font-style:italic;font-weight:600;line-height:1.4}.game-challenge-area{flex-direction:column;gap:16px;display:flex}.game-timer-row{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.game-result{flex-direction:column;gap:16px;display:flex}.game-result-scores{flex-direction:column;gap:8px;display:flex}.game-result-actions{flex-direction:column;gap:10px;display:flex}.game-photo-upsell{border-radius:var(--radius-md);color:var(--or-etoile);cursor:pointer;width:100%;transition:all var(--transition-fast);background:#c9a84c14;border:1px dashed #c9a84c66;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.game-photo-upsell:hover{background:#c9a84c26;border-style:solid}.btn-end-game{font-family:var(--font-corps);border-radius:var(--radius-pill);color:var(--rouge-defi);cursor:pointer;transition:all var(--transition-fast);background:#e639461a;border:2px solid #e63946b3;justify-content:center;align-items:center;gap:6px;padding:13px 24px;font-size:.95rem;font-weight:700;display:inline-flex}.btn-end-game:hover{border-color:var(--rouge-defi);background:#e6394633;transform:translateY(-1px)}.btn-end-game:active{animation:carreau .22s var(--ease-carreau) forwards}.game-idle{flex-direction:column;gap:12px;display:flex}.exagerateur-toggle{border-radius:var(--radius-md);border:2px dashed var(--gris-doux);width:100%;color:var(--gris-doux);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:12px;font-size:.9rem;font-weight:700}.exagerateur-toggle.active{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b}.exagerateur-toggle:hover{color:#f59e0b;border-color:#f59e0b}.exagerateur-badge{color:#fff;border-radius:var(--radius-pill);background:#f59e0b;align-self:center;margin-top:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.game-spin-btn.exagerateur-on{background:linear-gradient(135deg,#f59e0b,#c9a84c);box-shadow:0 4px 20px #f59e0b66}.btn-excuse{color:var(--gris-doux);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:4px 0;font-size:.8rem;font-style:italic;text-decoration:underline}.btn-excuse:hover{color:var(--rouge-passion)}.game-points-flash{text-align:center;font-family:var(--font-titre);color:var(--or-etoile);text-shadow:0 2px 12px #c9a84c80;font-size:3rem}.sound-btn{cursor:pointer;opacity:.6;transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:4px;font-size:1.1rem}.sound-btn:hover{opacity:1}@media (width>=1024px){.game-page{background:linear-gradient(135deg,#0d1b3e 0%,#0057a8 50%,#003d7a 100%);grid-template:"header header""left right"1fr/1fr 1fr;gap:0;height:100dvh;padding:0;display:grid;overflow:hidden}.game-scores{background:#0000004d;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;grid-area:header;justify-content:center;gap:12px;padding:10px 24px;overflow-x:visible}.score-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-color:#ffffff26;min-width:80px;padding:10px 20px}.score-chip.active{background:var(--or-etoile);border-color:var(--or-etoile)}.score-chip.active .score-name,.score-chip.active .score-pts{color:#1a1a2e}.score-name{color:#fffc;max-width:100px}.score-pts{color:var(--or-etoile-light);font-size:1.4rem}.game-roulette-area{border-right:1px solid #ffffff1a;flex-direction:column;grid-area:left;justify-content:center;align-items:center;gap:12px;min-height:0;padding:16px 24px;display:flex;overflow:hidden}.game-roulette-area .roulette-wrapper{width:100%;max-width:min(380px,100dvh - 220px)}.game-active-player{order:-1;margin-bottom:4px}.game-turn-label{color:#fff9;font-size:.95rem}.game-turn-name{color:#fff;text-shadow:0 2px 20px #c9a84c66;font-size:2.2rem}.game-comment{color:#ffffffb3;font-size:1rem}.game-content{background:#ffffff08;grid-area:right;justify-content:center;min-height:0;padding:24px 32px;overflow-y:auto}.game-spin-btn{padding:22px;font-size:1.5rem}.game-spinning-text{color:#fff9;font-size:1.2rem}.game-challenge-area .challenge-card{border-radius:var(--radius-lg)}.game-timer-row,.game-result-scores .player-card{background:#ffffff14;border:1px solid #ffffff1a}.game-result-scores .player-card .player-name,.game-result-scores .player-card .player-turn{color:#fff}}.game-idle{gap:16px}.exagerateur-toggle{padding:14px;font-size:1rem}.game-points-flash{font-size:4.5rem}.btn-excuse{font-size:.9rem}@media (width>=1440px){.game-turn-name{font-size:4rem}.game-roulette-area .roulette-wrapper{max-width:min(560px,100dvh - 260px)}.game-spin-btn{padding:32px;font-size:2rem}.score-chip{min-width:100px;padding:12px 24px}.score-name{font-size:.9rem}.score-pts{font-size:1.6rem}}.gallery-page{min-height:100dvh;padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 16px));padding-left:max(16px, env(safe-area-inset-left));background:linear-gradient(160deg,#0d1b3e 0%,#0057a8 60%,#003d7a 100%);flex-direction:column;gap:24px;display:flex}.gallery-loading,.gallery-error{color:#ffffffb3;background:#0d1b3e;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}.gallery-back{color:#fff9;cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:.9rem;display:block}.gallery-back:hover{color:#fff}.gallery-header{flex-direction:column;gap:4px;display:flex}.gallery-title{font-family:var(--font-titre);color:#fff;margin:0;font-size:2.2rem;line-height:1}.gallery-players{color:var(--or-etoile-light);margin:6px 0 2px;font-size:.9rem;font-weight:600}.gallery-date{color:#ffffff73;font-size:.8rem}.gallery-empty{text-align:center;color:#ffffff80;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.gallery-empty-sub{color:#ffffff4d;font-size:.85rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.gallery-item{border-radius:var(--radius-md);aspect-ratio:1;cursor:pointer;background:#ffffff0d;position:relative;overflow:hidden}.gallery-thumb{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.gallery-item:hover .gallery-thumb{transform:scale(1.04)}.gallery-item-overlay{opacity:0;background:linear-gradient(#0000,#0009);padding:20px 8px 8px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-player{color:#fff;font-size:.75rem;font-weight:700}.gallery-lightbox{z-index:200;background:#000000e6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.gallery-lightbox-inner{flex-direction:column;gap:12px;width:100%;max-width:600px;display:flex;position:relative}.gallery-lightbox-media{border-radius:var(--radius-md);object-fit:contain;width:100%;max-height:80dvh}.gallery-lightbox-caption{color:#ffffffb3;text-align:center;font-size:.9rem}.gallery-lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex;position:absolute;top:-12px;right:-12px}@media (width>=768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px}.gallery-title{font-size:3rem}}@media (width>=1024px){.gallery-page{padding:40px 24px}.gallery-page>.gallery-header,.gallery-page>.gallery-grid,.gallery-page>.gallery-empty{width:100%;max-width:1100px;margin-left:auto;margin-right:auto}.gallery-grid{grid-template-columns:repeat(4,1fr)}}.history-page{background:linear-gradient(160deg, #f0f4ff 0%, var(--blanc-velodrome) 100%);padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 16px));padding-left:max(16px, env(safe-area-inset-left));gap:20px}.history-back{color:var(--gris-doux);cursor:pointer;background:0 0;border:none;margin-bottom:4px;padding:0;font-size:.9rem;display:block}.history-back:hover{color:var(--bleu-azur)}.history-title{font-family:var(--font-titre);color:var(--bleu-azur);margin:0;font-size:2.4rem}.history-empty{text-align:center;color:var(--gris-doux);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px 0;display:flex}.history-empty-sub{color:#00000059;max-width:260px;font-size:.85rem}.history-list{grid-template-columns:1fr;gap:12px;display:grid}.history-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000000f;flex-direction:column;gap:10px;padding:16px;display:flex}.history-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-card-pack{color:var(--bleu-azur);margin:0 0 4px;font-size:.95rem;font-weight:700}.history-card-players{color:var(--gris-doux);margin:0;font-size:.82rem}.history-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.history-card-date{color:var(--gris-doux);margin:0;font-size:.8rem}.history-media-badge{color:#a07820;border-radius:var(--radius-pill);background:#c9a84c26;padding:2px 8px;font-size:.75rem;font-weight:600}.history-card-scores{flex-wrap:wrap;gap:8px;display:flex}.history-player-score{color:var(--gris-doux);border-radius:var(--radius-pill);background:#0000000a;padding:3px 10px;font-size:.8rem}.history-player-score.winner{color:#a07820;background:#c9a84c26;font-weight:700}.history-gallery-btn{color:var(--bleu-azur);border-color:var(--bleu-azur);align-self:flex-end}@media (width>=768px){.history-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.history-page{padding:36px 56px 56px}}@media (width>=1024px){.history-title{font-size:3rem}.history-page{padding:56px 96px 72px}.history-list{gap:24px}}@media (width>=1440px){.history-page{padding:64px 144px 88px}}@media (width>=1800px){.history-page{padding:72px 192px 96px}}.premium-page{color:#fff;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:max(60px, calc(env(safe-area-inset-bottom) + 24px));background:linear-gradient(160deg,#0d1b3e 0%,#0057a8 60%,#003d7a 100%);flex-direction:column;gap:40px;display:flex}.premium-nav{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.premium-back{color:#fff;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast);background:#ffffff1f;border:1.5px solid #fff3;padding:8px 18px;font-family:inherit;font-size:.85rem;font-weight:700}.premium-back:hover{background:#fff3}.premium-user{color:#fff9;font-size:.85rem;font-weight:700}.premium-hero{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:20px 24px 0;display:flex}.premium-hero-badge{border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;color:var(--or-etoile-light,#e0c070);background:#c9a84c2e;border:1.5px solid #c9a84c73;align-items:center;gap:7px;padding:6px 16px;font-size:.78rem;font-weight:800;display:inline-flex}.premium-hero-title{font-family:var(--font-titre);letter-spacing:.02em;text-shadow:0 4px 24px #0006;margin:0;font-size:clamp(3.5rem,13vw,6rem);line-height:.92}.premium-hero-sub{color:#ffffffad;max-width:340px;margin:0;font-size:1rem;line-height:1.6}.premium-billing-toggle{border-radius:var(--radius-pill);background:#00000040;align-self:center;gap:4px;padding:4px;display:flex}.billing-btn{border-radius:var(--radius-pill);color:#ffffff8c;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:10px 24px;font-family:inherit;font-size:.9rem;font-weight:700;display:flex}.billing-btn.active{color:var(--bleu-azur-dark,#003d7a);background:#fff}.billing-save{background:var(--or-etoile);color:#fff;border-radius:20px;padding:2px 7px;font-size:.65rem;font-weight:800}.premium-plans{align-items:stretch;gap:14px;padding:0 20px;display:flex}.premium-plan{border-radius:20px;flex-direction:column;flex:1;gap:14px;padding:24px 18px;display:flex;position:relative;overflow:hidden}.premium-plan--free{background:#ffffff14;border:1.5px solid #ffffff26}.premium-plan--premium{background:#fff;border:none}.plan-glow{pointer-events:none;background:radial-gradient(circle,#c9a84c4d 0%,#0000 70%);position:absolute;inset:-40px}.plan-badge-top{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#c9a84c,#e0c070);border-radius:0 0 12px 12px;padding:4px 14px;font-size:.65rem;font-weight:800;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.plan-header{flex-direction:column;gap:4px;padding-top:10px;display:flex}.plan-name{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800}.premium-plan--free .plan-name{color:#ffffff8c}.premium-plan--premium .plan-name{color:var(--bleu-azur)}.plan-price{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.plan-amount{font-family:var(--font-titre);font-size:2.4rem;line-height:1}.premium-plan--free .plan-amount{color:#fff}.premium-plan--premium .plan-amount{color:var(--bleu-azur-dark,#003d7a)}.plan-period{color:var(--gris-doux);font-size:.82rem;font-weight:700}.plan-billed{color:var(--gris-doux);width:100%;font-size:.7rem}.plan-desc{font-size:.78rem}.premium-plan--free .plan-desc{color:#ffffff73}.premium-plan--premium .plan-desc{color:var(--gris-doux)}.plan-cta{width:100%;padding:14px;font-size:.88rem}.plan-saving{text-align:center;color:var(--or-etoile);margin:0;font-size:.72rem;font-weight:700}.premium-section-title{font-family:var(--font-titre);letter-spacing:.03em;color:#fff;margin:0 0 4px;font-size:1.9rem}.premium-comparison{flex-direction:column;gap:16px;padding:0 20px;display:flex}.comparison-table{background:#ffffff0f;border:1.5px solid #ffffff1f;border-radius:18px;overflow:hidden}.comparison-header{background:#ffffff0d;border-bottom:1px solid #ffffff1a;grid-template-columns:1fr 80px 100px;padding:12px 16px;display:grid}.comparison-col-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;text-align:center;font-size:.72rem;font-weight:800}.comparison-col-premium{color:var(--or-etoile-light,#e0c070)}.comparison-row{border-bottom:1px solid #ffffff0f;grid-template-columns:1fr 80px 100px;align-items:center;padding:12px 16px;display:grid}.comparison-row:last-child{border-bottom:none}.comparison-feature{color:#ffffffd9;align-items:center;gap:10px;font-size:.85rem;display:flex}.comparison-free,.comparison-premium{justify-content:center;align-items:center;display:flex}.comparison-text{color:#ffffff8c;text-align:center;font-size:.72rem;font-weight:700}.comparison-text--gold{color:var(--or-etoile-light,#e0c070)}.premium-coming{flex-direction:column;gap:14px;padding:0 20px;display:flex}.premium-coming-sub{color:#ffffff8c;margin:0;font-size:.88rem}.coming-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.coming-card{background:#ffffff12;border:1.5px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.coming-emoji{font-size:1.6rem;line-height:1}.coming-name{color:#fff;font-size:.88rem;font-weight:800;line-height:1.3}.coming-target{color:#ffffff73;font-size:.72rem}.coming-price{font-family:var(--font-titre);color:var(--or-etoile-light,#e0c070);margin-top:4px;font-size:1rem}.premium-final-cta{padding:0 20px}.final-cta-card{text-align:center;background:#ffffff12;border:1.5px solid #c9a84c4d;border-radius:22px;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.final-cta-title{font-family:var(--font-titre);color:#fff;margin:0;font-size:1.9rem}.final-cta-sub{color:#ffffff8c;margin:0;font-size:.88rem}.final-cta-btn{width:100%;max-width:320px;margin-top:4px;padding:18px;font-size:1rem}.final-cta-secure{color:#fff6;justify-content:center;align-items:center;margin:0;font-size:.75rem;display:flex}@media (width>=768px){.premium-hero{padding:32px 48px 0}.premium-plans{align-self:center;width:100%;max-width:600px;padding:0 48px}.premium-comparison,.premium-coming,.premium-final-cta{align-self:center;width:100%;max-width:700px;padding:0 48px}.coming-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.premium-page{padding-bottom:80px}.premium-hero-title{font-size:7rem}.premium-plans{max-width:540px}}.profile-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(48px, calc(env(safe-area-inset-bottom) + 16px));gap:24px}.profile-header{flex-direction:column;gap:6px;display:flex}.profile-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:2.2rem}.profile-identity.card{align-items:center;gap:16px;padding:20px;display:flex;position:relative}.profile-identity.card.is-editing{align-items:flex-start}.profile-edit-card-btn{width:32px;height:32px;color:var(--gris-doux);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);background:#0000000f;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.profile-identity:hover .profile-edit-card-btn{opacity:1}.profile-edit-card-btn:hover{opacity:1;color:var(--bleu-azur);background:#0057a81a}[data-theme=dark] .profile-edit-card-btn{background:#ffffff14}[data-theme=dark] .profile-edit-card-btn:hover{background:#ffffff24}.profile-avatar-wrap{flex-shrink:0;width:60px;height:60px;position:relative}.profile-avatar-wrap.editable{cursor:pointer}.profile-avatar{background:linear-gradient(135deg, var(--bleu-azur), var(--bleu-azur-dark));color:#fff;width:100%;height:100%;font-family:var(--font-titre);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.profile-avatar-img{object-fit:cover;border:2px solid #c9a84c80;border-radius:50%;width:100%;height:100%;display:block}.profile-avatar-edit{background:var(--or-etoile);border:2px solid var(--surface-card);width:24px;height:24px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-avatar-wrap.editable:hover .profile-avatar-edit{transform:scale(1.1)}.profile-avatar-overlay{background:#00000080;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.profile-avatar-spinner{border:2.5px solid #ffffff4d;border-top-color:var(--or-etoile);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite profile-spin}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-identity-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-username{align-items:center;gap:4px;font-size:1.1rem;font-weight:800;display:flex}.profile-edit-label{text-transform:uppercase;letter-spacing:.05em;color:var(--bleu-azur);margin-bottom:2px;font-size:.75rem;font-weight:700}.profile-edit-field{flex-direction:column;gap:3px;display:flex}.profile-edit-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--gris-doux);font-size:.72rem;font-weight:700}.profile-edit-input{width:100%;max-width:280px;padding:8px 12px;font-size:.95rem}.profile-pseudo-error{color:var(--rouge-defi);font-size:.78rem;font-weight:600}.profile-edit-actions{gap:8px;margin-top:8px;display:flex}.profile-edit-actions .btn{min-width:96px}.profile-email{color:var(--gris-doux);font-size:.82rem}.profile-section{flex-direction:column;gap:12px;display:flex}.profile-section-title{font-family:var(--font-titre);color:var(--text-primary);letter-spacing:.04em;font-size:1.3rem}.profile-sub-card.card{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.profile-sub-card.premium{background:linear-gradient(135deg,#fffbf0,#fff8e8);border:2px solid #c9a84c66}.profile-sub-card.premium.canceling{background:linear-gradient(135deg,#fff5f5,#fff0f0);border-color:#e6394666}.profile-cancel-msg{color:var(--text-secondary);border-left:3px solid var(--rouge-defi);border-radius:var(--radius-md);background:#e6394614;margin-top:10px;padding:12px 14px;font-size:.88rem;font-style:italic;line-height:1.55}.profile-sub-info{align-items:center;gap:12px;display:flex}.profile-sub-status{margin:0;font-size:.95rem;font-weight:800}.profile-sub-date{color:var(--gris-doux);margin:2px 0 0;font-size:.78rem}.profile-cosmetics-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.profile-cosmetics-empty{border:1px dashed var(--surface-border);border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:18px;font-size:.88rem;display:flex}.profile-cosmetics-grid{flex-direction:column;gap:8px;display:flex}.profile-stats-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.profile-stat-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px;display:flex}.stat-value{font-family:var(--font-titre);color:var(--bleu-azur);font-size:1.8rem;line-height:1}.stat-label{color:var(--gris-doux);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.profile-tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.profile-tile{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--text-primary);text-align:center;transition:all var(--transition-fast);border:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:88px;padding:18px 8px;font-family:inherit;font-size:.82rem;font-weight:700;display:flex}.profile-tile:hover{box-shadow:var(--shadow-md);background:#f0f4ff;transform:translateY(-2px)}.profile-tile svg{color:var(--bleu-azur)}.profile-gate-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.profile-gate-pill{border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast);background:linear-gradient(135deg,#c9a84c14,#c9a84c2e);border:1px solid #c9a84c66;justify-content:center;align-items:center;gap:8px;padding:12px 10px;font-family:inherit;font-size:.82rem;font-weight:700;display:flex}.profile-gate-pill:hover{background:linear-gradient(135deg,#c9a84c26,#c9a84c40);transform:translateY(-1px)}.profile-gate-pill svg{color:var(--or-etoile)}.profile-gate-pill--owner{background:linear-gradient(135deg,#e6394614,#e639462e);border-color:#e6394666}.profile-gate-pill--owner:hover{background:linear-gradient(135deg,#e6394626,#e6394640)}.profile-gate-pill--owner svg{color:var(--rouge-defi)}.profile-account-actions{flex-direction:column;gap:10px;display:flex}.profile-account-actions .btn{justify-content:center;width:100%}.profile-delete-trigger{color:var(--rouge-defi)!important}.profile-legal-links{color:var(--text-secondary);justify-content:center;gap:8px;margin-top:14px;font-size:.8rem;display:flex}.profile-legal-links a{color:var(--text-secondary);text-decoration:underline}.profile-logout{width:100%;margin-top:auto;color:var(--rouge-defi)!important;border-color:#e639464d!important}[data-theme=dark] .profile-sub-card.premium{background:#c9a84c14}[data-theme=dark] .profile-tile:hover{background:#ffffff0d}.legal-header{margin-bottom:24px}.legal-title{color:var(--bleu-azur);margin:8px 0 4px;font-family:Bebas Neue,sans-serif;font-size:clamp(1.8rem,6vw,2.6rem)}.legal-updated{color:var(--text-secondary);margin:0;font-size:.85rem}.legal-content{max-width:760px;color:var(--text-primary);line-height:1.65}.legal-content h2{color:var(--bleu-azur);letter-spacing:.02em;margin:28px 0 8px;font-family:Bebas Neue,sans-serif;font-size:1.4rem}.legal-content p{margin:0 0 12px}.legal-content ul{margin:0 0 12px;padding-left:22px}.legal-content li{margin-bottom:6px}.legal-content a{color:var(--bleu-azur);text-decoration:underline}[data-theme=dark] .legal-title,[data-theme=dark] .legal-content h2,[data-theme=dark] .legal-content a{color:var(--or-etoile)}.gate-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(32px, calc(env(safe-area-inset-bottom) + 16px));gap:16px}.gate-header{flex-direction:column;gap:6px;display:flex}.gate-title{font-family:var(--font-titre);color:var(--bleu-azur);font-size:2rem}.gate-subtitle{color:var(--text-secondary);font-size:.9rem}.gate-new-cta{width:100%;padding:14px;font-size:1rem}.gate-loading,.gate-empty{text-align:center;color:var(--text-secondary);padding:32px;font-style:italic}.gate-packs-list{flex-direction:column;gap:10px;display:flex}.gate-pack-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:3px solid var(--bleu-azur);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.gate-pack-card.premium{border-left-color:var(--or-etoile)}.gate-pack-card.draft{opacity:.65;background:repeating-linear-gradient(45deg, var(--surface-card), var(--surface-card) 10px, #00000005 10px, #00000005 20px)}.gate-pack-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gate-pack-status{border-radius:var(--radius-pill);letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;font-size:.65rem;font-weight:700}.gate-pack-status.draft{color:var(--text-secondary);background:#96969633}.gate-pack-status.scheduled{color:var(--bleu-azur);background:#0057a826}.gate-pack-meta{color:var(--gris-doux);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.gate-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.gate-inline-add{border:1px dashed var(--or-etoile);color:var(--or-etoile);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 10px;font-size:.72rem;font-weight:700}.gate-inline-add:hover{background:#c9a84c1a}.gate-warn{color:var(--rouge-defi);font-size:.8rem;font-style:italic}.gate-hint{color:var(--gris-doux);font-size:.78rem;font-style:italic}.gate-date-row{align-items:center;gap:8px;display:flex}.gate-date-row .input{flex:1}.gate-cats-section{border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface-card);overflow:hidden}.gate-cats-toggle{width:100%;font-family:var(--font-corps);color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-weight:700;display:flex}.gate-cats-toggle:hover{background:#00000005}.gate-cats-list{flex-direction:column;gap:8px;padding:4px 16px 16px;display:flex}.gate-cat-row{background:var(--surface-input);border-radius:var(--radius-md);align-items:center;gap:10px;padding:8px 10px;display:flex}.gate-cat-name{font-size:.9rem;font-weight:700}.gate-cat-slug{color:var(--gris-doux);margin-right:auto;font-family:monospace;font-size:.75rem}.gate-cat-row .btn-sm,.gate-cat-row .gate-delete-btn{flex:none;padding:4px 10px;font-size:.72rem}.gate-cat-modal{gap:14px;max-width:380px}.gate-icon-grid{grid-template-columns:repeat(5,1fr);gap:6px;width:100%;display:grid}.gate-icon-choice{background:var(--surface-input);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;padding:8px;display:flex}.gate-icon-choice:hover{border-color:var(--surface-border)}.gate-icon-choice.active{border-color:var(--bleu-azur);background:#0057a814}.gate-pack-info{flex-direction:column;gap:4px;display:flex}.gate-pack-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.gate-pack-name{font-size:1rem;font-weight:800}.gate-pack-tier{border-radius:var(--radius-pill);color:var(--vert-valide);letter-spacing:.05em;text-transform:uppercase;background:#2dc65326;padding:2px 8px;font-size:.7rem;font-weight:700}.gate-pack-tier.premium{background:linear-gradient(90deg, var(--or-etoile), var(--or-etoile-light));color:#fff}.gate-pack-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.gate-pack-meta{color:var(--gris-doux);text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:.75rem;font-weight:700;display:flex}.gate-pack-actions{gap:8px;display:flex}.gate-pack-actions .btn-sm{flex:1;padding:5px 10px;font-size:.75rem}.gate-delete-btn{color:var(--rouge-defi);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1.5px solid #e6394680;flex:1;padding:5px 10px;font-size:.75rem;font-weight:700}.gate-delete-btn:hover{border-color:var(--rouge-defi);background:#e639461a}.gate-section{flex-direction:column;gap:8px;display:flex}.gate-label{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;font-weight:700}.gate-theme-picker{flex-wrap:wrap;gap:8px;display:flex}.gate-theme-btn{background:var(--surface-card);border:2px solid var(--surface-border);border-radius:var(--radius-pill);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.gate-theme-btn:hover{border-color:var(--bleu-azur);color:var(--bleu-azur)}.gate-theme-btn.active{border-color:var(--bleu-azur);background:var(--bleu-azur);color:#fff}.gate-tier-toggle{gap:8px;display:flex}.gate-tier-btn{background:var(--surface-card);border:2px solid var(--surface-border);border-radius:var(--radius-pill);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;padding:10px 16px;font-size:.9rem;font-weight:700;display:inline-flex}.gate-tier-btn.active{border-color:var(--bleu-azur);background:var(--bleu-azur);color:#fff}.gate-tier-btn.premium.active{border-color:var(--or-etoile);background:linear-gradient(135deg, var(--or-etoile), var(--or-etoile-light));color:#1a1a2e}.gate-cover-upload{border:2px dashed var(--surface-border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);align-self:flex-start;align-items:center;gap:8px;padding:12px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.gate-cover-preview{flex-direction:column;gap:8px;display:flex}.gate-cover-preview img{border-radius:var(--radius-md);object-fit:cover;max-width:100%;max-height:200px}.gate-challenges{flex-direction:column;gap:10px;display:flex}.gate-challenge-row{flex-direction:column;gap:8px;padding:14px;display:flex}.gate-challenge-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.gate-case-num{font-family:var(--font-titre);letter-spacing:.05em;font-size:1rem;font-weight:800}.gate-intensity-picker{gap:6px;display:flex}.gate-remove-btn{cursor:pointer;color:var(--rouge-defi);background:0 0;border:none;padding:4px 8px;font-size:1.1rem}.gate-error{color:var(--rouge-defi);text-align:center;font-size:.875rem;font-weight:700}@media (width>=1024px){.gate-challenges{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gate-challenges .gate-label,.gate-challenges .btn{grid-column:1/-1}}.gate-cross-links{gap:8px;display:flex}.cos-preview-row{align-items:center;gap:16px;margin-bottom:12px;display:flex}.cos-metals-grid{flex-direction:column;gap:6px;display:flex}.cos-metal-row{background:var(--surface-input);border-radius:var(--radius-md);align-items:center;gap:10px;padding:8px 10px;display:flex}.cos-metal-label{font-family:var(--font-titre);color:var(--bleu-azur);min-width:30px;font-size:.9rem}.cos-color-input{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:2px;font-size:.7rem;font-weight:600;display:flex}.cos-color-input input[type=color]{border:1px solid var(--surface-border);cursor:pointer;background:0 0;border-radius:6px;width:50px;height:30px;padding:0}.cos-card-preview{flex-shrink:0;margin-right:12px}.quiz-opt-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.quiz-opt-row .input{flex:1}.quiz-opt-radio{border:2px solid var(--surface-border);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex:none;font-weight:800;transition:background .15s,border-color .15s,color .15s}.quiz-opt-radio:hover{border-color:var(--vert-valide)}.quiz-opt-radio.is-correct{background:var(--vert-valide);border-color:var(--vert-valide);color:#fff}.quiz-filters{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.quiz-filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quiz-filter-label{text-transform:uppercase;letter-spacing:.4px;width:78px;color:var(--text-secondary);flex:none;font-size:12px;font-weight:800}.quiz-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.quiz-chip{border:1px solid var(--surface-border);background:var(--surface-bg,transparent);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;padding:5px 12px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .1s}.quiz-chip:hover{border-color:var(--bleu-azur);color:var(--text-primary)}.quiz-chip:active{transform:scale(.96)}.quiz-chip.active{background:var(--bleu-azur);border-color:var(--bleu-azur);color:#fff}.quiz-filter-foot{border-top:1px solid var(--surface-border);justify-content:space-between;align-items:center;gap:10px;margin-top:2px;padding-top:8px;display:flex}.quiz-filter-count{color:var(--text-primary);font-size:13px;font-weight:800}.quiz-filter-clear{cursor:pointer;color:var(--rouge-defi);background:0 0;border:none;padding:4px 6px;font-size:13px;font-weight:700}.quiz-filter-clear:hover{text-decoration:underline}.quiz-stats{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:12px;padding:10px 14px;font-size:13px;line-height:1.6}.quiz-stats b.ok{color:var(--vert-valide)}.quiz-stats b.low{color:var(--rouge-defi)}.quiz-badge{border-radius:var(--radius-pill);text-transform:capitalize;letter-spacing:.3px;padding:2px 8px;font-size:11px;font-weight:800}.quiz-badge.exam{color:var(--bleu-azur-dark);background:#0057a81f}.quiz-badge.trial{color:#8a6d1a;background:#c9a84c26}.quiz-badge.facile{color:#1c7a36;background:#2dc65324}.quiz-badge.moyen{color:#8a6d1a;background:#c9a84c26}.quiz-badge.difficile{color:var(--rouge-defi);background:#e639461f}.quiz-correct{color:var(--vert-valide);margin:4px 0;font-size:13px;font-weight:700}.ag-loading{padding:24px 0}.ag-totals{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-secondary);flex-wrap:wrap;gap:18px;margin-bottom:18px;padding:12px 16px;font-size:.9rem;display:flex}.ag-totals strong{color:var(--text-primary);font-weight:800}.ag-layout{grid-template-columns:260px 1fr;align-items:start;gap:18px;display:grid}@media (width<=900px){.ag-layout{grid-template-columns:1fr}}.ag-sidebar{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);max-height:calc(100dvh - 24px);padding:12px;position:sticky;top:12px;overflow-y:auto}.ag-search{width:100%;margin-bottom:10px;padding:8px 12px;font-size:.9rem}.ag-pseudo-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ag-pseudo-row{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.92rem;font-weight:600;display:flex}.ag-pseudo-row:hover{background:#0057a814}[data-theme=dark] .ag-pseudo-row:hover{background:#ffffff0f}.ag-pseudo-row.is-active{background:var(--bleu-azur);color:#fff}.ag-pseudo-counts{opacity:.85;gap:8px;font-size:.78rem;font-weight:600;display:flex}.ag-pseudo-empty{text-align:center;color:var(--text-secondary);padding:12px;font-size:.85rem}.ag-main{min-width:0}.ag-main-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ag-main-title{font-family:var(--font-titre);color:var(--text-primary);align-items:baseline;gap:12px;margin:0;font-size:1.5rem;display:flex}.ag-main-count{font-family:var(--font-corps);color:var(--text-secondary);font-size:.85rem;font-weight:600}.ag-filter{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:var(--radius-pill);gap:4px;padding:3px;display:flex}.ag-filter-btn{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:5px 14px;font-size:.82rem;font-weight:700}.ag-filter-btn.is-active{background:var(--bleu-azur);color:#fff}.ag-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.ag-thumb{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;padding:0;display:flex;overflow:hidden}.ag-thumb:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ag-thumb-media{aspect-ratio:1;background:var(--surface-bg);width:100%;position:relative;overflow:hidden}.ag-thumb-media img,.ag-thumb-media video{object-fit:cover;width:100%;height:100%;display:block}.ag-thumb-play{color:#fff;text-shadow:0 2px 8px #0009;pointer-events:none;justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:absolute;inset:0}.ag-thumb-caption{flex-direction:column;gap:4px;padding:8px 10px;font-size:.78rem;display:flex}.ag-thumb-context{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ag-thumb-challenge{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;font-style:italic;line-height:1.3;display:-webkit-box;overflow:hidden}.ag-source{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;width:max-content;padding:1px 6px;font-size:.65rem;font-weight:800;display:inline-block}.ag-source--salon{background:var(--bleu-azur);color:#fff}.ag-source--live{background:var(--vert-valide);color:#fff}.ag-source--local{background:var(--or-etoile);color:var(--nuit-goudes)}.ag-lightbox{z-index:200;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ag-lightbox-content{flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%;display:flex}.ag-lightbox-content img,.ag-lightbox-content video{object-fit:contain;border-radius:var(--radius-md);background:#000;max-width:100%;max-height:75vh}.ag-lightbox-caption{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:6px;max-width:600px;font-size:.88rem;display:flex}.ag-lightbox-challenge{color:#ffffffd9;font-style:italic}.ag-lightbox-link{color:var(--or-etoile-light);align-items:center;gap:4px;font-size:.8rem;text-decoration:none;display:inline-flex}.ag-lightbox-close{top:max(16px, calc(env(safe-area-inset-top) + 8px));right:max(16px, calc(env(safe-area-inset-right) + 8px));color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.6rem;font-weight:700;display:flex;position:absolute}.adm-tournee-intro{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.6}.adm-tournee-intro code{background:var(--surface-border);border-radius:4px;padding:1px 5px;font-size:12px}.adm-tournee-global{flex-wrap:wrap;gap:18px;margin-top:10px;display:flex}.adm-tournee-global b{color:var(--bleu-azur);font-size:18px}.adm-tournee-list{flex-direction:column;gap:12px;display:flex}.adm-spot{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:14px 16px}.adm-spot-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.adm-spot-id{font-family:var(--font-titre);letter-spacing:1px;color:var(--bleu-azur-dark);font-size:18px}.adm-spot-qr{color:var(--text-secondary);font-family:monospace;font-size:12px}.adm-spot-label{gap:8px;margin-bottom:12px;display:flex}.adm-spot-label .input{flex:1}.adm-spot-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.adm-stat{background:var(--surface-bg,#fff);border:1px solid var(--surface-border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;padding:8px 4px;display:flex}.adm-stat-n{font-family:var(--font-titre);color:var(--text-primary);font-size:22px}.adm-stat--rate .adm-stat-n{color:var(--vert-valide)}.adm-stat-l{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.adm-tournee-new{margin-bottom:14px}.adm-spot-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.adm-spot-actions .btn{flex:none}.adm-spot-link{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.adm-spot-link:hover{color:var(--text-primary)}.adm-spot-del:hover{color:var(--rouge-defi)}.admin-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 24px));gap:20px}.admin-header{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.admin-header-title{flex:1;min-width:200px}.admin-title{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.01em;margin:0;font-size:2.2rem}.admin-subtitle{color:var(--gris-doux);margin:4px 0 0;font-size:.92rem}.admin-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-tabs{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-pill);gap:4px;width:max-content;max-width:100%;margin:18px 0;padding:4px;display:flex}.admin-tab{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:8px 18px;font-size:.88rem;font-weight:700;display:inline-flex}.admin-tab:hover{color:var(--text-primary)}.admin-tab.is-active{background:var(--bleu-azur);color:#fff}.admin-live-pill{border-radius:var(--radius-pill);border:1px solid var(--vert-valide);color:var(--vert-valide);text-transform:uppercase;letter-spacing:.06em;background:#2dc65326;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.admin-live-pill--paused{border-color:var(--or-etoile);color:var(--or-etoile);background:#c9a84c2e}.admin-live-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s infinite admin-live-pulse}.admin-live-pill--paused .admin-live-dot{animation:none}@keyframes admin-live-pulse{0%{box-shadow:0 0 #2dc6538c}70%{box-shadow:0 0 0 8px #2dc65300}to{box-shadow:0 0 #2dc65300}}.admin-last-fetch{color:var(--gris-doux);margin:0;font-size:.82rem}.admin-last-fetch-sep{opacity:.5;margin:0 8px}.admin-last-fetch strong{color:var(--text-primary);font-weight:700}.admin-error{border:1px solid var(--rouge-defi);color:var(--rouge-defi);border-radius:var(--radius-md);text-align:center;background:#e6394614;padding:12px 16px;font-weight:700}.admin-section{flex-direction:column;gap:12px;display:flex}.admin-section-title{font-family:var(--font-titre);letter-spacing:.04em;color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:1.2rem;display:inline-flex}.admin-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width>=640px){.admin-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.admin-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1440px){.admin-grid{grid-template-columns:repeat(5,1fr)}}.admin-grid--live .admin-stat{background:linear-gradient(135deg, #fff, var(--surface-bg))}.admin-stat{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;min-height:90px;padding:14px 16px;display:flex}.admin-stat-value{font-family:var(--font-titre);color:var(--text-primary);letter-spacing:.01em;font-size:1.8rem;line-height:1}.admin-stat-label{color:var(--text-primary);font-size:.82rem;font-weight:700}.admin-stat-hint{color:var(--gris-doux);margin-top:2px;font-size:.72rem}.admin-stat--gold .admin-stat-value{color:var(--or-etoile)}.admin-stat--green .admin-stat-value{color:var(--vert-valide)}.admin-stat--red .admin-stat-value{color:var(--rouge-defi)}.admin-rooms{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:6px;padding:12px 16px}.admin-rooms-title{font-family:var(--font-titre);letter-spacing:.04em;color:var(--text-primary);margin:0 0 8px;font-size:.95rem}.admin-rooms-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-rooms-card{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:10px 12px}.admin-rooms-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-rooms-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-rooms-code{font-family:var(--font-titre);letter-spacing:.12em;color:var(--bleu-azur);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem}.admin-rooms-code:hover{text-decoration:underline}.admin-rooms-name{color:var(--text-primary);font-size:.88rem;font-weight:700}.admin-rooms-phase{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);background:var(--vert-valide);color:#fff;padding:1px 8px;font-size:.7rem;font-weight:800}.admin-rooms-count{color:var(--text-secondary);align-items:center;gap:5px;font-size:.85rem;font-weight:700;display:inline-flex}.admin-rooms-players{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-rooms-player{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;font-size:.85rem;display:flex}.admin-player-dot{background:var(--vert-valide);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 2px #2dc65333}.admin-player-dot.is-host{background:var(--or-etoile);box-shadow:0 0 0 2px #c9a84c40}.admin-player-pseudo{color:var(--text-primary);font-weight:700}.admin-player-username{color:var(--text-secondary);font-size:.78rem}.admin-player-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;margin-left:auto;font-size:.76rem;overflow:hidden}.admin-player-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);padding:1px 7px;font-size:.68rem;font-weight:800}.admin-player-badge--host{background:var(--or-etoile);color:var(--nuit-goudes)}.admin-player-badge--premium{background:var(--bleu-azur);color:#fff}.admin-player-badge--gate{background:var(--rouge-defi);color:#fff}.admin-player-badge--anon{color:var(--text-secondary);background:#00000014}[data-theme=dark] .admin-player-badge--anon{background:#ffffff14}.admin-player-badge--owner{background:var(--nuit-goudes);color:var(--or-etoile);border:1px solid var(--or-etoile)}.admin-player-badge--red{background:var(--rouge-defi);color:#fff}.admin-users-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-users-count{border-radius:var(--radius-pill);background:var(--or-etoile);color:var(--nuit-goudes);margin-left:8px;padding:1px 9px;font-size:.78rem;font-weight:800}.admin-users-search{border-radius:var(--radius-pill);background:var(--bg-elevated,#0000000a);border:1px solid var(--border,#0000001a);align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.admin-users-search input{font:inherit;color:inherit;background:0 0;border:none;outline:none;min-width:220px}[data-theme=dark] .admin-users-search{background:#ffffff0d;border-color:#ffffff1a}.admin-users-table-wrap{border-radius:var(--radius-md,12px);border:1px solid var(--border,#00000014);overflow-x:auto}.admin-users-table{border-collapse:collapse;width:100%;font-size:.86rem}.admin-users-table th,.admin-users-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border,#0000000f);padding:10px 12px}.admin-users-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg,#fff);z-index:1;font-size:.72rem;font-weight:800;position:sticky;top:0}[data-theme=dark] .admin-users-table th{background:var(--nuit-goudes)}.admin-users-table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-users-table th.is-sortable:hover{color:var(--text-primary)}.admin-users-table th.num,.admin-users-table td.num{text-align:right}.admin-users-table tbody tr:hover{background:#0057a80d}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-users-identity{align-items:center;gap:10px;display:flex}.admin-users-avatar{border-radius:50%;flex-shrink:0;width:34px;height:34px;position:relative;overflow:visible}.admin-users-avatar img{object-fit:cover;border-radius:50%;width:34px;height:34px}.admin-users-initials{background:var(--bleu-azur);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:800;display:flex}.admin-users-online-dot{background:var(--vert-valide);border:2px solid var(--bg,#fff);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}[data-theme=dark] .admin-users-online-dot{border-color:var(--nuit-goudes)}.admin-users-names{flex-direction:column;min-width:0;line-height:1.25;display:flex}.admin-users-pseudo{font-weight:700}.admin-users-email{color:var(--text-secondary);text-overflow:ellipsis;max-width:200px;font-size:.74rem;overflow:hidden}.admin-users-muted{color:var(--text-secondary)}.admin-users-form{font-weight:800}.admin-users-form.is-good{color:var(--vert-valide)}.admin-users-form.is-mid{color:var(--or-etoile)}.admin-users-form.is-bad{color:var(--rouge-defi)}.admin-users-form.is-na{color:var(--text-secondary);font-weight:600}.admin-users-cr{font-variant-numeric:tabular-nums}.admin-users-cr .ok{color:var(--vert-valide);font-weight:700}.admin-users-cr .ko{color:var(--rouge-defi);font-weight:700}.admin-users-cr .sep{color:var(--text-secondary);margin:0 2px}.admin-users-contrib{color:var(--text-secondary);align-items:center;gap:10px;font-weight:600;display:inline-flex}.admin-users-contrib span{align-items:center;gap:3px;display:inline-flex}.admin-users-seen{color:var(--text-secondary);font-weight:600}.admin-users-seen.is-online{color:var(--vert-valide);font-weight:800}.admin-users-seen.is-fresh{color:var(--text-primary);font-weight:700}.admin-users-seen.is-never{color:var(--text-secondary);opacity:.7;font-style:italic}.admin-reports-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.admin-report-card{border:1px solid var(--border,#0000001a);border-radius:var(--radius-md,12px);background:var(--bg-elevated,#00000005);flex-direction:column;display:flex;overflow:hidden}.admin-report-media{aspect-ratio:4/3;background:#000;justify-content:center;align-items:center;display:flex}.admin-report-media img,.admin-report-media video{object-fit:contain;width:100%;height:100%}.admin-report-info{flex-direction:column;gap:4px;padding:10px 12px;font-size:.84rem;display:flex}.admin-report-line strong{color:var(--text-secondary);text-transform:uppercase;margin-right:6px;font-size:.74rem;font-weight:700}.admin-report-code{font-weight:800}.admin-report-reason{color:var(--text-secondary);margin:4px 0 0;font-style:italic}.admin-report-date{color:var(--text-secondary);margin-top:2px;font-size:.74rem}.admin-report-actions{border-top:1px solid var(--border,#00000014);gap:8px;padding:10px 12px;display:flex}.admin-report-actions .btn{flex:1;justify-content:center}.admin-reports-treated{margin-top:20px}.admin-reports-treated summary{cursor:pointer;color:var(--text-secondary);font-weight:700}.admin-reports-treated-list{flex-direction:column;gap:8px;margin:0;padding:10px 0 0;list-style:none;display:flex}.admin-reports-treated-list li{align-items:center;gap:10px;font-size:.82rem;display:flex}.admin-reports-treated-meta{color:var(--text-secondary)}.admin-report-pill{border-radius:var(--radius-pill);text-transform:uppercase;padding:1px 8px;font-size:.7rem;font-weight:800}.admin-report-pill--deleted{background:var(--rouge-defi);color:#fff}.admin-report-pill--dismissed{color:var(--text-secondary);background:#0000001a}.salon-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 24px));gap:20px}.salon-header{flex-direction:column;gap:6px;display:flex}.salon-title{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.01em;font-size:2.2rem}.salon-subtitle{color:var(--gris-doux);margin:0;font-size:.95rem}.salon-form{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:20px;display:flex}.salon-label{color:var(--text-primary);font-size:.9rem;font-weight:700}.salon-error{color:var(--rouge-defi);text-align:center;margin:0;font-size:.9rem;font-weight:700}.salon-cta{width:100%;margin-top:4px}.salon-hint{color:var(--gris-doux);justify-content:center;align-items:center;gap:6px;margin-top:4px;font-size:.85rem;display:flex}.salon-preview{background:var(--surface-card);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:20px;display:flex}.salon-preview-name{font-family:var(--font-titre);color:var(--text-primary);margin:0;font-size:1.6rem}.salon-preview-meta{color:var(--gris-doux);justify-content:center;align-items:center;gap:14px;font-size:.9rem;display:flex}.salon-preview-meta strong{color:var(--text-primary)}.salon-status-pill{border-radius:var(--radius-pill);background:var(--surface-bg);border:1px solid var(--surface-border);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.salon-status-pill--live{color:var(--vert-valide);border-color:var(--vert-valide);background:#2dc65326}.salon-status-pill--ended{color:var(--rouge-defi);border-color:var(--rouge-defi);background:#e639461f}.salon-status-pill--full{color:var(--or-etoile);border-color:var(--or-etoile);background:#c9a84c2e}.lobby-shell{flex-direction:column;gap:18px;display:flex}.lobby-status-bar{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.lobby-live{color:var(--vert-valide);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-size:.85rem;font-weight:800;display:inline-flex}.lobby-live-dot{background:var(--vert-valide);border-radius:50%;width:9px;height:9px;animation:1.6s infinite lobby-pulse;box-shadow:0 0 #2dc65399}.lobby-live--off .lobby-live-dot{background:var(--gris-doux);box-shadow:none;animation:none}.lobby-live--off{color:var(--gris-doux)}@keyframes lobby-pulse{0%{box-shadow:0 0 #2dc65380}70%{box-shadow:0 0 0 10px #2dc65300}to{box-shadow:0 0 #2dc65300}}.lobby-count{color:var(--gris-doux);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:inline-flex}.lobby-name{font-family:var(--font-titre);color:var(--text-primary);letter-spacing:.01em;margin:0;font-size:1.8rem}.lobby-invite{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:12px;padding:18px;display:flex}.lobby-invite-qr{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;padding:10px;line-height:0}.lobby-invite-code{flex-direction:column;align-items:center;gap:2px;display:flex}.lobby-invite-code-label{color:var(--gris-doux);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700}.lobby-invite-code-value{font-family:var(--font-titre);color:var(--bleu-azur);letter-spacing:.18em;cursor:pointer;-webkit-user-select:all;user-select:all;font-size:2.2rem}.lobby-invite-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.lobby-invite-actions .btn{flex:130px;min-width:130px}.lobby-players{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px;display:flex}.lobby-players-title{font-family:var(--font-titre);letter-spacing:.02em;color:var(--text-primary);justify-content:space-between;align-items:center;margin:0;font-size:1.2rem;display:flex}.lobby-players-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lobby-player-row{background:var(--surface-bg);border-radius:var(--radius-sm);border:1px solid var(--surface-border);transition:background var(--transition-fast);align-items:center;gap:10px;padding:10px 12px;display:flex}.lobby-player-row--me{border-color:var(--bleu-azur);background:#0057a80f}.lobby-player-dot{background:var(--gris-doux);border-radius:50%;flex-shrink:0;width:10px;height:10px}.lobby-player-dot--online{background:var(--vert-valide)}.lobby-player-pseudo{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1rem;font-weight:800;overflow:hidden}.lobby-player-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.06em;color:var(--or-etoile);background:#c9a84c2e;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:800;display:inline-flex}.lobby-player-badge--me{color:var(--bleu-azur);background:#0057a81f}.lobby-actions{flex-direction:column;gap:10px;display:flex}.lobby-actions .btn{width:100%}.btn-quiet-danger-text{color:var(--rouge-defi);font-family:var(--font-corps);cursor:pointer;opacity:.75;text-underline-offset:3px;transition:opacity var(--transition-fast);background:0 0;border:none;padding:8px;font-size:.85rem;font-weight:700;-webkit-text-decoration:underline #e6394666;text-decoration:underline #e6394666}.btn-quiet-danger-text:hover{opacity:1}.lobby-warn{color:var(--gris-doux);text-align:center;margin:0;font-size:.8rem}.lobby-host-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0d1117a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lobby-host-card{background:var(--surface-card);border-radius:var(--radius-md);text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:24px;display:flex}.lobby-host-title{font-family:var(--font-titre);color:var(--rouge-defi);margin:0;font-size:1.5rem}.lobby-host-countdown{font-family:var(--font-titre);color:var(--or-etoile);letter-spacing:.02em;font-size:3rem}.lobby-dead{border:1px solid var(--rouge-defi);border-radius:var(--radius-md);text-align:center;color:var(--rouge-defi);background:#e6394614;padding:16px;font-weight:700}.lobby-dead small{color:var(--gris-doux);margin-top:4px;font-weight:600;display:block}.salon-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:110;background:#0d111799;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.salon-modal{background:var(--surface-card);border-radius:var(--radius-md);width:100%;max-width:380px;box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:24px;display:flex}.salon-modal-title{font-family:var(--font-titre);color:var(--rouge-defi);text-align:center;margin:0;font-size:1.6rem}.salon-modal-body{color:var(--text-primary);text-align:center;margin:0}.salon-modal-actions{gap:8px;display:flex}.salon-modal-actions .btn{flex:1}.salon-pack-picker{background:var(--surface-card);border-radius:var(--radius-md);width:100%;max-width:460px;max-height:80dvh;box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:20px;display:flex;overflow-y:auto}.salon-pack-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.salon-pack-row{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:var(--radius-sm);cursor:pointer;width:100%;font:inherit;text-align:left;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;padding:12px 14px;display:flex}.salon-pack-row:hover:not(:disabled){border-color:var(--bleu-azur);background:#0057a814}.salon-pack-row:active:not(:disabled){transform:scale(.98)}.salon-pack-row:disabled{opacity:.6;cursor:wait}.salon-pack-row.is-loading{border-color:var(--or-etoile)}.salon-pack-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.salon-pack-row-name{color:var(--text-primary);font-weight:800}.salon-pack-row-desc{color:var(--gris-doux);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}@media (width>=768px){.salon-title{font-size:2.6rem}.lobby-shell{width:100%;max-width:640px;margin:0 auto}}.salon-game-page{position:relative;overflow:hidden}@media (width<=1023px){.layout-page.salon-game-page{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-top:max(28px, calc(env(safe-area-inset-top) + 16px));padding-bottom:max(16px, calc(env(safe-area-inset-bottom) + 8px))}.salon-endgame{padding-top:16px;padding-left:0;padding-right:0}.salon-endgame-title{font-size:clamp(1.6rem,7.5vw,2.4rem);line-height:1.05}}.salon-live-badge{border-radius:var(--radius-pill);border:1px solid var(--vert-valide);color:var(--vert-valide);text-transform:uppercase;letter-spacing:.06em;background:#2dc65326;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.salon-live-badge-dot{background:var(--vert-valide);border-radius:50%;width:8px;height:8px;animation:1.6s infinite salon-live-pulse;box-shadow:0 0 #2dc65399}@keyframes salon-live-pulse{0%{box-shadow:0 0 #2dc6538c}70%{box-shadow:0 0 0 8px #2dc65300}to{box-shadow:0 0 #2dc65300}}.salon-live-badge--off{border-color:var(--gris-doux);color:var(--gris-doux);background:#8c96aa26}.salon-live-badge--off .salon-live-badge-dot{background:var(--gris-doux);box-shadow:none;animation:none}.salon-live-badge strong{font-size:.9rem}@media (width>=1024px){.salon-live-badge{background:#2dc6532e;border-color:#2dc65399}.salon-live-badge--off{color:#ffffffb3;background:#ffffff1a;border-color:#ffffff40}}.salon-offline-banner{border-radius:var(--radius-md);color:var(--rouge-defi);text-align:center;background:#e6394614;border:1px dashed #e6394666;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;max-width:380px;margin-top:4px;padding:10px 14px;font-size:.88rem;display:flex}.salon-offline-banner strong{color:var(--rouge-defi)}.salon-spectator{width:100%;color:var(--gris-doux);text-align:center;justify-content:center;align-items:center;gap:10px;margin:0;padding:12px 16px;font-size:.95rem;font-style:italic;display:flex}.salon-spectator--column{flex-direction:column;gap:4px}.game-idle--spectator{justify-content:center;align-items:center;margin:auto 0}.salon-spectator small{color:var(--text-secondary);font-size:.82rem;font-style:normal}.salon-actions-stack{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.salon-actions-stack .btn{min-width:140px}.salon-vote{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:10px;padding:18px;display:flex}.salon-vote-title{font-family:var(--font-titre);color:var(--bleu-azur);margin:0;font-size:1.6rem}.salon-vote-sub{color:var(--text-primary);text-align:center;margin:0}.salon-vote-buttons{gap:12px;width:100%;margin-top:10px;display:flex}.salon-vote-buttons .btn{flex:1;padding:14px;font-size:1rem}.salon-quit-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#00000014;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;line-height:1;display:flex}.salon-quit-btn:hover{background:var(--rouge-defi);color:#fff;transform:scale(1.05)}[data-theme=dark] .salon-quit-btn{color:#ffffffb3;background:#ffffff14}[data-theme=dark] .salon-quit-btn:hover{background:var(--rouge-defi);color:#fff}.salon-result-media{width:100%;max-width:360px;margin:12px auto 4px}.salon-result-refused{font-family:var(--font-titre);color:#fff;background:var(--rouge-defi);text-align:center;letter-spacing:.08em;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);margin:0 auto 8px;padding:6px 18px;font-size:1.4rem;display:inline-block}.salon-emoji-dock{right:max(12px, env(safe-area-inset-right));bottom:max(14px, calc(env(safe-area-inset-bottom) + 10px));z-index:60;align-items:center;gap:8px;display:flex;position:fixed}.salon-emoji-fab{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-md);transition:transform var(--transition-fast), background var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#0d1117d9;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.salon-emoji-fab:hover{transform:scale(1.06)}.salon-emoji-fab:active{transform:scale(.92)}.salon-emoji-fab.is-open{background:var(--rouge-defi);border-color:var(--rouge-defi)}.salon-emoji-popover{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);background:#0d1117eb;border:1px solid #ffffff26;gap:6px;padding:8px 10px;display:flex}.salon-emoji-btn{cursor:pointer;width:36px;height:36px;transition:transform var(--transition-fast), background var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.salon-emoji-btn:hover{background:#ffffff1a;transform:scale(1.15)}.salon-emoji-btn:active{transform:scale(.88)}.salon-emoji-layer{pointer-events:none;z-index:55;position:fixed;inset:0;overflow:hidden}.salon-emoji-burst{pointer-events:none;filter:drop-shadow(0 2px 6px #0006);-webkit-user-select:none;user-select:none;font-size:2.4rem;position:absolute;bottom:80px}.salon-endgame{padding:32px 16px max(80px, calc(env(safe-area-inset-bottom) + 80px));flex-direction:column;align-items:center;gap:18px;max-width:480px;margin:0 auto;display:flex}.salon-endgame-title{font-family:var(--font-titre);color:var(--or-etoile);text-align:center;text-shadow:0 4px 16px #0006;margin:0;font-size:2.4rem}.salon-endgame-podium{flex-direction:column;gap:8px;width:100%;display:flex}.salon-endgame-podium-row{position:relative}.salon-endgame-podium-dot{background:var(--gris-doux);z-index:1;border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:14px;box-shadow:0 0 0 2px #fff}.salon-endgame-podium-row.is-online .salon-endgame-podium-dot{background:var(--vert-valide)}.salon-endgame-invite{width:100%;margin-top:4px}.salon-endgame-invite-title{font-family:var(--font-titre);letter-spacing:.04em;color:var(--bleu-azur);text-align:center;margin:0;font-size:1.1rem}.salon-endgame-actions{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.salon-endgame-actions .btn-gold{width:100%}.salon-endgame-divider{text-transform:uppercase;letter-spacing:.15em;width:100%;color:var(--gris-doux);align-items:center;gap:10px;margin:4px 0;font-size:.72rem;font-weight:800;display:flex}.salon-endgame-divider:before,.salon-endgame-divider:after{content:"";background:var(--surface-border);flex:1;height:1px}.salon-endgame-quick-leave{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;display:flex}.salon-quick-link{background:var(--surface-card);border:1px solid var(--surface-border);color:var(--text-primary);border-radius:var(--radius-pill);font-family:var(--font-corps);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.salon-quick-link:hover{background:var(--bleu-azur);border-color:var(--bleu-azur);color:#fff}.salon-quick-link:active{transform:scale(.96)}.salon-quick-link--danger{color:var(--rouge-defi);background:#e6394614;border-color:#e6394666}.salon-quick-link--danger:hover{background:var(--rouge-defi);border-color:var(--rouge-defi);color:#fff}@media (width>=1024px){.salon-endgame-divider{color:#ffffffb3}.salon-endgame-divider:before,.salon-endgame-divider:after{background:#ffffff2e}.salon-quick-link{color:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border-color:#ffffff38}.salon-quick-link:hover{color:#fff;background:#ffffff38;border-color:#fff6}.salon-quick-link--danger{color:#ffb0b8;background:#e6394624;border-color:#e6394673}.salon-quick-link--danger:hover{background:var(--rouge-defi);border-color:var(--rouge-defi);color:#fff}}@media (width>=768px){.salon-endgame{max-width:640px}}@media (width>=1024px){.salon-game-page.salon-game-page--endgame{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.salon-game-page--endgame .game-scores{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000004d;border-bottom:1px solid #ffffff1a;margin:0;padding:10px 24px;position:sticky;top:0}.salon-game-page--endgame .salon-endgame{grid-column:unset;grid-row:unset;max-width:720px;min-height:auto;margin:0 auto;padding-top:32px;padding-bottom:64px;overflow:visible}.salon-endgame-title{font-size:2.4rem}.salon-endgame-podium{gap:10px}.salon-endgame-invite{gap:10px;padding:14px}.salon-endgame-invite .lobby-invite-qr{padding:8px}.salon-endgame-invite .lobby-invite-qr svg{width:120px;height:120px}}.salon-toast-anchor{top:max(16px, calc(env(safe-area-inset-top) + 8px));z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.salon-toast{pointer-events:auto;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:10px;max-width:100%;padding:10px 18px;font-size:.9rem;font-weight:700;display:inline-flex;overflow:hidden}.salon-toast-wave{transform-origin:70% 80%;font-size:1.2rem;animation:1.6s ease-in-out infinite salon-toast-wave;display:inline-block}@keyframes salon-toast-wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}}.salon-toast-text strong{color:var(--bleu-azur)}.salon-toast--error{background:var(--rouge-defi);border-color:var(--rouge-defi);color:#fff;cursor:pointer}.salon-toast-error-icon{width:20px;height:20px;font-family:var(--font-titre);background:#ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:inline-flex}.salon-toast--media{cursor:pointer;gap:12px;padding:6px 14px 6px 6px}.salon-toast-media-thumb{border-radius:var(--radius-sm);background:var(--surface-bg);flex-shrink:0;width:44px;height:44px;overflow:hidden}.salon-toast-media-thumb img,.salon-toast-media-thumb video{object-fit:cover;width:100%;height:100%;display:block}.salon-media-lightbox{z-index:200;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.salon-media-lightbox-content{justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.salon-media-lightbox-content img,.salon-media-lightbox-content video{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%}.salon-media-lightbox-close{top:max(16px, calc(env(safe-area-inset-top) + 8px));right:max(16px, calc(env(safe-area-inset-right) + 8px));color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.6rem;font-weight:700;display:flex;position:absolute}@media (width>=1024px){.salon-toast-anchor{top:76px}.salon-toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2}}.mes-salons-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 24px));gap:24px}.mes-salons-action-bar{grid-template-columns:1fr;gap:8px;display:grid}.mes-salons-cta{justify-content:center;align-items:center;width:100%;padding:14px 18px;font-size:.95rem;display:inline-flex}.mes-salons-cta--upsell{color:var(--or-etoile)!important;background:#c9a84c14!important;border-color:#c9a84c66!important}.mes-salons-cta--upsell:hover{background:#c9a84c29!important;border-color:#c9a84c99!important}@media (width>=480px){.mes-salons-action-bar{grid-template-columns:1fr 1fr}}.mes-salons-section{flex-direction:column;gap:12px;display:flex}.mes-salons-section-title{font-family:var(--font-titre);letter-spacing:.04em;color:var(--text-primary);margin:0;font-size:1.2rem}.mes-salons-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=768px){.mes-salons-grid{grid-template-columns:1fr 1fr}}@media (width>=1280px){.mes-salons-grid{grid-template-columns:1fr 1fr 1fr}}.mes-salon-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.mes-salon-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.mes-salon-card--ended{opacity:.85}.mes-salon-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mes-salon-card-name{font-family:var(--font-titre);letter-spacing:.01em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.2rem;overflow:hidden}.mes-salon-status{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.mes-salon-status--lobby{color:var(--bleu-azur);background:#0057a81f}.mes-salon-status--playing{color:var(--vert-valide);background:#2dc65326}.mes-salon-status--between-games{color:var(--or-etoile);background:#c9a84c2e}.mes-salon-status--ended{color:var(--gris-doux);background:#8c96aa26}.mes-salon-status-dot{background:var(--vert-valide);border-radius:50%;width:7px;height:7px;animation:1.6s infinite mes-salon-pulse}@keyframes mes-salon-pulse{0%{box-shadow:0 0 #2dc65380}70%{box-shadow:0 0 0 6px #2dc65300}to{box-shadow:0 0 #2dc65300}}.mes-salon-meta{color:var(--gris-doux);flex-wrap:wrap;align-items:center;gap:12px;font-size:.78rem;display:flex}.mes-salon-meta span{align-items:center;gap:4px;display:inline-flex}.mes-salon-host-pill{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.06em;background:#c9a84c2e;padding:2px 8px;font-weight:800;color:var(--or-etoile)!important;font-size:.7rem!important}.mes-salon-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.mes-salon-actions .btn{padding:8px 14px;font-size:.85rem}.btn-quiet-danger{color:var(--gris-doux);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;display:flex}.btn-quiet-danger:hover{color:var(--rouge-defi);background:#e6394614;border-color:#e6394666}.salon-history-page{padding-top:max(24px, calc(env(safe-area-inset-top) + 8px));padding-bottom:max(40px, calc(env(safe-area-inset-bottom) + 24px));gap:16px}.history-tabs{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-pill);width:100%;box-shadow:var(--shadow-sm);align-self:stretch;gap:4px;padding:4px;display:flex}.history-tab{font-family:var(--font-corps);color:var(--gris-doux);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;padding:8px 12px;font-size:.85rem;font-weight:700}.history-tab.active{background:var(--bleu-azur);color:#fff}.history-games{grid-template-columns:1fr;gap:8px;display:grid}@media (width>=768px){.history-games{grid-template-columns:1fr 1fr}}.history-game-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;font:inherit;color:inherit;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.history-game-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.history-game-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.history-game-date{color:var(--gris-doux);font-size:.78rem}.history-game-winner{color:var(--or-etoile);align-items:center;gap:5px;font-size:.85rem;font-weight:800;display:inline-flex}.history-game-scores{flex-wrap:wrap;gap:8px;display:flex}.history-game-score{color:var(--text-primary);background:var(--surface-bg);border-radius:var(--radius-pill);padding:3px 10px;font-size:.85rem}.history-game-score strong{font-family:var(--font-titre);color:var(--or-etoile);margin-left:4px}.history-game-meta{color:var(--gris-doux);gap:6px;font-size:.78rem;display:flex}.history-stats{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.history-stats-row{border-top:1px solid var(--surface-border);grid-template-columns:2fr repeat(5,1fr);align-items:center;gap:6px;padding:12px 14px;font-size:.85rem;display:grid}.history-stats-row:first-child{border-top:none}.history-stats-row--head{background:var(--surface-bg);text-transform:uppercase;letter-spacing:.06em;color:var(--gris-doux);font-size:.72rem;font-weight:800}.history-stats-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-weight:800;display:flex;overflow:hidden}.history-stats-host{color:var(--or-etoile);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.06em;background:#c9a84c2e;padding:1px 6px;font-size:.6rem;font-weight:800}.history-stats-good{color:var(--vert-valide);font-weight:800}.history-stats-bad{color:var(--rouge-defi);font-weight:800}.history-stats-points{font-family:var(--font-titre);color:var(--or-etoile);font-size:1rem}@media (width<=640px){.history-stats-row{gap:4px;padding:10px 12px;font-size:.78rem}}.history-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.history-gallery-tile{aspect-ratio:1;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast);-webkit-tap-highlight-color:transparent;padding:0;position:relative;overflow:hidden}.history-gallery-tile:hover{transform:scale(1.03)}.history-gallery-tile img{object-fit:cover;width:100%;height:100%}.history-gallery-caption{color:#fff;text-shadow:0 1px 2px #00000080;text-align:left;background:linear-gradient(#0000,#000000b3);padding:4px 8px;font-size:.78rem;font-weight:800;position:absolute;bottom:0;left:0;right:0}.history-game-modal{background:var(--surface-card);border-radius:var(--radius-md);width:100%;max-width:540px;max-height:85dvh;box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.history-game-modal-scores{flex-wrap:wrap;gap:8px;display:flex}.history-rank{background:var(--surface-bg);border-radius:var(--radius-pill);padding:6px 12px;font-size:.85rem;font-weight:800}.history-rank.rank-1{color:var(--or-etoile);background:#c9a84c2e}.history-game-modal-history{flex-direction:column;gap:6px;display:flex}.history-entry{background:var(--surface-bg);border-radius:var(--radius-sm);border-left:3px solid var(--gris-doux);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.history-entry--completed{border-left-color:var(--vert-valide)}.history-entry--refused{border-left-color:var(--rouge-defi);opacity:.82}.history-entry-player{color:var(--text-primary);min-width:80px;font-size:.85rem;font-weight:800}.history-entry-text{color:var(--text-primary);flex:1;min-width:0;font-size:.85rem}.history-entry-result{white-space:nowrap;font-size:.82rem;font-weight:800}.history-entry--completed .history-entry-result{color:var(--vert-valide)}.history-entry--refused .history-entry-result{color:var(--rouge-defi)}.history-lightbox{z-index:200;cursor:zoom-out;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0}.history-lightbox img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:80dvh;box-shadow:0 12px 60px #00000080}.history-lightbox-caption{color:#fff;text-align:center;max-width:600px;font-size:.9rem}.history-lightbox-report{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;align-items:center;gap:4px;margin-top:10px;padding:5px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.history-lightbox-report:hover{background:var(--rouge-defi);border-color:var(--rouge-defi)}.salon-report-desc{color:var(--text-secondary);margin:0 0 12px;font-size:.9rem}.salon-report-reason{resize:vertical;width:100%;min-height:70px;margin-bottom:14px}.salon-report-toast{background:var(--nuit-goudes);color:#fff;border-radius:var(--radius-pill);z-index:1000;cursor:pointer;text-align:center;max-width:90vw;padding:12px 20px;font-size:.9rem;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0000004d}.permis-page{max-width:760px;margin:0 auto;padding:20px 16px 40px}.permis-toast{z-index:20;background:var(--vert-valide);color:#04210f;text-align:center;border-radius:var(--radius-pill);cursor:pointer;margin-bottom:14px;padding:10px 16px;font-weight:800;position:sticky;top:12px}.permis-hero{text-align:center;margin-bottom:22px}.permis-hero-badge{width:78px;height:78px;color:var(--or-etoile);background:radial-gradient(circle,#c9a84c2e,#0000 70%);place-items:center;margin:0 auto 10px;display:grid}.permis-title{font-family:var(--font-titre);letter-spacing:2px;color:var(--bleu-azur);font-size:clamp(34px,9vw,56px);line-height:.95}.permis-subtitle{color:var(--text-secondary);max-width:460px;margin:8px auto 0;line-height:1.5}.permis-section-title{font-family:var(--font-titre);letter-spacing:1px;color:var(--text-primary);text-align:center;margin-bottom:14px;font-size:22px}.permis-status-card{background:var(--surface-card);border:1px solid var(--surface-border);border-left:4px solid var(--or-etoile);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:14px 16px;display:flex}.permis-status-card.is-fail{border-left-color:var(--rouge-defi)}.permis-status-mention{flex-direction:column;display:flex}.permis-status-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.permis-status-mention strong{font-family:var(--font-titre);letter-spacing:1px;color:var(--text-primary);font-size:22px}.permis-status-score{color:var(--or-etoile);font-weight:800}.permis-cats{margin-bottom:26px}.permis-cats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.permis-cat{text-align:center;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.permis-cat-icon{color:var(--bleu-azur)}.permis-cat-label{color:var(--text-primary);font-weight:800}.permis-cat-desc{color:var(--text-secondary);font-size:12px;line-height:1.3}.permis-actions{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.permis-actions{grid-template-columns:1fr}}.permis-action-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:18px;display:flex;position:relative}.permis-action-card--exam{border:2px solid var(--or-etoile);box-shadow:var(--shadow-or,0 6px 24px -8px #c9a84c66)}.permis-action-card h3{font-family:var(--font-titre);letter-spacing:1px;color:var(--text-primary);font-size:24px}.permis-action-card p{color:var(--text-secondary);flex:1;font-size:14px;line-height:1.45}.permis-action-card .btn{width:100%;margin-top:4px}.permis-action-tag{background:var(--or-etoile);color:#2a2208;letter-spacing:.5px;border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;font-weight:800;position:absolute;top:-11px;right:14px}.permis-attempts{color:var(--text-secondary);font-size:14px}.permis-attempts strong{color:var(--text-primary)}.permis-soon-note{color:var(--text-secondary);font-size:14px;font-style:italic}.permis-error{color:var(--rouge-defi);text-align:center;margin-top:14px;font-weight:700}.permis-login-hint{text-align:center;margin-top:18px}.permis-exam{max-width:620px}.permis-exam-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.permis-exam-quit{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1}.permis-exam-quit:hover{background:var(--surface-border)}.permis-exam-progress{flex:1;gap:5px;display:flex}.permis-dot{background:var(--surface-border);border-radius:3px;flex:1;height:5px;transition:background .2s}.permis-dot.done{background:var(--or-etoile)}.permis-dot.now{background:var(--bleu-azur)}.permis-exam-count{color:var(--text-secondary);text-align:right;min-width:42px;font-size:14px;font-weight:800}.permis-timer{background:var(--surface-border);border-radius:var(--radius-pill);justify-content:center;align-items:center;height:30px;margin-bottom:20px;display:flex;position:relative;overflow:hidden}.permis-timer-bar{background:linear-gradient(90deg, var(--vert-valide), var(--or-etoile));transition:width .1s linear;position:absolute;top:0;bottom:0;left:0}.permis-timer.urgent .permis-timer-bar{background:var(--rouge-defi)}.permis-timer-num{color:#fff;text-shadow:0 1px 2px #0006;font-weight:800;position:relative}.permis-question{flex-direction:column;gap:14px;display:flex}.permis-q-cat{text-transform:uppercase;letter-spacing:1px;color:var(--bleu-azur);border-radius:var(--radius-pill);background:#0057a81a;align-self:center;padding:3px 12px;font-size:12px;font-weight:800}.permis-q-text{font-family:var(--font-titre);letter-spacing:.5px;text-align:center;color:var(--text-primary);font-size:clamp(22px,6vw,30px);line-height:1.15}.permis-q-options{flex-direction:column;gap:10px;margin-top:6px;display:flex}.permis-q-option{text-align:left;background:var(--surface-card);border:2px solid var(--surface-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;font-size:16px;font-weight:600;transition:border-color .15s,transform .1s;display:flex}.permis-q-option:hover:not(:disabled){border-color:var(--bleu-azur)}.permis-q-option:active:not(:disabled){transform:scale(.99)}.permis-q-option.picked{border-color:var(--or-etoile);background:#c9a84c1f}.permis-q-option:disabled{cursor:default}.permis-q-letter{background:var(--bleu-azur);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.permis-q-option.picked .permis-q-letter{background:var(--or-etoile);color:#2a2208}.permis-exam-submitting{text-align:center;color:var(--text-secondary);margin-top:18px;font-weight:700}.permis-result{justify-content:center;align-items:center;min-height:70vh;display:flex}.permis-result-card{text-align:center;background:var(--surface-card);border:2px solid var(--or-etoile);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:8px;width:100%;max-width:460px;padding:30px 24px;display:flex}.permis-result-card.is-fail{border-color:var(--rouge-defi)}.permis-result-score{font-family:var(--font-titre);color:var(--bleu-azur);font-size:64px;line-height:1}.permis-result-score span{color:var(--text-secondary);font-size:28px}.permis-result-mention{font-family:var(--font-titre);letter-spacing:1px;color:var(--vert-valide);font-size:32px}.permis-result-card.is-fail .permis-result-mention{color:var(--rouge-defi)}.permis-result-record{color:var(--or-etoile);letter-spacing:.5px;font-weight:800}.permis-result-msg{color:var(--text-secondary)}.permis-result-teaser{color:var(--text-secondary);margin:8px 0}.permis-result-actions{flex-direction:column;gap:10px;width:100%;margin-top:10px;display:flex}.permis-result-actions .btn{width:100%}.permis-result-page{flex-direction:column;align-items:center;gap:24px;display:flex}.permis-result-page .permis-result-card{margin-top:8px}.permis-recap{width:100%;max-width:620px}.permis-recap-title{font-family:var(--font-titre);letter-spacing:1px;text-align:center;color:var(--text-primary);margin-bottom:14px;font-size:22px}.permis-recap-item{background:var(--surface-card);border:1px solid var(--surface-border);border-left:4px solid var(--vert-valide);border-radius:var(--radius-md);margin-bottom:10px;padding:12px 14px}.permis-recap-item.ko{border-left-color:var(--rouge-defi)}.permis-recap-q{color:var(--text-primary);align-items:flex-start;gap:8px;margin-bottom:8px;font-weight:700;display:flex}.permis-recap-badge{color:#fff;background:var(--vert-valide);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:grid}.permis-recap-item.ko .permis-recap-badge{background:var(--rouge-defi)}.permis-recap-opts{flex-direction:column;gap:5px;padding-left:30px;display:flex}.permis-recap-opt{color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid #0000;padding:4px 10px;font-size:14px}.permis-recap-opt.is-correct{color:var(--vert-valide);background:#2dc6531a;border-color:#2dc65359;font-weight:700}.permis-recap-opt.is-wrong{color:var(--rouge-defi);background:#e639461a;border-color:#e6394659;text-decoration:line-through}.permis-recap-skipped{color:var(--text-secondary);margin-top:4px;margin-left:30px;font-size:12px;font-style:italic;display:inline-block}.permis-hist-link{text-align:center;margin-top:18px}.permis-hist-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.permis-hist-title{font-family:var(--font-titre);letter-spacing:1px;color:var(--text-primary);font-size:28px}.permis-hist-list{flex-direction:column;gap:10px;display:flex}.permis-hist-item{background:var(--surface-card);border:1px solid var(--surface-border);border-left:4px solid var(--vert-valide);border-radius:var(--radius-md);overflow:hidden}.permis-hist-item.ko{border-left-color:var(--rouge-defi)}.permis-hist-row{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.permis-hist-mode{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-pill);color:var(--bleu-azur-dark);background:#0057a81f;flex:none;padding:3px 9px;font-size:11px;font-weight:800}.permis-hist-mode.trial{color:#8a6d1a;background:#c9a84c26}.permis-hist-mode.abandon{color:var(--rouge-defi);background:#e6394624}.permis-hist-main{flex-direction:column;flex:1;min-width:0;display:flex}.permis-hist-mention{color:var(--text-primary);font-weight:800;font-family:var(--font-titre);letter-spacing:.5px}.permis-hist-date{color:var(--text-secondary);font-size:12px}.permis-hist-score{font-family:var(--font-titre);color:var(--bleu-azur);flex:none;font-size:26px}.permis-hist-score span{color:var(--text-secondary);font-size:15px}.permis-hist-chevron{color:var(--text-secondary);flex:none;font-size:12px}.permis-hist-detail{padding:0 14px 12px}.permis-hist-detail .permis-recap-item{border-left-width:3px}.permis-cert-public{max-width:1120px}.permis-cert-404{text-align:center;padding-top:60px}.permis-cert-404 h1{font-family:var(--font-titre);margin-bottom:20px}.certificat{--parchemin:#fbf6e9;--parchemin-dark:#f3ead2;aspect-ratio:1080/660;color:#0d1117;background:repeating-linear-gradient(132deg, #c9a84c0a 0 2px, transparent 2px 7px), radial-gradient(circle at 50% 38%, #fff 0, var(--parchemin) 42%, var(--parchemin-dark) 100%);width:100%;box-shadow:var(--shadow-lg,0 20px 50px -16px #00000080);border-radius:6px;position:relative;overflow:hidden}.cert-frame{border:2px solid var(--or-etoile);border-radius:4px;position:absolute;inset:16px}.cert-frame:after{content:"";border:1px solid #c9a84c8c;border-radius:2px;position:absolute;inset:5px}.cert-watermark{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cert-watermark svg{opacity:.05;width:300px;height:300px;color:var(--bleu-azur)}.cert-inner{text-align:center;flex-direction:column;align-items:center;height:100%;padding:clamp(12px,2.5vw,26px) clamp(20px,5vw,56px);display:flex;position:relative}.cert-authority{font-family:var(--font-titre);letter-spacing:2.5px;color:var(--bleu-azur);align-items:center;gap:10px;font-size:clamp(11px,1.6vw,16px);display:flex}.cert-line{background:var(--or-etoile);width:36px;height:1px}.cert-crest{width:clamp(50px,8vw,74px);height:clamp(50px,8vw,74px);margin:6px 0 14px}.cert-main-title{font-family:var(--font-titre);letter-spacing:4px;color:var(--bleu-azur-dark);text-shadow:1px 1px #c9a84c59;font-size:clamp(34px,7vw,62px);line-height:.9}.cert-sub{letter-spacing:1px;text-transform:uppercase;color:#8a7b53;margin-top:4px;font-size:clamp(9px,1.4vw,13px);font-weight:800}.cert-rule{border-top:1px solid var(--or-etoile);width:180px;margin:clamp(8px,1.6vw,14px) 0;position:relative}.cert-rule:before,.cert-rule:after{content:"✦";color:var(--or-etoile);font-size:12px;position:absolute;top:-10px}.cert-rule:before{left:-18px}.cert-rule:after{right:-18px}.cert-body{color:#3a3326;max-width:760px;font-size:clamp(12px,1.9vw,16px);line-height:1.7}.cert-name{font-family:var(--font-titre);letter-spacing:3px;color:var(--rouge-defi);margin:4px 0;font-size:clamp(28px,5vw,46px);display:block}.cert-prov{color:var(--bleu-azur-dark);border-radius:var(--radius-pill);background:#0057a81a;border:1px solid #0057a84d;align-items:center;gap:6px;margin:4px 0;padding:2px 12px;font-size:clamp(11px,1.6vw,14px);font-weight:800;display:inline-flex}.cert-mention{font-family:var(--font-titre);letter-spacing:2px;margin:6px 0 2px;font-size:clamp(26px,4.4vw,40px);display:block}.cert-mention.ok{color:var(--vert-valide)}.cert-mention.ko{color:var(--rouge-defi)}.cert-scoreline{font-weight:800}.cert-scoreline b{font-size:clamp(16px,2.6vw,22px)}.cert-footer{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;width:100%;margin-top:auto;display:grid}.cert-foot-left{text-align:left;color:#6b6047;font-size:clamp(9px,1.4vw,12px);line-height:1.7}.cert-flabel{color:#8a7b53;text-transform:uppercase;letter-spacing:.5px;font-weight:800}.cert-matricule{font-family:var(--font-titre);letter-spacing:2px;color:var(--bleu-azur-dark);font-size:clamp(13px,1.9vw,18px)}.cert-foot-mid{justify-content:center;display:flex}.cert-stamp{width:clamp(88px,13vw,124px);height:clamp(88px,13vw,124px);font-family:var(--font-titre);text-align:center;border-radius:50%;place-items:center;display:grid;position:relative;transform:rotate(-12deg)}.cert-stamp.ok{color:var(--vert-valide);border:3px double var(--vert-valide)}.cert-stamp.ko{color:var(--rouge-defi);border:3px double var(--rouge-defi)}.cert-stamp:after{content:"";opacity:.06;background:currentColor;border-radius:50%;position:absolute;inset:0}.cert-ring{opacity:.6;border:1px solid;border-radius:50%;position:absolute;inset:8px}.cert-stamp-big{letter-spacing:1px;white-space:pre-line;font-size:clamp(18px,2.8vw,26px);line-height:.9}.cert-stamp-small{letter-spacing:2px;opacity:.85;margin-top:2px;font-size:clamp(8px,1.1vw,10px)}.cert-foot-right{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.cert-signature{font-family:var(--font-accent,cursive);color:var(--bleu-azur-dark);font-size:clamp(22px,3.6vw,32px);line-height:.8}.cert-sign-label{color:#8a7b53;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #cdbf95;padding-top:3px;font-size:clamp(9px,1.3vw,11px);font-weight:800}.permis-cert-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.permis-cert-actions .btn{min-width:200px}:is(html:has(.tournee-page),body:has(.tournee-page)){background:var(--blanc-velodrome)}.tournee-page{--text-primary:#16233b;--text-secondary:#59637a;--surface-border:#e0dccf;--surface-card:#fff;--surface-bg:#fff;background:var(--blanc-velodrome);flex-direction:column;align-items:center;gap:18px;min-height:100dvh;padding:28px 18px 32px;display:flex;position:relative;overflow:hidden auto}.tournee-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;display:flex}.tournee-head{text-align:center}.tournee-brand{letter-spacing:.5px;text-transform:uppercase;color:var(--bleu-azur);font-size:13px;font-weight:800}.tournee-title{font-family:var(--font-titre);letter-spacing:1px;color:var(--bleu-azur-dark);margin-top:6px;font-size:clamp(34px,9vw,58px);line-height:.92}.tournee-card{border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:none;background:0 0;border:none;flex-direction:column;gap:14px;padding:0;display:flex}.tournee-lead{color:var(--text-primary);font-weight:700}.tournee-inline-ico{vertical-align:-5px;display:inline-flex}.tournee-names{flex-direction:column;gap:8px;display:flex}.tournee-name-row{align-items:center;gap:8px;display:flex}.tournee-input{flex:1}.tournee-remove{border:1px solid var(--surface-border);cursor:pointer;width:34px;height:34px;color:var(--text-secondary);background:0 0;border-radius:50%;flex:none;font-size:14px}.tournee-remove:hover{border-color:var(--rouge-defi);color:var(--rouge-defi)}.tournee-add{align-self:flex-start}.tournee-error{color:var(--rouge-defi);text-align:center;font-weight:700}.tournee-spin{width:100%;margin-top:4px;padding:16px;font-size:1.1rem}.tournee-reassure{color:var(--text-secondary);justify-content:center;align-items:center;gap:6px;margin-top:-4px;font-size:13px;font-weight:700;display:flex}.tournee-dl{justify-content:center;align-items:center;gap:8px;display:inline-flex}.tournee-grid{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tournee-chip{border-radius:var(--radius-pill);background:var(--surface-bg,#fff);border:2px solid var(--surface-border);color:var(--text-primary);padding:12px 18px;font-size:17px;font-weight:800;transition:transform .1s,background .1s,border-color .1s,color .1s}.tournee-chip.on{background:var(--bleu-azur);border-color:var(--bleu-azur);color:#fff;transform:scale(1.06)}.tournee-chip.win{background:var(--or-etoile);border-color:var(--or-etoile);color:#2a2208;transform:scale(1.16);box-shadow:0 6px 20px -6px #c9a84cb3}.tournee-spinning-msg{text-align:center;color:var(--text-secondary);font-weight:700}.tournee-result{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.tournee-result-emoji{font-size:48px}.tournee-result-line{font-family:var(--font-titre);letter-spacing:.5px;color:var(--bleu-azur-dark);font-size:28px}.tournee-result-line strong{color:var(--or-etoile)}.tournee-result-sub{color:var(--text-secondary)}.tournee-replay{margin-top:8px}.tournee-cta{border-top:1px dashed var(--surface-border);flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:16px;padding-top:16px;display:flex}.tournee-cta-title{font-family:var(--font-titre);letter-spacing:.5px;color:var(--bleu-azur);font-size:22px}.tournee-cta-sub{color:var(--text-secondary);font-size:14px}.tournee-cta .btn{width:100%}.tournee-cta-note{color:var(--text-secondary);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:2px;font-size:12px;display:inline-flex}.tournee-foot{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:6px;margin-top:auto;font-size:13px;font-weight:700;display:inline-flex}.tw-wrap{aspect-ratio:1;width:min(82vw,340px);margin:6px auto 12px;position:relative}.tw-wrap--preview{width:min(58vw,230px);margin:0 auto 6px}.tw-disc{will-change:transform;width:100%;height:100%}.tw-pin{z-index:3;line-height:0;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.tournee-confetti{pointer-events:none;z-index:30;position:fixed;inset:0}.tournee-conf{font-size:26px;position:absolute;top:0}.authmodal-overlay{z-index:180;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)) 16px;background:#0d111799;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.authmodal{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg,18px);width:100%;max-width:400px;box-shadow:var(--shadow-lg,0 12px 48px #00000040);max-height:calc(100dvh - 32px);padding:28px 24px 24px;position:relative;overflow-y:auto}.authmodal-close{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#0000000f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex;position:absolute;top:10px;right:10px}.authmodal-close:hover{background:var(--rouge-defi);color:#fff}[data-theme=dark] .authmodal-close{background:#ffffff14}.authmodal-title{font-family:var(--font-titre);color:var(--text-primary);text-align:center;margin:0 0 18px;font-size:1.8rem}.authmodal-tabs{background:var(--surface-input,var(--surface-bg));border-radius:var(--radius-md);gap:4px;margin-bottom:18px;padding:4px;display:flex}.authmodal-tabs button{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:9px;font-size:.88rem;font-weight:600}.authmodal-tabs button.active{background:var(--surface-card);color:var(--bleu-azur);box-shadow:var(--shadow-sm)}.authmodal-form-wrap{margin:0 -2px;padding:0 2px;overflow:hidden}.authmodal-form{flex-direction:column;gap:14px;display:flex}.authmodal-subtitle{color:var(--text-secondary);text-align:center;margin:0;font-size:.9rem;line-height:1.5}.authmodal-error{color:var(--rouge-defi);text-align:center;margin:0;font-size:.85rem;font-weight:600}.authmodal-success{border:1px solid var(--vert-valide);color:var(--vert-valide);border-radius:var(--radius-md);text-align:center;background:#2dc6531f;margin:0;padding:14px 16px;font-size:.92rem;font-weight:600;line-height:1.4}.authmodal-hint{color:var(--text-secondary);margin:-8px 0 0 4px;font-size:.76rem}.authmodal-link{color:var(--bleu-azur);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px;font-size:.85rem;font-weight:600}.authmodal-link:hover{text-decoration:underline}.authmodal-terms{color:var(--text-secondary);text-align:left;align-items:flex-start;gap:8px;font-size:.82rem;line-height:1.4;display:flex}.authmodal-terms input{width:16px;height:16px;accent-color:var(--bleu-azur);flex-shrink:0;margin-top:2px}.authmodal-terms a{color:var(--bleu-azur);font-weight:600;text-decoration:underline}.authmodal-logout-icon{color:var(--or-etoile);justify-content:center;margin-bottom:4px;display:flex}
