:root{--bg:#070616;--panel:rgba(10,9,34,.9);--panel-2:#0d0b2b;--ink:#f7f3ff;--muted:#a7a1c8;--purple:#9c47ff;--purple-2:#d16aff;--cyan:#62d9ff;--green:#31e87e;--gold:#ffc647;--red:#ff477e;--border:rgba(141,93,255,.48);--mono:'Courier New',Consolas,monospace;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}body{overflow-x:hidden;background:radial-gradient(circle at 50% -10%,#20104c 0,#0b0822 38%,#05040d 100%)}button,input{font:inherit}button{cursor:pointer;color:inherit}.stars{position:fixed;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(#a87dff 1px,transparent 1px),radial-gradient(#fff 1px,transparent 1px);background-size:97px 113px,173px 191px;background-position:10px 30px,55px 12px;mask-image:linear-gradient(to bottom,black,transparent 90%)}.app-shell{position:relative;width:min(1180px,calc(100% - 34px));min-height:100dvh;margin:auto;padding:20px 0 24px}.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(145,111,255,.24)}.brand{display:flex;gap:9px;align-items:center;color:#fff;text-decoration:none;font-family:var(--mono);font-size:.82rem;font-weight:600;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--purple);border-radius:6px;color:var(--purple-2);box-shadow:0 0 15px #7b2dba55}.topbar__right{display:flex;align-items:center;gap:9px}.live-dot{font:500 .58rem var(--mono);letter-spacing:.08em;color:#8fdbb0}.live-dot:before{content:'';display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}.icon-button{min-width:34px;height:30px;padding:0 8px;border:1px solid #41337b;border-radius:6px;background:#0d0b26;color:#d6caff;font:600 .68rem var(--mono)}.screen{display:none;min-height:calc(100dvh - 92px);padding:32px 0 10px}.screen.active{display:block}.screen--home{position:relative;display:none;align-items:center;grid-template-columns:1fr 1fr;padding:20px 4vw 0;overflow:hidden}.screen--home.active{display:grid}.hero-copy{position:relative;z-index:2;max-width:500px}.eyebrow{margin:0 0 12px;color:#9d78ff;font:600 .65rem var(--mono);letter-spacing:.15em}.hero-copy h1{margin:0;font:600 clamp(3.9rem,9vw,8rem)/.84 var(--mono);letter-spacing:-.12em;color:#fff;text-shadow:0 0 22px #a65bff55}.hero-copy h1 span{display:block;font-size:.54em;letter-spacing:-.1em;color:#d6cfff}.hero-copy h1 strong{display:block;color:#a653ff;font-size:1em;text-shadow:3px 3px 0 #321171,0 0 28px #9a31ff8c}.hero-tagline{margin:27px 0 29px;color:#cfcae8;font-size:1.02rem;line-height:1.5}.hero-tagline em{color:var(--purple-2);font-style:normal}.hero-actions{display:grid;gap:9px;width:270px}.button{min-height:43px;padding:0 18px;border:1px solid var(--purple);border-radius:6px;background:transparent;color:#fff;font:600 .72rem var(--mono);letter-spacing:.04em;transition:.18s ease}.button:hover{transform:translateY(-2px);filter:brightness(1.15)}.button--primary{border-color:#d47aff;background:linear-gradient(135deg,#7025d1,#b240ff);box-shadow:0 7px 22px #7c1ed455}.button--ghost{border-color:#6540db;background:#100c32}.button--large{min-height:49px;font-size:.8rem}.button span{margin-right:10px;color:#fff}.home-links{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px;width:290px;margin-top:26px}.home-links button{padding:6px 0;border:0;background:none;color:#b7acd9;text-align:left;font:500 .68rem var(--mono)}.home-links button:hover{color:#fff}.home-footer{position:absolute;bottom:8px;left:4vw;right:4vw;z-index:3;display:flex;align-items:end;justify-content:space-between;font:600 .62rem var(--mono);letter-spacing:.04em}.home-footer a{color:#c8a9ff;text-decoration:none}.home-footer span{color:#aa52ff;line-height:1.3;text-align:right}.hero-art{position:relative;align-self:stretch;min-height:470px;overflow:hidden}.planet{position:absolute;right:9%;top:13%;width:min(31vw,260px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 33% 28%,#463995,#17133d 53%,#070617 55%);box-shadow:0 0 70px #633bcf44}.moon{position:absolute;right:16%;top:7%;width:12px;height:12px;background:#e1b6ff;box-shadow:0 0 16px #d37cff}.city{position:absolute;bottom:0;width:55%;height:50%;background:linear-gradient(to top,#0c0924 70%,transparent);clip-path:polygon(0 100%,0 61%,7% 61%,7% 44%,13% 44%,13% 66%,19% 66%,19% 26%,28% 26%,28% 52%,35% 52%,35% 36%,44% 36%,44% 71%,52% 71%,52% 18%,64% 18%,64% 58%,72% 58%,72% 32%,80% 32%,80% 67%,90% 67%,90% 8%,100% 8%,100% 100%)}.city:after{content:'';position:absolute;inset:28% 0 0;background:repeating-linear-gradient(90deg,transparent 0 14px,#7c3fcf 15px 18px,transparent 19px 32px);opacity:.7}.city--left{left:-5%;transform:scaleX(.94)}.city--right{right:-12%;height:42%;transform:scaleX(.82);opacity:.8}.pixel-snake{position:absolute;z-index:2;display:flex;gap:4px;align-items:center}.pixel-snake i{display:block;width:24px;height:24px;background:var(--green);box-shadow:inset 4px 4px #92ffb4,3px 3px 0 #138b52}.pixel-snake b{display:grid;place-items:center;width:29px;height:29px;background:#93f477;color:#16102d;font:900 20px var(--mono);box-shadow:inset 4px 4px #e3ffcf,3px 3px 0 #138b52}.pixel-snake--hero{right:26%;top:37%;transform:rotate(-12deg);filter:drop-shadow(0 0 15px #31e87e88)}.spark{position:absolute;color:#d26aff;text-shadow:0 0 12px #b13cff;font:900 1.6rem var(--mono)}.spark--1{top:29%;left:24%}.spark--2{top:50%;right:7%}.spark--3{top:22%;left:42%;color:#68dfff}.section-heading{display:grid;grid-template-columns:130px 1fr 70px;align-items:end;margin-bottom:24px}.section-heading h2{margin:0;color:#fff;font:600 clamp(1.25rem,3vw,2rem) var(--mono);letter-spacing:-.08em;text-shadow:0 0 15px #b36cff77}.back-button{align-self:center;border:0;background:none;color:#baa5df;font:600 .67rem var(--mono);text-align:left}.heading-decoration{justify-self:end;color:#b652ff;font:2.5rem var(--mono)}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:800px;margin:auto}.mode-card{position:relative;min-height:220px;padding:24px;border:1px solid;border-radius:8px;background:#0b0926;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:.2s}.mode-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #0008}.mode-card:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 52%,rgba(255,255,255,.035));pointer-events:none}.mode-card--classic{border-color:#16c86c}.mode-card--chrono60{border-color:#1faed4}.mode-card--chrono120{border-color:#f0a516}.mode-card--survival{border-color:#e32c63}.mode-card--classic .mode-icon,.mode-card--classic strong{color:#31e87e}.mode-card--chrono60 .mode-icon,.mode-card--chrono60 strong{color:#4ddcff}.mode-card--chrono120 .mode-icon,.mode-card--chrono120 strong{color:#ffbd2e}.mode-card--survival .mode-icon,.mode-card--survival strong{color:#ff4c83}.mode-icon{position:relative;display:grid;place-items:center;height:73px;font:4.4rem/.8 var(--mono)}.mode-icon i{position:absolute;bottom:10px;font:700 .65rem var(--mono)}.mode-card strong{margin-top:11px;font:600 1rem var(--mono)}.mode-card small{margin-top:9px;color:#e5e0f4;text-align:center;font-size:.75rem;line-height:1.35}.mode-card>b{position:absolute;right:16px;bottom:15px;font-size:.8rem;opacity:.7}.screen--game{max-width:760px;margin:auto;padding-top:16px}.game-top{display:flex;align-items:end;gap:30px;padding:0 10px 13px}.game-stat{min-width:85px}.game-stat small{display:block;color:#b3a9d5;font:500 .6rem var(--mono);letter-spacing:.04em}.game-stat strong{display:block;margin-top:2px;font:600 1.55rem var(--mono);color:#fff}.game-stat--timer strong{color:var(--gold)}.pause-button{width:43px;height:43px;margin-left:auto;border:1px solid #e98aff;border-radius:7px;background:#1d1040;color:#fff;font:700 1.35rem var(--mono)}.mode-ribbon{margin:0 0 10px;padding-left:12px;color:#b478ff;font:500 .63rem var(--mono);letter-spacing:.05em}.mode-ribbon span{color:#787199}.board-wrap{position:relative;padding:8px;border:1px solid #7b4cff;border-radius:8px;background:#07061b;box-shadow:0 0 28px #5420bd39,inset 0 0 20px #0b0a2c}.board-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;background:#06081a;border-radius:3px;image-rendering:pixelated}.pause-overlay{position:absolute;inset:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#080618d9;backdrop-filter:blur(3px)}.pause-overlay[hidden]{display:none}.pause-overlay strong{font:600 2rem var(--mono);color:#d16aff}.pause-overlay .button{width:220px}.game-help{display:flex;justify-content:space-between;padding:10px 3px;color:#817a9e;font:500 .58rem var(--mono)}.touch-controls{display:none;justify-content:center;flex-direction:column;align-items:center;gap:3px;margin:8px auto}.touch-controls>div{display:flex;gap:3px}.touch-controls button{width:48px;height:42px;border:1px solid #5f4a9e;border-radius:8px;background:#171438;color:#e8dfff;font-size:1.05rem;box-shadow:inset 0 0 12px #4d2d7a33}.screen--game .touch-controls button:active{background:#7535bc}.gameover-card{max-width:560px;margin:10px auto;padding:27px 34px;border:1px solid #743cff;border-radius:9px;background:linear-gradient(160deg,#0d0a2c,#090719);box-shadow:0 0 38px #5420bd33;text-align:center}.gameover-card h2{margin:0;color:#ff5688;font:600 clamp(2.3rem,7vw,4rem) var(--mono);letter-spacing:-.1em;text-shadow:3px 3px 0 #711639,0 0 20px #ff3b7b88}.crash-mark{margin:11px 0;color:#ff5688;font-size:2rem}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0;text-align:left}.result-grid small{display:block;color:#a8a0c6;font:500 .58rem var(--mono)}.result-grid strong{display:block;margin-top:5px;color:#fff;font:600 1rem var(--mono)}.new-record{margin:5px 0 15px;color:var(--gold);font:600 .67rem var(--mono)}.pseudo-field{display:block;margin:14px 0;color:#a8a0c6;font:500 .58rem var(--mono);text-align:left}.pseudo-field input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #40347c;border-radius:5px;background:#08071a;color:#fff;outline:none}.pseudo-field input:focus{border-color:#a44eff}.gameover-actions{display:grid;gap:8px;margin-top:14px}.tabs{display:flex;gap:5px;overflow:auto;padding-bottom:12px}.tab{flex:1;min-width:130px;padding:11px 9px;border:1px solid #3f327c;border-radius:6px;background:#100d2d;color:#c1b9dc;font:600 .63rem var(--mono);white-space:nowrap}.tab.active{border-color:#cc72ff;background:linear-gradient(135deg,#6d25cc,#3c1977);color:#fff;box-shadow:0 4px 14px #7f2ddd44}.leaderboard{overflow:hidden;border:1px solid #302667;border-radius:7px;background:#08071b}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:34px minmax(90px,1.5fr) 1fr 1fr 1fr;align-items:center;gap:8px;padding:11px 15px}.leaderboard-head{color:#8f87b4;background:#0f0c2a;font:500 .58rem var(--mono)}.leaderboard-row{border-top:1px solid #1a163a;color:#d7d1ee;font:500 .68rem var(--mono)}.leaderboard-row:first-child{color:#ffd84c;background:#2b200d44}.leaderboard-row span:first-child{color:#8e82b0}.leaderboard-empty{padding:36px 15px;color:#8f87b4;font:500 .68rem var(--mono);text-align:center}.hall-note{color:#8451c0;font:500 .63rem var(--mono);text-align:center}.skins-layout{display:grid;grid-template-columns:1fr 270px;gap:17px;max-width:900px;margin:auto}.skin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skin-card{position:relative;min-height:115px;padding:12px;border:1px solid #3b3276;border-radius:7px;background:#0c0a27;text-align:center}.skin-card.active{border-color:var(--skin,#a44eff);box-shadow:0 0 18px color-mix(in srgb,var(--skin,#a44eff) 25%,transparent)}.skin-card strong{display:block;margin-top:20px;font:600 .7rem var(--mono)}.skin-card small{display:block;margin-top:5px;color:#a8a1c4;font-size:.65rem}.skin-card__snake{display:flex;justify-content:center;gap:3px;height:24px}.skin-card__snake i,.skin-card__snake b{display:block;width:17px;height:17px;background:var(--skin);box-shadow:2px 2px 0 color-mix(in srgb,var(--skin) 50%,#000)}.skin-card__snake b{width:19px;height:19px}.skin-card__check{position:absolute;top:8px;right:9px;color:var(--skin);font-size:.8rem}.skin-preview{padding:22px;border:1px solid #463582;border-radius:8px;background:linear-gradient(160deg,#17103e,#0a0821);text-align:center}.skin-preview__snake{display:flex;justify-content:center;gap:4px;margin:25px 0}.skin-preview__snake i,.skin-preview__snake b{width:23px;height:23px;background:var(--preview-color,#31e87e);box-shadow:3px 3px 0 color-mix(in srgb,var(--preview-color,#31e87e) 55%,#000)}.skin-preview h3{margin:0;font:600 1rem var(--mono)}.skin-preview p:not(.eyebrow){min-height:36px;color:#aaa3c4;font-size:.75rem}.skin-preview .button{width:100%}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.achievement{display:grid;grid-template-columns:43px 1fr;gap:11px;align-items:center;padding:13px;border:1px solid #302869;border-radius:7px;background:#0b0925;opacity:.55}.achievement.unlocked{border-color:#7844c5;background:#151039;opacity:1}.achievement__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;background:#18133d;color:#745c9a;font-size:1.2rem}.achievement.unlocked .achievement__icon{background:#3e2075;color:#f7c84f;box-shadow:0 0 15px #7c40c955}.achievement strong{display:block;font:600 .68rem var(--mono)}.achievement small{display:block;margin-top:5px;color:#9992b4;font-size:.65rem;line-height:1.2}.stats-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:15px;max-width:900px;margin:auto}.stats-overview,.mode-stats{display:grid;gap:8px;align-content:start}.metric{padding:17px;border:1px solid #342a6d;border-radius:7px;background:#0c0a26}.metric small{display:block;color:#9289b6;font:500 .6rem var(--mono)}.metric strong{display:block;margin-top:5px;color:#fff;font:600 1.5rem var(--mono)}.metric strong span{color:#a04dff}.mode-stat{padding:15px 17px;border-left:3px solid var(--accent);background:#0e0b29}.mode-stat header{display:flex;justify-content:space-between;font:600 .7rem var(--mono)}.mode-stat header b{color:var(--accent)}.mode-stat p{margin:8px 0 0;color:#9d95b8;font-size:.68rem}.options-card{max-width:620px;margin:auto;padding:5px 21px;border:1px solid #392e72;border-radius:8px;background:#0b0925}.option-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #211b45}.option-row strong{display:block;font:600 .72rem var(--mono)}.option-row small{display:block;margin-top:4px;color:#9690b3;font-size:.67rem}.toggle{display:flex;align-items:center;gap:8px;min-width:68px;border:0;background:none;color:#9088ac;font:600 .63rem var(--mono)}.toggle i{position:relative;width:32px;height:18px;border-radius:20px;background:#393252}.toggle i:after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#a39abf;transition:.2s}.toggle[aria-pressed="true"]{color:#6effa4}.toggle[aria-pressed="true"] i{background:#28764e}.toggle[aria-pressed="true"] i:after{left:17px;background:#65ff9b}.range{width:145px;accent-color:#b650ff}.language-toggle{min-width:55px;padding:8px;border:1px solid #7b4be1;border-radius:5px;background:#1c1248;color:#fff;font:600 .7rem var(--mono)}.fullscreen-button{width:100%;margin:18px 0 14px;padding:12px;border:1px solid #3d307a;border-radius:5px;background:#100c30;color:#b8a8da;font:600 .67rem var(--mono)}
@media (max-width:700px){.app-shell{width:min(100% - 22px,520px);padding-top:10px}.topbar{height:42px}.screen{min-height:calc(100dvh - 68px);padding-top:23px}.screen--home{min-height:calc(100dvh - 68px);display:none;grid-template-columns:1fr;padding:20px 8px 0}.screen--home.active{display:flex;flex-direction:column;align-items:stretch}.hero-copy{max-width:none}.hero-copy h1{font-size:clamp(3.3rem,17vw,5rem)}.hero-tagline{margin:21px 0}.hero-actions,.home-links{width:100%}.home-links{margin-top:18px}.hero-art{position:absolute;inset:auto 0 25px;height:31vh;min-height:210px;opacity:.7;pointer-events:none}.planet{right:13%;top:-10%;width:145px}.pixel-snake--hero{top:30%;right:25%;transform:scale(.75) rotate(-12deg)}.city{height:62%}.home-footer{left:8px;right:8px;bottom:3px}.section-heading{grid-template-columns:88px 1fr 40px;margin-bottom:17px}.section-heading h2{font-size:1.22rem}.heading-decoration{font-size:1.8rem}.mode-grid{gap:9px}.mode-card{min-height:180px;padding:14px}.mode-icon{height:55px;font-size:3.2rem}.mode-card strong{font-size:.73rem}.mode-card small{font-size:.64rem}.mode-card>b{right:10px;bottom:9px}.screen--game{padding-top:8px}.game-top{gap:12px;padding-inline:3px}.game-stat{min-width:60px}.game-stat strong{font-size:1.08rem}.game-stat small{font-size:.5rem}.pause-button{width:37px;height:37px;font-size:1.08rem}.mode-ribbon{font-size:.53rem;white-space:nowrap;overflow:hidden}.mode-ribbon span{font-size:.5rem}.game-help{font-size:.47rem}.touch-controls{display:flex}.screen--game .touch-controls{padding-bottom:env(safe-area-inset-bottom)}.gameover-card{padding:22px 19px}.gameover-card h2{font-size:2.3rem}.result-grid{gap:11px;margin:16px 0}.result-grid strong{font-size:.85rem}.leaderboard-head,.leaderboard-row{grid-template-columns:25px minmax(80px,1.4fr) .8fr .9fr 1fr;padding:10px 8px;font-size:.54rem;gap:4px}.leaderboard-head{font-size:.48rem}.skins-layout,.stats-layout{grid-template-columns:1fr}.skin-grid{grid-template-columns:repeat(2,1fr)}.skin-preview{order:-1;padding:15px}.skin-preview__snake{margin:15px 0}.achievement-grid{grid-template-columns:repeat(2,1fr);gap:7px}.achievement{grid-template-columns:32px 1fr;gap:7px;padding:9px}.achievement__icon{width:31px;height:31px;font-size:.9rem}.achievement strong{font-size:.57rem}.achievement small{font-size:.55rem}.options-card{padding-inline:14px}.option-row{gap:8px}.option-row small{font-size:.6rem}.live-dot{display:none}}
.touch-controls{gap:8px;margin:18px auto 0}.touch-controls>div{gap:8px}.screen--game .touch-controls button{width:clamp(80px,22vw,96px);height:clamp(70px,18vw,86px);font-size:1.55rem}
@media (max-height:700px) and (min-width:701px){.screen--home{padding-top:0}.hero-art{min-height:390px}.hero-copy h1{font-size:5.2rem}.screen{padding-top:18px}.mode-card{min-height:175px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
#game-canvas{display:block;width:100%;height:auto;aspect-ratio:3 / 2}
.board-wrap:before{content:'';position:absolute;inset:8px;z-index:1;border-radius:3px;pointer-events:none;background-image:linear-gradient(to right,rgba(103,115,214,.32) 1px,transparent 1px),linear-gradient(to bottom,rgba(103,115,214,.32) 1px,transparent 1px);background-size:calc(100% / 30) 100%,100% calc(100% / 20);background-position:0 0;background-repeat:repeat;mix-blend-mode:screen}
.pause-overlay{z-index:2}
.leaderboard-head,.leaderboard-row{grid-template-columns:34px minmax(90px,1.5fr) 1fr .9fr .8fr 1fr}
@media (max-width:700px){.leaderboard-head,.leaderboard-row{grid-template-columns:20px minmax(72px,1.3fr) .8fr .7fr .7fr .9fr}}
@media (min-width:701px){.screen--game{max-width:min(1080px,calc(100% - 36px),calc((100dvh - 170px) * 1.5));padding-top:22px}.screen--game .game-top{gap:clamp(28px,4vw,64px);padding:0 14px 18px}.screen--game .game-stat{min-width:120px}.screen--game .game-stat small{font-size:clamp(.75rem,.95vw,.9rem);letter-spacing:.07em}.screen--game .game-stat strong{font-size:clamp(1.8rem,2.2vw,2.5rem)}.screen--game .pause-button{width:56px;height:56px;font-size:1.65rem}.screen--game .mode-ribbon{margin-bottom:14px;padding-left:14px;font-size:clamp(.78rem,.9vw,1rem)}.screen--game .mode-ribbon span{font-size:1em}.screen--game .game-help{padding:14px 5px;font-size:clamp(.7rem,.85vw,.85rem)}}
@media (max-width:700px){.screen--game .game-top{gap:18px;padding-inline:6px;padding-bottom:16px}.screen--game .game-stat{min-width:72px}.screen--game .game-stat small{font-size:.62rem;letter-spacing:.05em}.screen--game .game-stat strong{font-size:1.28rem}.screen--game .pause-button{width:46px;height:46px;font-size:1.3rem}.screen--game .mode-ribbon{font-size:.62rem}.screen--game .mode-ribbon span{font-size:.58rem}.screen--game .game-help{padding:12px 5px;font-size:.58rem}.screen--game .touch-controls{gap:10px;margin-top:22px}.screen--game .touch-controls>div{gap:10px}.screen--game .touch-controls button{width:clamp(86px,27vw,112px);height:clamp(82px,23vw,98px);font-size:2rem;border-radius:10px}}
.screen--game,.screen--game button{touch-action:none}
@media (max-width:700px) and (orientation:landscape){.screen--game{min-height:auto;padding-top:4px}.screen--game .game-top{padding-bottom:7px}.screen--game .mode-ribbon{margin-bottom:6px}.screen--game .board-wrap{max-width:min(760px,calc((100dvh - 142px) * 1.5));margin-inline:auto}.screen--game .game-help{padding-block:6px}.screen--game .touch-controls{gap:5px;margin-top:7px}.screen--game .touch-controls>div{gap:5px}.screen--game .touch-controls button{width:clamp(64px,14vw,86px);height:clamp(54px,15vh,72px);font-size:1.5rem}}
@media (min-width:701px){.screen--game,.screen:not(.screen--home):not(.screen--game){position:relative}}
body:after{content:'';position:fixed;inset:0;z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:.35}
@media (min-width:701px){.screen--home{border:1px solid rgba(141,93,255,.62);border-radius:10px;background:linear-gradient(145deg,rgba(10,7,38,.72),rgba(8,5,24,.88));box-shadow:0 0 34px rgba(91,32,190,.24),inset 0 0 32px rgba(96,38,196,.08);padding-inline:54px}.screen--game{max-width:min(1080px,calc(100% - 36px),calc((100dvh - 170px) * 1.5));padding:22px 26px 24px;border:1px solid rgba(141,93,255,.68);border-radius:10px;background:linear-gradient(145deg,rgba(10,7,38,.84),rgba(5,4,18,.94));box-shadow:0 0 34px rgba(91,32,190,.28),inset 0 0 28px rgba(96,38,196,.1)}.screen--game .board-wrap{padding:10px;border-color:#a64cff;box-shadow:0 0 28px rgba(126,42,235,.4),inset 0 0 26px rgba(20,11,76,.8)}.screen--game .board-wrap canvas{box-shadow:inset 0 0 18px rgba(80,69,191,.12)}.screen--game .mode-ribbon{color:#c185ff;font-weight:600;text-shadow:0 0 9px rgba(170,83,255,.45)}.screen--game .game-help{color:#9d91c2}.screen:not(.screen--home):not(.screen--game){border:1px solid rgba(141,93,255,.52);border-radius:10px;background:linear-gradient(145deg,rgba(10,7,38,.72),rgba(6,5,22,.9));box-shadow:0 0 28px rgba(91,32,190,.2),inset 0 0 26px rgba(96,38,196,.07);padding:28px 32px 32px}.screen:not(.screen--home):not(.screen--game) .section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(1.6rem,3vw,2.45rem);text-shadow:0 0 18px rgba(179,108,255,.55)}.eyebrow{font-size:.76rem;color:#b787ff}.button{min-height:48px;font-size:.8rem;box-shadow:0 0 0 rgba(0,0,0,0)}.button--primary{box-shadow:0 7px 24px rgba(124,30,212,.38),inset 0 0 12px rgba(255,255,255,.08)}.gameover-card{box-shadow:0 0 42px rgba(84,32,189,.45),inset 0 0 24px rgba(122,58,255,.08)}.tab{font-size:.72rem}.leaderboard-head{font-size:.65rem}.leaderboard-row{font-size:.76rem}}
@media (min-width:701px){.screen--home:before,.screen--game:before,.screen:not(.screen--home):not(.screen--game):before{content:'';position:absolute;top:-1px;left:10%;width:22%;height:2px;background:linear-gradient(90deg,transparent,#c56aff,transparent);box-shadow:0 0 14px #a84cff}.screen--home{padding-inline:62px}.screen--home .hero-copy h1{font-size:clamp(4.7rem,8.4vw,8.3rem);text-shadow:0 0 24px rgba(166,91,255,.32)}.screen--home .hero-copy h1 span{color:#eeeaff;text-shadow:3px 3px 0 #35206e,0 0 18px #fff8}.screen--home .hero-copy h1 strong{text-shadow:4px 4px 0 #351078,0 0 30px #a13cffaa}.screen--home .hero-tagline{font-size:1.08rem;color:#e2ddf5}.screen--home .hero-actions{width:310px;gap:10px}.screen--home .hero-actions .button{min-height:52px;font-size:.86rem}.screen--home .home-links{width:320px;margin-top:30px;gap:7px 30px}.screen--home .home-links button{font-size:.74rem;color:#c9bdf0}.mode-grid{max-width:900px;gap:18px}.mode-card{min-height:250px;border-radius:9px;background:linear-gradient(145deg,rgba(21,13,59,.92),rgba(8,7,29,.96));box-shadow:inset 0 0 24px rgba(93,42,168,.1)}.mode-card:hover{box-shadow:0 0 0 1px rgba(209,106,255,.35),0 16px 34px rgba(25,4,64,.68),inset 0 0 28px rgba(128,53,221,.16)}.mode-icon{height:82px;font-size:5rem}.mode-card strong{font-size:1.12rem;letter-spacing:.02em}.mode-card small{font-size:.84rem;line-height:1.45}.tabs{gap:8px}.tab{padding:13px 11px;border-color:#4e398e;background:linear-gradient(145deg,#151039,#0c0926)}.tab.active{box-shadow:0 0 18px rgba(127,45,221,.46),inset 0 0 10px rgba(255,255,255,.08)}.leaderboard{box-shadow:0 0 24px rgba(65,23,143,.2),inset 0 0 22px rgba(76,43,158,.08)}.leaderboard-head,.leaderboard-row{padding-block:13px}.skin-card{min-height:132px;background:linear-gradient(145deg,#120d35,#090820);box-shadow:inset 0 0 18px rgba(88,42,165,.1)}.skin-card strong{font-size:.78rem}.skin-card small{font-size:.7rem}.skin-preview{box-shadow:inset 0 0 24px rgba(108,49,197,.16)}}

.leaderboard-head,.leaderboard-row{grid-template-columns:28px minmax(76px,1.45fr) .85fr .85fr .85fr 1fr}
@media (max-width:700px){.leaderboard{overflow-x:auto}.leaderboard-head,.leaderboard-row{grid-template-columns:24px minmax(72px,1.25fr) .8fr .78fr .8fr .95fr;gap:3px;padding-inline:7px;font-size:.5rem}.leaderboard-head{font-size:.44rem;white-space:nowrap}}
@media (max-width:700px){.screen--game .game-help{font-size:.66rem;letter-spacing:.015em}.screen--game .touch-controls{gap:12px;margin-top:24px}.screen--game .touch-controls>div{gap:12px}.screen--game .touch-controls button{width:clamp(96px,29vw,124px);height:clamp(90px,25vw,110px);font-size:2.2rem;border-radius:11px;box-shadow:inset 0 0 16px #4d2d7a44,0 5px 16px #05031399}}

.skin-grid{align-content:start}.skin-card{min-height:148px;padding:16px 12px 14px;border-color:color-mix(in srgb,var(--skin,#a44eff) 45%,#302667);background:linear-gradient(145deg,color-mix(in srgb,var(--skin,#a44eff) 13%,#120d35),#08071f 78%);box-shadow:inset 0 0 24px color-mix(in srgb,var(--skin,#a44eff) 10%,transparent),0 7px 18px #03020c88;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.skin-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--skin,#a44eff) 35%,transparent),transparent 55%),repeating-linear-gradient(0deg,transparent 0 7px,color-mix(in srgb,var(--skin,#a44eff) 8%,transparent) 8px 9px);opacity:.7;pointer-events:none}.skin-card:after{content:'';position:absolute;top:-45%;left:-55%;width:55%;height:180%;background:linear-gradient(90deg,transparent,color-mix(in srgb,#fff 15%,transparent),transparent);transform:rotate(25deg);opacity:.45;pointer-events:none}.skin-card:hover{transform:translateY(-4px);border-color:var(--skin,#a44eff);box-shadow:0 0 0 1px color-mix(in srgb,var(--skin,#a44eff) 45%,transparent),0 13px 28px #03020ccc,inset 0 0 28px color-mix(in srgb,var(--skin,#a44eff) 17%,transparent)}.skin-card.active{border-color:var(--skin,#a44eff);box-shadow:0 0 0 2px color-mix(in srgb,var(--skin,#a44eff) 25%,transparent),0 0 25px color-mix(in srgb,var(--skin,#a44eff) 30%,transparent),inset 0 0 30px color-mix(in srgb,var(--skin,#a44eff) 18%,transparent)}.skin-card>*{position:relative;z-index:1}.skin-card__snake{height:43px;display:flex;align-items:center;justify-content:center;gap:4px;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--skin,#a44eff) 55%,transparent))}.skin-card__snake i,.skin-card__snake b{display:block;width:24px;height:24px;background:var(--skin);box-shadow:inset 4px 4px color-mix(in srgb,#fff 42%,var(--skin)),3px 3px 0 color-mix(in srgb,var(--skin) 55%,#000)}.skin-card__snake b{position:relative;width:29px;height:29px;box-shadow:inset 5px 5px color-mix(in srgb,#fff 55%,var(--skin)),3px 3px 0 color-mix(in srgb,var(--skin) 55%,#000)}.skin-card__snake b:before,.skin-card__snake b:after{content:'';position:absolute;width:4px;height:4px;background:#17132c;top:10px}.skin-card__snake b:before{left:8px}.skin-card__snake b:after{right:6px}.skin-card strong{margin-top:14px;font-size:.78rem;text-shadow:0 0 10px color-mix(in srgb,var(--skin,#a44eff) 45%,transparent)}.skin-card small{display:inline-block;margin-top:8px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--skin,#a44eff) 30%,#302667);border-radius:3px;color:#d2c8ed;font-size:.63rem;background:#08071f99}.skin-card.active small{color:var(--skin);border-color:color-mix(in srgb,var(--skin) 55%,transparent);background:color-mix(in srgb,var(--skin) 12%,#08071f)}.skin-card__check{top:9px;right:10px;color:var(--skin);font-size:1rem;text-shadow:0 0 10px var(--skin)}.skin-preview{position:relative;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--preview-color,#31e87e) 22%,transparent),transparent 48%),linear-gradient(160deg,#1a1047,#08071f);box-shadow:inset 0 0 35px color-mix(in srgb,var(--preview-color,#31e87e) 12%,transparent),0 0 22px #2a126655}.skin-preview:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 10px,#ffffff08 11px 12px),repeating-linear-gradient(90deg,transparent 0 10px,#ffffff06 11px 12px);opacity:.55;pointer-events:none}.skin-preview:after{content:'SKIN PREVIEW';position:absolute;top:12px;right:13px;color:color-mix(in srgb,var(--preview-color,#31e87e) 75%,#fff);font:600 .55rem var(--mono);letter-spacing:.12em;opacity:.7}.skin-preview>*{position:relative;z-index:1}.skin-preview__snake{width:100%;min-height:64px;display:flex;align-items:center;justify-content:center;gap:5px;margin:24px 0 20px;filter:drop-shadow(0 0 13px color-mix(in srgb,var(--preview-color,#31e87e) 65%,transparent))}.skin-preview__snake i,.skin-preview__snake b{display:block;width:31px;height:31px;background:var(--preview-color,#31e87e);box-shadow:inset 5px 5px color-mix(in srgb,#fff 42%,var(--preview-color,#31e87e)),4px 4px 0 color-mix(in srgb,var(--preview-color,#31e87e) 55%,#000)}.skin-preview__snake b{position:relative;width:38px;height:38px;box-shadow:inset 6px 6px color-mix(in srgb,#fff 55%,var(--preview-color,#31e87e)),4px 4px 0 color-mix(in srgb,var(--preview-color,#31e87e) 55%,#000)}.skin-preview__snake b:before,.skin-preview__snake b:after{content:'';position:absolute;width:5px;height:5px;background:#17132c;top:13px}.skin-preview__snake b:before{left:10px}.skin-preview__snake b:after{right:8px}.skin-preview h3{font-size:1.15rem;text-shadow:0 0 13px color-mix(in srgb,var(--preview-color,#31e87e) 50%,transparent)}.skin-preview p:not(.eyebrow){position:relative;z-index:1;min-height:42px;margin:9px 0 16px;color:#c4bddc;line-height:1.45}.skin-preview .button{position:relative;z-index:1;border-color:color-mix(in srgb,var(--preview-color,#31e87e) 70%,#fff);background:linear-gradient(135deg,color-mix(in srgb,var(--preview-color,#31e87e) 35%,#25115f),#18103c);box-shadow:0 0 18px color-mix(in srgb,var(--preview-color,#31e87e) 25%,transparent)}
@media (max-width:700px){.skin-card{min-height:136px;padding:13px 9px 12px}.skin-card__snake{transform:scale(.86)}.skin-card strong{font-size:.72rem}.skin-card small{font-size:.58rem}.skin-preview{min-height:205px}.skin-preview__snake{margin:18px 0 15px;transform:scale(.86)}}

.topbar{position:relative}.topbar:after{content:'';position:absolute;left:0;bottom:-2px;width:118px;height:3px;background:linear-gradient(90deg,#9f49ff,#e391ff,transparent);box-shadow:0 0 14px #a54dff;opacity:.8}.hero-art:before{content:'';position:absolute;inset:8% 0 0;background:radial-gradient(circle at 74% 17%,#9d63ff12 0 2px,transparent 3px),radial-gradient(circle at 39% 43%,#f4d8ff15 0 1px,transparent 2px),linear-gradient(transparent 78%,#160d3f 78% 79%,transparent 79%),repeating-linear-gradient(90deg,transparent 0 31px,#7c4bcf0d 32px 33px);opacity:.75;pointer-events:none}.planet{border-radius:42%;clip-path:polygon(18% 8%,73% 8%,73% 14%,88% 14%,88% 28%,96% 28%,96% 70%,88% 70%,88% 84%,73% 84%,73% 92%,25% 92%,25% 86%,10% 86%,10% 70%,4% 70%,4% 29%,11% 29%,11% 16%,18% 16%);background:radial-gradient(circle at 34% 27%,#5546b0 0 10%,#332a77 11% 32%,#1b1748 53%,#080719 54%);box-shadow:0 0 70px #633bcf44,8px 10px 0 #0a0825}.planet:after{content:'';position:absolute;left:20%;top:26%;width:20px;height:12px;background:#7563c945;box-shadow:52px 28px 0 #7362bd38,30px 54px 0 #17133e,75px 11px 0 #17133e}.pixel-snake--hero{filter:drop-shadow(0 0 15px #31e87eaa);animation:hero-float 4s ease-in-out infinite}@keyframes hero-float{0%,100%{translate:0 0}50%{translate:0 -7px}}.reduced-motion .pixel-snake--hero{animation:none}.mode-card{isolation:isolate}.mode-card:before{content:'';position:absolute;inset:8px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:repeating-linear-gradient(0deg,transparent 0 11px,color-mix(in srgb,currentColor 6%,transparent) 12px 13px);opacity:.65;pointer-events:none}.mode-card .mode-icon{z-index:1;width:100%;text-shadow:0 0 18px currentColor,4px 4px 0 color-mix(in srgb,currentColor 30%,#130b37)}.mode-card .mode-icon:before{content:'';position:absolute;inset:3px 30%;border:1px solid currentColor;opacity:.23;clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%)}.mode-card strong,.mode-card small,.mode-card>b{position:relative;z-index:1}.mode-card>b{padding:5px 7px;border:1px solid currentColor;border-radius:3px;color:inherit;opacity:.85;text-shadow:0 0 8px currentColor}.mode-card--classic{background:radial-gradient(circle at 50% 14%,#0d754322,transparent 43%),linear-gradient(145deg,rgba(21,58,48,.92),rgba(8,7,29,.96))}.mode-card--chrono60{background:radial-gradient(circle at 50% 14%,#168bbf22,transparent 43%),linear-gradient(145deg,rgba(13,44,66,.92),rgba(8,7,29,.96))}.mode-card--chrono120{background:radial-gradient(circle at 50% 14%,#d5881924,transparent 43%),linear-gradient(145deg,rgba(62,39,17,.92),rgba(8,7,29,.96))}.mode-card--survival{background:radial-gradient(circle at 50% 14%,#c5275a24,transparent 43%),linear-gradient(145deg,rgba(61,16,48,.92),rgba(8,7,29,.96))}.section-heading{position:relative}.section-heading:after{content:'';position:absolute;left:130px;right:90px;bottom:-12px;height:1px;background:linear-gradient(90deg,#a64cff,transparent);box-shadow:0 0 8px #9b43ff66}.section-heading .eyebrow{ text-shadow:0 0 9px #a84cff77}
@media (max-width:700px){.hero-art:before{inset:4% 0 0}.topbar:after{width:76px}.section-heading:after{left:88px;right:48px;bottom:-9px}.mode-card:before{inset:5px}.mode-card .mode-icon:before{inset:3px 23%}.pixel-snake--hero{animation:none}}

:where(button,a,input):focus-visible{outline:2px solid #f0b1ff;outline-offset:4px;box-shadow:0 0 0 4px #7b2dba55,0 0 18px #c15cff99}.button:focus-visible,.icon-button:focus-visible,.tab:focus-visible,.mode-card:focus-visible,.skin-card:focus-visible{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.pixel-snake--hero{animation:none}}
.effect-status{align-self:center;max-width:180px;padding:6px 8px;border:1px solid #b965ff;border-radius:4px;background:#26104dcc;color:#f2d5ff;font:600 .58rem var(--mono);letter-spacing:.04em;text-align:center;text-shadow:0 0 8px #d16aff;box-shadow:0 0 14px #9b36d655,inset 0 0 10px #8d2dcc33;animation:effect-pulse 1.2s ease-in-out infinite}.effect-status[data-active="true"]{display:block}@keyframes effect-pulse{0%,100%{opacity:.78}50%{opacity:1;filter:brightness(1.2)}}.reduced-motion .effect-status{animation:none}
@media (max-width:700px){.effect-status{position:absolute;top:-2px;right:48px;max-width:135px;padding:5px 6px;font-size:.5rem;white-space:nowrap}.game-top{position:relative}.effect-status[data-active="true"]{display:block}}

/* Pixelonia Snake — lisibilité et direction artistique v2.1 */
:root{--text-body:#e8e3f7;--text-soft:#bdb5db;--surface:#0b0825;--surface-raised:#151039}
body{font-size:16px;color:var(--text-body)}
.app-shell{width:min(1380px,calc(100% - 48px))}
.topbar{height:58px}
.brand{font-size:.95rem;gap:11px}.brand-mark{width:32px;height:32px;font-size:1.05rem}
.icon-button{min-width:42px;height:36px;font-size:.78rem}
.eyebrow{font-size:.78rem;letter-spacing:.17em}
.section-heading h2{font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.06em}
.back-button{font-size:.78rem}
.button{min-height:54px;font-size:.86rem;border-radius:8px}
.button--large{min-height:60px;font-size:.94rem}
.home-links button{font-size:.8rem;padding:8px 0}
.hero-copy h1{letter-spacing:-.1em}
.hero-tagline{font-size:1.12rem}
.screen--game{max-width:min(1240px,calc(100vw - 70px),calc((100dvh - 190px) * 1.5));padding:28px 34px 30px}
.screen--game .game-top{gap:clamp(34px,5vw,84px);padding:0 18px 20px}
.screen--game .game-stat{min-width:140px}.screen--game .game-stat small{font-size:clamp(.82rem,1vw,1rem);letter-spacing:.09em}.screen--game .game-stat strong{font-size:clamp(2rem,2.6vw,3rem)}
.screen--game .pause-button{width:64px;height:64px;font-size:1.85rem;border-radius:9px}
.screen--game .mode-ribbon{font-size:clamp(.88rem,1vw,1.08rem);margin-bottom:16px;padding-left:18px}
.screen--game .board-wrap{padding:12px;border-radius:10px}
.screen--game .game-help{padding:16px 7px;font-size:clamp(.78rem,.9vw,.95rem)}
.mode-grid{max-width:1040px;gap:20px}.mode-card{min-height:280px;padding:28px}.mode-card strong{font-size:1.22rem}.mode-card small{font-size:.92rem}.mode-icon{font-size:5.4rem}
.tabs{gap:10px}.tab{font-size:.8rem;padding:15px 13px}
.leaderboard-head,.leaderboard-row{padding-block:15px}.leaderboard-head{font-size:.72rem}.leaderboard-row{font-size:.86rem}
.skins-layout{max-width:1120px;grid-template-columns:1fr 340px;gap:22px}.skin-grid{gap:14px}.skin-card{min-height:168px;padding:20px 14px 16px;border-radius:11px}.skin-card strong{font-size:.88rem}.skin-card small{font-size:.72rem}
.skin-preview{min-height:280px;border-radius:11px}.skin-preview h3{font-size:1.3rem}.skin-preview p:not(.eyebrow){font-size:.86rem}.skin-preview__snake i,.skin-preview__snake b{width:36px;height:36px}.skin-preview__snake b{width:44px;height:44px}
.achievement strong{font-size:.78rem}.achievement small{font-size:.72rem}.metric small{font-size:.7rem}.metric strong{font-size:1.7rem}.mode-stat header{font-size:.8rem}.mode-stat p{font-size:.76rem}.option-row strong{font-size:.8rem}.option-row small{font-size:.75rem}.toggle,.language-toggle{font-size:.72rem}

/* Chaque skin possède son propre matériau, tout en gardant le pixel-art. */
.skin-card[data-skin="classic"] .skin-card__snake i,.skin-card[data-skin="classic"] .skin-card__snake b,.skin-preview__snake[data-skin="classic"] i,.skin-preview__snake[data-skin="classic"] b{background:linear-gradient(145deg,#b4ffbe 0 18%,#31e87e 19% 72%,#159356 73%);}
.skin-card[data-skin="retro"] .skin-card__snake i,.skin-card[data-skin="retro"] .skin-card__snake b,.skin-preview__snake[data-skin="retro"] i,.skin-preview__snake[data-skin="retro"] b{background:linear-gradient(145deg,#fff 0 18%,#c8cce2 19% 72%,#777d9e 73%);filter:grayscale(.25)}
.skin-card[data-skin="pixelonia"] .skin-card__snake i,.skin-card[data-skin="pixelonia"] .skin-card__snake b,.skin-preview__snake[data-skin="pixelonia"] i,.skin-preview__snake[data-skin="pixelonia"] b{background:linear-gradient(145deg,#ffd2ff 0 17%,#d45aff 18% 58%,#7026c9 59% 100%)}
.skin-card[data-skin="robot"] .skin-card__snake i,.skin-card[data-skin="robot"] .skin-card__snake b,.skin-preview__snake[data-skin="robot"] i,.skin-preview__snake[data-skin="robot"] b{background:linear-gradient(145deg,#e5fbff 0 15%,#65b9dc 16% 55%,#2d5e96 56% 100%);border:1px solid #b8efff;border-radius:3px}
.skin-card[data-skin="fire"] .skin-card__snake i,.skin-card[data-skin="fire"] .skin-card__snake b,.skin-preview__snake[data-skin="fire"] i,.skin-preview__snake[data-skin="fire"] b{background:linear-gradient(145deg,#fff59b 0 16%,#ff9b32 17% 53%,#ef3048 54% 100%);animation:skin-flicker 1s steps(2,end) infinite}
.skin-card[data-skin="ice"] .skin-card__snake i,.skin-card[data-skin="ice"] .skin-card__snake b,.skin-preview__snake[data-skin="ice"] i,.skin-preview__snake[data-skin="ice"] b{background:linear-gradient(145deg,#e4ffff 0 18%,#5edbff 19% 58%,#277bd4 59% 100%);border-radius:2px}
.skin-card[data-skin="neon"] .skin-card__snake i,.skin-card[data-skin="neon"] .skin-card__snake b,.skin-preview__snake[data-skin="neon"] i,.skin-preview__snake[data-skin="neon"] b{background:linear-gradient(145deg,#fff 0 12%,#ff59ea 13% 50%,#8f36ff 51% 78%,#39d9ff 79%);box-shadow:inset 5px 5px #ffd3fa,0 0 13px #e734ff,4px 4px 0 #6329a7}
.skin-card[data-skin="retro"]:before{background:repeating-linear-gradient(0deg,transparent 0 5px,#fff2 6px 7px)}
.skin-card[data-skin="robot"]:after{opacity:.75}.skin-card[data-skin="fire"]{--skin:#ff6530}.skin-card[data-skin="ice"]{--skin:#54cfff}.skin-card[data-skin="neon"]{--skin:#e734ff}
@keyframes skin-flicker{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
.skin-card:focus-visible{transform:translateY(-3px)}

@media (max-width:700px){
  .app-shell{width:min(100% - 18px,560px)}.topbar{height:50px}.brand{font-size:.88rem}.brand-mark{width:30px;height:30px}.icon-button{min-width:40px;height:34px}
  .screen{padding-top:27px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:clamp(1.45rem,6.5vw,2rem)}.section-heading .eyebrow{font-size:.68rem}.back-button{font-size:.74rem}
  .hero-copy h1{font-size:clamp(3.6rem,18vw,5.6rem)}.hero-tagline{font-size:1.06rem;line-height:1.55}.hero-actions .button{min-height:56px;font-size:.88rem}.home-links button{font-size:.76rem}
  .mode-grid{gap:11px}.mode-card{min-height:200px;padding:16px 10px}.mode-icon{height:61px;font-size:3.7rem}.mode-card strong{font-size:.82rem}.mode-card small{font-size:.72rem;line-height:1.4}
  .screen--game{max-width:none;padding:12px 2px 22px}.screen--game .game-top{gap:14px;padding-inline:5px;padding-bottom:18px}.screen--game .game-stat{min-width:78px}.screen--game .game-stat small{font-size:.7rem}.screen--game .game-stat strong{font-size:1.46rem}.screen--game .pause-button{width:52px;height:52px;font-size:1.45rem}.screen--game .mode-ribbon{font-size:.7rem;margin-bottom:12px;padding-left:6px}.screen--game .game-help{padding:14px 5px;font-size:.7rem}.screen--game .touch-controls{gap:14px;margin-top:26px}.screen--game .touch-controls>div{gap:14px}.screen--game .touch-controls button{width:clamp(104px,30vw,138px);height:clamp(98px,27vw,120px);font-size:2.5rem;border-radius:13px}
  .tabs{gap:7px}.tab{font-size:.68rem;padding:13px 10px;min-width:122px}.leaderboard-head,.leaderboard-row{font-size:.62rem;padding-block:12px}.leaderboard-head{font-size:.55rem}
  .skin-grid{gap:10px}.skin-card{min-height:150px;padding:15px 8px 13px}.skin-card strong{font-size:.78rem}.skin-card small{font-size:.64rem}.skin-card__snake{transform:scale(.92)}.skin-preview{min-height:235px;padding:18px}.skin-preview h3{font-size:1.18rem}.skin-preview p:not(.eyebrow){font-size:.78rem}.skin-preview__snake{transform:none}
  .achievement strong{font-size:.64rem}.achievement small{font-size:.61rem}.metric small{font-size:.65rem}.option-row strong{font-size:.76rem}.option-row small{font-size:.67rem}
}
@media (max-width:700px) and (orientation:landscape){.screen--game .touch-controls button{width:clamp(74px,16vw,100px);height:clamp(64px,17vh,82px);font-size:1.7rem}}
@media (prefers-reduced-motion:reduce){.skin-card[data-skin="fire"] .skin-card__snake i,.skin-card[data-skin="fire"] .skin-card__snake b{animation:none}}

/* Navigation secondaire — boutons Pixelonia v2.2 */
.home-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;width:340px;margin-top:32px}
.home-links button{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid #3d327a;border-radius:9px;background:linear-gradient(135deg,rgba(24,16,62,.9),rgba(9,8,29,.96));color:#d5cdf0;text-align:left;font:600 .76rem var(--mono);letter-spacing:.04em;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;color-mix(in srgb,#d5cdf0 100%,#fff)}
.home-links button:before{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:1px solid currentColor;border-radius:6px;color:#c579ff;background:#21134d;font:700 .9rem var(--mono);box-shadow:inset 0 0 9px #a63cff33,0 0 10px #862dff22}
.home-links button:after{content:'↗';margin-left:auto;color:#765baf;font-size:.8rem;transition:transform .18s ease,color .18s ease}
.home-links button[data-action="skins"]{color:#b7ffce}.home-links button[data-action="skins"]:before{content:'✦';color:#5fff9b}
.home-links button[data-action="achievements"]{color:#ffd77b}.home-links button[data-action="achievements"]:before{content:'★';color:#ffc647}
.home-links button[data-action="stats"]{color:#8fe7ff}.home-links button[data-action="stats"]:before{content:'▥';color:#62d9ff}
.home-links button[data-action="options"]{color:#e2b3ff}.home-links button[data-action="options"]:before{content:'⚙';color:#d16aff}
.home-links button:hover{transform:translateY(-3px);border-color:currentColor;background:linear-gradient(135deg,rgba(52,27,104,.95),rgba(15,10,43,.98));box-shadow:0 8px 20px #03020c99,0 0 15px color-mix(in srgb,currentColor 22%,transparent),inset 0 0 16px color-mix(in srgb,currentColor 9%,transparent)}
.home-links button:hover:after{transform:translate(2px,-2px);color:currentColor}.home-links button:active{transform:translateY(-1px) scale(.98)}
.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 13px;border:1px solid #574292;border-radius:8px;background:linear-gradient(135deg,#17103f,#0a0824);color:#d6c9f3;box-shadow:inset 0 0 12px #7e3bd522,0 4px 12px #03020c55;transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.back-button:hover{transform:translateX(-3px);border-color:#c878ff;color:#fff;box-shadow:0 0 17px #9d3dff55,inset 0 0 15px #8d37d933}.back-button:active{transform:translateX(-1px) scale(.98)}
.section-heading .back-button:before{content:'‹';font-size:1.4rem;line-height:.6;color:#c878ff}.section-heading .back-button{font-size:.75rem;letter-spacing:.05em}
.home-footer a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #4b3984;border-radius:8px;background:#100b30;color:#d4b8ff;box-shadow:inset 0 0 12px #873be622;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.home-footer a:hover{transform:translateX(-3px);border-color:#c878ff;color:#fff;box-shadow:0 0 16px #9d3dff55,inset 0 0 16px #8d37d933}
.screen--gameover .back-button,.screen--hall .back-button,.screen--skins .back-button,.screen--achievements .back-button,.screen--stats .back-button,.screen--options .back-button{font-weight:700}
.skin-card,.tab,.button,.language-toggle,.fullscreen-button{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,filter .18s ease}
.skin-card:hover,.tab:hover,.language-toggle:hover,.fullscreen-button:hover{filter:brightness(1.15)}
@media (max-width:700px){
  .home-links{width:100%;gap:9px 10px;margin-top:24px}.home-links button{min-height:52px;padding:8px 10px;font-size:.72rem}.home-links button:before{flex-basis:29px;width:29px;height:29px;font-size:.95rem}.home-links button:after{font-size:.72rem}.back-button{min-height:44px;padding-inline:11px;font-size:.72rem!important}
}
@media (min-width:701px){.screen--home .home-links{width:340px;gap:10px 12px}}

/* Accueil épuré : le titre et les actions restent au premier plan. */
.screen--home .hero-copy{transform:translateY(-2%)}
.screen--home .home-footer{justify-content:flex-start}

/* Direction artistique arcade — rapprochement avec les visuels de référence. */
body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 38%,transparent 0 35%,#05030f66 80%),linear-gradient(115deg,transparent 0 48%,#6630b50b 50%,transparent 52%);}
.screen--home,.screen:not(.screen--home):not(.screen--game),.screen--game{isolation:isolate;overflow:hidden}
.screen--home:after,.screen:not(.screen--home):not(.screen--game):after,.screen--game:after{content:'';position:absolute;inset:9px;z-index:-1;border:1px solid #b059ff1c;clip-path:polygon(0 0,18% 0,18% 1px,82% 1px,82% 0,100% 0,100% 18%,calc(100% - 1px) 18%,calc(100% - 1px) 82%,100% 82%,100% 100%,82% 100%,82% calc(100% - 1px),18% calc(100% - 1px),18% 100%,0 100%,0 82%,1px 82%,1px 18%,0 18%);opacity:.75;pointer-events:none}
.topbar{border-bottom-color:#8d5dff55}.topbar:before{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#6936db 22%,#d36cff 50%,#6936db 78%,transparent);opacity:.55}
.hero-copy h1{-webkit-text-stroke:1px #f4edff22;text-shadow:4px 4px 0 #28105d,0 0 22px #a65bff66,0 0 54px #7929d633}.hero-copy h1 strong{position:relative}.hero-copy h1 strong:after{content:'///';position:absolute;right:-.2em;top:-.1em;color:#ff8cf922;font-size:.18em;letter-spacing:.12em;transform:skew(-12deg)}
.hero-art:after{content:'';position:absolute;left:3%;right:3%;bottom:18%;height:1px;background:linear-gradient(90deg,transparent,#5725a9,#d069ff,#5725a9,transparent);box-shadow:0 0 14px #aa46ff88,0 -9px 0 #a646ff12,0 9px 0 #a646ff12;opacity:.8}
.city{filter:drop-shadow(0 -5px 13px #813dff33)}.city:after{background:repeating-linear-gradient(90deg,transparent 0 12px,#ca70ff 13px 16px,transparent 17px 31px),repeating-linear-gradient(0deg,transparent 0 13px,#4c2aa2 14px 16px);}
.screen--game .game-top{position:relative}.screen--game .game-stat{position:relative;padding-left:13px}.screen--game .game-stat:before{content:'';position:absolute;left:0;top:2px;width:3px;height:80%;background:var(--accent,#a653ff);box-shadow:0 0 10px var(--accent,#a653ff)}.screen--game .game-stat:nth-child(1){--accent:#a653ff}.screen--game .game-stat:nth-child(2){--accent:#31e87e}.screen--game .game-stat:nth-child(3){--accent:#62d9ff}.screen--game .game-stat--timer{--accent:#ffc647}
.screen--game .board-wrap{border-width:2px;border-color:#9c53ff;background:linear-gradient(145deg,#0c0828,#04040f);box-shadow:0 0 0 1px #351878,0 0 34px #6924d866,inset 0 0 30px #1a0c55}.screen--game .board-wrap:after{content:'';position:absolute;left:12px;right:12px;top:12px;height:22%;background:linear-gradient(180deg,#9c63ff12,transparent);border-top:1px solid #b36cff33;pointer-events:none}.screen--game .game-help{border-top:1px solid #5c39a844;color:#a69bcc;text-shadow:0 0 8px #7543b955}
.gameover-card{position:relative;overflow:hidden;border-width:2px;background:radial-gradient(circle at 50% 4%,#681d5030,transparent 32%),linear-gradient(160deg,#170b32,#080719 62%);box-shadow:0 0 0 1px #32166d,0 0 52px #7a207666,inset 0 0 35px #a63bff12}.gameover-card:before{content:'SYSTEM FAILURE';position:absolute;top:15px;right:19px;color:#ff568866;font:600 .58rem var(--mono);letter-spacing:.16em;transform:rotate(-8deg)}
.crash-mark{position:relative;width:180px;height:72px;margin:8px auto 14px;color:transparent;font-size:0}.crash-mark:before{content:'';position:absolute;left:50%;top:50%;width:11px;height:11px;background:#ff5688;box-shadow:-64px -10px 0 #d92767,-48px 19px 0 #f13b75,-30px -25px 0 #ff8b9f,-12px 24px 0 #bb1f5a,16px -27px 0 #ff7191,33px 19px 0 #dc286a,55px -8px 0 #f3477e,73px 16px 0 #a51b58,-83px 14px 0 #a51b58,0 0 18px 5px #ff3b7b;transform:translate(-50%,-50%);image-rendering:pixelated}.crash-mark:after{content:'×';position:absolute;left:50%;top:50%;color:#ffd1dd;font:900 2.4rem var(--mono);text-shadow:3px 3px 0 #8f174d,0 0 15px #ff5688;transform:translate(-50%,-56%)}
.new-record{padding:10px 12px;border:1px solid #d79038;border-radius:5px;background:#5b310d55;text-shadow:0 0 10px #ffc647}
.tabs{padding:6px;border:1px solid #3f2d78;border-radius:9px;background:#07051b;box-shadow:inset 0 0 18px #5523a622}.tab{border-radius:6px}.tab.active{background:linear-gradient(135deg,#9c35e4,#46199b);border-color:#ed9aff;box-shadow:0 0 20px #9f3fff66,inset 0 0 12px #fff3}
.leaderboard{border-color:#50358f;background:#070619;box-shadow:0 0 0 1px #21144f,0 0 28px #4e22a633}.leaderboard-head{background:linear-gradient(90deg,#151039,#0a0820);color:#bca8e7}.leaderboard-row:nth-child(even){background:#100a2b66}.leaderboard-row:first-child{box-shadow:inset 3px 0 #ffd84c}
.skin-card{border-width:2px}.skin-card__snake{transform:scale(1.05)}.skin-card strong{letter-spacing:.08em}.skin-card small{letter-spacing:.04em}.skin-card__check{display:grid;place-items:center;width:23px;height:23px;border:1px solid currentColor;border-radius:50%;background:#120b2e;font-size:.8rem}
.skin-preview:after{padding:4px 6px;border:1px solid currentColor;border-radius:3px;background:#08051b99}.skin-preview .eyebrow{align-self:flex-start}
.home-footer a{font-size:.7rem;letter-spacing:.07em}
@media (max-width:700px){
  .screen--home:after,.screen:not(.screen--home):not(.screen--game):after,.screen--game:after{inset:5px}.hero-copy h1{-webkit-text-stroke:0;text-shadow:3px 3px 0 #28105d,0 0 18px #a65bff66}.screen--game .game-stat{padding-left:8px}.screen--game .game-stat:before{width:2px}.screen--game .board-wrap{box-shadow:0 0 0 1px #351878,0 0 22px #6924d855,inset 0 0 20px #1a0c55}.gameover-card:before{font-size:.48rem;right:12px}.crash-mark{transform:scale(.82);margin-block:0}.tabs{padding:4px}.skin-card__snake{transform:scale(.94)}
}

/* Sélection des modes — composition contemporaine 2026. */
.mode-grid{max-width:1080px;gap:22px}
.mode-card{min-height:300px;padding:27px 28px 25px;border-width:1px;border-radius:15px;align-items:center;justify-content:center;background:#0d0929;box-shadow:0 14px 34px #02010b99,inset 0 0 34px #6d2fc411;transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease,filter .24s ease}
.mode-card:before{inset:9px;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:9px;background:linear-gradient(90deg,transparent 0 49.7%,color-mix(in srgb,currentColor 8%,transparent) 50%,transparent 50.3%),repeating-linear-gradient(0deg,transparent 0 13px,color-mix(in srgb,currentColor 6%,transparent) 14px 15px);opacity:.8}
.mode-card:after{content:'';position:absolute;left:25px;right:25px;top:132px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,currentColor 62%,transparent),transparent);box-shadow:0 0 11px color-mix(in srgb,currentColor 45%,transparent);opacity:.9;pointer-events:none}
.mode-card--classic{background:radial-gradient(circle at 50% 27%,#22ef8c20,transparent 35%),linear-gradient(145deg,#123b35,#0a1025 72%,#08071d)}
.mode-card--chrono60{background:radial-gradient(circle at 50% 27%,#36dfff20,transparent 35%),linear-gradient(145deg,#12334a,#091127 72%,#08071d)}
.mode-card--chrono120{background:radial-gradient(circle at 50% 27%,#ffc24720,transparent 35%),linear-gradient(145deg,#493019,#171227 72%,#08071d)}
.mode-card--survival{background:radial-gradient(circle at 50% 27%,#ff477e20,transparent 35%),linear-gradient(145deg,#4a1839,#1b102d 72%,#08071d)}
.mode-card .mode-icon{height:112px;width:100%;margin-top:5px;font-size:6rem;text-shadow:0 0 12px currentColor,0 0 34px color-mix(in srgb,currentColor 50%,transparent),4px 4px 0 color-mix(in srgb,currentColor 25%,#10082d);filter:saturate(1.15)}
.mode-card .mode-icon:before{inset:5px 30%;border-color:currentColor;opacity:.3}
.mode-card strong{margin-top:27px;font-size:1.2rem;letter-spacing:.08em;text-shadow:0 0 14px currentColor}
.mode-card strong:before{content:'MODE';display:block;margin-bottom:7px;color:color-mix(in srgb,currentColor 58%,#fff);font:600 .56rem var(--mono);letter-spacing:.22em;opacity:.75}
.mode-card small{max-width:270px;margin-top:10px;font-size:.87rem;line-height:1.55;color:#f0ebfa}
.mode-card>b{top:18px;right:18px;bottom:auto;display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid currentColor;border-radius:12px;background:color-mix(in srgb,currentColor 15%,#100b2f);color:inherit;font-size:1rem;opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 7%,transparent),0 0 16px color-mix(in srgb,currentColor 22%,transparent);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.mode-card>b:after{content:'';position:absolute;inset:4px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:8px}
.mode-card:hover{transform:translateY(-7px);filter:brightness(1.13);box-shadow:0 22px 44px #02010bcc,0 0 0 1px color-mix(in srgb,currentColor 42%,transparent),0 0 30px color-mix(in srgb,currentColor 18%,transparent),inset 0 0 38px color-mix(in srgb,currentColor 13%,transparent)}
.mode-card:hover>b{transform:translateY(-2px) scale(1.06);background:color-mix(in srgb,currentColor 28%,#160c3c);box-shadow:0 0 0 4px color-mix(in srgb,currentColor 10%,transparent),0 0 25px color-mix(in srgb,currentColor 45%,transparent)}
.mode-card:active{transform:translateY(-2px) scale(.99)}
.mode-card:focus-visible{transform:translateY(-5px);outline-color:#fff}
@media (max-width:700px){
  .mode-grid{gap:13px}.mode-card{min-height:224px;padding:19px 14px 18px;border-radius:12px}.mode-card:before{inset:6px}.mode-card:after{left:17px;right:17px;top:95px}.mode-card .mode-icon{height:74px;margin-top:5px;font-size:4rem}.mode-card .mode-icon:before{inset:3px 23%}.mode-card strong{margin-top:19px;font-size:.82rem;letter-spacing:.06em}.mode-card strong:before{margin-bottom:5px;font-size:.48rem}.mode-card small{margin-top:8px;font-size:.68rem;line-height:1.45}.mode-card>b{top:11px;right:11px;width:34px;height:34px;border-radius:9px;font-size:.8rem}.mode-card>b:after{inset:3px;border-radius:6px}
}

/* Vitesse lisible : profil annoncé sur les cartes et progression en partie. */
.mode-speed{position:relative;z-index:1;display:inline-flex;align-items:center;margin-top:17px;padding:7px 10px;border:1px solid color-mix(in srgb,currentColor 32%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 9%,#08071f);color:color-mix(in srgb,currentColor 82%,#fff);font:600 .62rem var(--mono);letter-spacing:.07em;box-shadow:inset 0 0 10px color-mix(in srgb,currentColor 10%,transparent)}
.mode-speed:before{content:'↯';margin-right:6px;font-size:.8rem}
.speed-progress{display:flex;align-items:center;gap:17px;margin:0 0 16px;padding:12px 16px;border:1px solid #4e378b;border-radius:9px;background:linear-gradient(100deg,#130d36,#08071d);box-shadow:inset 0 0 18px #7531c514,0 6px 18px #03020b55}
.speed-progress__copy{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;min-width:235px}.speed-progress__copy span{color:#b79be8;font:600 .65rem var(--mono);letter-spacing:.1em}.speed-progress__copy strong{color:#fff;font:700 1.05rem var(--mono);text-shadow:0 0 10px #d16aff}.speed-progress__copy small{grid-column:1/-1;margin-top:5px;color:#9084b2;font:500 .58rem var(--mono);letter-spacing:.05em}.speed-progress__track{position:relative;flex:1;height:9px;overflow:hidden;border:1px solid #4e378b;border-radius:99px;background:#050417;box-shadow:inset 0 0 8px #000}.speed-progress__track:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12%,#d16aff22 12.5% 13%,transparent 13.5% 25%);pointer-events:none}.speed-progress__track i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#62d9ff,#c05cff,#ff5688);box-shadow:0 0 13px #bd55ff;transition:width .3s ease}
@media (max-width:700px){
  .mode-speed{margin-top:12px;padding:6px 7px;font-size:.51rem;letter-spacing:.04em}.mode-speed:before{margin-right:4px;font-size:.67rem}.speed-progress{gap:10px;margin:0 0 12px;padding:10px 9px}.speed-progress__copy{grid-template-columns:auto auto;column-gap:6px;min-width:145px}.speed-progress__copy span{font-size:.51rem;letter-spacing:.06em}.speed-progress__copy strong{font-size:.85rem}.speed-progress__copy small{font-size:.47rem;margin-top:3px}.speed-progress__track{height:8px}
}

/* Pixelonia Snake — direction artistique globale, pass 2026. */
:root{--line:#6240b1;--line-hot:#b65bff;--glow:#8b37ff;--glass:rgba(13,9,39,.82)}
html{background:#050411}body{background:radial-gradient(ellipse at 50% -15%,#302064 0,#110b35 28%,#07061b 62%,#03030b 100%);font-synthesis:none}
body:after{opacity:.2;background:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 5px);mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.stars{opacity:.78;background-size:83px 109px,191px 211px;filter:drop-shadow(0 0 3px #9a57ff)}
.app-shell{width:min(1440px,calc(100% - 56px));padding-top:24px}
.topbar{height:62px;padding:0 12px;border:1px solid #2d1c68;border-bottom-color:#7047c6;border-radius:12px 12px 0 0;background:linear-gradient(180deg,#100a2d99,#09071f55);box-shadow:0 0 24px #39159a26,inset 0 -8px 18px #a14fff09}
.topbar:after{left:18px;bottom:-2px;width:170px;height:3px}.topbar:before{left:18px;right:18px;bottom:-1px}
.brand{font-size:1rem;letter-spacing:.17em}.brand-mark{width:36px;height:36px;border-color:#b153ff;background:#180d44;box-shadow:0 0 18px #9d38ff99,inset 0 0 10px #d16aff33}.icon-button{min-width:46px;height:38px;border-radius:9px;background:#100a2d;border-color:#503995;box-shadow:inset 0 0 10px #8040c522;transition:.2s}.icon-button:hover{border-color:#d16aff;background:#251051;box-shadow:0 0 15px #9d3dff55}
.screen:not(.screen--home):not(.screen--game){padding:39px 42px 46px;border-color:#6a42bd;border-radius:0 0 14px 14px;background:linear-gradient(145deg,#0d092bdd,#070619ee);box-shadow:0 0 0 1px #28145d,0 0 48px #4e1fb33d,inset 0 0 42px #7132bc0a}
.screen:not(.screen--home):not(.screen--game):before{left:5%;width:30%;box-shadow:0 0 20px #b35cff}
.section-heading{margin-bottom:36px}.section-heading h2{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.075em;text-shadow:4px 4px 0 #29105c,0 0 22px #b65bff88}.section-heading .eyebrow{font-size:.78rem;text-shadow:0 0 12px #b34eff}.section-heading:after{left:150px;right:120px;bottom:-16px;height:2px;background:linear-gradient(90deg,#c16aff,#6334bf 45%,transparent);box-shadow:0 0 12px #a74cff}
.heading-decoration{font-size:3rem;text-shadow:0 0 18px currentColor}
.back-button{min-height:45px;border-color:#6243a2;background:linear-gradient(135deg,#1a1047,#0a0823);box-shadow:0 0 0 1px #21134b,inset 0 0 15px #9b44ff18,0 7px 18px #03020b88}.back-button:hover{border-color:#e38bff;box-shadow:0 0 22px #9d3dff66,inset 0 0 18px #a63cff2b}

/* Accueil : affiche de jeu et panneau lumineux. */
.screen--home{border:1px solid #6d43c1;border-radius:14px;background:radial-gradient(ellipse at 72% 30%,#4a27a522,transparent 28%),linear-gradient(120deg,#0d092cdd 0%,#09071eea 52%,#110a35d5 100%);box-shadow:0 0 0 1px #25134f,0 0 60px #4e1fb34a,inset 0 0 60px #8339d30d}
.screen--home:before{left:7%;width:32%;height:3px}.screen--home:after{inset:12px;border-color:#b05cff22}
.hero-copy{max-width:570px}.hero-copy h1{font-size:clamp(5rem,10vw,9.5rem);line-height:.78;letter-spacing:-.13em;text-shadow:5px 5px 0 #2a0d63,0 0 25px #a451ff88,0 0 60px #7825c944}.hero-copy h1 span{color:#f9f7ff;text-shadow:3px 3px 0 #32206f,0 0 22px #fff6}.hero-copy h1 strong{color:#bd5cff;text-shadow:5px 5px 0 #43108b,0 0 27px #be4fff,0 0 56px #a73cff77}.hero-tagline{font-size:1.18rem;color:#eeeafa;text-shadow:0 0 11px #8f5ad944}.hero-actions{width:340px;gap:12px}.hero-actions .button{min-height:60px;border-radius:10px}.button{border-radius:9px;box-shadow:inset 0 0 16px #aa4cff12,0 6px 15px #03020b77}.button--primary{background:linear-gradient(135deg,#7022d8 0%,#bb3fff 62%,#d16aff 100%);border-color:#f0a2ff;box-shadow:0 0 0 1px #7120b8,0 9px 26px #8d2ce777,inset 0 0 14px #fff3}.button--primary:hover{filter:brightness(1.2);box-shadow:0 0 0 1px #f5a8ff,0 12px 30px #a43cffaa,inset 0 0 18px #fff5}.button--ghost{background:linear-gradient(135deg,#181044,#0b0826);border-color:#6647b8}.button--ghost:hover{border-color:#db8cff;background:linear-gradient(135deg,#2b145f,#10092d);box-shadow:0 0 20px #9d3dff66}
.home-links{gap:11px 14px}.home-links button{min-height:52px;border-color:#443481;border-radius:10px;background:linear-gradient(135deg,#15103cdd,#08071fe8);box-shadow:inset 0 0 15px #9b44ff0e,0 6px 14px #03020b66}.home-links button:hover{box-shadow:0 0 0 1px currentColor,0 10px 23px #03020baa,0 0 20px color-mix(in srgb,currentColor 28%,transparent)}
.hero-art{min-height:520px}.hero-art:before{opacity:1;background:radial-gradient(circle at 74% 17%,#c47bff28 0 2px,transparent 3px),radial-gradient(circle at 39% 43%,#f4d8ff2b 0 1px,transparent 2px),linear-gradient(transparent 78%,#160d3f 78% 79%,transparent 79%),repeating-linear-gradient(90deg,transparent 0 31px,#a56bff13 32px 33px)}.planet{width:min(34vw,300px);right:10%;box-shadow:0 0 0 1px #704cc2,0 0 75px #633bcf66,8px 10px 0 #0a0825}.pixel-snake--hero{filter:drop-shadow(0 0 20px #31e87ecc)}.home-footer a{border-color:#6742aa;background:#110b32dd;box-shadow:0 0 0 1px #25134f,inset 0 0 14px #9b44ff1c,0 6px 15px #03020b77}

/* Partie : cockpit lisible et plateau central. */
.screen--game{max-width:min(1280px,calc(100vw - 70px),calc((100dvh - 180px) * 1.5));padding:30px 38px 34px;border:1px solid #7846d1;border-radius:14px;background:linear-gradient(145deg,#0c0929ee,#050513f5);box-shadow:0 0 0 1px #281459,0 0 55px #4e1fb34d,inset 0 0 38px #7637d411}
.screen--game:before{left:7%;width:27%;height:3px}.screen--game .game-top{padding:0 20px 22px}.screen--game .game-stat{padding:7px 0 6px 15px}.screen--game .game-stat:before{top:6px;height:74%;width:3px}.screen--game .game-stat small{font-size:clamp(.84rem,1vw,1.02rem);color:#bdb3db}.screen--game .game-stat strong{margin-top:4px;text-shadow:0 0 12px #fff5}.screen--game .pause-button{border-color:#e28bff;background:linear-gradient(135deg,#30135f,#110a32);box-shadow:0 0 0 4px #a64cff12,0 0 21px #a13eff66,inset 0 0 13px #fff2}.screen--game .board-wrap{border-radius:12px;border-color:#b35cff;box-shadow:0 0 0 1px #371977,0 0 0 4px #a84cff18,0 0 42px #7a2ee477,inset 0 0 34px #130838}.screen--game .board-wrap canvas{border-radius:5px;box-shadow:inset 0 0 25px #4e56c533}.screen--game .game-help{font-size:clamp(.78rem,.9vw,.96rem);border-top-color:#7043ba66}
.speed-progress{border-color:#5c3b9a;background:linear-gradient(100deg,#171040,#08071f);box-shadow:0 0 0 1px #271452,inset 0 0 20px #7e37d41a,0 8px 20px #03020b66}.speed-progress__track{border-color:#6040a4}.speed-progress__track i{background:linear-gradient(90deg,#62d9ff,#a851ff 48%,#ff5688);box-shadow:0 0 16px #ad50ff}.touch-controls button{border-color:#6546aa;background:linear-gradient(145deg,#251452,#100a2f);box-shadow:0 0 0 3px #a04cff10,0 8px 19px #03020c99,inset 0 0 17px #b34fff22}.touch-controls button:hover{border-color:#e38bff;box-shadow:0 0 0 4px #a04cff18,0 0 22px #b04cff77,inset 0 0 20px #d16aff33}

/* Écrans secondaires : modules lumineux et lisibles. */
.mode-grid{max-width:1120px}.mode-card{border-width:2px;box-shadow:0 0 0 1px #130b35,0 18px 38px #02010caa,inset 0 0 35px #8136d414}.mode-card:before{border-color:color-mix(in srgb,currentColor 34%,transparent);box-shadow:inset 0 0 24px color-mix(in srgb,currentColor 8%,transparent)}.mode-card .mode-icon{filter:saturate(1.25) drop-shadow(0 0 9px currentColor)}.mode-card strong{font-size:1.3rem}.mode-card small{font-size:.94rem}.mode-speed{box-shadow:0 0 13px color-mix(in srgb,currentColor 14%,transparent),inset 0 0 10px color-mix(in srgb,currentColor 12%,transparent)}
.gameover-card{border-width:2px;box-shadow:0 0 0 1px #2b1362,0 0 62px #8e2d7655,inset 0 0 42px #b044ff14}.result-grid{border-color:#60409a;box-shadow:0 0 0 1px #291456,inset 0 0 25px #7632d41a}.result-grid div{border-color:#453181;background:linear-gradient(135deg,#1a1046cc,#090720cc)}.result-grid div:hover{border-color:#bc69ff;box-shadow:0 0 16px #9e3dff44}.gameover-actions .button{box-shadow:0 7px 19px #03020caa,inset 0 0 14px #a64cff1a}
.tabs{border-color:#53358d;box-shadow:0 0 0 1px #26134e,inset 0 0 20px #7131cc12}.leaderboard{border-color:#553791;box-shadow:0 0 0 1px #24134d,0 0 28px #4d21a640,inset 0 0 23px #7231c914}.leaderboard-row{border-top-color:#2b2155}.leaderboard-row:first-child{color:#ffe16c;box-shadow:inset 4px 0 #ffd84c,0 0 14px #f4b92818}
.skin-card{border-width:2px;box-shadow:0 0 0 1px #1c1045,0 10px 24px #03020c99,inset 0 0 27px color-mix(in srgb,var(--skin,#a44eff) 13%,transparent)}.skin-card:hover{box-shadow:0 0 0 1px var(--skin),0 15px 31px #03020ccc,0 0 25px color-mix(in srgb,var(--skin,#a44eff) 30%,transparent),inset 0 0 30px color-mix(in srgb,var(--skin,#a44eff) 20%,transparent)}.skin-preview{border-width:2px;border-color:#63429f;box-shadow:0 0 0 1px #281452,0 0 28px #6c2bc844,inset 0 0 34px color-mix(in srgb,var(--preview-color,#31e87e) 17%,transparent)}
.achievement{border-color:#3b2d73;background:linear-gradient(145deg,#120d33,#08071e);box-shadow:0 7px 17px #03020b66}.achievement.unlocked{border-color:#8952d4;box-shadow:0 0 20px #7e37d433,inset 0 0 20px #a84cff12}.metric{border-color:#49368c;background:linear-gradient(145deg,#15103c,#090720);box-shadow:0 8px 20px #03020c88,inset 0 0 23px #7836d413}.mode-stat{border-left-width:4px;background:linear-gradient(100deg,#171039,#09071f);box-shadow:0 7px 17px #03020b66}.options-card{border-color:#52398e;background:linear-gradient(145deg,#120d34,#08071f);box-shadow:0 0 0 1px #25134e,0 0 30px #5424a333,inset 0 0 30px #7d35d411}.option-row{transition:background .2s ease,padding .2s ease}.option-row:hover{padding-inline:9px;background:#a24cff0c}.toggle i{box-shadow:inset 0 0 7px #0008}.language-toggle,.fullscreen-button{border-color:#6546aa;background:linear-gradient(135deg,#241350,#0f092d);box-shadow:inset 0 0 13px #aa4cff1a,0 6px 15px #03020b66}
@media (max-width:700px){
  .app-shell{width:min(100% - 14px,580px);padding-top:9px}.topbar{height:50px;padding-inline:7px}.brand{font-size:.83rem}.brand-mark{width:30px;height:30px}.screen:not(.screen--home):not(.screen--game){padding:28px 14px 32px;border-radius:0 0 12px 12px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(1.5rem,7vw,2.25rem)}.section-heading:after{left:90px;right:50px;bottom:-12px}.heading-decoration{font-size:2rem}.screen--home{border-radius:11px;padding-inline:12px}.screen--home .hero-copy{transform:none}.hero-copy h1{font-size:clamp(3.8rem,19vw,6rem)}.hero-tagline{font-size:1.05rem}.hero-actions{width:100%}.hero-actions .button{min-height:56px}.home-links{gap:9px 10px}.home-links button{min-height:52px}.hero-art{min-height:230px}.planet{width:145px}.screen--game{max-width:none;padding:13px 2px 23px;border-radius:11px}.screen--game .game-top{gap:13px;padding:0 5px 17px}.screen--game .game-stat{padding-left:8px;min-width:78px}.screen--game .game-stat small{font-size:.69rem}.screen--game .game-stat strong{font-size:1.43rem}.screen--game .pause-button{width:52px;height:52px}.screen--game .board-wrap{padding:8px}.screen--game .game-help{font-size:.68rem}.mode-card{min-height:230px}.mode-card strong{font-size:.84rem}.mode-card small{font-size:.7rem}.mode-speed{font-size:.5rem}.gameover-card{padding:28px 14px 30px}.tabs{padding:4px}.leaderboard-row{font-size:.62rem}.skin-card{min-height:154px}.achievement-grid{gap:9px}.options-card{padding-inline:12px}
}

/* Écran de fin — panneau de résultats premium. */
.gameover-card{max-width:760px;padding:39px 48px 42px;border-radius:16px;text-align:center;background:radial-gradient(ellipse at 50% -12%,#ff477e20,transparent 35%),linear-gradient(145deg,#160c36 0%,#09071e 56%,#050411 100%);box-shadow:0 0 0 1px #2d1466,0 0 58px #7b267855,inset 0 0 42px #a33cff12}
.gameover-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 15%,#ff92b20b 32%,transparent 48%),repeating-linear-gradient(0deg,transparent 0 8px,#fff2 9px 10px);opacity:.32;mix-blend-mode:screen}
.gameover-card>*{position:relative;z-index:1}.gameover-card .eyebrow{margin-bottom:13px;color:#d4a1ff;font-size:.72rem;text-shadow:0 0 12px #bd6aff}.gameover-card h2{font-size:clamp(3.1rem,7vw,5.6rem);letter-spacing:-.11em;-webkit-text-stroke:1px #ff9bb833;text-shadow:4px 4px 0 #73153e,0 0 20px #ff3b7b,0 0 48px #ff3b7b77}
.crash-mark{height:82px;margin:4px auto 12px}.crash-mark:before{width:12px;height:12px;box-shadow:-78px -8px 0 #d92767,-59px 26px 0 #f13b75,-38px -31px 0 #ff8b9f,-16px 31px 0 #bb1f5a,20px -32px 0 #ff7191,41px 25px 0 #dc286a,66px -12px 0 #f3477e,88px 18px 0 #a51b58,-99px 15px 0 #a51b58,0 0 22px 6px #ff3b7b}
.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 21px;padding:10px;border:1px solid #4d3487;border-radius:11px;background:#06051a99;box-shadow:inset 0 0 22px #6a2fc511}.result-grid div{position:relative;padding:13px 15px;border:1px solid #332766;border-radius:7px;background:linear-gradient(135deg,#151039aa,#0b0924aa);overflow:hidden}.result-grid div:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#a854ff;box-shadow:0 0 11px #a854ff}.result-grid div:nth-child(2):before{background:#31e87e;box-shadow:0 0 11px #31e87e}.result-grid div:nth-child(3):before{background:#62d9ff;box-shadow:0 0 11px #62d9ff}.result-grid div:nth-child(4):before{background:#ffc647;box-shadow:0 0 11px #ffc647}.result-grid div:nth-child(5){grid-column:1/-1}.result-grid div:nth-child(5):before{background:#ff5688;box-shadow:0 0 11px #ff5688}.result-grid small{font-size:.67rem;color:#b8acd8;letter-spacing:.08em}.result-grid strong{font-size:1.22rem;margin-top:7px;text-shadow:0 0 10px #fff4}
.new-record{margin:10px 0 18px;padding:11px 14px;border-radius:6px;font-size:.75rem;letter-spacing:.08em;box-shadow:0 0 19px #c58a2833,inset 0 0 12px #ffca3a18}
.pseudo-field{margin:18px 0 16px;font-size:.67rem;letter-spacing:.08em;color:#b8acd8}.pseudo-field input{margin-top:9px;padding:14px 15px;border-color:#61449b;border-radius:8px;background:#050416;box-shadow:inset 0 0 15px #5a2cb522;color:#fff;font-size:.82rem;letter-spacing:.04em}.pseudo-field input:focus{border-color:#d16aff;box-shadow:0 0 0 3px #a044ff33,0 0 20px #a044ff44}
.gameover-actions{gap:10px;margin-top:16px}.gameover-actions .button{min-height:56px;border-radius:9px}.gameover-actions .button--ghost{background:linear-gradient(135deg,#131034,#090720);border-color:#6245a7}.gameover-actions .button--ghost:hover{border-color:#c878ff;box-shadow:0 0 18px #9d3dff44}
@media (max-width:700px){
  .gameover-card{padding:28px 15px 29px;border-radius:13px}.gameover-card .eyebrow{font-size:.64rem}.gameover-card h2{font-size:clamp(2.45rem,13vw,4rem);-webkit-text-stroke:0;text-shadow:3px 3px 0 #73153e,0 0 15px #ff3b7b,0 0 30px #ff3b7b66}.crash-mark{height:64px;transform:scale(.7);margin-block:-2px 0}.result-grid{gap:8px;margin:15px 0 17px;padding:8px}.result-grid div{padding:11px 10px}.result-grid small{font-size:.57rem}.result-grid strong{font-size:1rem}.new-record{font-size:.64rem;padding:10px 8px}.pseudo-field{font-size:.59rem}.pseudo-field input{font-size:.75rem}.gameover-actions .button{min-height:53px}
}

/* Barre supérieure : métriques de la partie en cours. */
.game-live-stats{display:flex;align-items:center;gap:11px;margin-left:auto;padding:5px 12px;border:1px solid #5e3da0;border-radius:8px;background:linear-gradient(135deg,#1b1047dd,#09071fdd);box-shadow:inset 0 0 13px #a64cff14,0 0 16px #6e2fc533}
.game-live-stats span{display:grid;gap:3px;min-width:76px}.game-live-stats span+span{padding-left:11px;border-left:1px solid #6943aa66}.game-live-stats small{color:#aa9bd1;font:600 .52rem var(--mono);letter-spacing:.12em}.game-live-stats strong{color:#fff;font:700 .82rem var(--mono);letter-spacing:.04em;text-shadow:0 0 9px #d16aff99}.game-live-stats span:last-child strong{color:#74e8ff;text-shadow:0 0 9px #4bdfff99}
@media (max-width:700px){.game-live-stats{gap:7px;margin-left:auto;padding:4px 7px;border-radius:7px}.game-live-stats span{min-width:53px;gap:2px}.game-live-stats span+span{padding-left:7px}.game-live-stats small{font-size:.42rem;letter-spacing:.07em}.game-live-stats strong{font-size:.63rem}.topbar__right{gap:5px}.topbar__right .icon-button{min-width:34px;padding-inline:5px}}

/* Barre de partie persistante et non rognée sur les écrans hauts. */
.topbar{position:sticky;top:8px;z-index:30;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topbar__right{min-width:0;flex:1;justify-content:flex-end}.game-live-stats{flex-shrink:0}.game-live-stats[hidden]{display:none!important}
@media (max-width:700px){.topbar{top:4px}.topbar__right{overflow:visible}.game-live-stats{max-width:none}}

/* Thèmes de partie — l'identité du mode reste visible pendant l'action. */
body[data-mode="classic"] .screen--game{--mode-accent:#31e87e;--mode-deep:#123b35}body[data-mode="chrono60"] .screen--game{--mode-accent:#4ddcff;--mode-deep:#12334a}body[data-mode="chrono120"] .screen--game{--mode-accent:#ffbd2e;--mode-deep:#493019}body[data-mode="survival"] .screen--game{--mode-accent:#ff4c83;--mode-deep:#4a1839}
body[data-mode] .screen--game{border-color:color-mix(in srgb,var(--mode-accent) 70%,#7b4cff);box-shadow:0 0 0 1px color-mix(in srgb,var(--mode-accent) 30%,#281459),0 0 58px color-mix(in srgb,var(--mode-accent) 25%,transparent),inset 0 0 42px color-mix(in srgb,var(--mode-accent) 7%,transparent)}body[data-mode] .screen--game .mode-ribbon{color:color-mix(in srgb,var(--mode-accent) 65%,#fff);text-shadow:0 0 12px color-mix(in srgb,var(--mode-accent) 60%,transparent)}body[data-mode] .screen--game .board-wrap{border-color:color-mix(in srgb,var(--mode-accent) 65%,#b35cff);box-shadow:0 0 0 1px color-mix(in srgb,var(--mode-accent) 45%,#371977),0 0 0 4px color-mix(in srgb,var(--mode-accent) 12%,transparent),0 0 42px color-mix(in srgb,var(--mode-accent) 30%,transparent),inset 0 0 34px color-mix(in srgb,var(--mode-accent) 10%,#130838)}body[data-mode] .screen--game .speed-progress{border-color:color-mix(in srgb,var(--mode-accent) 52%,#5c3b9a)}body[data-mode] .screen--game .speed-progress__track i{background:linear-gradient(90deg,color-mix(in srgb,var(--mode-accent) 75%,#fff),var(--mode-accent),#bd55ff);box-shadow:0 0 16px var(--mode-accent)}body[data-mode] .screen--game .game-stat:before{background:var(--mode-accent);box-shadow:0 0 12px var(--mode-accent)}body[data-mode] .screen--game .game-live-stats strong{color:var(--mode-accent);text-shadow:0 0 10px var(--mode-accent)}
body[data-mode] .game-live-stats span:last-child strong{color:var(--mode-accent);text-shadow:0 0 11px var(--mode-accent)}

/* Master polish — contraste, profondeur et lisibilité de tous les écrans. */
body:after{opacity:.065;mix-blend-mode:normal;background:repeating-linear-gradient(0deg,#ffffff28 0 1px,transparent 1px 6px)}
.stars{opacity:.48;filter:drop-shadow(0 0 2px #9a57ff)}
.topbar{background:linear-gradient(180deg,#17103fe8,#0b0826e8);border-color:#6040aa;box-shadow:0 0 0 1px #211147,0 10px 28px #03020b66,inset 0 -12px 24px #9f48ff0c}
.brand-mark{background:radial-gradient(circle,#3a1768,#130b36 72%);box-shadow:0 0 20px #b14dff77,inset 0 0 12px #d781ff44}
.screen--home{grid-template-columns:.86fr 1.14fr;padding:30px 64px 18px;background:radial-gradient(ellipse at 76% 26%,#6c3bc932,transparent 28%),radial-gradient(ellipse at 22% 48%,#32145e1f,transparent 34%),linear-gradient(125deg,#100a32f2,#070619f7 54%,#130a37f2);box-shadow:0 0 0 1px #281254,0 0 65px #6326cc4d,inset 0 0 80px #923cff0e}
.screen--home:after{inset:10px;border-color:#d072ff2a}
.screen--home .hero-copy{max-width:620px;transform:translateY(-1%)}
.screen--home .hero-copy h1{font-size:clamp(5.4rem,8.2vw,8.5rem);line-height:.77;text-shadow:5px 5px 0 #2d0d68,0 0 24px #c269ff77,0 0 58px #8c32e555}
.screen--home .hero-copy h1 span{letter-spacing:-.08em}.screen--home .hero-copy h1 strong{color:#c55fff;background:linear-gradient(180deg,#efadff 0,#c05cff 42%,#8f31e4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(5px 5px 0 #3f0e83) drop-shadow(0 0 17px #a841ff88)}
.screen--home .hero-tagline{margin:30px 0 31px;font-size:1.2rem;line-height:1.55;color:#f0ecfa}.screen--home .hero-tagline em{color:#df8fff;text-shadow:0 0 12px #bd54ff77}
.screen--home .hero-actions{width:390px;gap:12px}.screen--home .hero-actions .button{min-height:62px;font-size:.93rem;border-radius:11px}.screen--home .button--primary{background:linear-gradient(135deg,#7321d8,#bd43ff 58%,#eb83ff);box-shadow:0 0 0 1px #e28cff66,0 10px 30px #9d31eb7a,inset 0 1px #fff7}
.screen--home .home-links{width:390px;gap:11px 12px;margin-top:27px}.screen--home .home-links button{min-height:57px;padding:10px 13px;border-radius:11px;font-size:.78rem;background:linear-gradient(135deg,#1b1249f2,#0a0825f5)}.screen--home .home-links button:before{width:31px;height:31px;flex-basis:31px}
.screen--home .hero-art{min-height:100%;overflow:visible}.screen--home .planet{right:8%;top:10%;width:min(30vw,330px);filter:drop-shadow(0 0 30px #6c4ce055)}.screen--home .pixel-snake--hero{right:24%;top:38%;transform:scale(1.18) rotate(-11deg)}
.screen--home .city{height:51%;background:linear-gradient(to top,#0b071f 78%,transparent);filter:drop-shadow(0 -7px 17px #a14cff44)}.screen--home .city:after{opacity:.88;background:repeating-linear-gradient(90deg,transparent 0 13px,#a455e9 14px 17px,transparent 18px 30px),repeating-linear-gradient(0deg,transparent 0 12px,#5e2cbf 13px 15px)}.screen--home .city--left{left:-2%;width:58%}.screen--home .city--right{right:-5%;width:57%;height:45%}
.screen--home .spark{font-size:1.8rem;animation:spark-pulse 2.4s steps(2,end) infinite}@keyframes spark-pulse{0%,100%{opacity:.55;filter:brightness(1)}50%{opacity:1;filter:brightness(1.45)}}

.button,.back-button,.icon-button,.tab,.language-toggle,.fullscreen-button{position:relative;overflow:hidden}.button:after,.back-button:after,.icon-button:after,.tab:after,.language-toggle:after,.fullscreen-button:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff16 48%,transparent 72%);transform:translateX(-115%);transition:transform .42s ease}.button:hover:after,.back-button:hover:after,.icon-button:hover:after,.tab:hover:after,.language-toggle:hover:after,.fullscreen-button:hover:after{transform:translateX(115%)}
.button{font-weight:700;letter-spacing:.075em}.button--ghost{border-color:#7250c4;background:linear-gradient(135deg,#1b1249,#0a0825);box-shadow:0 7px 18px #03020c88,inset 0 0 16px #9141ee16}

.screen:not(.screen--home):not(.screen--game){background:radial-gradient(ellipse at 50% 0,#46208c1d,transparent 34%),linear-gradient(145deg,#100b31f2,#060519f7);border-color:#754bc8;box-shadow:0 0 0 1px #25114f,0 0 58px #5d25c047,inset 0 0 55px #8c3cff0d}
.section-heading h2{background:linear-gradient(180deg,#fff,#d9c9ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(3px 3px 0 #2d145f) drop-shadow(0 0 12px #b45cff55)}
.mode-card{border-radius:17px;background-blend-mode:screen,normal;box-shadow:0 0 0 1px #160b36,0 18px 42px #02010cba,inset 0 0 46px color-mix(in srgb,currentColor 8%,transparent)}.mode-card:before{border-radius:11px;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,currentColor 12%,transparent),transparent 42%),repeating-linear-gradient(0deg,transparent 0 17px,color-mix(in srgb,currentColor 4%,transparent) 18px 19px)}.mode-card .mode-icon{font-size:6.25rem;filter:saturate(1.35) drop-shadow(0 0 14px currentColor)}.mode-card>b{background:linear-gradient(145deg,color-mix(in srgb,currentColor 31%,#1a0d3d),#0c0826);box-shadow:0 0 0 4px color-mix(in srgb,currentColor 8%,transparent),0 8px 19px #02010c99,0 0 19px color-mix(in srgb,currentColor 35%,transparent)}

.screen--game{background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--mode-accent,#a653ff) 10%,transparent),transparent 37%),linear-gradient(145deg,#0d092cf5,#040410fa)}.screen--game .game-top{border-bottom:1px solid color-mix(in srgb,var(--mode-accent,#a653ff) 24%,transparent)}.screen--game .game-stat strong{font-weight:800}.screen--game .mode-ribbon{padding-top:13px}.speed-progress{border-radius:11px;background:linear-gradient(105deg,#1a1148,#08071f)}.board-wrap:before{opacity:.34;mix-blend-mode:screen}.screen--game .board-wrap{background:#030410}.screen--game .pause-button{transition:transform .18s ease,box-shadow .18s ease}.screen--game .pause-button:hover{transform:translateY(-2px) scale(1.04)}

.gameover-card{background:radial-gradient(ellipse at 50% -8%,#ff477e2d,transparent 36%),linear-gradient(145deg,#190d3cf4,#070619fa 60%);border-color:#a755ff}.result-grid div{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.result-grid div:hover{transform:translateY(-2px)}
.tabs{background:#060515d9}.tab{font-size:.8rem}.leaderboard-head{color:#d0c2ed}.leaderboard-row{transition:background .18s ease,transform .18s ease}.leaderboard-row:hover{background:#211044aa;transform:translateX(3px)}
.skin-card{border-radius:13px;min-height:174px}.skin-card:before{opacity:.52}.skin-card__snake{transform:scale(1.12)}.skin-card strong{font-size:.9rem}.skin-card small{border-radius:999px}.skin-preview{border-radius:14px;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--preview-color,#31e87e) 28%,transparent),transparent 49%),linear-gradient(160deg,#1b1049,#07061c)}
.achievement{border-radius:10px;min-height:76px;transition:transform .18s ease,border-color .18s ease}.achievement:hover{transform:translateY(-2px);border-color:#8e55d7}.achievement__icon{border-radius:8px}.metric{border-radius:11px;transition:transform .18s ease,border-color .18s ease}.metric:hover{transform:translateY(-3px);border-color:#9c59e6}.mode-stat{border-radius:0 10px 10px 0;transition:transform .18s ease}.mode-stat:hover{transform:translateX(4px)}
.options-card{border-radius:13px;padding-inline:25px}.option-row{min-height:69px}.toggle,.language-toggle{min-height:38px}.fullscreen-button{min-height:48px;border-radius:9px}

@media (max-width:700px){
  body:after{opacity:.04}.screen--home{grid-template-columns:1fr;padding:24px 12px 8px}.screen--home .hero-copy h1{font-size:clamp(3.9rem,19vw,5.8rem)}.screen--home .hero-tagline{margin:22px 0;font-size:1.06rem}.screen--home .hero-actions,.screen--home .home-links{width:100%}.screen--home .hero-actions .button{min-height:57px}.screen--home .home-links button{min-height:54px;padding-inline:10px}.screen--home .hero-art{min-height:220px;overflow:hidden}.screen--home .planet{width:150px;right:10%;top:-2%}.screen--home .pixel-snake--hero{right:26%;top:30%;transform:scale(.84) rotate(-11deg)}.screen--home .city{height:58%}.screen--home .spark{animation:none}.mode-card{border-radius:13px}.mode-card .mode-icon{font-size:4.15rem}.skin-card{min-height:157px}.skin-card__snake{transform:scale(.98)}.options-card{padding-inline:13px}
}
@media (prefers-reduced-motion:reduce){.screen--home .spark{animation:none}}

/* PC plein écran : une seule vue, sans débordement navigateur. */
@media (min-width:701px){
  html,body{height:100%;overflow:hidden}
  .app-shell{height:100dvh;min-height:0;padding:18px 0;display:flex;flex-direction:column}
  .topbar{position:relative;top:auto;flex:0 0 58px}
  #app{min-height:0;flex:1;display:flex;flex-direction:column}
  #app>.screen.active{display:block;flex:1;min-height:0;height:auto;overflow:hidden}
  #app>.screen--home.active{display:grid}
  #app>.screen--game.active{display:block}
}

/* Correctif de stabilité : les bonus actifs ne modifient jamais la largeur du plateau. */
.screen--game{width:min(100%,1280px);min-width:0}
.screen--game .game-top{position:relative;min-width:0}
.screen--game .effect-status{position:absolute;z-index:3;right:clamp(58px,7vw,88px);top:50%;max-width:150px;white-space:nowrap;transform:translateY(-50%);pointer-events:none}
.screen--game .board-wrap,.screen--game .board-wrap canvas{width:100%;min-width:0}
@media (min-width:701px){
  .screen--game{width:min(1080px,calc(100vw - 70px),calc((100dvh - 360px) * 1.5));max-width:none;padding-block:clamp(16px,2.3vh,25px)}
  .screen--game .game-top{padding-bottom:clamp(11px,1.7vh,18px)}
  .screen--game .mode-ribbon{margin-bottom:clamp(8px,1.2vh,13px);padding-top:clamp(7px,1vh,11px)}
  .screen--game .speed-progress{margin-bottom:clamp(8px,1.2vh,13px)}
  .screen--game .game-help{padding-block:clamp(7px,1vh,11px)}
}
@media (min-width:701px) and (max-height:760px){
  .screen--game{width:min(900px,calc(100vw - 54px),calc((100dvh - 325px) * 1.5));padding:12px 22px 13px}
  .screen--game .game-top{padding-bottom:9px}.screen--game .mode-ribbon{padding-top:6px;margin-bottom:7px}.screen--game .speed-progress{margin-bottom:7px}.screen--game .game-help{padding-block:6px}
}

/* Lisibilité globale : Verdana et aucun libellé sous 12 px. */
:root{--mono:Verdana,Arial,sans-serif;--sans:Verdana,Arial,sans-serif}
html,body,button,input{font-family:Verdana,Arial,sans-serif}
:where(small,.eyebrow,.live-dot,.brand,.icon-button,.button,.back-button,.home-links button,.home-footer,.mode-ribbon,.game-help,.effect-status,.tab,.leaderboard-head,.leaderboard-row,.leaderboard-empty,.hall-note,.skin-card strong,.skin-card small,.achievement strong,.achievement small,.metric small,.mode-stat header,.mode-stat p,.option-row strong,.option-row small,.toggle,.language-toggle,.fullscreen-button,.result-grid small,.pseudo-field,.new-record,.game-live-stats small,.game-live-stats strong){font-size:max(12px,1em)}

/* Mobile : grille complète et grande croix tactile simultanément visibles. */
@media (max-width:700px){
  .app-shell{width:min(100% - 12px,560px);padding-top:6px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .topbar{height:46px}.brand{font-size:12px}.icon-button{height:36px;min-width:40px;font-size:12px}
  #app>.screen--game.active{display:flex;flex-direction:column;width:100%;min-height:0;padding:8px 5px max(8px,env(safe-area-inset-bottom));overflow:visible}
  .screen--game .game-top{flex:0 0 auto;gap:7px;padding:0 3px 8px;align-items:center}
  .screen--game .game-stat{min-width:0;flex:1;padding-left:7px}.screen--game .game-stat small{font-size:12px;letter-spacing:0}.screen--game .game-stat strong{font-size:clamp(1.25rem,6vw,1.7rem)}
  .screen--game .pause-button{flex:0 0 48px;width:48px;height:48px;margin-left:3px}
  .screen--game .mode-ribbon{flex:0 0 auto;margin:0 0 7px;padding:7px 4px 0;font-size:12px;white-space:normal;line-height:1.25}
  .screen--game .mode-ribbon span{font-size:12px}
  .screen--game .speed-progress{flex:0 0 auto;margin:0 0 8px;padding:8px 10px}.speed-progress__copy{gap:8px}.speed-progress__copy span,.speed-progress__copy strong,.speed-progress__copy small{font-size:12px}
  .screen--game .board-wrap{flex:0 0 auto;width:100%;padding:6px;border-radius:10px}.screen--game .board-wrap:before{inset:6px}
  .screen--game .board-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:3/2}
  .screen--game .game-help{flex:0 0 auto;padding:7px 3px 5px;font-size:12px;line-height:1.25}
  .screen--game .touch-controls{display:flex;flex:0 0 auto;gap:8px;margin:7px auto 0;padding-bottom:max(4px,env(safe-area-inset-bottom))}
  .screen--game .touch-controls>div{gap:8px}
  .screen--game .touch-controls button{width:clamp(76px,23vw,104px);height:clamp(66px,19vw,90px);min-width:76px;min-height:66px;border-radius:14px;font-size:clamp(1.8rem,8vw,2.55rem);touch-action:manipulation}
  .screen--game .effect-status{right:54px;top:50%;max-width:105px;padding:4px 5px;font-size:12px}
}

@media (max-width:700px) and (max-height:760px){
  .topbar{height:42px}.screen--game .game-top{padding-bottom:5px}.screen--game .mode-ribbon{padding-top:4px;margin-bottom:5px}.screen--game .speed-progress{padding-block:6px;margin-bottom:5px}.screen--game .game-help{padding-block:4px}
  .screen--game .touch-controls{gap:5px;margin-top:4px}.screen--game .touch-controls>div{gap:6px}.screen--game .touch-controls button{width:clamp(68px,21vw,88px);height:clamp(58px,16vw,72px);min-width:68px;min-height:58px}
}

/* Sécurité 16:9 PC : la dernière ligne et la bordure basse restent visibles. */
@media (min-width:701px){
  .screen--game{width:min(900px,calc(100vw - 70px),calc((100dvh - 350px) * 1.5));padding-inline:clamp(20px,2.5vw,30px)}
}
@media (min-width:701px) and (max-height:820px){
  .screen--game{width:min(820px,calc(100vw - 54px),calc((100dvh - 330px) * 1.5));padding-block:10px;padding-inline:20px}
  .screen--game .game-top{padding-bottom:7px}.screen--game .mode-ribbon{padding-top:4px;margin-bottom:5px}.screen--game .speed-progress{margin-bottom:5px}.screen--game .game-help{padding-block:5px}
}

/* Illustration Game Over : serpent pixelisé brisé et débris. */
.crash-mark:before,.crash-mark:after{content:none}
.crash-mark{position:relative;width:230px!important;height:68px!important;margin:5px auto 10px!important;transform:none!important;overflow:visible}
.crash-snake{position:absolute;left:20px;top:25px;display:flex;align-items:center;gap:4px;filter:drop-shadow(0 0 10px #ff3d76)}
.crash-snake>i,.crash-snake>b{display:block;width:31px;height:24px;border:2px solid #ff759d;background:linear-gradient(145deg,#ff8aa8 0 18%,#f23b70 19% 66%,#9d174c 67%);box-shadow:inset 3px 3px #ffb0c3,3px 3px 0 #71133d;image-rendering:pixelated}
.crash-snake>i:nth-child(2){transform:translateY(4px) rotate(7deg)}.crash-snake>i:nth-child(3){margin-left:13px;transform:translateY(-5px) rotate(-9deg)}.crash-snake>i:nth-child(4){transform:translateY(-1px) rotate(5deg)}
.crash-snake>b{position:relative;width:36px;height:30px;margin-left:8px;transform:translateY(-7px) rotate(8deg);background:linear-gradient(145deg,#ff9bb4,#f33d72 55%,#a7164d)}
.crash-snake>b u{position:absolute;top:8px;width:5px;height:5px;background:#21091c;text-decoration:none}.crash-snake>b u:first-child{left:9px}.crash-snake>b u:last-child{right:8px}.crash-snake>b:after{content:'';position:absolute;right:-6px;bottom:7px;width:9px;height:3px;background:#ffc0d0;box-shadow:4px 3px 0 #ff5688}
.crash-mark>em{position:absolute;z-index:2;left:50%;top:45%;color:#fff0f4;font:900 1.8rem var(--mono);font-style:normal;text-shadow:2px 2px #8e1649,0 0 14px #ff477e;transform:translate(-50%,-50%) rotate(-8deg)}
.crash-debris i{position:absolute;width:6px;height:6px;background:#ff477e;box-shadow:0 0 8px #ff477e}.crash-debris i:nth-child(1){left:8px;top:12px}.crash-debris i:nth-child(2){left:63px;top:5px;background:#ff9ab5}.crash-debris i:nth-child(3){left:106px;top:54px}.crash-debris i:nth-child(4){right:73px;top:4px;background:#ff8ba8}.crash-debris i:nth-child(5){right:22px;top:19px}.crash-debris i:nth-child(6){right:5px;bottom:6px;background:#b91f57}
@media (max-width:700px){.crash-mark{width:210px!important;height:58px!important;transform:scale(.88)!important;margin-block:-2px 2px!important}.screen--game .effect-status{right:58px;top:50%;transform:translateY(-50%)}}

/* Sélection des modes PC : quatre tuiles premium visibles sans défilement. */
@media (min-width:701px){
  #app>.screen[data-screen="modes"].active{display:flex;flex-direction:column;padding:clamp(16px,2.2vh,28px) clamp(24px,3vw,48px) clamp(14px,2vh,24px)}
  [data-screen="modes"] .section-heading{flex:0 0 auto;min-height:64px;margin-bottom:clamp(13px,2vh,20px);align-items:center}
  [data-screen="modes"] .section-heading .eyebrow{margin-bottom:7px}
  [data-screen="modes"] .section-heading h2{font-size:clamp(1.65rem,2.3vw,2.7rem);line-height:1}
  [data-screen="modes"] .mode-grid{flex:1;min-height:0;width:min(100%,1080px);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(10px,1.6vh,17px) clamp(14px,1.5vw,22px)}
  [data-screen="modes"] .mode-card{min-height:0;height:100%;padding:clamp(13px,1.8vh,22px) 24px clamp(12px,1.6vh,20px);justify-content:center;border-radius:15px;box-shadow:0 0 0 1px #160b36,0 12px 29px #02010caa,inset 0 0 42px color-mix(in srgb,currentColor 9%,transparent)}
  [data-screen="modes"] .mode-card:before{inset:7px;border-radius:10px;background:radial-gradient(ellipse at 50% 19%,color-mix(in srgb,currentColor 16%,transparent),transparent 43%),repeating-linear-gradient(0deg,transparent 0 15px,color-mix(in srgb,currentColor 5%,transparent) 16px 17px)}
  [data-screen="modes"] .mode-card:after{top:clamp(82px,13vh,112px)}
  [data-screen="modes"] .mode-icon{height:clamp(58px,9.8vh,88px);margin-top:0;font-size:clamp(3.6rem,7.2vh,5.2rem)}
  [data-screen="modes"] .mode-card strong{margin-top:clamp(10px,1.8vh,19px);font-size:clamp(.9rem,1.15vw,1.18rem)}
  [data-screen="modes"] .mode-card strong:before{margin-bottom:4px;font-size:.49rem}
  [data-screen="modes"] .mode-card small{margin-top:clamp(5px,1vh,9px);font-size:clamp(.72rem,.86vw,.88rem);line-height:1.38}
  [data-screen="modes"] .mode-speed{margin-top:clamp(7px,1.1vh,11px);padding:5px 10px;font-size:clamp(.5rem,.58vw,.62rem)}
  [data-screen="modes"] .mode-card>b{top:auto;right:clamp(14px,1.5vw,20px);bottom:clamp(13px,1.6vh,19px);width:clamp(35px,4.5vh,43px);height:clamp(35px,4.5vh,43px)}
  [data-screen="modes"] .mode-card:hover{transform:translateY(-4px)}
}

@media (min-width:701px) and (max-height:720px){
  #app>.screen[data-screen="modes"].active{padding-top:12px;padding-bottom:12px}
  [data-screen="modes"] .section-heading{min-height:52px;margin-bottom:10px}
  [data-screen="modes"] .section-heading .eyebrow{display:none}
  [data-screen="modes"] .mode-card small br{display:none}
}

/* Game Over PC : totalité du bilan et des actions dans le viewport. */
@media (min-width:701px){
  #app>.screen[data-screen="gameover"].active{display:flex;align-items:center;justify-content:center;padding:clamp(10px,1.8vh,20px) 24px}
  [data-screen="gameover"] .gameover-card{display:flex;flex-direction:column;justify-content:center;width:min(100%,720px);max-height:100%;margin:0;padding:clamp(18px,2.4vh,28px) clamp(28px,3vw,42px);border-radius:15px;overflow:hidden}
  [data-screen="gameover"] .gameover-card .eyebrow{margin:0 0 clamp(5px,.8vh,9px);font-size:clamp(.58rem,.72vw,.69rem)}
  [data-screen="gameover"] .gameover-card h2{font-size:clamp(2.8rem,5.7vh,4.35rem);line-height:.94}
  [data-screen="gameover"] .crash-mark{flex:0 0 auto;height:clamp(34px,5.8vh,52px);margin:clamp(2px,.7vh,7px) auto clamp(5px,.9vh,10px);transform:scale(.72)}
  [data-screen="gameover"] .result-grid{flex:0 0 auto;gap:7px;margin:0 0 clamp(7px,1.1vh,12px);padding:8px}
  [data-screen="gameover"] .result-grid div{padding:clamp(7px,1vh,10px) 13px}
  [data-screen="gameover"] .result-grid small{font-size:.58rem}
  [data-screen="gameover"] .result-grid strong{margin-top:3px;font-size:clamp(.87rem,1.15vw,1.08rem)}
  [data-screen="gameover"] .new-record{flex:0 0 auto;margin:0 0 clamp(7px,1vh,11px);padding:7px 11px;font-size:.63rem}
  [data-screen="gameover"] .pseudo-field{flex:0 0 auto;margin:0 0 clamp(8px,1.1vh,12px);font-size:.58rem}
  [data-screen="gameover"] .pseudo-field input{margin-top:5px;padding:9px 12px;font-size:.73rem}
  [data-screen="gameover"] .gameover-actions{flex:0 0 auto;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:0}
  [data-screen="gameover"] .gameover-actions .button{min-height:clamp(38px,5.2vh,48px);padding-inline:10px;border-radius:8px;font-size:clamp(.59rem,.67vw,.7rem)}
}

@media (min-width:701px) and (max-height:680px){
  [data-screen="gameover"] .gameover-card{padding-block:13px}
  [data-screen="gameover"] .crash-mark{height:28px;margin-block:0 4px;transform:scale(.58)}
  [data-screen="gameover"] .result-grid div{padding-block:6px}
  [data-screen="gameover"] .result-grid div:nth-child(5){padding-block:6px}
}

/* Progression, statistiques et options — panneaux cockpit harmonisés. */
[data-screen="achievements"] .achievement-grid,[data-screen="stats"] .stats-layout,[data-screen="options"] .options-card{position:relative}
.achievement{overflow:hidden;border-width:1px;background:radial-gradient(circle at 12% 50%,#7436d722,transparent 38%),linear-gradient(135deg,#17103d,#08071e);box-shadow:0 9px 22px #02010b88,inset 0 0 22px #9347ff0d}.achievement:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 18%,#fff08 48%,transparent 75%);transform:translateX(-120%);transition:.4s}.achievement:hover:after{transform:translateX(120%)}.achievement.unlocked{background:radial-gradient(circle at 12% 50%,#c5903b33,transparent 38%),linear-gradient(135deg,#211344,#0a0824);border-color:#b16cff}.achievement__icon{border:1px solid #4b347e;background:linear-gradient(145deg,#211650,#0d0a2d);box-shadow:inset 0 0 12px #9f48ff22}.achievement.unlocked .achievement__icon{border-color:#ffc94f;color:#ffe477;background:radial-gradient(circle,#674719,#25152d 72%);box-shadow:0 0 18px #ffbf3c55,inset 0 0 10px #ffd35c33}
.metric{position:relative;overflow:hidden;border-left:3px solid #a957ff;background:radial-gradient(circle at 90% 20%,#a84cff18,transparent 35%),linear-gradient(135deg,#17103e,#08071f)}.metric:nth-child(2){border-left-color:#4ddcff}.metric:nth-child(3){border-left-color:#31e87e}.metric:nth-child(4){border-left-color:#d668ff}.metric:nth-child(5){border-left-color:#ffbd2e}.metric strong{text-shadow:0 0 13px #fff3}.mode-stat{border:1px solid #3e2c75;border-left:4px solid var(--accent);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 43%),linear-gradient(100deg,#171039,#08071f);box-shadow:0 9px 20px #02010b77,inset 0 0 20px color-mix(in srgb,var(--accent) 7%,transparent)}.mode-stat header b{text-shadow:0 0 10px var(--accent)}
.options-card{overflow:hidden;background:radial-gradient(circle at 100% 0,#9d47ff1a,transparent 35%),linear-gradient(145deg,#15103b,#07061d);box-shadow:0 0 0 1px #25134e,0 16px 38px #03020baa,inset 0 0 34px #8c3cff10}.option-row{position:relative;padding-inline:12px;margin-inline:-12px}.option-row:before{content:'';position:absolute;left:0;width:3px;height:28px;border-radius:2px;background:#7745bd;box-shadow:0 0 9px #8f4de2}.option-row:hover{background:linear-gradient(90deg,#a24cff13,transparent)}.toggle,.language-toggle{border-radius:999px}.toggle i{border:1px solid #554775}.toggle[aria-pressed="true"] i{border-color:#4ee488;box-shadow:0 0 12px #31e87e55}.range{height:5px;filter:drop-shadow(0 0 6px #b650ff)}
@media (min-width:701px){
  #app>.screen[data-screen="achievements"].active,#app>.screen[data-screen="stats"].active,#app>.screen[data-screen="options"].active{display:flex;flex-direction:column;padding:clamp(15px,2vh,25px) clamp(24px,3vw,46px) clamp(13px,1.8vh,22px)}
  [data-screen="achievements"] .section-heading,[data-screen="stats"] .section-heading,[data-screen="options"] .section-heading{flex:0 0 auto;min-height:62px;margin-bottom:clamp(12px,1.8vh,19px);align-items:center}
  [data-screen="achievements"] .achievement-grid{flex:1;min-height:0;width:min(100%,1080px);margin:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,minmax(0,1fr));gap:clamp(6px,1vh,10px)}
  [data-screen="achievements"] .achievement{min-height:0;padding:clamp(7px,1vh,12px)}
  [data-screen="achievements"] .achievement__icon{width:clamp(31px,4.5vh,40px);height:clamp(31px,4.5vh,40px)}
  [data-screen="stats"] .stats-layout{flex:1;min-height:0;width:min(100%,1020px);grid-template-columns:.9fr 1.35fr;gap:14px}
  [data-screen="stats"] .stats-overview{grid-template-rows:repeat(5,minmax(0,1fr));min-height:0}
  [data-screen="stats"] .mode-stats{grid-template-rows:repeat(4,minmax(0,1fr));min-height:0}
  [data-screen="stats"] .metric,[data-screen="stats"] .mode-stat{min-height:0;padding:clamp(10px,1.4vh,16px)}
  [data-screen="options"] .options-card{flex:1;min-height:0;width:min(100%,760px);margin:auto;padding:clamp(3px,.6vh,8px) 28px}
  [data-screen="options"] .option-row{min-height:0;height:calc((100% - 67px)/7);padding-block:clamp(7px,1vh,13px)}
  [data-screen="options"] .fullscreen-button{height:48px;margin:9px 0 7px}
}

/* Priorité finale des correctifs Game Over et plateau stable. */
.crash-mark:before,.crash-mark:after{content:none!important}.crash-mark{width:230px!important;height:68px!important;margin:5px auto 10px!important;transform:none!important}.screen--game{min-width:0}.screen--game .game-top{position:relative;min-width:0}.screen--game .effect-status{position:absolute;z-index:3;right:clamp(58px,7vw,88px);top:50%;max-width:150px;white-space:nowrap;transform:translateY(-50%);pointer-events:none}.screen--game .board-wrap,.screen--game .board-wrap canvas{width:100%;min-width:0}
@media (min-width:701px){.screen--game{width:min(1280px,calc(100vw - 70px),calc((100dvh - 180px) * 1.5))}}
@media (max-width:700px){.crash-mark{width:210px!important;height:58px!important;margin-block:-2px 2px!important;transform:scale(.88)!important}.screen--game .effect-status{right:58px;top:50%;transform:translateY(-50%)}}

/* Skins prestige : Or et Noir & Blanc. */
.skin-card[data-skin="gold"] .skin-card__snake i,.skin-card[data-skin="gold"] .skin-card__snake b,.skin-preview__snake[data-skin="gold"] i,.skin-preview__snake[data-skin="gold"] b{background:linear-gradient(145deg,#fff8c7 0 15%,#ffd85a 16% 43%,#d99b16 44% 72%,#754000 73%);border:1px solid #ffe786;box-shadow:inset 4px 4px #fff3a8,0 0 14px #ffc52f99,4px 4px 0 #6b3a00}
.skin-card[data-skin="gold"]:before{background:radial-gradient(circle at 50% 5%,#ffd85a66,transparent 48%),repeating-linear-gradient(135deg,transparent 0 12px,#ffe27a14 13px 14px)}
.skin-card[data-skin="noirblanc"] .skin-card__snake i,.skin-card[data-skin="noirblanc"] .skin-card__snake b,.skin-preview__snake[data-skin="noirblanc"] i,.skin-preview__snake[data-skin="noirblanc"] b{background:linear-gradient(145deg,#fff 0 22%,#d8d8dc 23% 49%,#25262c 50% 72%,#050506 73%);border:1px solid #fff;box-shadow:inset 4px 4px #fff,0 0 12px #ffffff66,4px 4px 0 #000}
.skin-card[data-skin="noirblanc"]:before{background:repeating-linear-gradient(135deg,#ffffff12 0 8px,#00000018 9px 16px)}
.skin-card[data-skin="noirblanc"] .skin-card__snake b:before,.skin-card[data-skin="noirblanc"] .skin-card__snake b:after,.skin-preview__snake[data-skin="noirblanc"] b:before,.skin-preview__snake[data-skin="noirblanc"] b:after{background:#ff3e76;box-shadow:0 0 5px #ff3e76}

/* Dernière priorité PC : conserver la grille et sa bordure basse dans la fenêtre. */
@media (min-width:701px){.screen--game{width:min(900px,calc(100vw - 70px),calc((100dvh - 350px) * 1.5));padding-inline:clamp(20px,2.5vw,30px)}}
@media (min-width:701px) and (max-height:820px){.screen--game{width:min(820px,calc(100vw - 54px),calc((100dvh - 330px) * 1.5));padding-block:10px;padding-inline:20px}.screen--game .game-top{padding-bottom:7px}.screen--game .mode-ribbon{padding-top:4px;margin-bottom:5px}.screen--game .speed-progress{margin-bottom:5px}.screen--game .game-help{padding-block:5px}}

/* Barre de jeu compacte : identité à gauche, télémétrie et commandes à droite. */
.topbar__identity{display:flex;align-items:center;min-width:0;gap:8px}.topbar__identity .live-dot{padding-left:8px;border-left:1px solid #68439866;white-space:nowrap}.topbar__right{gap:8px}.game-live-stats{order:0;min-height:38px;padding:4px 10px;border-radius:7px}.game-live-stats span{min-width:72px}.topbar__right .icon-button{height:38px;min-width:42px;border-radius:7px;background:linear-gradient(145deg,#17103d,#090720)}

/* Ajustement définitif PC : aucune partie du plateau ne sort de la fenêtre. */
@media (min-width:701px){
  html,body{height:100%;overflow:hidden}
  .app-shell{height:100dvh;min-height:0;padding-top:8px;padding-bottom:0}
  #app>.screen--game.active{display:flex;flex-direction:column;height:calc(100dvh - 56px);min-height:0;width:min(1000px,calc(100vw - 60px),calc((100dvh - 400px) * 1.5));padding-top:10px;padding-bottom:0;overflow:hidden}
  .screen--game .game-top,.screen--game .mode-ribbon,.screen--game .speed-progress,.screen--game .game-help{flex:0 0 auto}
  .screen--game .board-wrap{flex:0 0 auto;width:100%;padding:7px;overflow:hidden}
  .screen--game .board-wrap canvas{display:block;width:100%!important;height:auto!important;max-height:calc(100dvh - 390px);object-fit:contain}
}
@media (min-width:701px) and (max-height:820px){
  #app>.screen--game.active{width:min(760px,calc(100vw - 44px),calc((100dvh - 365px) * 1.5));padding-top:6px}
  .screen--game .game-top{padding-bottom:5px}.screen--game .mode-ribbon{margin-bottom:4px}.screen--game .speed-progress{margin-bottom:4px}.screen--game .game-help{padding-block:4px}
}
@media (max-width:700px){.topbar__identity{gap:5px}.topbar__identity .live-dot{display:none}.game-live-stats span{min-width:50px}.topbar__right .icon-button{height:36px;min-width:36px}}

/* HUD PC unifié — libère la hauteur auparavant occupée par deux panneaux. */
.topbar-game-summary{align-items:center;flex:1;justify-content:center;gap:clamp(16px,3vw,44px);min-width:0}.topbar-game-summary span{position:relative;display:grid;gap:2px;min-width:clamp(80px,9vw,130px);padding-left:12px}.topbar-game-summary span:before{content:'';position:absolute;left:0;inset-block:1px;width:3px;background:var(--mode-accent,#31e87e);box-shadow:0 0 10px var(--mode-accent,#31e87e)}.topbar-game-summary small{color:#bcb4d5;font:500 12px var(--mono);letter-spacing:.06em}.topbar-game-summary strong{color:#fff;font:700 clamp(1.15rem,2vw,1.75rem)/1 var(--mono);text-shadow:0 0 10px #fff3}.pause-button--top{flex:0 0 44px;width:44px;height:40px;margin-left:0;font-size:1.15rem}
body[data-mode] .topbar-game-summary{display:flex!important}body[data-mode] .pause-button--top{display:block!important}
@media (min-width:701px){
  body[data-mode] .topbar{height:62px;padding-inline:10px;border:1px solid #6642ac;border-radius:9px;background:linear-gradient(100deg,#130d35f2,#09071ff2);box-shadow:0 0 26px #6f2ac844,inset 0 0 20px #8b42db12}
  body[data-mode] .topbar__identity{flex:0 0 auto}
  body[data-mode] .screen--game .game-top,body[data-mode] .screen--game .speed-progress{display:none}
  body[data-mode] #app>.screen--game.active{height:calc(100dvh - 70px);width:min(1100px,calc(100vw - 52px),calc((100dvh - 230px) * 1.5));padding-top:7px}
  body[data-mode] .screen--game .mode-ribbon{min-height:35px;display:flex;align-items:center;margin:0;padding:5px 12px;border-bottom:2px solid var(--mode-accent);font-size:clamp(12px,.85vw,14px)}
  body[data-mode] .screen--game .board-wrap{margin-top:0}
  body[data-mode] .screen--game .board-wrap canvas{max-height:calc(100dvh - 150px)}
}
@media (max-width:900px) and (min-width:701px){.topbar-game-summary{gap:10px}.topbar-game-summary span{min-width:70px;padding-left:8px}.topbar__identity .live-dot{display:none}.topbar-game-summary strong{font-size:1.1rem}}
@media (max-width:700px){.topbar-game-summary,.pause-button--top,body[data-mode] .topbar-game-summary,body[data-mode] .pause-button--top{display:none!important}}

/* Menus : commandes intégrées au cadre, sans bandeau supérieur séparé. */
:is(body:not([data-mode]),body[data-mode=""]) .topbar{position:absolute;top:18px;right:18px;left:auto;z-index:40;width:auto;height:auto;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
:is(body:not([data-mode]),body[data-mode=""]) .topbar__identity,:is(body:not([data-mode]),body[data-mode=""]) .game-live-stats,:is(body:not([data-mode]),body[data-mode=""]) .pause-button--top{display:none!important}
:is(body:not([data-mode]),body[data-mode=""]) .topbar__right{display:flex;flex:none;gap:8px}
:is(body:not([data-mode]),body[data-mode=""]) .topbar__right .icon-button{height:40px;min-width:44px;border-color:#6845ae;background:linear-gradient(145deg,#1b1247,#0a0823);box-shadow:0 5px 16px #03010c88,inset 0 0 13px #9c4eff16}
:is(body:not([data-mode]),body[data-mode=""]) #app>.screen.active{padding-top:24px}
:is(body:not([data-mode]),body[data-mode=""]) #app>.screen--home.active{min-height:calc(100dvh - 16px);padding-top:18px}
@media (max-width:700px){:is(body:not([data-mode]),body[data-mode=""]) .topbar{top:18px;right:17px}:is(body:not([data-mode]),body[data-mode=""]) .topbar__right .icon-button{height:40px;min-width:40px}:is(body:not([data-mode]),body[data-mode=""]) #app>.screen--home.active{min-height:calc(100dvh - 10px);padding-top:16px}}

/* Plateau PC 1920×1080 : exploite la hauteur gagnée par le HUD compact. */
@media (min-width:1000px) and (min-height:850px){
  body[data-mode] #app>.screen--game.active{width:min(1180px,calc(100vw - 64px),calc((100dvh - 170px) * 1.5))}
  body[data-mode] .screen--game .board-wrap{padding:8px}
}

/* Direction artistique finale — interfaces arcade premium. */
:root{--panel-hi:#201455;--panel-lo:#08071d;--edge:#7145c5;--shine:#d887ff}
.screen:not(.screen--game){background:radial-gradient(circle at 72% 18%,#6622a91a,transparent 31%),linear-gradient(145deg,#100b31f2,#060519f4);box-shadow:inset 0 0 70px #5f24b214,0 22px 60px #020108aa}
.screen:not(.screen--game):before{content:'';position:absolute;inset:10px;pointer-events:none;border:1px solid #af69ff10;border-radius:10px;background:linear-gradient(115deg,#ffffff08,transparent 18% 80%,#a544ff08)}
.section-heading{position:relative;z-index:2}.section-heading h2{letter-spacing:.035em;-webkit-text-stroke:1px #d8caff55;text-shadow:3px 3px 0 #351273,0 0 22px #b55cff88}.section-heading .eyebrow{color:#c89cff}.section-heading:after{height:2px;background:linear-gradient(90deg,#d363ff,#6e31c8 55%,transparent);box-shadow:0 0 12px #a94cff}
.button,.back-button,.home-links button,.tab,.language-toggle,.fullscreen-button{position:relative;overflow:hidden}.button:after,.home-links button:after,.back-button:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,#fff2 48%,transparent 70%);transform:translateX(-130%);transition:transform .38s ease}.button:hover:after,.home-links button:hover:after,.back-button:hover:after{transform:translateX(130%)}
.button{border-radius:9px;border-width:2px;background:linear-gradient(145deg,#211451,#0b0827);box-shadow:inset 0 1px #ffffff1f,0 8px 20px #03010d88}.button--primary{background:linear-gradient(135deg,#7622db 0,#b73cff 58%,#dd6aff);box-shadow:inset 0 1px #fff5,0 0 0 1px #d990ff55,0 10px 27px #8d25e866}.button--ghost:hover{border-color:#bd72ff;background:linear-gradient(145deg,#2b1762,#110a32)}
.screen--home{background:radial-gradient(circle at 76% 25%,#5137aa33,transparent 24%),radial-gradient(circle at 15% 28%,#922dd020,transparent 30%),linear-gradient(135deg,#100a31,#050518)!important}.hero-copy h1 span{letter-spacing:.08em;color:#f5efff;text-shadow:3px 3px 0 #2a1555,0 0 17px #c9a6ff66}.hero-copy h1 strong{background:linear-gradient(#f8b4ff 0 8%,#d760ff 9% 46%,#9330db 47% 76%,#562091 77%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px #e9a4ff;text-shadow:4px 5px 0 #35115f;filter:drop-shadow(0 0 18px #a93bff88)}.hero-tagline{padding-left:14px;border-left:3px solid #b54dff}.hero-actions{gap:11px}.hero-actions .button{min-height:52px}.home-links{gap:9px 12px}.home-links button{min-height:43px;padding:0 12px;border:1px solid #443078;border-radius:8px;background:linear-gradient(145deg,#18103e,#090722);box-shadow:inset 0 0 13px #9847ff0b;text-align:left}.home-links button:before{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border:1px solid #8d4cdb;border-radius:5px;color:#d989ff;background:#23104e}.home-links button:nth-child(1):before{content:'◆';color:#65f3a0}.home-links button:nth-child(2):before{content:'★';color:#ffd35c}.home-links button:nth-child(3):before{content:'▥';color:#5fddff}.home-links button:nth-child(4):before{content:'⚙';color:#d779ff}
.mode-card{border-width:2px;border-radius:14px;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,currentColor 17%,transparent),transparent 33%),linear-gradient(155deg,#17103e,#07061c);box-shadow:inset 0 0 32px color-mix(in srgb,currentColor 9%,transparent),0 13px 30px #02010baa}.mode-card:before{content:'';position:absolute;inset:8px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:9px;pointer-events:none}.mode-card:hover{transform:translateY(-5px) scale(1.008);box-shadow:0 0 0 1px currentColor,0 18px 38px #02010bcc,0 0 28px color-mix(in srgb,currentColor 24%,transparent)}.mode-icon{filter:drop-shadow(0 0 13px currentColor)}.mode-card strong{text-shadow:0 0 13px currentColor}.mode-speed{border-radius:999px;background:#08071dcc;box-shadow:inset 0 0 10px currentColor}
.tabs{padding:5px;border:1px solid #3e2a74;border-radius:10px;background:#08061e}.tab{border-radius:7px}.leaderboard{border-width:2px;border-color:#483282;background:linear-gradient(145deg,#0d092b,#060519);box-shadow:0 18px 42px #02010baa,inset 0 0 28px #8745da0c}.leaderboard-head{background:linear-gradient(90deg,#251252,#100b31);color:#d7c9f2}.leaderboard-row{transition:.16s;background:linear-gradient(90deg,transparent,#5f2fa708,transparent)}.leaderboard-row:hover{background:linear-gradient(90deg,#9c49ec1a,#5f2fa70d);transform:translateX(3px)}
.skin-card{border-radius:14px}.skin-card__snake{filter:drop-shadow(0 0 11px var(--skin))}.skin-preview{border-radius:16px}.skin-preview:before{opacity:.8}.skin-preview h3{letter-spacing:.08em}.achievement{border-radius:10px}.achievement.unlocked{box-shadow:0 0 0 1px #9c55ed33,0 10px 22px #02010b99,inset 0 0 22px #bd65ff10}.achievement__icon{transform:rotate(45deg)}.achievement__icon>*{transform:rotate(-45deg)}
.metric,.mode-stat{border-radius:10px}.metric:after,.mode-stat:after{content:'';position:absolute;right:10px;top:9px;width:6px;height:6px;background:currentColor;opacity:.35;box-shadow:0 0 9px currentColor}.options-card{border-width:2px;border-radius:13px}.option-row{transition:.16s}.option-row:hover{padding-left:18px}.fullscreen-button{border-width:2px;background:linear-gradient(145deg,#28135b,#110a31)}
.gameover-card{border-width:2px;border-radius:15px;background:radial-gradient(circle at 50% 6%,#ff3f7b1c,transparent 32%),linear-gradient(155deg,#140b35,#07061b);box-shadow:0 0 0 1px #3a185f,0 20px 55px #020109cc,inset 0 0 38px #ff3f7b0b}.gameover-card h2{-webkit-text-stroke:1px #ff9dba;text-shadow:4px 4px 0 #7e173c,0 0 25px #ff3f7baa}.result-grid div{border-radius:8px;background:linear-gradient(145deg,#171039,#090721);box-shadow:inset 0 0 15px #8c47d80c}.new-record{border-width:2px!important;box-shadow:0 0 15px #ffb92e22,inset 0 0 13px #ffb92e18}
@media (max-width:700px){.screen:not(.screen--game):before{inset:5px}.home-links button{min-height:48px}.home-links button:before{width:22px;height:22px;margin-right:6px}.mode-card:hover,.leaderboard-row:hover,.option-row:hover{transform:none}.option-row:hover{padding-left:12px}}

/* Accueil — diorama cosmique inspiré de la tuile Pixelonia Snake du hub. */
.screen--home .hero-art{isolation:isolate;min-height:560px;border-left:1px solid #6f3cc522;background:linear-gradient(90deg,transparent,#160c3b18);perspective:700px}
.cosmic-nebula{position:absolute;z-index:-3;inset:1% -8% 15% -12%;background:radial-gradient(ellipse at 68% 21%,#a947e73d,transparent 15%),radial-gradient(ellipse at 24% 32%,#4725b841,transparent 25%),radial-gradient(ellipse at 55% 48%,#e946b31c,transparent 30%);filter:blur(12px)}
.ringed-planet{position:absolute;z-index:-1;left:7%;top:8%;width:125px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#d78aff,#7c36c4 34%,#35156f 67%,#120929);box-shadow:inset -15px -13px 20px #0a051dcc,0 0 28px #9b49e06b;transform:rotate(-14deg)}.ringed-planet:before{content:'';position:absolute;left:-34%;top:40%;width:168%;height:22%;border:6px solid #bd69ee;border-left-color:#59218c;border-right-color:#e69cff;border-radius:50%;box-shadow:0 0 13px #b84fe488;transform:rotate(-7deg)}.ringed-planet:after{content:'';position:absolute;inset:46% -34% auto;height:9%;border-radius:50%;background:#14082b;opacity:.72}.ringed-planet i{position:absolute;left:24%;top:18%;width:18%;height:12%;border-radius:50%;background:#f0a4ff55;box-shadow:48px 24px 0 #2b105d99,24px 66px 0 #a64ed355}
.screen--home .planet{right:3%;top:6%;width:185px;background:radial-gradient(circle at 33% 29%,#6650c8 0 13%,#3d2a93 14% 44%,#1b1052 65%,#09071c 68%);box-shadow:inset -20px -18px 28px #05030dcc,0 0 45px #6645d066}.screen--home .planet:before{content:'';position:absolute;inset:12% 8%;border-radius:50%;background:repeating-linear-gradient(160deg,transparent 0 10px,#ad83ff12 11px 13px)}.screen--home .planet i,.screen--home .planet b{position:absolute;border-radius:50%;background:#0d082a88}.screen--home .planet i{width:25px;height:13px;left:25%;top:55%}.screen--home .planet b{width:16px;height:9px;right:22%;top:29%}
.screen--home .moon{right:36%;top:9%;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f5dcff,#b882ed 55%,#55228c);box-shadow:0 0 18px #d897ff}.distant-world{position:absolute;right:46%;top:4%;width:47px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 28%,#8c70df,#332078 55%,#100928);box-shadow:inset -8px -7px #07041488,0 0 13px #8558de55}
.mountains{position:absolute;left:-5%;right:-5%;bottom:8%;pointer-events:none}.mountains--far{z-index:-2;height:44%;background:linear-gradient(#2e1765,#10082f);clip-path:polygon(0 100%,0 79%,8% 53%,14% 72%,24% 38%,31% 68%,38% 49%,44% 71%,54% 31%,63% 72%,71% 45%,78% 69%,87% 35%,100% 73%,100% 100%);opacity:.78}.mountains--near{z-index:0;height:34%;background:linear-gradient(#170b3f,#06051b);clip-path:polygon(0 100%,0 78%,7% 67%,13% 82%,22% 51%,29% 77%,38% 61%,47% 86%,56% 52%,64% 73%,73% 60%,82% 84%,91% 55%,100% 72%,100% 100%);filter:drop-shadow(0 -2px 0 #b14cff44)}
.arcade-portal{position:absolute;z-index:1;left:13%;right:11%;bottom:7%;height:39%;overflow:hidden;border:2px solid #a74aef;border-top-color:#d574ff;background:linear-gradient(#08051bc7,#100628e8);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);box-shadow:0 0 25px #9e3be65c,inset 0 0 24px #7f2ad733;transform:rotateX(5deg)}.arcade-portal:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,#713bb8 23px 25px),repeating-linear-gradient(90deg,transparent 0 31px,#723cba 32px 34px);transform:perspective(300px) rotateX(12deg);transform-origin:bottom}.arcade-portal:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#03010ca8,transparent 20% 80%,#03010ca8)}.arcade-portal i,.arcade-portal b{position:absolute;z-index:2;top:0;width:3px;height:100%;background:#d56aff;box-shadow:0 0 10px #c654ff}.arcade-portal i{left:14%;transform:skewX(-10deg)}.arcade-portal b{right:14%;transform:skewX(10deg)}
.screen--home .pixel-snake--hero{z-index:4;right:20%;top:33%;width:170px;height:150px;display:block;transform:none;filter:drop-shadow(0 0 13px #31e87e)}.screen--home .pixel-snake--hero i,.screen--home .pixel-snake--hero b{position:absolute;width:32px;height:32px;border:2px solid #9dffb9;background:linear-gradient(145deg,#adffc0 0 15%,#31e87e 16% 72%,#117c48 73%);box-shadow:inset 4px 4px #8affaa,3px 3px 0 #0b673c,0 0 11px #31e87e77}.screen--home .pixel-snake--hero i:nth-child(1){left:0;top:0}.screen--home .pixel-snake--hero i:nth-child(2){left:0;top:35px}.screen--home .pixel-snake--hero i:nth-child(3){left:0;top:70px}.screen--home .pixel-snake--hero i:nth-child(4){left:35px;top:70px}.screen--home .pixel-snake--hero b{left:70px;top:70px;width:39px;height:39px;color:#10102b;font-size:0}.screen--home .pixel-snake--hero b:before,.screen--home .pixel-snake--hero b:after{content:'';position:absolute;top:11px;width:6px;height:6px;background:#121025;box-shadow:0 0 0 2px #eaffdf}.screen--home .pixel-snake--hero b:before{left:9px}.screen--home .pixel-snake--hero b:after{right:8px}
.hero-pickup{position:absolute;z-index:3;display:grid;place-items:center;width:30px;height:30px;font:900 18px var(--mono)}.hero-pickup--apple{left:34%;top:32%;color:#ff4279;border-radius:45% 45% 52% 52%;background:#c51d54;box-shadow:inset 5px 4px #ff759d,0 0 14px #ff326f}.hero-pickup--apple:before{content:'';position:absolute;right:3px;top:-7px;width:12px;height:7px;background:#4fe77c;transform:rotate(-20deg)}.hero-pickup--star{right:8%;top:43%;color:#ffe05d;text-shadow:0 0 13px #ffc42d;font-size:26px}.hero-pickup--hourglass{left:27%;top:51%;color:#74dcff;text-shadow:0 0 12px #4acfff;font-size:22px}.screen--home .spark--1{top:24%;left:49%}.screen--home .spark--2{top:36%;right:3%}.screen--home .spark--3{top:17%;left:30%;color:#6ce8ff}
@media (max-width:700px){.screen--home .hero-art{min-height:230px;border-left:0}.ringed-planet{left:3%;top:4%;width:70px}.screen--home .planet{width:95px;right:4%;top:3%}.distant-world{width:28px;right:44%;top:1%}.screen--home .moon{right:33%;top:10%;width:13px;height:13px}.arcade-portal{height:48%;bottom:0}.mountains{bottom:0}.screen--home .pixel-snake--hero{right:16%;top:25%;transform:scale(.66);transform-origin:top right}.hero-pickup{transform:scale(.7)}.hero-pickup--apple{left:35%;top:27%}.hero-pickup--star{right:6%;top:47%}.hero-pickup--hourglass{left:24%;top:48%}}

/* Partie : décor cosmique autour du panneau, jamais dans les cases. */
body[data-mode]{position:relative;background:radial-gradient(circle at 8% 25%,#48217b22,transparent 14%),radial-gradient(circle at 92% 22%,#5c2a9424,transparent 15%),radial-gradient(circle at 50% 0,#1b0d4222,transparent 40%),#05040f}
body[data-mode]:before{content:'';position:fixed;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 19%,#5931a9 0 1.7%,#2b1765 1.8% 2.8%,transparent 2.9%),radial-gradient(circle at 91% 19%,#6c3ab1 0 1.2%,#29155e 1.3% 2.2%,transparent 2.3%),radial-gradient(circle at 15% 43%,#8c5de455 0 5px,transparent 6px),radial-gradient(circle at 87% 42%,#b66cff44 0 4px,transparent 5px);opacity:.62}
body[data-mode]:after{content:'';position:fixed;z-index:0;left:0;right:0;bottom:0;height:35vh;pointer-events:none;background:linear-gradient(180deg,#160a38aa,#070519ee 72%);clip-path:polygon(0 100%,0 70%,6% 47%,11% 69%,17% 31%,23% 64%,29% 43%,35% 73%,42% 28%,49% 67%,56% 40%,63% 74%,70% 34%,77% 65%,84% 42%,91% 70%,97% 37%,100% 60%,100% 100%);opacity:.38}
body[data-mode] .screen--game{position:relative;z-index:1;background:linear-gradient(145deg,#081b1cdd,#07071ddd 58%,#060518e8)}
body[data-mode] .screen--game .board-wrap{background:#050719f2}

/* Recomposition fidèle à la tuile du hub : scène sombre, fine et centrée. */
.screen--home .hero-copy h1 strong{background:linear-gradient(#f4c4ff 0 10%,#d668ff 11% 52%,#a13ce8 53% 78%,#6c249f 79%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #edb4ff;filter:drop-shadow(0 0 12px #a83cde66)}
.screen--home .hero-art{background:radial-gradient(ellipse at 52% 25%,#58227e20,transparent 40%),linear-gradient(90deg,transparent,#0d071f22);border-left-color:#6f3cc512}
.cosmic-nebula{inset:3% 2% 24%;opacity:.55;filter:blur(20px)}
.ringed-planet{left:10%;top:7%;width:88px;opacity:.62;filter:saturate(.8)}.ringed-planet:before{border-width:3px;box-shadow:0 0 8px #b84fe466}.ringed-planet:after{opacity:.55}
.screen--home .planet{right:10%;top:8%;width:126px;opacity:.58;filter:saturate(.76)}.screen--home .moon{right:44%;top:9%;width:13px;height:13px;opacity:.72}.distant-world{right:34%;top:5%;width:29px;opacity:.6}
.mountains{bottom:4%}.mountains--far{height:35%;opacity:.64;background:linear-gradient(#281052,#0c071f)}.mountains--near{height:27%;background:linear-gradient(#13082e,#050414);filter:drop-shadow(0 -1px 0 #8c38bd2e)}
.arcade-portal{left:25%;right:24%;bottom:7%;height:43%;border-width:1px;border-color:#8e3eb3;border-top-color:#ad5fd0;background:linear-gradient(#070412d9,#0a051ce8);box-shadow:0 0 14px #7b2ba23d,inset 0 0 18px #5e1f8529;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.arcade-portal:before{background:repeating-linear-gradient(0deg,transparent 0 17px,#632c7e 18px 19px),repeating-linear-gradient(90deg,transparent 0 24px,#63307f 25px 26px);opacity:.68}.arcade-portal i,.arcade-portal b{width:1px;background:#a84dca;box-shadow:0 0 5px #9a40bc}.arcade-portal i{left:18%}.arcade-portal b{right:18%}
.screen--home .pixel-snake--hero{right:34%;top:31%;width:105px;height:102px;filter:drop-shadow(0 0 8px #c65ae8);transform:scale(.84)}.screen--home .pixel-snake--hero i,.screen--home .pixel-snake--hero b{width:21px;height:21px;border:1px solid #ef9cff;background:linear-gradient(145deg,#f6b2ff 0 15%,#b64ed8 16% 72%,#662079 73%);box-shadow:inset 3px 3px #db86ed,2px 2px 0 #481552,0 0 6px #b84ed377}.screen--home .pixel-snake--hero i:nth-child(2){top:24px}.screen--home .pixel-snake--hero i:nth-child(3){top:48px}.screen--home .pixel-snake--hero i:nth-child(4){left:24px;top:48px}.screen--home .pixel-snake--hero b{left:48px;top:48px;width:25px;height:25px}.screen--home .pixel-snake--hero b:before,.screen--home .pixel-snake--hero b:after{top:7px;width:3px;height:3px;box-shadow:0 0 0 1px #fbeaff}.screen--home .pixel-snake--hero b:before{left:6px}.screen--home .pixel-snake--hero b:after{right:5px}
.hero-pickup{width:20px;height:20px;font-size:13px;opacity:.78}.hero-pickup--apple{left:32%;top:36%;transform:scale(.7)}.hero-pickup--star{right:20%;top:42%;font-size:17px}.hero-pickup--hourglass{left:34%;top:50%;font-size:14px}.screen--home .spark{font-size:1rem;opacity:.62}.screen--home .spark--1{top:28%;left:54%}.screen--home .spark--2{top:34%;right:10%}.screen--home .spark--3{top:20%;left:29%}
@media (max-width:700px){.ringed-planet{left:7%;width:55px}.screen--home .planet{right:8%;width:75px}.distant-world{width:20px}.arcade-portal{left:22%;right:21%;height:43%}.screen--home .pixel-snake--hero{right:29%;top:28%;transform:scale(.65)}.mountains--far{height:32%}.mountains--near{height:24%}}

/* Les éléments jouables appartiennent tous à l’aire quadrillée du diorama. */
.screen--home .pixel-snake--hero{right:34%;top:57%;transform:scale(.84)}
.screen--home .hero-pickup--apple{left:36%;top:61%;transform:scale(.7)}
.screen--home .hero-pickup--star{right:30%;top:68%}
.screen--home .hero-pickup--hourglass{left:45%;top:76%}
@media (max-width:700px){.screen--home .pixel-snake--hero{right:29%;top:55%;transform:scale(.65)}.screen--home .hero-pickup--apple{left:34%;top:61%;transform:scale(.55)}.screen--home .hero-pickup--star{right:27%;top:69%}.screen--home .hero-pickup--hourglass{left:45%;top:77%}}
/* Sélecteur de langue compact façon hub : une seule commande, cinq choix visibles. */
.language-switcher{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #5c3a9d;border-radius:8px;background:linear-gradient(145deg,#180d3c,#0a0721);box-shadow:inset 0 0 14px #9b4cff18,0 5px 16px #03010b66}
.language-button{position:relative;min-width:31px;height:30px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:#b9add9;font:700 12px Verdana,Arial,sans-serif;letter-spacing:.02em;cursor:pointer;transition:.16s ease}
.language-button:hover{color:#fff;background:#6d35b633}
.language-button.is-active{color:#fff;background:linear-gradient(145deg,#7742b8,#452174);box-shadow:0 0 12px #a654ff66,inset 0 1px #f0c8ff66}
.language-button:focus-visible{outline:2px solid #d18aff;outline-offset:1px}
.language-legacy-hook{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.language-switcher--options{margin-left:auto;flex:0 0 auto}
@media (max-width:700px){.language-switcher{gap:1px;padding:2px}.language-button{min-width:28px;height:31px;padding-inline:5px}.language-switcher--options{max-width:100%;overflow:auto}.language-switcher--options .language-button{min-width:29px}}
