@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#090d1d;--panel:#11172a;--panel2:#151d34;--line:rgba(185,198,255,.11);--text:#f4f5ff;--muted:#929bb8;--purple:#8b67ff;--cyan:#62ddf7;--pink:#ff75b5;--green:#7ee6bd;--font:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(110px);opacity:.14;z-index:-1}.glow-a{width:430px;height:430px;background:#7149ff;left:-160px;top:80px}.glow-b{width:340px;height:340px;background:#00bbeb;right:-160px;top:420px;opacity:.08}.topbar{height:76px;padding:0 max(6vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(190,200,255,.08);position:sticky;top:0;z-index:5;background:rgba(9,13,29,.82);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:18px}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#9873ff,#5dcff5);color:#091020;font-weight:800}.accent{color:var(--purple)}.topbar nav{display:flex;gap:34px;color:#b7bfd7;font-size:14px}.topbar nav a:hover{color:white}.user-area{display:flex;align-items:center;gap:12px}.welcome{color:#c3cbe1;font-size:13px}.coin-pill,.shop-wallet b{border:1px solid rgba(255,215,109,.2);background:rgba(255,205,80,.08);color:#ffd66e;padding:8px 12px;border-radius:20px;font-size:13px}.button{border:0;border-radius:11px;padding:13px 18px;font-weight:700;transition:.2s;display:inline-flex;gap:10px;align-items:center;justify-content:center}.button:hover{transform:translateY(-2px);filter:brightness(1.08)}.button-small{padding:9px 14px;background:#202945;border:1px solid var(--line);font-size:13px}.button-primary{color:#0b1020;background:linear-gradient(110deg,#a98cff,#65dff5);box-shadow:0 9px 28px rgba(121,106,255,.25)}.button-quiet{background:rgba(255,255,255,.05);border:1px solid var(--line);color:#d6dbed}.icon-button{background:none;border:0;color:#8490af;font-size:18px}.hero{min-height:510px;padding:76px max(10vw,40px) 56px;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:40px;max-width:1320px;margin:auto}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:800;color:#a99aff;margin-bottom:15px}.live-dot{display:inline-block;width:7px;height:7px;background:#70efc4;border-radius:50%;box-shadow:0 0 12px #70efc4;margin-right:7px}.hero h1{font:700 clamp(46px,6vw,74px)/1.02 var(--display);letter-spacing:-.055em;margin:0}.gradient-text{background:linear-gradient(100deg,#af91ff,#72e0f6);color:transparent;background-clip:text}.hero-copy>p{color:#a2acc8;max-width:450px;line-height:1.7;font-size:15px;margin:22px 0 25px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-stats{margin-top:43px;display:flex;align-items:center;gap:24px}.hero-stats>div{display:grid;gap:4px}.hero-stats b{font:700 21px var(--display)}.hero-stats small{font-size:9px;letter-spacing:.11em;color:#818ba8}.hero-stats i{height:30px;width:1px;background:var(--line)}.hero-art{height:340px;position:relative;display:grid;place-items:center}.orbit{position:absolute;width:290px;height:290px;border-radius:50%;border:1px solid rgba(157,143,255,.22)}.orbit-one{transform:rotateX(65deg) rotate(-30deg);width:390px;height:250px}.orbit-two{transform:rotateX(65deg) rotate(40deg);width:390px;height:250px;border-color:rgba(98,221,247,.18)}.art-card{position:relative;width:230px;height:240px;border:1px solid rgba(185,198,255,.18);border-radius:27px;background:linear-gradient(150deg,rgba(33,44,78,.96),rgba(17,23,42,.95));box-shadow:0 25px 80px #050713aa;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;transform:rotate(-5deg);animation:float 4s ease-in-out infinite}.art-card:before{content:'';position:absolute;inset:8px;border-radius:20px;border:1px solid rgba(165,145,255,.12)}.art-emoji{font-size:76px;filter:drop-shadow(0 8px 18px #8b67ff70)}.art-card b{font:600 18px var(--display)}.art-card small{font-size:11px;color:var(--muted)}.sparkle{position:absolute;right:27px;top:27px;color:#ffdf78}.art-meter{height:5px;width:130px;background:#242d48;border-radius:9px;margin-top:10px}.art-meter i{display:block;width:63%;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--purple),var(--cyan))}.float-card{position:absolute;padding:13px 16px;border:1px solid var(--line);background:#151d34eF;border-radius:13px;box-shadow:0 12px 30px #05071380;display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;font-size:16px;animation:float 4.5s ease-in-out infinite}.float-card small{grid-column:2;color:#8792af;font-size:10px}.float-points{top:55px;right:7%;color:#ffd66e}.float-trophy{bottom:48px;left:2%;font-size:18px}.float-trophy b{font-size:10px;letter-spacing:.1em}.deco{position:absolute;color:#8674ff}.deco-star{font-size:23px;right:8%;bottom:55px}.deco-cross{left:12%;top:44px;color:#61dff5}.section-head,.shop-section{max-width:1120px;margin:0 auto;padding:20px 24px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-top:15px}.section-head h2,.shop-heading h2{font:700 34px var(--display);letter-spacing:-.04em;margin:0}.filters{display:flex;gap:6px;background:#11172a;padding:5px;border:1px solid var(--line);border-radius:10px}.filter{border:0;background:none;color:#8993b0;padding:8px 12px;border-radius:7px;font-size:12px}.filter.active{background:#252d49;color:white}.game-grid{max-width:1120px;margin:22px auto 90px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.game-card{--game:#9274ff;position:relative;overflow:hidden;border-radius:17px;border:1px solid var(--line);background:linear-gradient(150deg,#151d34,#101629);padding:20px;min-height:187px;transition:.25s}.game-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--game) 55%,transparent);box-shadow:0 14px 35px #04061180}.game-card:after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;background:var(--game);opacity:.09;filter:blur(40px);right:-45px;top:-45px}.card-top{display:flex;justify-content:space-between;align-items:start}.game-icon{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--game) 19%,#141a31);display:grid;place-items:center;font-size:25px}.tag{font-size:9px;letter-spacing:.09em;color:var(--game);font-weight:800;text-transform:uppercase;background:color-mix(in srgb,var(--game) 11%,transparent);padding:6px 8px;border-radius:20px}.game-card h3{font:600 19px var(--display);margin:15px 0 5px}.game-card p{color:#8993b0;font-size:12px;line-height:1.5;margin:0 0 17px;max-width:260px}.card-play{display:flex;justify-content:space-between;align-items:center;color:#ccd3e9;font-size:12px}.card-play span:last-child{color:var(--game);font-size:18px}.shop-section{border-top:1px solid var(--line);padding-top:57px;padding-bottom:75px}.shop-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.shop-heading p{color:#939db8;font-size:13px}.shop-wallet{font-size:9px;letter-spacing:.12em;color:#838da8;display:grid;gap:8px}.shop-wallet b{font-size:15px;letter-spacing:0;justify-self:start;padding:8px 12px}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.shop-item{padding:17px;background:#11172a;border:1px solid var(--line);border-radius:14px;display:grid;gap:8px}.item-emoji{font-size:28px}.shop-item h3{font-size:14px;margin:2px 0 0}.shop-item p{font-size:11px;color:#9099b4;line-height:1.4;margin:0;min-height:31px}.item-buy{border:1px solid rgba(255,214,110,.2);background:rgba(255,205,80,.07);color:#ffdb79;border-radius:8px;padding:8px;font-size:11px;font-weight:700;margin-top:4px}.item-buy:disabled{color:#7ee6bd;border-color:#7ee6bd33;background:#7ee6bd12;cursor:default}footer{border-top:1px solid var(--line);padding:22px max(6vw,24px);display:flex;justify-content:space-between;align-items:center;color:#75809c;font-size:11px}footer .brand{font-size:13px;color:#dce0ef}footer .brand-mark{width:25px;height:25px;border-radius:7px;font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:10;background:rgba(3,5,13,.78);backdrop-filter:blur(8px);display:none;place-items:center;padding:20px}.modal-backdrop.show{display:grid;animation:fade .15s}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;position:relative;padding:28px;border-radius:19px;background:#11172a;border:1px solid rgba(184,197,255,.17);box-shadow:0 25px 80px #0009}.modal-close{position:absolute;right:17px;top:12px;border:0;background:none;color:#96a0ba;font-size:26px}.modal h2{font:700 25px var(--display);margin:2px 35px 8px 0}.modal p{color:#9aa4c0;font-size:13px;line-height:1.6}.form{display:grid;gap:12px;margin-top:20px}.form label{font-size:11px;color:#adb5cc;display:grid;gap:6px}.form input,.form select{width:100%;background:#0c1121;border:1px solid var(--line);color:white;padding:12px;border-radius:9px;font:inherit;outline:none}.form input:focus{border-color:#8c73ff}.form-row{display:flex;gap:8px}.tabs{display:flex;gap:8px;margin:15px 0}.tab{padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:none;color:#a5aec6;font-size:12px}.tab.active{background:#252d49;color:white}.game-shell{text-align:center}.game-shell .eyebrow{margin-top:3px}.game-canvas{width:min(100%,440px);height:320px;display:block;margin:16px auto;border-radius:14px;border:1px solid var(--line);background:#0b1224;touch-action:manipulation}.game-info{color:#9aa4bf;font-size:12px;min-height:20px}.game-controls{display:flex;justify-content:center;gap:9px;margin:12px 0}.small-button{background:#252d49;border:1px solid var(--line);border-radius:8px;padding:9px 13px;font-size:12px}.mem-board{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-width:360px;margin:20px auto}.mem-card{height:70px;border-radius:11px;background:#202944;border:1px solid var(--line);font-size:26px}.mem-card.open,.mem-card.matched{background:#302755;border-color:#987cff}.mem-card.matched{opacity:.55}.block-board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;width:min(100%,330px);margin:16px auto}.block-cell{aspect-ratio:1;border-radius:4px;background:#171f36;border:1px solid #222d48}.block-cell.filled{background:linear-gradient(135deg,#9b79ff,#61d8ee);border:0;box-shadow:0 0 9px #8c73ff55}.block-cell.preview{background:#7b68d880}.block-pieces{display:flex;justify-content:center;gap:12px;min-height:48px}.piece{font-size:25px;padding:4px 8px;border-radius:7px;background:#202944}.target-zone{height:250px;margin:15px 0;background:radial-gradient(ellipse,#182446,#0b1224);border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.target{position:absolute;width:50px;height:50px;border:0;border-radius:50%;background:linear-gradient(135deg,#ff7dba,#a276ff);box-shadow:0 0 25px #ca74ff75;font-size:21px}.toast{position:fixed;z-index:15;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 17px;border-radius:10px;background:#263251;border:1px solid var(--line);box-shadow:0 10px 30px #0008;font-size:13px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.notice{padding:11px;border-radius:9px;background:#6d592015;border:1px solid #e7c96b33;color:#f0d885;font-size:11px;line-height:1.5;margin-top:15px}.admin-panel{background:#0c1121;border:1px solid var(--line);padding:13px;border-radius:10px;margin-top:12px}.admin-panel code{color:#8fe2f5}.hidden{display:none!important}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes fade{from{opacity:0}to{opacity:1}}@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:58px}.hero-art{height:280px}.game-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 18px}.welcome{display:none}}@media(max-width:520px){.topbar nav{display:none}.topbar{height:65px}.hero{padding:45px 24px 30px}.hero h1{font-size:48px}.hero-art{height:250px}.section-head{align-items:start;gap:14px;flex-direction:column}.game-grid{grid-template-columns:1fr;padding:0 18px;margin-bottom:55px}.game-card{min-height:172px}.shop-heading{align-items:start;gap:12px;flex-direction:column}.shop-grid{grid-template-columns:repeat(2,1fr)}.shop-section{padding:40px 18px}.hero-stats{gap:15px}.hero-stats b{font-size:18px}.hero-stats small{font-size:8px}footer{flex-wrap:wrap;gap:12px}.modal{padding:23px 17px}.game-canvas{height:280px}}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
/* Pyralune arcade refresh: plein écran, jeux plus lisibles et cartes illustrées. */
.game-card-art{padding-top:15px}.game-card-art .game-art{height:82px;border-radius:12px;margin-bottom:15px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--game) 50%,#152039),#11172a 68%)}.game-art:before,.game-art:after{content:'';position:absolute;border:1px solid color-mix(in srgb,var(--game) 35%,transparent);border-radius:50%;width:110px;height:110px;transform:rotateX(65deg);top:30px}.game-art:after{width:175px;height:140px;top:20px;opacity:.6}.art-orb{position:absolute;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff,var(--game) 35%,color-mix(in srgb,var(--game) 38%,#11172a) 78%);box-shadow:0 0 28px color-mix(in srgb,var(--game) 65%,transparent);animation:orb-float 3s ease-in-out infinite}.art-glyph{position:relative;z-index:1;font-size:30px;filter:drop-shadow(0 7px 10px #0008);animation:orb-float 3s ease-in-out infinite reverse}.art-glint{position:absolute;right:17%;top:17px;color:#fff4ae;font-size:13px}.game-card-art .game-icon{display:none}.game-card-art .card-top{position:absolute;top:105px;left:20px;right:20px;pointer-events:none}.game-card-art h3{margin-top:13px}.game-card-art:after{opacity:.04}.art-flappy .game-art{background:linear-gradient(160deg,#5db9e6,#d6f4df)}.art-flappy .art-orb{background:radial-gradient(circle at 35% 30%,#fff5bd,#ffcc46 43%,#ef944a 80%)}.art-blocks .game-art{background:linear-gradient(140deg,#392a73,#171c39)}.art-blocks .art-orb{border-radius:12px;background:linear-gradient(135deg,#63e4ed,#9277ff);transform:rotate(12deg)}.art-reflex .art-orb{border:4px solid #ffd76f;background:transparent;box-shadow:0 0 22px #ffd76f77}.art-memory .game-art{background:linear-gradient(135deg,#572d69,#1e2349)}.art-aim .game-art{background:radial-gradient(circle,#482e70,#1a1c3a)}.art-math .game-art{background:linear-gradient(135deg,#1c604e,#182540)}.art-simon .game-art{background:linear-gradient(135deg,#263d68,#241843)}
.modal-backdrop.game-mode{padding:0;display:none;background:#080d19;backdrop-filter:none}.modal-backdrop.game-mode.show{display:grid;animation:game-enter .35s cubic-bezier(.2,.8,.2,1)}.game-mode .modal{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;padding:0;overflow:auto;background:radial-gradient(ellipse at 50% -20%,#28345a,#121a30 50%,#0a1020 100%);box-shadow:none}.game-mode .modal-close{display:none}.game-mode #modalContent{min-height:100%;height:100%}.game-shell{min-height:100%;height:100%;display:grid;grid-template-rows:auto auto 1fr auto;text-align:center;padding:17px clamp(16px,5vw,70px) 15px;position:relative}.game-shell:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 45%,#7962ff10,transparent 45%),radial-gradient(ellipse at 90% 80%,#60dff510,transparent 35%)}.game-topline,.game-title,.game-stage,.game-footer{position:relative;z-index:1}.game-topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff14;padding-bottom:13px}.game-brand{display:flex;align-items:center;gap:6px;font:700 13px var(--display);letter-spacing:.04em}.game-brand .brand-mark{width:25px;height:25px;border-radius:8px;font-size:13px}.game-exit{border:1px solid #ffffff20;background:#ffffff0a;padding:8px 12px;border-radius:10px;color:#b9c3dc;font-size:12px}.game-exit:hover{background:#ffffff18;color:white}.game-title{padding-top:12px}.game-title .eyebrow{margin:0 0 5px;font-size:9px}.game-title h2{font:700 clamp(22px,3vw,32px) var(--display);margin:0 0 4px}.game-title .game-info{font-size:12px}.game-stage{min-height:0;display:grid;place-items:center;padding:10px 0}.game-footer{display:flex;justify-content:space-between;color:#8792b0;font-size:11px;border-top:1px solid #ffffff14;padding-top:12px}.game-footer span:first-child{color:#f3d777}.flappy-wrap{width:min(100%,680px);display:grid;justify-items:center}.game-mode .game-canvas{width:min(100%,680px);height:min(55vh,510px);min-height:290px;margin:0 auto 13px;border:5px solid #f1f4f7;border-radius:20px;box-shadow:0 22px 70px #03091685,0 0 0 1px #ffffff35;touch-action:none}.game-mode .game-controls{align-items:center;flex-wrap:wrap}.control-hint{color:#aab6d3;font-size:12px}.game-mode .button-primary{padding:11px 22px}.block-play-layout{width:min(100%,780px);display:grid;grid-template-columns:minmax(290px,430px) minmax(190px,260px);gap:clamp(18px,5vw,55px);align-items:center;justify-content:center}.block-board-wrap{padding:17px;background:linear-gradient(145deg,#26335a,#151e38);border:1px solid #ffffff20;border-radius:22px;box-shadow:0 20px 60px #0005}.block-label{font:700 10px var(--display);letter-spacing:.17em;color:#9ba9cf;text-align:left;margin:0 0 12px 3px}.block-board{width:100%;max-width:400px;aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:7px;background:#11192d;border-radius:13px}.block-cell{aspect-ratio:1;border-radius:6px;background:linear-gradient(145deg,#202d4b,#1a2540);border:1px solid #354363;transition:transform .12s,background .15s}.block-cell:hover{transform:scale(.94);border-color:#9f8cff}.block-cell.filled{background:linear-gradient(145deg,#c39aff,#8e7bff 52%,#6e8cff);border:1px solid #e0c8ff;box-shadow:inset 2px 2px 5px #fff6,inset -2px -3px 6px #4136a966,0 2px 7px #8374ff55;animation:cell-pop .2s ease-out}.block-tray{padding:20px;border-radius:20px;background:linear-gradient(145deg,#1a2441,#11192e);border:1px solid #ffffff18;box-shadow:0 16px 48px #0003}.tray-help{text-align:left;color:#9ba7c5;font-size:12px;line-height:1.55;margin:0 0 17px}.block-pieces{display:grid;gap:8px;min-height:120px}.piece{min-height:74px;width:100%;display:flex;align-items:center;gap:16px;padding:10px 14px;border:1px solid #344361;border-radius:13px;background:linear-gradient(120deg,#222e4e,#19243d);transition:.18s}.piece:hover,.piece.active{border-color:#a88cff;background:linear-gradient(120deg,#392e68,#222e4e);transform:translateX(3px);box-shadow:0 7px 22px #6c53dc30}.piece small{color:#aeb9d4;font-size:11px}.piece-shape{display:grid;grid-template-columns:repeat(var(--cols),17px);grid-template-rows:repeat(var(--rows),17px);gap:3px}.piece-shape i{display:block;width:17px;height:17px;border-radius:4px;background:linear-gradient(145deg,#c4a1ff,#8575ff);box-shadow:inset 1px 1px 2px #fff7}.piece-shape i.empty{visibility:hidden}.block-tray .game-controls{justify-content:space-between;gap:6px}.block-tray .small-button{padding:9px 10px}.target-zone{width:min(100%,720px);height:min(54vh,420px);border-radius:22px;background:radial-gradient(ellipse at center,#293760,#151f39 55%,#10182b);box-shadow:inset 0 0 50px #070b19,0 20px 50px #0004}.target{width:58px;height:58px;background:radial-gradient(circle at 35% 30%,#ffeaff,#ff91d3 35%,#b37aff 72%);border:4px solid #ffe0ff;box-shadow:0 0 0 6px #d781ff22,0 0 30px #d781ff;font-size:22px;transition:transform .1s}.target:hover{transform:scale(1.12)}.game-mode .mem-board{width:min(90vw,480px);max-width:480px;gap:12px}.game-mode .mem-card{height:auto;aspect-ratio:1;border-radius:16px;background:linear-gradient(145deg,#313c66,#202a4a);border:1px solid #6673a0;font-size:clamp(24px,5vw,40px);box-shadow:inset 0 2px 4px #ffffff18,0 8px 15px #060a1880;transition:transform .22s,background .2s}.game-mode .mem-card:hover{transform:translateY(-3px)}.game-mode .mem-card.open{background:linear-gradient(145deg,#7253b1,#433a7b);animation:cell-pop .2s}.game-mode .mem-card.matched{background:linear-gradient(145deg,#337b71,#235653);opacity:.75}.game-mode .form{width:min(100%,400px)}.game-mode .form input{text-align:center;font-size:22px}.game-mode .simon-pad{width:110px;height:110px!important;border:2px solid #ffffff2a;border-radius:24px;font-size:30px;box-shadow:inset 0 2px 5px #ffffff2a,0 8px 20px #0004;transition:.15s}.game-mode .simon-pad:hover{transform:scale(1.04);filter:brightness(1.2)}@keyframes orb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes game-enter{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes cell-pop{0%{transform:scale(.75)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:650px){.game-shell{padding:12px 12px 10px}.game-topline{padding-bottom:8px}.game-title{padding-top:8px}.game-stage{padding:6px 0}.game-footer{font-size:9px;gap:6px}.game-mode .game-canvas{height:min(48vh,400px);min-height:250px}.block-play-layout{grid-template-columns:minmax(0,1fr);gap:12px;width:min(100%,420px)}.block-board-wrap{padding:10px}.block-board{gap:3px;padding:5px}.block-cell{border-radius:4px}.block-tray{padding:12px}.block-tray .block-label{margin-bottom:7px}.tray-help{margin-bottom:8px}.block-pieces{grid-template-columns:repeat(3,1fr);gap:5px;min-height:0}.piece{min-height:74px;padding:8px 4px;justify-content:center;flex-direction:column;gap:4px}.piece-shape{grid-template-columns:repeat(var(--cols),13px);grid-template-rows:repeat(var(--rows),13px);gap:2px}.piece-shape i{width:13px;height:13px;border-radius:3px}.piece small{font-size:9px}.block-tray .game-controls{margin:8px 0 0}.target-zone{height:44vh;min-height:230px}.game-mode .mem-board{gap:8px}.game-mode .mem-card{border-radius:12px}}

/* Gestes Block Pop et états visuels du défi réflexe. */
.piece{touch-action:none;user-select:none}.block-cell.drop-preview{background:linear-gradient(145deg,#8ff3c5,#38bc91);border-color:#d6ffeb;box-shadow:0 0 16px #72edbf88}.block-cell.drop-invalid{background:linear-gradient(145deg,#ff9999,#d95773);border-color:#ffe0e8;box-shadow:0 0 14px #ff708688}.reflex-shell{width:min(100%,670px);display:grid;justify-items:center;gap:18px}.reflex-light{width:100%;height:min(48vh,360px);min-height:220px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#a83450,#7a203e);border:2px solid #ff9eb44f;box-shadow:inset 0 0 90px #3f102b88,0 25px 70px #0005;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;user-select:none}.reflex-light span{font:800 clamp(24px,5vw,52px) var(--display);letter-spacing:.05em;color:#fff;text-shadow:0 5px 24px #0007}.reflex-light.green{background:linear-gradient(145deg,#27bc7d,#148760);border-color:#a7ffe0;box-shadow:inset 0 0 90px #0b513c,0 0 50px #37e9ad55;animation:green-pulse .7s infinite alternate}.reflex-light.lost{background:linear-gradient(145deg,#a32d48,#681b35)}.reflex-light.result{background:linear-gradient(145deg,#3861ad,#413b8e)}@keyframes green-pulse{to{box-shadow:inset 0 0 70px #0b513c,0 0 65px #37e9ad88}}@media(max-width:650px){.reflex-light{height:42vh;min-height:200px;border-radius:22px}}
.skin-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--skin) 35%,#ffffff14)}.skin-card:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 18% 0%,color-mix(in srgb,var(--skin) 22%,transparent),transparent 55%);pointer-events:none}.skin-card>*{position:relative}.skin-card .item-emoji{filter:drop-shadow(0 0 14px var(--skin));font-size:34px}.skin-card .item-buy{border-color:color-mix(in srgb,var(--skin) 45%,#ffffff20)}.extra-wrap{width:min(100%,720px);display:grid;justify-items:center;gap:15px}.game-mode #extraCanvas{width:min(100%,680px);height:min(58vh,540px);min-height:310px;border:1px solid #ffffff26;border-radius:20px;box-shadow:0 22px 70px #03091685,0 0 34px color-mix(in srgb,var(--skin,#8d7cff) 25%,transparent);touch-action:none}.game-shell{--skin:#8d7cff}.game-shell .block-cell.filled{background:linear-gradient(145deg,color-mix(in srgb,var(--skin) 65%,white),var(--skin));border-color:color-mix(in srgb,var(--skin) 65%,white);box-shadow:inset 2px 2px 5px #fff6,0 2px 9px color-mix(in srgb,var(--skin) 45%,transparent)}.game-shell .piece-shape i{background:linear-gradient(145deg,color-mix(in srgb,var(--skin) 65%,white),var(--skin))}.game-shell .brand-mark{background:linear-gradient(135deg,var(--skin),#7e65ff)}
@media(max-width:650px){.game-mode #extraCanvas{height:min(50vh,410px);min-height:260px}.skin-card{min-height:185px}}
