:root{--bg-color: #f0f2f5;--text-color: #213547;--container-bg: rgba(255, 255, 255, .8);--button-bg: #646cff;--button-hover: #535bf2;--button-text: #ffffff;--shadow-color: rgba(0, 0, 0, .1);--ball-shadow-inset: rgba(255, 255, 255, .4);--ball-shadow-drop: rgba(0, 0, 0, .3)}[data-theme=dark]{--bg-color: #1a1a1a;--text-color: rgba(255, 255, 255, .87);--container-bg: rgba(40, 40, 40, .8);--button-bg: #747bff;--button-hover: #646cff;--button-text: #ffffff;--shadow-color: rgba(0, 0, 0, .5);--ball-shadow-inset: rgba(255, 255, 255, .1);--ball-shadow-drop: rgba(0, 0, 0, .5)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;justify-content:center;background-color:var(--bg-color);color:var(--text-color);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}#theme-toggle{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s;color:var(--text-color)}#theme-toggle:hover{background-color:var(--shadow-color)}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%;box-sizing:border-box;background-color:var(--container-bg);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 30px var(--shadow-color);transition:background-color .3s,box-shadow .3s}h1{font-size:2.5em;line-height:1.1;margin-bottom:2rem}.machine-container{position:relative;width:200px;height:240px;margin:0 auto 2rem;perspective:1000px}.machine-glass{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff3,#ffffff0d 60%);border:2px solid rgba(255,255,255,.3);box-shadow:0 0 20px #ffffff1a,inset 0 0 20px #ffffff1a;margin:0 auto;position:relative;overflow:hidden;z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.machine-base{width:140px;height:40px;background:linear-gradient(to bottom,#444,#222);border-radius:10px 10px 20px 20px;margin:-20px auto 0;position:relative;z-index:1;box-shadow:0 5px 15px #0000004d}.machine-exit{width:40px;height:40px;background:linear-gradient(to right,#333,#555,#333);position:absolute;bottom:30px;left:50%;transform:translate(-50%);border-radius:5px;z-index:0}.machine-balls{width:100%;height:100%;position:relative;animation:spin 5s linear infinite}.deco-ball{width:20px;height:20px;border-radius:50%;background-color:var(--c);position:absolute;top:50%;left:50%;transform-origin:0 0;box-shadow:inset -2px -2px 5px #0000004d}.deco-ball:nth-child(1){transform:rotate(0) translate(40px) rotate(0);animation:tumble 2s infinite ease-in-out}.deco-ball:nth-child(2){transform:rotate(72deg) translate(50px) rotate(-72deg);animation:tumble 2.5s infinite ease-in-out reverse}.deco-ball:nth-child(3){transform:rotate(144deg) translate(30px) rotate(-144deg);animation:tumble 3s infinite ease-in-out}.deco-ball:nth-child(4){transform:rotate(216deg) translate(60px) rotate(-216deg);animation:tumble 2.2s infinite ease-in-out reverse}.deco-ball:nth-child(5){transform:rotate(288deg) translate(45px) rotate(-288deg);animation:tumble 2.8s infinite ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tumble{0%,to{margin-top:0}50%{margin-top:10px}}[data-theme=dark] .machine-glass{background:radial-gradient(circle at 30% 30%,#ffffff1a,#ffffff05 60%);border-color:#ffffff1a}.lotto-container{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:2rem;min-height:80px;align-items:center;perspective:1000px}.ball{width:60px;height:60px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:800;font-size:1.5rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5);box-shadow:inset -5px -5px 15px var(--ball-shadow-drop),inset 5px 5px 15px var(--ball-shadow-inset),5px 5px 15px var(--ball-shadow-drop);background:radial-gradient(circle at 30% 30%,#fffc,#fff0 20%),var(--ball-color);animation:popIn .5s cubic-bezier(.175,.885,.32,1.275) backwards}.ball.yellow{--ball-color: #fbc400;color:#333;text-shadow:none}.ball.blue{--ball-color: #69c8f2}.ball.red{--ball-color: #ff7272}.ball.gray{--ball-color: #aaaaaa}.ball.green{--ball-color: #b0d840;color:#333;text-shadow:none}button#generate-btn{border-radius:8px;border:1px solid transparent;padding:.8em 1.5em;font-size:1.2em;font-weight:600;font-family:inherit;background-color:var(--button-bg);cursor:pointer;transition:all .25s;color:var(--button-text);box-shadow:0 4px 6px var(--shadow-color)}button#generate-btn:hover{background-color:var(--button-hover);transform:translateY(-2px);box-shadow:0 6px 8px var(--shadow-color)}button#generate-btn:active{transform:translateY(0)}.placeholder-text{color:var(--text-color);opacity:.6;font-style:italic}@keyframes popIn{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes shuffle{0%{transform:translateY(0)}25%{transform:translateY(-10px)}50%{transform:translateY(0)}75%{transform:translateY(10px)}to{transform:translateY(0)}}.shuffling .ball{animation:shuffle .2s infinite}
