@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{font-family:Space Mono,monospace;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f0f23;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;min-width:320px;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000004d}::-webkit-scrollbar-thumb{background:gold;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fa0}::selection{background:#ffd6004d;color:#fff}*{box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,#0f0f23,#1a1a2e,#16213e);padding:2rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-family:Fredoka,sans-serif;font-size:3rem;background:linear-gradient(135deg,gold,#fa0,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;text-shadow:0 0 40px rgba(255,214,0,.3);letter-spacing:4px}.subtitle{color:#a0a0a0;font-family:Space Mono,monospace;font-size:1rem;margin-top:.5rem;text-transform:uppercase;letter-spacing:3px}.main-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto}.main-content.wide-mode{grid-template-columns:1fr;max-width:1300px}.main-content.wide-mode .left-panel{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.main-content.wide-mode .right-panel{order:-1}.left-panel{display:flex;flex-direction:column;gap:1.5rem}.right-panel{display:flex;flex-direction:column;align-items:center}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.btn{padding:1rem 1.5rem;border:none;border-radius:12px;font-family:Fredoka,sans-serif;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,gold,#fa0);color:#1a1a2e;font-weight:700}.btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #ffd60066}.btn-large{padding:1.25rem 2rem;font-size:1.2rem}.draw-button{width:100%;max-width:750px;margin-bottom:1rem}.main-content.wide-mode .draw-button{max-width:1200px}.btn-secondary{background:#ffd6001a;color:gold;border:2px solid rgba(255,214,0,.3)}.btn-secondary:hover:not(:disabled){background:#ffd60033;border-color:gold}.btn-danger{background:#ff63471a;color:#ff6b6b;border:2px solid rgba(255,99,71,.3)}.btn-danger:hover:not(:disabled){background:#ff634733;border-color:#ff6b6b}.btn-settings{background:#a0a0a01a;color:#a0a0a0;border:2px solid rgba(160,160,160,.3)}.btn-settings:hover:not(:disabled){background:#a0a0a033;border-color:#a0a0a0;color:#fff}.btn-test{background:#9b59b61a;color:#9b59b6;border:2px solid rgba(155,89,182,.3)}.btn-test:hover:not(:disabled){background:#9b59b633;border-color:#9b59b6;color:#bb8fce}.btn-shuffle{background:#3498db1a;color:#3498db;border:2px solid rgba(52,152,219,.3)}.btn-shuffle:hover:not(:disabled){background:#3498db33;border-color:#3498db;color:#5dade2}.stats{display:flex;justify-content:center;gap:2rem;padding:1rem;background:#ffd6000d;border-radius:12px;border:1px solid rgba(255,214,0,.1)}.stat{color:#a0a0a0;font-family:Space Mono,monospace;font-size:.9rem}.stat strong{color:gold;font-size:1.2rem}.winners-log{margin-top:1.5rem;background:#0000004d;border-radius:12px;padding:1rem;border:1px solid rgba(255,214,0,.2);width:100%;max-width:750px}.main-content.wide-mode .winners-log{max-width:1200px}.winners-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,214,0,.2)}.winners-log-header h3{color:gold;font-family:Fredoka,sans-serif;font-size:1rem;margin:0}.btn-clear-log{background:#ff634733;border:none;color:#ff6b6b;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-clear-log:hover{background:#ff634766;color:#fff}.winners-list{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.winner-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#ffd6000d;border-radius:8px;margin-bottom:.5rem}.winner-item:last-child{margin-bottom:0}.winner-position{color:gold;font-family:Fredoka,sans-serif;font-size:.9rem;min-width:30px}.winner-name{color:#fff;font-family:Space Mono,monospace;font-size:.9rem;flex:1}.winner-time{color:#666;font-family:Space Mono,monospace;font-size:.75rem}@media(max-width:900px){.main-content{grid-template-columns:1fr}.right-panel{order:-1}.header h1{font-size:2rem}}.plinko-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.plinko-canvas{border-radius:16px;box-shadow:0 0 30px #ffd6004d,0 10px 40px #00000080,inset 0 0 60px #ffd6001a;border:3px solid #ffd700}.winner-display{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,gold,#fa0);color:#1a1a2e;padding:1rem 2rem;border-radius:50px;font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;animation:pulse-winner .5s ease-in-out infinite alternate;box-shadow:0 0 30px #ffd60099;white-space:nowrap}@keyframes pulse-winner{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.05)}}.empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:gold;padding:2rem 3rem;border-radius:16px;font-family:Space Mono,monospace;font-size:1.2rem;text-align:center;border:2px dashed #ffd700}.entry-manager{background:linear-gradient(145deg,#1e1e3f,#16213e);border-radius:16px;padding:1.5rem;border:2px solid rgba(255,214,0,.2);box-shadow:0 10px 30px #0000004d}.mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.toggle-btn{flex:1;padding:.75rem 1rem;border:2px solid transparent;border-radius:8px;background:#ffffff0d;color:#a0a0a0;font-family:Space Mono,monospace;font-size:.9rem;cursor:pointer;transition:all .2s ease}.toggle-btn:hover:not(:disabled){background:#ffd6001a;color:gold}.toggle-btn.active{background:#ffd60033;border-color:gold;color:gold}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.single-form{display:flex;gap:.5rem;margin-bottom:1rem}.entry-input{flex:1;padding:.75rem 1rem;border:2px solid rgba(255,214,0,.3);border-radius:8px;background:#0000004d;color:#fff;font-family:Space Mono,monospace;font-size:1rem;transition:all .2s ease}.entry-input:focus{outline:none;border-color:gold;box-shadow:0 0 15px #ffd60033}.entry-input::placeholder{color:#666}.bulk-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.bulk-textarea{width:100%;padding:1rem;border:2px solid rgba(255,214,0,.3);border-radius:8px;background:#0000004d;color:#fff;font-family:Space Mono,monospace;font-size:.9rem;resize:vertical;min-height:120px;transition:all .2s ease}.bulk-textarea:focus{outline:none;border-color:gold;box-shadow:0 0 15px #ffd60033}.bulk-textarea::placeholder{color:#666}.btn-add{padding:.75rem 1.5rem;background:linear-gradient(135deg,gold,#fa0);border:none;border-radius:8px;color:#1a1a2e;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #ffd60066}.btn-add:disabled{opacity:.5;cursor:not-allowed;transform:none}.entries-list{margin-top:1rem}.entries-list h3{color:gold;font-family:Fredoka,sans-serif;font-size:1rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,214,0,.2)}.no-entries{color:#666;font-style:italic;text-align:center;padding:1rem}.entry-items{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffd700 rgba(0,0,0,.3)}.entry-items::-webkit-scrollbar{width:6px}.entry-items::-webkit-scrollbar-track{background:#0000004d;border-radius:3px}.entry-items::-webkit-scrollbar-thumb{background:gold;border-radius:3px}.entry-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#ffffff08;border-radius:6px;margin-bottom:.25rem;transition:all .2s ease}.entry-item:hover{background:#ffd6001a}.entry-name{color:#e0e0e0;font-family:Space Mono,monospace;font-size:.9rem}.remove-btn{width:24px;height:24px;border:none;border-radius:50%;background:#ff634733;color:#ff6b6b;font-size:.8rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-btn:hover:not(:disabled){background:#ff6b6b;color:#fff}.remove-btn:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(145deg,#1e1e3f,#16213e);border-radius:20px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;border:2px solid rgba(255,214,0,.3);box-shadow:0 0 60px #ffd60033,0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,214,0,.2)}.modal-header h2{color:gold;font-family:Fredoka,sans-serif;font-size:1.5rem;margin:0}.modal-close{width:36px;height:36px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.modal-close:hover{background:#ff63474d;color:#ff6b6b}.modal-body{margin-bottom:1.5rem}.modal-footer{padding-top:1rem;border-top:1px solid rgba(255,214,0,.2);text-align:center}.total-info{color:#a0a0a0;font-family:Space Mono,monospace;font-size:.9rem}.total-info strong{color:gold}.counts-table{width:100%;border-collapse:collapse}.counts-table th{text-align:left;padding:.75rem;color:gold;font-family:Space Mono,monospace;font-size:.85rem;text-transform:uppercase;border-bottom:2px solid rgba(255,214,0,.3)}.counts-table td{padding:.75rem;border-bottom:1px solid rgba(255,255,255,.05)}.name-cell{color:#fff;font-family:Space Mono,monospace}.count-cell{color:gold;font-weight:700;text-align:center;font-family:Fredoka,sans-serif;font-size:1.1rem}.chance-cell{position:relative;color:#a0a0a0;font-family:Space Mono,monospace;font-size:.85rem;min-width:100px}.chance-bar{position:absolute;bottom:4px;left:0;height:3px;background:linear-gradient(90deg,gold,#fa0);border-radius:2px;transition:width .3s ease}.no-data{text-align:center;color:#666;font-style:italic;padding:2rem}.winner-celebration{overflow:hidden}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1001}.confetti-piece{position:absolute;top:-20px;animation:confetti-fall linear forwards;opacity:.9}.confetti-square{border-radius:2px}.confetti-circle{border-radius:50%}@keyframes confetti-fall{0%{top:-20px;opacity:1;transform:translate(0) rotate(0)}25%{transform:translate(30px) rotate(90deg)}50%{transform:translate(-20px) rotate(180deg)}75%{transform:translate(40px) rotate(270deg)}to{top:100vh;opacity:.3;transform:translate(10px) rotate(360deg)}}.disco-lights{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;overflow:hidden}.disco-light{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(80px);opacity:.4;animation:disco-pulse 2s ease-in-out infinite}.disco-light-1{background:radial-gradient(circle,#ff006e,transparent 70%);top:-100px;left:10%;animation-delay:0s}.disco-light-2{background:radial-gradient(circle,#8338ec,transparent 70%);top:50%;right:-50px;animation-delay:.5s}.disco-light-3{background:radial-gradient(circle,#00f5d4,transparent 70%);bottom:-100px;left:40%;animation-delay:1s}@keyframes disco-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.3);opacity:.5}}.winner-modal{text-align:center;z-index:1002;position:relative}.winner-header{margin-bottom:1.5rem}.trophy-icon{font-size:4rem;animation:bounce .5s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.winner-header h2{color:gold;font-family:Fredoka,sans-serif;font-size:1.8rem;margin:.5rem 0 0;text-transform:uppercase;letter-spacing:2px}.winner-name-display{background:linear-gradient(135deg,gold,#fa0);color:#1a1a2e;padding:1.5rem 2rem;border-radius:16px;font-family:Fredoka,sans-serif;font-size:2rem;font-weight:700;margin:1.5rem 0;box-shadow:0 10px 30px #ffd6004d;animation:glow 1.5s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 10px 30px #ffd6004d}to{box-shadow:0 10px 50px #ffd60099}}.entry-info{color:#a0a0a0;font-family:Space Mono,monospace;margin-bottom:2rem}.entry-info strong{color:gold}.winner-actions{display:flex;flex-direction:column;gap:.75rem}.winner-actions .btn{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border:none;border-radius:12px;font-family:Fredoka,sans-serif;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.btn-hint{font-size:.75rem;opacity:.7;font-family:Space Mono,monospace;margin-top:.25rem}.btn-keep{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.btn-keep:hover{transform:translateY(-2px);box-shadow:0 5px 20px #2ecc7166}.btn-remove-one{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.btn-remove-one:hover{transform:translateY(-2px);box-shadow:0 5px 20px #f39c1266}.btn-remove-all{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-remove-all:hover{transform:translateY(-2px);box-shadow:0 5px 20px #e74c3c66}.physics-modal{max-width:450px}.physics-modal h2{color:gold;font-family:Fredoka,sans-serif;font-size:1.5rem;margin:0 0 .25rem;text-align:center}.modal-subtitle{color:#a0a0a0;font-family:Space Mono,monospace;font-size:.85rem;text-align:center;margin:0 0 1.5rem}.physics-sliders{display:flex;flex-direction:column;gap:1.25rem}.slider-group{background:#0003;padding:1rem;border-radius:12px;border:1px solid rgba(255,214,0,.1)}.slider-group label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.slider-label{color:#fff;font-family:Fredoka,sans-serif;font-size:1rem}.slider-value{color:gold;font-family:Space Mono,monospace;font-size:.9rem;background:#ffd6001a;padding:.2rem .5rem;border-radius:4px}.slider-group input[type=range]{width:100%;height:8px;border-radius:4px;background:linear-gradient(90deg,#1a1a2e,#2a2a4e);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,gold,#fa0);cursor:pointer;box-shadow:0 2px 10px #ffd60066;transition:transform .2s ease}.slider-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider-group input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,gold,#fa0);cursor:pointer;border:none;box-shadow:0 2px 10px #ffd60066}.slider-hints{display:flex;justify-content:space-between;margin-top:.25rem;font-family:Space Mono,monospace;font-size:.7rem;color:#666}.slider-divider{display:flex;align-items:center;justify-content:center;padding:.5rem 0;margin:.5rem 0;border-top:1px solid rgba(255,214,0,.2);color:#00d4ff;font-family:Space Mono,monospace;font-size:.85rem;font-weight:700}.modal-buttons{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center}.modal-buttons .btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-family:Fredoka,sans-serif;font-size:1rem;cursor:pointer;transition:all .2s ease}.modal-buttons .btn-primary{background:linear-gradient(135deg,gold,#fa0);color:#1a1a2e}.modal-buttons .btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ffd60066}.modal-buttons .btn-secondary{background:#ffffff1a;color:#fff}.modal-buttons .btn-secondary:hover{background:#fff3}.modal-buttons .btn-randomize{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.modal-buttons .btn-randomize:hover{transform:translateY(-2px);box-shadow:0 5px 20px #9b59b666}.distribution-modal{max-width:900px;width:95%}.distribution-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.distribution-controls label{display:flex;align-items:center;gap:.75rem;color:#fff;font-family:Space Mono,monospace}.distribution-controls input[type=number]{width:80px;padding:.5rem;border:2px solid rgba(255,214,0,.3);border-radius:8px;background:#0000004d;color:gold;font-family:Space Mono,monospace;font-size:1rem;text-align:center}.distribution-controls input[type=number]:focus{outline:none;border-color:gold}.distribution-results h3{color:gold;font-family:Fredoka,sans-serif;margin-bottom:1rem}.distribution-chart{display:flex;gap:4px;align-items:flex-end;height:250px;padding:1rem;background:#0000004d;border-radius:12px;overflow-x:auto}.chart-bar-container{display:flex;flex-direction:column;align-items:center;flex:1;min-width:35px;height:100%}.chart-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:80%;min-height:4px;background:linear-gradient(180deg,gold,#ff8c00);border-radius:4px 4px 0 0;transition:height .3s ease;box-shadow:0 0 10px #ffd6004d}.chart-label{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:8px;border-top:1px solid rgba(255,214,0,.2);width:100%}.chart-name{color:#fff;font-family:Space Mono,monospace;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chart-count{color:gold;font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:700}.chart-percent{color:#a0a0a0;font-family:Space Mono,monospace;font-size:.65rem}.chart-deviation{font-family:Space Mono,monospace;font-size:.6rem}.chart-deviation.positive{color:#2ecc71}.chart-deviation.negative{color:#e74c3c}.distribution-stats{margin-top:1.5rem;padding:1rem;background:#0003;border-radius:8px;display:flex;gap:2rem;justify-content:center}.distribution-stats p{color:#a0a0a0;font-family:Space Mono,monospace;font-size:.9rem;margin:0}.distribution-stats strong{color:gold}.test-running-message{text-align:center;padding:2rem;color:gold;font-family:Fredoka,sans-serif;font-size:1.2rem;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
