:root{color-scheme:dark;--red:#d20b1b;--red-light:#ff6672;--panel:#0b0b0b;--border:rgba(255,255,255,.12)}
*{box-sizing:border-box}
html{min-height:100%;background:#050505}
body{min-height:100vh;margin:0;background:radial-gradient(circle at 50% -10%,#290207 0,#090909 32rem,#050505 70rem);color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}
.noise{position:fixed;inset:0;z-index:-1;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.game-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;max-width:1280px;margin:auto;padding:18px clamp(16px,4vw,48px)}
.back{justify-self:start;color:#ddd;text-decoration:none;font-weight:850}.back:hover{color:#fff}.game-brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.03em}.game-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}.header-button{justify-self:end;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-weight:850;cursor:pointer}
.game-page{width:min(1180px,100%);margin:auto;padding:42px clamp(16px,4vw,48px) 72px}.game-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}.eyebrow{margin:0 0 10px;color:var(--red-light);font-size:.72rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.game-heading h1{max-width:760px;margin:0;font-size:clamp(3rem,7vw,6rem);line-height:.86;letter-spacing:-.07em}.game-heading p:not(.eyebrow){max-width:650px;margin:19px 0 0;color:#aaa;line-height:1.6}
.score-board{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:10px;min-width:min(100%,370px)}.score-board div{padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.045);text-align:center}.score-board span{display:block;color:#888;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.score-board strong{display:block;margin-top:4px;font-size:1.45rem}
.game-shell{position:relative;width:min(100%,900px);min-height:560px;margin:0 auto;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:rgba(8,8,8,.92);box-shadow:0 35px 90px rgba(0,0,0,.5),0 0 60px rgba(190,0,15,.1);overflow:hidden}.game-stage{position:relative;display:grid;min-height:520px;place-items:center;border-radius:20px;background:radial-gradient(circle at center,rgba(210,11,27,.09),transparent 55%),#070707;overflow:hidden}.game-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.game-toolbar .spacer{flex:1}.small-note{color:#777;font-size:.82rem}.pill{padding:10px 15px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#111;color:#ddd;font-weight:900}.pill-button{cursor:pointer}.pill-button.is-active{background:#fff;color:#050505}
.game-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);overflow:auto}.hidden{display:none!important}.overlay-card{position:relative;width:min(100%,540px);padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(145deg,rgba(24,24,24,.98),rgba(9,9,9,.99));text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.55);overflow:hidden}.overlay-card::before{content:"";position:absolute;right:-46px;bottom:-46px;width:170px;height:170px;border-radius:50%;background:url("logo.jpg") center/cover no-repeat;opacity:.055;pointer-events:none}.overlay-card>*{position:relative;z-index:1}.overlay-card h2{margin:0;font-size:clamp(2.1rem,6vw,3.8rem);line-height:.94;letter-spacing:-.055em}.overlay-card p:not(.eyebrow):not(.form-error):not(.record-message){margin:17px auto 0;color:#aaa;line-height:1.55}.overlay-card button.primary,.primary-button{margin-top:20px;padding:14px 24px;border:0;border-radius:999px;background:#fff;color:#050505;font-weight:950;cursor:pointer}.overlay-card button:disabled,.primary-button:disabled{opacity:.5;cursor:wait}.secondary-button{display:block;margin:10px auto 0;padding:10px 16px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:transparent;color:#ddd;font-weight:850;cursor:pointer}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;text-align:left}.setup-grid.one-column{grid-template-columns:1fr}.setup-field span{display:block;margin:0 0 7px;color:#ddd;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.setup-field input,.setup-field select,.ranking-filter select,.number-input{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;outline:0;background:#080808;color:#fff}.setup-field input:focus,.setup-field select:focus,.ranking-filter select:focus,.number-input:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.08)}.setup-field option,.ranking-filter option{background:#101010;color:#fff}.form-error{min-height:20px;margin:8px 0 0;color:#ff818b;font-size:.84rem;font-weight:850}.record-message{min-height:23px;margin:13px 0 0;color:#ff9fa6;font-weight:850;line-height:1.4}
.leaderboard{width:min(100%,900px);margin:28px auto 0;padding:24px;border:1px solid var(--border);border-radius:26px;background:rgba(255,255,255,.035)}.leaderboard-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.leaderboard-heading h2{margin:0;font-size:clamp(1.8rem,5vw,2.8rem);letter-spacing:-.045em}.ranking-filter{min-width:210px}.ranking-filter span{display:block;margin:0 0 6px;color:#888;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.records-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.record-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(0,0,0,.26)}.record-row:first-child{border-color:rgba(255,67,79,.45);background:rgba(150,4,16,.13)}.record-rank{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);font-size:.8rem;font-weight:950}.record-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-value{color:#ff737d;font-weight:950;text-align:right}.record-value small{display:block;margin-top:2px;color:#777;font-size:.68rem;font-weight:750}.records-empty{padding:22px;color:#888;text-align:center}
.logo-orb{display:grid;width:clamp(90px,18vw,160px);aspect-ratio:1;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.16),transparent 35%),#8f0712;box-shadow:0 0 0 8px rgba(255,255,255,.04),0 20px 55px rgba(210,11,27,.3)}.logo-orb img{width:82%;height:82%;border-radius:50%;object-fit:cover}.status-text{margin:20px 0 0;color:#aaa;font-weight:800;text-align:center}.large-result{font-size:clamp(2.6rem,9vw,6.5rem);font-weight:950;line-height:1;letter-spacing:-.06em}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(100%,620px)}.action-button{min-height:110px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,#202020,#0d0d0d);color:#fff;font-size:clamp(1.1rem,3vw,1.55rem);font-weight:950;cursor:pointer}.action-button:hover{border-color:rgba(255,255,255,.4);transform:translateY(-2px)}
@media(max-width:900px){.game-header{grid-template-columns:1fr auto}.game-brand{display:none}.game-heading{display:block}.score-board{margin-top:24px}.game-shell{min-height:520px}}
@media(max-width:620px){.game-page{padding-top:24px}.game-heading h1{font-size:clamp(2.7rem,13vw,4.25rem)}.game-heading p:not(.eyebrow){font-size:.94rem}.score-board{grid-template-columns:repeat(3,1fr)}.score-board div{padding:11px 7px;border-radius:14px}.score-board strong{font-size:1.2rem}.game-shell{min-height:500px;padding:9px;border-radius:20px}.game-stage{min-height:480px}.game-overlay{padding:12px}.overlay-card{padding:24px 16px;border-radius:22px}.setup-grid{grid-template-columns:1fr;gap:10px}.leaderboard{padding:16px;border-radius:20px}.leaderboard-heading{align-items:stretch;flex-direction:column}.ranking-filter{min-width:0}.record-row{grid-template-columns:34px 1fr auto;padding:10px}.record-value{font-size:.9rem}.action-grid{gap:8px}.action-button{min-height:88px;padding:12px;font-size:1rem}.header-button{padding:9px 12px;font-size:.82rem}}
@media(max-width:380px){.overlay-card h2{font-size:2rem}.game-shell{padding:6px}.score-board span{font-size:.58rem}.action-button{min-height:76px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.action-button,.logo-orb{transition:none!important}}

/* Tape Mathéo */
.tap-stage{display:block;min-height:540px}.matheo-target{position:absolute;width:clamp(72px,12vw,112px);height:clamp(92px,16vw,145px);padding:0;border:0;border-radius:45% 45% 38% 38%;background:rgba(255,255,255,.06);cursor:pointer;overflow:hidden;filter:drop-shadow(0 15px 18px rgba(0,0,0,.45))}.matheo-target img{width:100%;height:100%;object-fit:contain}.matheo-target.tap-pop{animation:tapPop .18s ease-out}@keyframes tapPop{from{transform:scale(.75)}to{transform:scale(1)}}
/* Simon */
.simon-stage{padding:24px}.simon-board{position:relative;display:grid;width:min(78vw,520px);aspect-ratio:1;grid-template-columns:1fr 1fr;gap:14px}.simon-pad{border:1px solid rgba(255,255,255,.18);cursor:pointer;opacity:.5;transition:opacity .15s,filter .15s,transform .15s}.simon-pad:hover{opacity:.72}.simon-pad.is-lit{opacity:1;filter:brightness(1.9) drop-shadow(0 0 28px currentColor);transform:scale(.97)}.pad-red{border-radius:100% 18px 18px 18px;background:#c51120;color:#ff3948}.pad-blue{border-radius:18px 100% 18px 18px;background:#174db4;color:#5c91ff}.pad-green{border-radius:18px 18px 18px 100%;background:#13814a;color:#4ee491}.pad-yellow{border-radius:18px 18px 100% 18px;background:#c1940b;color:#ffe45b}.simon-center{position:absolute;inset:50% auto auto 50%;display:grid;width:31%;aspect-ratio:1;place-items:center;transform:translate(-50%,-50%);border:10px solid #070707;border-radius:50%;background:#111;box-shadow:0 10px 35px rgba(0,0,0,.6);text-align:center}.simon-center img{width:52%;aspect-ratio:1;border-radius:50%;object-fit:cover}.simon-center span{font-size:.72rem;font-weight:900;color:#aaa}
/* Pierre feuille ciseaux */
.pfc-stage{gap:28px;padding:28px}.pfc-result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;width:min(100%,650px)}.pfc-result>div:not(.versus){padding:22px;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.035);text-align:center}.pfc-result span{display:block;color:#888;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.pfc-result strong{display:block;margin-top:10px;font-size:clamp(3rem,10vw,6rem)}.versus{font-weight:950;color:#777}.pfc-actions .action-button{display:grid;gap:7px;place-items:center;font-size:2.4rem}.pfc-actions small{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}
/* Nombre mystère */
.number-stage{padding:30px}.number-panel{width:min(100%,560px);text-align:center}.number-panel p{color:#aaa;font-size:1.15rem;font-weight:850}.number-panel form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:22px}.number-panel .primary-button{margin:0}.guess-history{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.guess-history span{padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:#111;color:#aaa;font-weight:850}
/* Puzzle */
.puzzle-stage{padding:18px}.puzzle-board{--size:3;display:grid;width:min(82vw,620px);aspect-ratio:1;grid-template-columns:repeat(var(--size),1fr);gap:5px;padding:6px;border-radius:20px;background:#030303}.puzzle-piece{min-width:0;border:1px solid rgba(255,255,255,.2);border-radius:clamp(4px,1vw,10px);background-repeat:no-repeat;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.puzzle-piece:hover{border-color:#fff;filter:brightness(1.08)}.puzzle-piece.is-blank{border-color:transparent;background:rgba(255,255,255,.025);cursor:default}.photo-preview{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.88)}.photo-preview img{max-width:100%;max-height:90%;border-radius:18px;object-fit:contain}.photo-preview span{position:absolute;bottom:18px;padding:8px 12px;border-radius:999px;background:#000;color:#ddd;font-size:.8rem;font-weight:850}
/* Attrape le logo */
.catch-stage{display:block;min-height:540px;background:linear-gradient(180deg,#130207,#050505 72%)}.falling-item{--fall-time:3s;position:absolute;top:-90px;width:clamp(54px,8vw,78px);aspect-ratio:1;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;animation:fall var(--fall-time) linear forwards;filter:drop-shadow(0 10px 12px rgba(0,0,0,.5))}.falling-item img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.18)}.falling-item.is-gold img{border-color:#ffd75a;box-shadow:0 0 25px rgba(255,215,90,.45)}.falling-item.is-bomb{display:grid;place-items:center;background:#1b1b1b;font-size:clamp(2rem,6vw,3.4rem)}@keyframes fall{to{transform:translateY(680px) rotate(240deg)}}.catch-stage.is-hit{animation:stageHit .18s linear}@keyframes stageHit{50%{background:#5c050d}}
/* Morpion */
.morpion-stage{align-content:center;gap:18px;padding:24px}.morpion-board{display:grid;width:min(78vw,480px);aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:9px}.morpion-cell{display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:linear-gradient(145deg,#222,#0e0e0e);color:#ff7380;font-size:clamp(2.6rem,11vw,6rem);font-weight:950;cursor:pointer}.morpion-cell:not(:disabled):hover{border-color:#fff;transform:translateY(-2px)}.morpion-cell img{width:66%;height:66%;border-radius:50%;object-fit:cover;box-shadow:0 0 20px rgba(210,11,27,.28)}.morpion-cell.is-bot{color:#fff;background:linear-gradient(145deg,#5e0610,#220207)}
@media(max-width:620px){.tap-stage,.catch-stage{min-height:480px}.simon-board{width:min(88vw,430px);gap:8px}.simon-center{border-width:7px}.pfc-stage{padding:15px;gap:16px}.pfc-result{gap:8px}.pfc-result>div:not(.versus){padding:13px 8px}.puzzle-stage{padding:5px}.puzzle-board{width:min(92vw,560px);gap:3px}.number-panel form{grid-template-columns:1fr}.number-panel .primary-button{width:100%}.morpion-stage{padding:12px}.morpion-board{width:min(88vw,440px);gap:6px}.morpion-cell{border-radius:12px}}

.pfc-loss-card{border-color:rgba(255,88,101,.34);box-shadow:0 25px 80px rgba(0,0,0,.58),0 0 55px rgba(190,0,15,.13)}
.pfc-final-round{margin:20px auto 0;padding:15px 17px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.045);color:#fff;font-weight:850;line-height:1.55}
.pfc-final-score{margin-top:14px!important;color:#aaa!important}.pfc-final-score strong{color:#ff7d88;font-size:1.18rem}
