@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body.dragging{overflow:hidden;position:fixed;width:100%}:root{--grid-size: clamp(240px, 80vw, 420px);--grid-gap: clamp(6px, 2.5vw, 12px);--cell-size: clamp(64px, 22vw, 120px);--cell-radius: clamp(10px, 3vw, 18px);--grid-padding: clamp(8px, 2.5vw, 14px)}.App{display:flex;flex-direction:column;align-items:center;min-height:100vh;background-color:#f0f0f0;padding:0}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a99;display:flex;align-items:center;justify-content:center;padding:16px;z-index:2000}.tutorial-panel{background:#fff;border-radius:16px;width:min(520px,92vw);padding:20px;box-shadow:0 20px 40px #00000040}.tutorial-panel h2{margin:0 0 8px;font-size:1.4rem;color:#1a1a1a}.tutorial-panel p{margin:0 0 16px;font-size:1rem;color:#333;line-height:1.4}.tutorial-step{font-size:.9rem;color:#666;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.tutorial-actions{display:flex;justify-content:space-between;gap:12px}.tutorial-actions button{border-radius:10px;padding:10px 16px;font-weight:600;font-size:1rem;cursor:pointer;border:1px solid transparent}.tutorial-skip{background:#f2f2f2;color:#333;border-color:#e0e0e0}.tutorial-next{background:#1e90ff;color:#fff}.tutorial-skip:hover{background:#e8e8e8}.tutorial-next:hover{background:#1b7fe0}.win-panel{text-align:center}.win-panel h2{margin:0 0 16px;font-size:1.6rem}.win-actions{justify-content:center}.win-actions .tutorial-next{min-width:160px}.how-to-play{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px}.tutorial-replay{background:none;border:none;color:#1e90ff;text-decoration:underline;cursor:pointer;font-size:.95rem;padding:0;font-family:inherit}.tutorial-replay:hover{color:#1b7fe0}.app-header{width:100%;background-color:#fff;border-bottom:1px solid #e0e0e0;padding:15px 0;text-align:center;box-shadow:0 2px 4px #0000001a}.app-header h1{margin:0;font-size:4rem;font-weight:900;color:#333;letter-spacing:4px}.app-subtitle{margin:6px 0 0;font-size:.95rem;color:#666}.app-subtitle a{color:#1e90ff;text-decoration:none;font-weight:600}.app-subtitle a:hover{text-decoration:underline}.move-counter{margin-top:6px;font-size:.95rem;color:#333;font-weight:600}.game-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;width:100%}.game-grid{position:relative;background:#fff;padding:var(--grid-padding);border-radius:20px;box-shadow:0 4px 6px #0000001a;width:var(--grid-size);height:var(--grid-size);display:flex;flex-direction:column;gap:var(--grid-gap);justify-content:center;align-items:center;touch-action:none;user-select:none;-webkit-user-select:none}.snake-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:2}.grid-row{display:flex;align-items:center;justify-content:center;gap:var(--grid-gap)}.grid-cell{width:var(--cell-size);height:var(--cell-size);border-radius:var(--cell-radius);cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease;position:relative}.grid-cell.gap{border:2px dashed}.grid-cell.won{border-radius:50%!important}@keyframes pulse-radius{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.grid-cell:not(.gap):not(.secondary):not(:hover):not(.active){animation:none}.grid-cell.secondary:active{transform:scale(.95);opacity:.9;transition:all .1s ease}.lock-icon{color:#000;font-size:20px}@keyframes pill-merge-h{0%{transform:scaleX(.33);opacity:.85}to{transform:scaleX(1);opacity:1}}@keyframes pill-merge-v{0%{transform:scaleY(.33);opacity:.85}to{transform:scaleY(1);opacity:1}}.win-pill-h{animation:pill-merge-h .45s cubic-bezier(.4,0,.2,1) both}.win-pill-v{animation:pill-merge-v .45s cubic-bezier(.4,0,.2,1) both}.feedback{margin-top:24px;border-radius:4px;padding:8px;text-align:center;font-size:1.05rem;font-weight:700}.feedback-error{color:#b00020}
