: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:#0f1923;color:#fafafa}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;-webkit-user-select:none;user-select:none}header{text-align:center;margin-bottom:1.5rem}header h1{font-size:1.6rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stats{display:flex;gap:1.5rem;justify-content:center;font-size:.85rem;color:#ffffff80;margin-bottom:1.25rem}.stats span strong{color:#ffffffd9}.tubes-container{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:700px;margin-bottom:1.5rem}.tube{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 6px 10px;border-radius:0 0 12px 12px;border:2px solid rgba(255,255,255,.08);border-top:none;background:#ffffff08;cursor:pointer;transition:border-color .2s,background .2s,transform .15s;min-width:52px;position:relative}.tube:before{content:"";position:absolute;top:-6px;left:-2px;right:-2px;height:6px;border-radius:6px 6px 0 0;border:2px solid rgba(255,255,255,.08);border-bottom:none;background:#ffffff08}.tube:hover{border-color:#fff3;background:#ffffff0f;transform:translateY(-2px)}.tube.selected{border-color:#60a5fa;background:#60a5fa14;box-shadow:0 0 16px #60a5fa33}.tube.completed{border-color:#34d399;background:#34d3990f}.ball{width:36px;height:36px;border-radius:50%;transition:transform .2s,box-shadow .2s;position:relative}.ball:after{content:"";position:absolute;top:6px;left:8px;width:10px;height:10px;border-radius:50%;background:#ffffff40}.tube.selected .ball:first-child{transform:translateY(-6px);box-shadow:0 6px 12px #0000004d}.ball-placeholder{width:36px;height:36px;border-radius:50%;border:2px dashed rgba(255,255,255,.06)}.controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}button{font-family:inherit;font-size:.85rem;font-weight:600;padding:.6rem 1.2rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fafafa;cursor:pointer;transition:background .2s,border-color .2s}button:hover{background:#ffffff1f;border-color:#fff3}button.primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:transparent}button.primary:hover{opacity:.9}.win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.win-card{background:#1a2332;border:1px solid rgba(52,211,153,.3);border-radius:16px;padding:2.5rem 3rem;text-align:center;box-shadow:0 20px 60px #00000080}.win-card h2{font-size:1.8rem;margin:0 0 .5rem;background:linear-gradient(135deg,#34d399,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.win-card p{color:#fff9;margin-bottom:1.5rem}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:101;overflow:hidden}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}
