.weight{display:inline-flex;flex-direction:column;align-items:center;-webkit-user-select:none;user-select:none}.weight.draggable{cursor:grab}.weight.draggable:active{cursor:grabbing}.weight.draggable:hover .weight-body{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 12px #3b82f699}.weight-body{width:50px;height:50px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #3b82f666,inset 0 -2px 4px #0003;transition:transform .2s,box-shadow .2s}.weight:hover .weight-body{transform:translateY(-2px);box-shadow:0 6px 8px #3b82f680}.weight-value{color:#fff;font-weight:700;font-size:.9em}.balloon{display:inline-flex;flex-direction:column;align-items:center;-webkit-user-select:none;user-select:none}.balloon.draggable{cursor:grab}.balloon.draggable:active{cursor:grabbing}.balloon.draggable:hover .balloon-body{transform:translateY(-4px) scale(1.05);box-shadow:0 -8px 12px #ef444499}.balloon-body{width:45px;height:55px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%/60% 60% 40% 40%;display:flex;align-items:center;justify-content:center;box-shadow:0 -4px 6px #ef444466,inset -2px 2px 4px #ffffff4d;position:relative;transition:transform .2s,box-shadow .2s}.balloon:hover .balloon-body{transform:translateY(-2px);box-shadow:0 -6px 8px #ef444480}.balloon-value{color:#fff;font-weight:700;font-size:.9em}.balloon-string{width:2px;height:20px;background:#ffffff4d;margin-top:-2px}.scale-container{width:100%;position:relative}.balance-indicator{text-align:center;font-size:1.2em;margin-bottom:.5rem;font-weight:700;color:#4ade80}.scale-instruction{text-align:center;font-size:.85em;margin-bottom:1rem;color:#64748b;font-style:italic}.scale{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;position:relative}.scale-side{flex:1;display:flex;flex-direction:column;align-items:center}.side-label{font-size:1.1em;margin-bottom:.5rem;color:#a0aec0;font-weight:600}.items-container{min-height:120px;width:100%;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:flex-end;padding:1rem;background:#ffffff0d;border-radius:8px;border:2px dashed rgba(255,255,255,.1);transition:all .3s ease}.items-container.drag-over{background:#646cff33;border-color:#646cff99;border-style:solid;box-shadow:0 0 20px #646cff66;transform:scale(1.02)}.empty-placeholder{color:#666;font-style:italic;align-self:center}.fulcrum{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1}.beam{width:200px;height:8px;background:linear-gradient(90deg,#646cff,#747bff);border-radius:4px;margin-bottom:-4px;transition:transform .3s ease;box-shadow:0 2px 8px #646cff4d}.pivot{font-size:2em;color:#646cff;text-shadow:0 2px 8px rgba(100,108,255,.5)}.unknown-triangle{width:50px;height:50px;background:linear-gradient(135deg,#f59e0b,#d97706);clip-path:polygon(50% 0%,0% 100%,100% 100%);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 8px #f59e0b66}.unknown-triangle span{position:absolute;bottom:15%;font-weight:700;font-size:1.2em;color:#fff}.removable-item{position:relative;cursor:pointer;transition:all .2s ease}.removable-item:hover{transform:scale(1.1);filter:brightness(1.2)}.removable-item:hover:after{content:"×";position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2em;font-weight:700;box-shadow:0 2px 6px #0006;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.removable-item:active{transform:scale(.95)}.storage-area{margin-top:2rem;padding:1.5rem;background:linear-gradient(180deg,#0f172a,#1e293b);border-radius:12px;border:2px solid rgba(100,108,255,.3);box-shadow:0 4px 6px #0000004d}.storage-title{text-align:center;font-size:1.3em;margin-bottom:.5rem;color:#a0aec0;font-weight:600}.storage-instruction{text-align:center;font-size:.9em;margin-bottom:1.5rem;color:#64748b;font-style:italic}.storage-sections{display:flex;gap:2rem;justify-content:space-around}.storage-section{flex:1;max-width:450px}.section-label{text-align:center;font-size:1em;margin-bottom:1rem;color:#cbd5e0;font-weight:500;padding:.5rem;background:#646cff1a;border-radius:6px}.items-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;padding:1rem;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.05);justify-items:center;align-items:center}.storage-slot{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease}.storage-slot.empty{border:2px dashed rgba(255,255,255,.2);background:#0000004d}.storage-slot.empty.drag-over{border-color:#646cff99;background:#646cff1a;border-style:solid;box-shadow:0 0 15px #646cff4d}.storage-slot>div{cursor:grab}.storage-slot>div:active{cursor:grabbing}.empty-slot-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-size:.8em;font-weight:700}@media (max-width: 768px){.storage-sections{flex-direction:column;gap:1.5rem}.storage-section{max-width:100%}.items-grid{grid-template-columns:repeat(5,1fr);gap:.5rem}}@media (max-width: 480px){.items-grid{grid-template-columns:repeat(4,1fr)}}.workspace{width:100%;min-height:400px;background:linear-gradient(180deg,#1a1a2e,#16213e);border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 4px 6px #0000004d;display:flex;flex-direction:column;gap:0}.equation-display{background:#646cff1a;border:2px solid rgba(100,108,255,.3);border-radius:8px;padding:1.5rem;margin:1rem 0;text-align:center}.equation-label{font-size:.9em;color:#a0aec0;margin-bottom:.5rem;font-weight:500}.equation-text{font-size:1.8em;font-family:Courier New,monospace;font-weight:700;color:#646cff;letter-spacing:2px}.victory-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.victory-modal-card{background:linear-gradient(135deg,#646cff26,#747bff1a);border:3px solid #646cff;border-radius:16px;padding:2.5rem;max-width:500px;width:90%;animation:bounceIn .5s ease;position:relative;box-shadow:0 10px 40px #646cff66;text-align:center}.victory-close-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2em;color:#a0aec0;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s,transform .2s}.victory-close-btn:hover{color:#646cff;transform:scale(1.1)}.victory-celebration{font-size:4em;margin-bottom:1rem;animation:celebrate 1s ease infinite}.victory-title{font-size:2em;color:#646cff;margin-bottom:1rem;font-weight:700}.victory-message{font-size:1.3em;margin-bottom:2rem;color:#a0aec0}.victory-message strong{color:#4ade80;font-size:1.2em}.victory-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.victory-btn{border-radius:8px;border:1px solid transparent;padding:.8em 1.5em;font-size:1.1em;font-weight:600;font-family:inherit;cursor:pointer;transition:all .25s;width:100%;max-width:300px}.victory-btn-primary{background-color:#646cff;color:#fff;border-color:#646cff}.victory-btn-primary:hover{background-color:#535bf2;transform:translateY(-2px);box-shadow:0 4px 12px #646cff66}.victory-btn-secondary{background-color:#1a1a1a;color:#a0aec0;border-color:#a0aec0}.victory-btn-secondary:hover{border-color:#646cff;color:#646cff;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{opacity:0;transform:scale(.7) translateY(-20px)}50%{transform:scale(1.05) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes celebrate{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}@media (max-width: 640px){.victory-modal-card{padding:2rem 1.5rem;width:95%}.victory-title{font-size:1.6em}.victory-message{font-size:1.1em}.victory-celebration{font-size:3em}.victory-btn{font-size:1em}}@media (prefers-color-scheme: light){.victory-modal-card{background:linear-gradient(135deg,#646cff1a,#ffffffe6)}.victory-btn-secondary{background-color:#f9f9f9;color:#646cff}}.App{max-width:1280px;margin:0 auto;padding:2rem}header{margin-bottom:2rem}header h1{font-size:2.5em;margin-bottom:.5rem;color:#646cff}header p{font-size:1.2em;color:#888}main{margin:2rem 0}footer{margin-top:3rem;padding-top:2rem;border-top:1px solid #333;color:#888;font-size:.9em}.equation-selector{margin:1.5rem 0;padding:1rem;background:#646cff1a;border-radius:8px;text-align:center}.equation-selector label{font-size:1.1em;font-weight:600;margin-right:1rem;color:#a0aec0}.equation-selector select{padding:.5rem 1rem;font-size:1em;border-radius:6px;border:2px solid #646cff;background:#1a1a1a;color:#fff;cursor:pointer;min-width:300px}.equation-selector select:hover{border-color:#747bff}.equation-selector select:focus{outline:none;border-color:#747bff;box-shadow:0 0 0 3px #646cff33}.reset-button{margin-left:1rem;padding:.5rem 1rem;font-size:1em;border-radius:6px;border:2px solid #ef4444;background:#ef44441a;color:#ef4444;cursor:pointer;transition:all .3s ease;font-weight:600}.reset-button:hover{background:#ef444433;border-color:#dc2626;color:#dc2626;transform:translateY(-1px)}.reset-button:active{transform:translateY(0)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto;padding:2rem;text-align:center}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}
