@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--background: #0b1222;--panel: #141f38;--accent: #ffcd48;--accent-strong: #ffe39b;--text-primary: #f7f5fb;--text-dim: #a9b3d2;--border: rgba(255, 255, 255, .08);font-family:"Press Start 2P",Segoe UI,system-ui,sans-serif;line-height:1.4;font-weight:400;color:var(--text-primary);background-color:var(--background);margin:0;min-height:100vh}*{box-sizing:border-box}body{background:radial-gradient(circle at top,rgba(255,205,72,.15),transparent 40%),linear-gradient(180deg,#0b1222,#05060e 80%);display:flex;justify-content:center;align-items:flex-start;padding:2rem}a{color:var(--accent)}button,input{font-family:inherit}@media(max-width:768px){body{padding:1rem}}.snake-game{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.1rem;-webkit-user-select:none;user-select:none}.snake-title{font-size:2.3rem;margin:0;text-transform:uppercase;letter-spacing:.3em;color:var(--accent-strong);text-shadow:0 0 15px rgba(255,255,255,.2)}.snake-scoreboard{display:flex;gap:2rem;font-size:1.2rem;font-weight:600;color:var(--text-dim)}.snake-score,.snake-high-score{padding:.2rem .6rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.snake-board{position:relative;display:grid;grid-template-columns:repeat(20,1fr);grid-template-rows:repeat(20,1fr);border:2px solid rgba(255,255,255,.12);border-radius:18px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.1),transparent 40%),linear-gradient(180deg,#0a0a14e6,#161b28f2);box-shadow:inset 0 0 40px #000000a6}.snake-cell{box-sizing:border-box}.snake-head{background:linear-gradient(135deg,#66bb6a,#84d17a);border-radius:5px;border:1px solid rgba(255,255,255,.7);box-shadow:0 0 10px #66bb6a99}.snake-body{background:linear-gradient(135deg,#4caf50,#67d86f);border-radius:3px;border:1px solid rgba(0,0,0,.4)}.snake-food{background:radial-gradient(circle,#ff6b6b,#c62828 70%);border-radius:50%;box-shadow:0 0 15px #ff6b6bb3}.snake-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#05060ee6;color:var(--text-primary);font-size:1.2rem;border-radius:14px;gap:.4rem;text-transform:uppercase;letter-spacing:.2em}.snake-overlay p{margin:0}.snake-hint{font-size:.8rem;color:var(--text-dim);letter-spacing:.3em}.snake-game-over .snake-final-score{font-size:1.1rem;color:var(--accent-strong)}.snake-restart-btn{margin-top:.5rem;padding:.6em 2em;font-size:1rem;font-weight:600;background:linear-gradient(135deg,#ff9800,#ffb74d);color:#111;border:none;border-radius:16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.snake-restart-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00000059}@media(max-width:768px){.snake-game{width:100%}.snake-scoreboard{flex-direction:column;align-items:center}}#root{width:min(1200px,100%);margin:0}.app-shell{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:#141f38e0;padding:1.5rem;border-radius:24px;border:1px solid var(--border);box-shadow:0 12px 45px #0006;overflow:hidden}.app-shell:after{content:"";position:absolute;inset:0;background-image:url(/test-project/assets/snake-arcade-sprites.svg);background-size:120px 40px;background-repeat:repeat;opacity:.2;mix-blend-mode:screen;pointer-events:none}.app-hero{text-align:center}.app-kicker{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text-dim);margin:0 0 .5rem}.app-title{margin:0;font-size:clamp(2.4rem,4vw,3.2rem);color:var(--accent-strong);text-shadow:0 0 12px rgba(255,255,255,.4),0 6px 24px rgba(0,0,0,.6)}.app-subtitle{margin:.5rem auto 0;color:var(--text-dim);max-width:600px}.settings-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;padding:1rem;border-radius:16px;background:#0a1121cc;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 25px #00ffd80f}.settings-menu h2{grid-column:1 / -1;margin:0 0 .5rem;font-size:1.1rem;color:var(--accent);text-transform:uppercase;letter-spacing:.2em}.settings-menu label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--text-primary)}.settings-menu input{padding:.6rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:inherit}.settings-reset{grid-column:1 / -1;border-radius:14px;padding:.65rem 1rem;border:1px solid var(--accent);background:radial-gradient(circle,#fff3,#fff0);color:var(--accent);font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.settings-reset:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}
