:root{color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:#060b14;color:#e2e8f0;overflow:hidden}.game-wrap{height:100%;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.game-container{display:flex;flex-direction:column;align-items:center;transform-origin:center center}.hud{display:flex;gap:2.5rem;margin-bottom:.75rem}.hud-cell{display:flex;flex-direction:column;align-items:center}.hud-label{font-size:.6rem;font-weight:600;letter-spacing:.18em;color:#ffffff59;text-transform:uppercase}.hud-value{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;color:#f1f5f9}.field{position:relative;width:400px;height:600px;background:linear-gradient(180deg,#0c1220,#0f172a);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px #ffffff08,0 8px 32px #00000080}.belt{position:absolute;left:50%;transform:translate(-50%);width:120px;z-index:1}.belt-surface{position:absolute;top:0;right:0;bottom:0;left:0;background:#151d2e;border-left:3px solid #1e293b;border-right:3px solid #1e293b;border-radius:4px}.belt-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 26px,rgba(255,255,255,.04) 26px,rgba(255,255,255,.04) 28px);animation:beltScroll .5s linear infinite}@keyframes beltScroll{0%{transform:translateY(0)}to{transform:translateY(28px)}}.fork-lines{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.fork-lines line{stroke:#ffffff14;stroke-width:2;stroke-dasharray:8 6}.switch-pivot{position:absolute;transform:translate(-50%,-50%);z-index:20;width:16px;height:16px}.switch-pivot:after{content:"";position:absolute;width:14px;height:14px;background:#f59e0b;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #f59e0b80}.switch-arm{position:absolute;width:65px;height:5px;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:3px;top:50%;left:50%;transform-origin:0% 50%;transition:transform .12s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #f59e0b66}.arm-left{transform:rotate(-38deg)}.arm-right{transform:rotate(38deg)}.bin{position:absolute;width:120px;height:60px;transform:translate(-50%);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.06em;z-index:2}.bin-left{background:#22c55e0f;border:2px solid rgba(34,197,94,.25);color:#4ade80}.bin-right{background:#a855f70f;border:2px solid rgba(168,85,247,.25);color:#c084fc}.item{position:absolute;width:50px;height:50px;border-radius:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:24px;z-index:15;pointer-events:none;will-change:left,top}.item.organic{background:radial-gradient(circle at 40% 35%,#22c55e59,#22c55e1a);border:2.5px solid #22c55e;box-shadow:0 0 12px #22c55e33}.item.plastic{background:radial-gradient(circle at 40% 35%,#a855f759,#a855f71a);border:2.5px solid #a855f7;box-shadow:0 0 12px #a855f733}.item-correct{animation:correctPop .35s ease}.item-wrong{animation:wrongShake .5s ease;border-color:#ef4444!important;box-shadow:0 0 24px #ef444480!important}@keyframes correctPop{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.35)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes wrongShake{0%{transform:translate(-50%,-50%)}15%{transform:translate(-42%,-50%)}30%{transform:translate(-58%,-50%)}45%{transform:translate(-46%,-50%)}60%{transform:translate(-54%,-50%)}75%{transform:translate(-48%,-50%)}to{transform:translate(-50%,-50%)}}.hint{margin-top:.6rem;font-size:.7rem;color:#ffffff40;letter-spacing:.05em;min-height:1.2em}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .3s ease}.overlay-gameover{background:#0f0000eb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-box{text-align:center;padding:2rem;max-width:340px}.game-title{font-size:2.2rem;font-weight:900;letter-spacing:.08em;margin-bottom:.25rem;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gameover-title{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-subtitle{font-size:.85rem;color:#fff6;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}.game-desc{font-size:.9rem;color:#fff9;margin-bottom:1.5rem;line-height:1.6}.legend{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.legend-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#ffffffb3}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-green{background:#22c55e;box-shadow:0 0 6px #22c55e80}.dot-purple{background:#a855f7;box-shadow:0 0 6px #a855f780}.start-btn{display:inline-block;padding:.85rem 2.5rem;font-size:1rem;font-weight:700;letter-spacing:.1em;color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:10px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #6366f14d}.start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px #6366f173}.start-btn:active{transform:translateY(0)}.start-hint{margin-top:1rem;font-size:.7rem;color:#ffffff40}.final-score{margin:1rem 0 .5rem}.final-small{margin:.5rem 0}.final-label{display:block;font-size:.6rem;font-weight:600;letter-spacing:.18em;color:#ffffff59;text-transform:uppercase}.final-number{display:block;font-size:2.5rem;font-weight:900;font-variant-numeric:tabular-nums;color:#f1f5f9}.final-small .final-number{font-size:1.3rem;font-weight:700;color:#ffffff80}.new-record{font-size:.85rem;font-weight:700;color:#fbbf24;letter-spacing:.1em;animation:pulse 1s ease infinite;margin:.5rem 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
