:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.menu{text-align:center;max-width:22rem}.menu h1{font-size:2.5rem;margin:0 0 .25rem;font-weight:700;letter-spacing:-.03em}.subtitle{color:#ffffff80;margin:0 0 2rem;font-size:.95rem}.difficulty-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.difficulty-btn{display:flex;justify-content:space-between;align-items:center;background:transparent;border:2px solid;border-radius:.5rem;padding:.85rem 1.25rem;cursor:pointer;font-family:inherit;font-size:1rem;transition:background .15s,transform .1s}.difficulty-btn:hover{background:#ffffff0d;transform:scale(1.02)}.difficulty-btn:active{transform:scale(.98)}.difficulty-name{font-weight:600}.difficulty-speed{font-size:.75rem;opacity:.6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.high-scores{border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.high-scores h3{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#fff6}.high-score-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.25rem 0}.controls-hint{color:#ffffff4d;font-size:.8rem;margin:0}.game-container{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative}.game-header{display:flex;justify-content:space-between;align-items:center;width:100%}.game-info{display:flex;gap:1rem;align-items:center}.score{font-size:1.1rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mode-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.back-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff9;padding:.35rem .75rem;border-radius:.35rem;cursor:pointer;font-family:inherit;font-size:.8rem;transition:border-color .15s,color .15s}.back-btn:hover{border-color:#ffffff80;color:#fafafa}.grid{display:grid;grid-template-columns:repeat(20,1fr);grid-template-rows:repeat(20,1fr);width:min(80vw,500px);height:min(80vw,500px);border:1px solid rgba(255,255,255,.15);border-radius:.5rem;overflow:hidden;background:#ffffff05}.cell{border:1px solid rgba(255,255,255,.03)}.cell-snake{background:#ffffff80;border-color:transparent}.cell-head{border-color:transparent;border-radius:2px}.cell-food{background:#ef4444;border-color:transparent;border-radius:50%}.game-over-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000000bf;border-radius:.5rem;z-index:10;margin-top:3.5rem}.game-over-card{text-align:center;padding:2rem}.game-over-card h2{font-size:2rem;margin:0 0 .5rem;font-weight:700;color:#f87171}.final-score{font-size:1.5rem;font-weight:600;margin:0 0 .25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.high-score-text{color:#ffffff80;font-size:.85rem;margin:0 0 1.5rem}.game-over-actions{display:flex;gap:.75rem;justify-content:center}.retry-btn{border:none;color:#0a0a0a;font-weight:700;padding:.65rem 1.5rem;border-radius:.5rem;cursor:pointer;font-family:inherit;font-size:.95rem;transition:opacity .15s}.retry-btn:hover{opacity:.85}.menu-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:.65rem 1.5rem;border-radius:.5rem;cursor:pointer;font-family:inherit;font-size:.95rem;transition:border-color .15s}.menu-btn:hover{border-color:#ffffff80}
