@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(/giochi/snake/fonts/chakra-400.ttf)format("truetype")}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/giochi/snake/fonts/chakra-500.ttf)format("truetype")}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/giochi/snake/fonts/chakra-600.ttf)format("truetype")}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/giochi/snake/fonts/chakra-700.ttf)format("truetype")}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/giochi/snake/fonts/press-start.ttf)format("truetype")}.magnetico-back{width:fit-content;max-width:calc(100% - 24px);margin:16px auto;display:flex}a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:4px}:root{--bg:#141b18;--panel:#1e2925;--panel2:#18211d;--edge:#31423b;--ink:#e9f0e2;--dim:#9db2a4;--amber:#ffc44d;--coral:#ff5d49;--leaf:#7fd68b;--cream:#efe7d4;--lcd-hi:#dde9ae;--lcd-lo:#b6c67c;--lcd-ink:#2c3a16;--lcd-lit:#e9f2b8;--fd:"Press Start 2P",monospace;--fb:"Chakra Petch",system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--fb);min-height:100vh;overflow-x:hidden}body:before{content:"";z-index:0;background:linear-gradient(#18201c,#101613 70%);position:fixed;inset:0}.glow{filter:blur(95px);pointer-events:none;z-index:0;opacity:.55;border-radius:50%;position:fixed}.glow--a{background:radial-gradient(circle,#2f6a52,#0000 65%);width:520px;height:520px;animation:16s ease-in-out infinite alternate drift;top:-140px;left:-120px}.glow--b{background:radial-gradient(circle,#8a5a20,#0000 65%);width:560px;height:560px;animation:20s ease-in-out infinite alternate-reverse drift;bottom:-180px;right:-140px}@keyframes drift{to{transform:translate(60px,36px)scale(1.15)}}.bg-grid{z-index:0;pointer-events:none;background:linear-gradient(#e9f0e209 1px,#0000 1px) 0 0/100% 46px,linear-gradient(90deg,#e9f0e209 1px,#0000 1px) 0 0/46px 100%;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 18%,#000 20%,#0000 78%);mask-image:radial-gradient(at 50% 18%,#000 20%,#0000 78%)}.pix{z-index:0;opacity:.4;pointer-events:none;width:8px;height:8px;animation:floaty var(--d) ease-in-out var(--dl) infinite alternate, twinkle 3.4s steps(2) var(--dl) infinite;position:fixed}@keyframes floaty{to{transform:translate(var(--dx),var(--dy))}}@keyframes twinkle{50%{opacity:.12}}.marquee{z-index:1;border-bottom:1px solid var(--edge);background:linear-gradient(#243830,#1d2c26);position:relative;box-shadow:0 14px 34px #00000073}.lights{justify-content:center;gap:15px;padding:13px 0 4px;display:flex}.lights i{background:#3a3524;width:7px;height:7px;animation:1.4s step-end infinite bulb}@keyframes bulb{0%,to{box-shadow:none;background:#3a3524}12%{background:var(--amber);box-shadow:0 0 11px #ffc44df2}}.marquee__in{flex-wrap:wrap;align-items:center;gap:22px;max-width:1140px;margin:0 auto;padding:6px 22px 22px;display:flex}.chip{background:var(--lcd-lo);border:3px solid #0d1411;flex:none;padding:5px;box-shadow:0 4px #0b100d,inset 0 0 0 2px #00000047}.chip svg{width:88px;height:44px;display:block}.marquee__txt h1{font-family:var(--fd);color:var(--cream);letter-spacing:1px;text-shadow:3px 3px #ff5d49d9;margin:0 0 11px;font-size:clamp(17px,3.4vw,30px)}.marquee__tag{letter-spacing:.38em;color:var(--amber);font-size:11px;font-weight:700}.coinbox{text-align:right;margin-left:auto}.coin{background:radial-gradient(circle at 35% 30%,#ffe3a1,var(--amber) 55%,#b57f22);border-radius:50%;width:26px;height:26px;animation:2.6s ease-in-out infinite coinb;display:inline-block;position:relative;box-shadow:0 3px #6e4a12}.coin:after{content:"C";font-family:var(--fd);color:#6e4a12;place-items:center;font-size:9px;display:grid;position:absolute;inset:0}@keyframes coinb{50%{transform:translateY(-5px)}}.insert{font-family:var(--fd);color:var(--amber);font-size:8px;animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:.15}}@media (width>=981px) and (height<=800px){.magnetico-back{margin:8px auto}.lights,.coinbox,.marquee__tag{display:none}.marquee__in{gap:14px;padding:10px 22px}.marquee__txt h1{margin:0;font-size:20px}.chip{padding:3px}.chip svg{width:64px;height:32px}}.layout{z-index:1;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:26px;max-width:1140px;margin:0 auto;padding:26px 22px 8px;display:grid;position:relative}@media (width<=980px){.layout{grid-template-columns:1fr}}.cabinet{flex-direction:column;gap:14px;width:100%;max-width:580px;margin-inline:auto;display:flex}.topstrip{letter-spacing:.3em;color:var(--dim);align-items:center;gap:10px;font-size:10px;font-weight:600;display:flex}.led{background:#57261d;border-radius:50%;flex:none;width:9px;height:9px}body.running .led{background:var(--coral);box-shadow:0 0 10px var(--coral);animation:1s step-end infinite blink}.topstrip .right{color:var(--leaf);margin-left:auto}.scoreboard{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=520px){.scoreboard{grid-template-columns:repeat(2,1fr)}}.score{background:var(--panel);border:1px solid var(--edge);border-top:3px solid var(--amber);padding:10px 13px 13px}.score:nth-child(2){border-top-color:var(--coral)}.score:nth-child(3){border-top-color:var(--leaf)}.score:nth-child(4){border-top-color:var(--cream)}.score__l{letter-spacing:.26em;color:var(--dim);text-transform:uppercase;font-size:10px;font-weight:700}.score__v{font-family:var(--fd);color:var(--amber);transform-origin:0;margin-top:8px;font-size:16px;display:block}.score:nth-child(2) .score__v{color:var(--coral)}.score:nth-child(3) .score__v{color:var(--leaf)}.score:nth-child(4) .score__v{color:var(--cream);align-items:center;gap:9px;display:flex}.pop{animation:.3s pop}@keyframes pop{35%{transform:scale(1.28)}}.pips{gap:4px;display:flex}.pips i{background:#33413a;width:8px;height:8px}.pips i.on{background:var(--cream);box-shadow:0 0 8px #efe7d4b3}.screen{aspect-ratio:1;background:var(--lcd-lo);touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;border:10px solid #0c120f;border-radius:10px;outline:1px solid #2c3a34;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 34px #283c1480,0 16px 34px #00000080}#game{width:100%;height:100%;display:block;position:absolute;inset:0}.screen{container-type:inline-size}.fx{pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,#141e081a 0 1px,#0000 1px 3px),linear-gradient(115deg,#ffffff1a,#0000 32%);animation:5s steps(3,end) infinite flick;position:absolute;inset:0}@keyframes flick{50%{opacity:.78}}.flash{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle,#ff3c288c,#ff3c2833);transition:opacity .5s;position:absolute;inset:0}.flash.on{opacity:1;transition:opacity 40ms}.shake{animation:.45s shake}@keyframes shake{20%{transform:translate(-7px,4px)}40%{transform:translate(6px,-5px)}60%{transform:translate(-5px,3px)}80%{transform:translate(4px,-2px)}}.ov{z-index:4;text-align:center;color:var(--lcd-ink);background:#becd809e;place-content:center;justify-items:center;gap:13px;padding:20px;display:grid;position:absolute;inset:0}.ov.hidden{display:none}.ov__k{letter-spacing:.4em;font-size:10px;font-weight:700}.ov__t{font-family:var(--fd);margin:0;font-size:clamp(19px,5vw,30px)}.ov__t.danger{animation:1s step-end infinite blink}.ov .blink,.ov__go .blink{font-family:var(--fd);font-size:9px;line-height:2;animation:1.1s step-end infinite blink}.ov__sub{opacity:.75;max-width:26ch;margin:0;font-size:12px;font-weight:600}@container (width<=320px){.ov{gap:8px;padding:10px}.ov__t{font-size:clamp(12px,8cqw,24px)}.ov__k{letter-spacing:.15em;font-size:7px}.ov .blink,.ov__go .blink{font-size:clamp(6px,2.8cqw,9px)}.ov__sub{font-size:10px}}.ov__score{font-family:var(--fd);margin:2px 0;font-size:13px}.ov__score b{color:#1e2810}.ov__badge{font-family:var(--fd);background:var(--lcd-ink);color:var(--lcd-lit);padding:9px 12px;font-size:8px;animation:.8s step-end infinite blink}kbd{font-family:var(--fd);background:var(--lcd-ink);color:var(--lcd-lit);border-radius:3px;padding:5px 7px;font-size:8px}#floats{z-index:4;pointer-events:none;position:absolute;inset:0}#floats span{font-family:var(--fd);font-size:10px;animation:.9s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}#floats .lit{color:var(--lcd-ink);text-shadow:0 0 6px var(--lcd-lit)}@keyframes rise{to{opacity:0;transform:translate(-50%,-50%)translateY(-48px)}}.bar{flex-wrap:wrap;gap:10px;display:flex}.btn{font-family:var(--fd);letter-spacing:1px;cursor:pointer;border:0;border-radius:6px;padding:13px 16px;font-size:9px;transition:transform 60ms,box-shadow 60ms,color .15s,background .15s}.btn--coral{background:var(--coral);color:#241009;box-shadow:0 5px #a03325}.btn--amber{background:var(--amber);color:#2b1c05;box-shadow:0 5px #a97a1f}.btn--ghost{color:var(--ink);border:1px solid var(--edge);background:0 0;box-shadow:0 5px #24322c}.btn--ghost[aria-pressed=false]{color:var(--dim);border-color:#26332d}.btn:hover{transform:translateY(-2px)}.btn--coral:hover{box-shadow:0 7px #a03325}.btn--amber:hover{box-shadow:0 7px #a97a1f}.btn--ghost:hover{box-shadow:0 7px #24322c}.btn:active{transform:translateY(4px)}.btn--coral:active{box-shadow:0 1px #a03325}.btn--amber:active{box-shadow:0 1px #a97a1f}.btn--ghost:active{box-shadow:0 1px #24322c}.btn:focus-visible{outline:2px dashed var(--amber);outline-offset:3px}.grille{align-items:flex-end;gap:6px;height:20px;display:flex}.grille i{background:#2c3a34;width:8px;height:4px;transition:background .3s}body.running .grille i{background:var(--leaf);animation:.62s ease-in-out infinite alternate eq}body.running .grille i:nth-child(2){animation-delay:.12s}body.running .grille i:nth-child(3){animation-delay:.24s}body.running .grille i:nth-child(4){animation-delay:60ms}body.running .grille i:nth-child(5){animation-delay:.3s}@keyframes eq{to{height:19px}}.dpad{grid-template-rows:repeat(3,52px);grid-template-columns:repeat(3,64px);justify-content:center;gap:8px;padding-top:4px;display:none}body.touch .dpad{display:grid}.dpad button{font-family:var(--fd);background:var(--panel);border:1px solid var(--edge);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:8px;font-size:13px;box-shadow:0 5px #24322c}.dpad button:active{transform:translateY(4px);box-shadow:0 1px #24322c}.dpad .mid{color:var(--amber);font-size:11px}.hint{color:var(--dim);text-align:center;margin:0;font-size:12px}.hint kbd{color:var(--ink);border:1px solid var(--edge);background:#26332d;padding:4px 5px;font-size:7px}.side{gap:18px;display:grid}.card{background:var(--panel);border:1px solid var(--edge);padding:18px 18px 20px;box-shadow:0 10px 26px #00000059}.card__t{font-family:var(--fd);color:var(--amber);letter-spacing:1px;margin:0 0 14px;font-size:10px}.card__t:before{content:"■ ";color:var(--coral)}.segs{display:flex}.seg{font-family:var(--fd);background:var(--panel2);border:1px solid var(--edge);color:var(--dim);cursor:pointer;flex:1;padding:11px 4px;font-size:8px}.seg+.seg{border-left:0}.seg:hover{color:var(--ink)}.seg.on{background:var(--amber);color:#2b1c05;border-color:var(--amber)}.card__note{color:var(--dim);margin:12px 0 0;font-size:12px;line-height:1.55}.how{gap:11px;margin:0;padding:0;list-style:none;display:grid}.how li{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.keys{flex-wrap:wrap;gap:5px;max-width:55%;display:flex}.how kbd{background:var(--panel2);color:var(--ink);border:1px solid var(--edge);border-bottom-width:3px;border-radius:4px;padding:6px 8px;font-size:8px}.swipe{letter-spacing:.15em;color:var(--leaf);font-size:11px;font-weight:700}.recs{counter-reset:r;gap:9px;margin:0;padding:0;list-style:none;display:grid}.recs li{background:var(--panel2);border:1px solid var(--edge);align-items:center;gap:11px;padding:8px 11px;font-size:13px;display:flex}.recs .rk{font-family:var(--fd);background:var(--panel);border:1px solid var(--edge);width:24px;height:24px;color:var(--dim);place-items:center;font-size:9px;display:grid}.recs li:first-child .rk{color:var(--amber);border-color:var(--amber)}.recs li:nth-child(2) .rk{color:var(--cream)}.recs li:nth-child(3) .rk{color:var(--coral)}.recs .rs{font-family:var(--fd);color:var(--amber);font-size:11px}.recs .rd{color:var(--dim);margin-left:auto;font-size:11px}.recs .empty{color:var(--dim);border-style:dashed;justify-content:center;font-style:italic}footer{z-index:1;border-top:1px solid var(--edge);max-width:1140px;color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:14px auto 34px;padding:18px 22px 0;font-size:12px;display:flex;position:relative}footer b{color:var(--ink)}noscript p{border:1px dashed var(--coral);max-width:1140px;color:var(--coral);text-align:center;margin:30px auto;padding:20px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.fx{display:none}.fx2{opacity:.35}}@media (pointer:coarse){.dpad{display:grid}}.mobile-options{display:none}#snakeOptions{border:1px solid var(--edge);background:var(--bg);width:min(94vw,580px);max-height:calc(100dvh - 32px);color:var(--ink);overscroll-behavior:contain;border-radius:16px;padding:20px;overflow:auto}#snakeOptions::backdrop{background:#000000b8}.options-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.options-head h2{color:var(--amber);margin:0;font-size:20px}.options-head button{min-height:44px;font:700 14px var(--fb);background:var(--amber);color:var(--bg);cursor:pointer;border:0;border-radius:8px;padding:10px 16px}#snakeOptions .seg{min-height:44px}#snakeOptions .side{gap:12px}#snakeOptions .card{padding:16px}@media (width<=600px),(width<=980px) and (pointer:coarse),(width<=980px) and (height<=600px){html,body{height:100dvh;overflow:hidden}body{flex-direction:column;min-height:0;display:flex}.marquee{padding:calc(8px + env(safe-area-inset-top)) 12px 8px;flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.magnetico-back{max-width:none;margin:0}.lights,.chip,.coinbox,.marquee__tag{display:none}.marquee__in{flex:none;gap:0;margin:0;padding:0}.marquee__txt h1{letter-spacing:0;margin:0;font-size:14px}.layout{width:100%;min-height:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex:1;gap:0;display:flex}.cabinet{justify-content:center;gap:8px;max-width:100%;height:100%;min-height:0}.topstrip,.grille,footer{display:none}.scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.score{border-top-width:2px;padding:6px}.score__l{letter-spacing:0;font-size:9px}.score__v{margin-top:5px;font-size:11px}.pips{display:none}.screen{width:min(100%,calc(100dvh - 304px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border-width:6px;border-radius:8px;flex:none;margin-inline:auto}.ov{gap:9px;padding:12px}.ov__t{font-size:clamp(16px,5vw,24px)}.ov__k{letter-spacing:.15em;font-size:9px}.ov .blink,.ov__go .blink{font-size:8px}.ov__sub{font-size:11px}.bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.bar .btn{min-height:44px;font-family:var(--fb);letter-spacing:0;padding:8px 4px;font-size:12px;font-weight:700;box-shadow:0 3px #24322c}#bPause{display:none}.mobile-options:not([hidden]){display:block}.dpad{grid-template-rows:48px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;display:grid}.dpad>span,.dpad .mid{display:none}.dpad [data-d="-1,0"]{order:1}.dpad [data-d="0,-1"]{order:2}.dpad [data-d="0,1"]{order:3}.dpad [data-d="1,0"]{order:4}.hint{font-size:12px;line-height:1.3}.hint-desktop{display:none}.hint-mobile{display:inline}.side{width:100%}}.hint-mobile{display:none}@media (width<=600px),(width<=980px) and (pointer:coarse),(width<=980px) and (height<=600px){.hint-mobile{display:inline}}@media (width<=980px) and (height<=600px) and (orientation:landscape){.cabinet{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-content:center;gap:12px 18px;display:grid}.screen{width:min(100%,calc(100dvh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));grid-area:1/1/4}.scoreboard{grid-area:1/2}.bar{grid-area:2/2;grid-template-columns:repeat(2,minmax(0,1fr))}.dpad{grid-area:3/2}.hint{display:none}}
