@import"https://fonts.googleapis.com/css2?family=Nunito:wght@600;800&display=swap";:root{--bg: #f7f8fc;--panel: #ffffff;--text: #1f2d3d;--muted: #5c7080;--primary: #4d96ff;--primary-dark: #3b7be0;--accent: #ffd93d}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(1200px 800px at 20% 0%,#f0f5ff 0%,var(--bg) 40%,var(--bg) 100%)}.app{min-height:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.header{text-align:center;padding-top:16px}.title{margin:8px 0 0;font-size:32px;letter-spacing:.5px}.subtitle{margin:6px 0 0;color:var(--muted)}.panel{width:min(980px,92%);background:var(--panel);border-radius:14px;padding:12px 14px;box-shadow:0 6px 20px #0000000f;display:flex;justify-content:space-between;align-items:center;gap:12px}.stats{display:flex;gap:18px;flex-wrap:wrap}.stats span{background:#f4f7ff;color:#2c3e50;border-radius:12px;padding:8px 12px}.actions{display:flex;gap:10px}.btn{border:0;background:#e9efff;color:#1a4cff;padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer}.btn:hover{background:#d9e6ff}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.board{width:min(980px,92%);height:420px;background:var(--panel);border-radius:20px;box-shadow:inset 0 0 0 2px #0000000d,0 14px 30px #00000014;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px}.peg{position:relative;border:3px dashed transparent;border-radius:16px;background:linear-gradient(180deg,#f7f9ff,#f0f3ff);cursor:pointer;outline:none}.peg.selected{border-color:var(--accent);box-shadow:0 0 0 4px #ffd93d59 inset}.peg.hint-from{border-color:#4d96ff;box-shadow:0 0 0 4px #4d96ff40 inset;animation:pulse 1s ease-in-out infinite alternate}.peg.hint-to{border-color:#6bcb77;box-shadow:0 0 0 4px #6bcb7740 inset;animation:pulse 1s ease-in-out infinite alternate}.peg:focus-visible{box-shadow:0 0 0 4px #4d96ff59 inset}.rod{position:absolute;left:50%;transform:translate(-50%);top:12%;width:10px;height:68%;background:linear-gradient(180deg,#a2b3ff,#758bff);border-radius:10px}.base{position:absolute;bottom:12px;left:8%;right:8%;height:14px;background:linear-gradient(180deg,#6f7dd8,#4f5cab);border-radius:10px;box-shadow:0 6px #0000001f}.stack{position:absolute;bottom:26px;left:0;right:0;top:18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;padding:0 6px}.disk{height:26px;border-radius:14px;border:3px solid rgba(255,255,255,.7)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;z-index:10}.modal{background:#fff;border-radius:16px;padding:20px 24px;width:min(480px,92%);text-align:center;box-shadow:0 14px 40px #0003}.modal h2{margin:6px 0;font-size:28px}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}.footer{margin:12px 0 20px;color:var(--muted)}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:20}.confetti-piece{position:absolute;top:-10px;width:10px;height:14px;border-radius:2px;opacity:.9;animation-name:fall,spin;animation-timing-function:cubic-bezier(.2,.6,.2,1),linear;animation-iteration-count:1,infinite}@keyframes fall{0%{transform:translateY(-20px) rotate(0)}to{transform:translateY(110vh) rotate(180deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.02)}}
