.snake-lab{margin:0 5% 70px;padding:clamp(36px,4vw,72px);border:1px solid #333;border-radius:24px;background:#171719;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,90px);align-items:center;scroll-margin-top:110px}
.snake-intro{min-width:0}.snake-intro h2{font-size:clamp(48px,5.3vw,112px);line-height:1.04;letter-spacing:-.055em;margin:28px 0 30px;color:#FFEE58;overflow-wrap:normal}.snake-intro p{font-size:clamp(12px,1vw,16px);max-width:410px;line-height:1.8}
.snake-intro .snake-back{display:inline-flex;width:fit-content;max-width:100%;margin:30px 0 0;padding:13px 18px;gap:20px;border:1px solid #ffffff60;border-radius:50px;background:transparent;color:#f4f4f0;font-size:11px;line-height:1.4}.snake-intro .snake-back:hover,.snake-intro .snake-back:focus-visible{background:var(--red);border-color:var(--red);color:white}.snake-back span{font-size:20px}
.snake-sticker-break{position:relative;z-index:2;display:flex;justify-content:flex-start;height:0;padding-inline:10%;pointer-events:none}
.snake-stamp{display:inline-block;position:relative;margin-top:-40px;height:80px;padding:16px 20px;background:#73DB63;color:#111;border:4px solid #f4f0e5;border-radius:8px;font-size:13px;line-height:1.4;font-weight:bold;transform:rotate(-7deg);filter:drop-shadow(0 5px 0 #0005);transition:transform .3s ease;pointer-events:auto}
@media(hover:hover) and (pointer:fine){.snake-stamp:hover{transform:rotate(-2deg) translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.snake-stamp{transition:none}.snake-stamp:hover{transform:rotate(-7deg)}}
.snake-game{min-width:0;width:100%;max-width:680px;justify-self:end}.snake-scoreboard{display:flex;justify-content:space-between;gap:15px;font-size:9px;align-items:center;padding-bottom:16px;color:#bbb}.snake-scoreboard b{color:#FFEE58;font-size:24px;display:block;margin-top:7px}
.snake-board{position:relative;border:2px solid #6D40EE;border-radius:12px;overflow:hidden;aspect-ratio:1;touch-action:pan-y}.snake-board.is-playing{touch-action:none}.snake-board:focus-visible{outline:3px solid #FFEE58;outline-offset:5px}.snake-board canvas{display:block;width:100%;height:100%}
.snake-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:15px;background:#151517df;padding:25px;text-align:center;pointer-events:none}.snake-overlay[hidden]{display:none}.snake-overlay strong{font-size:clamp(18px,2vw,28px);color:#FFEE58}.snake-overlay span{font-size:11px;color:#ccc;line-height:1.6}
.snake-controls{display:flex;gap:10px}.snake-controls button,.snake-directions button{border:1px solid #666;border-radius:9px;background:transparent;color:#fff;padding:13px 16px;font-family:inherit;font-size:11px;min-height:46px;cursor:pointer}.snake-controls [data-snake-play]{background:#FFEE58;border-color:#FFEE58;color:#111}.snake-controls button:disabled{opacity:.4;cursor:default}.snake-controls button:focus-visible,.snake-directions button:focus-visible{outline:3px solid #73DB63;outline-offset:3px}.snake-controls button:not(:disabled):hover,.snake-directions button:hover{background:#73DB63;color:#111;border-color:#73DB63}
.snake-status{font-size:10px;line-height:1.6;min-height:32px;margin:12px 0}.snake-game #snake-help{font-size:9px;color:#aaa;line-height:1.8;margin-top:16px}.snake-directions{display:flex;justify-content:center;gap:8px;margin-top:18px}.snake-directions button{min-width:48px;font-size:20px;padding:8px}
@media(max-width:1000px){.snake-lab{grid-template-columns:1fr;gap:38px;padding:60px 30px 30px}.snake-game{max-width:600px;justify-self:center}.snake-intro h2{font-size:clamp(48px,8vw,76px);margin-block:22px}.snake-intro p{max-width:460px}.snake-intro .snake-back{margin-top:22px}}
@media(max-width:450px){.snake-lab{padding:55px 20px 24px;margin-inline:5%;border-radius:16px;gap:30px}.snake-intro h2{font-size:clamp(34px,10vw,45px)}.snake-controls{gap:7px}.snake-controls button{padding:12px 10px;flex:1}.snake-scoreboard b{font-size:20px}.snake-stamp{font-size:11px;height:70px;padding:13px 16px;margin-top:-35px}}
