.roulette-app{font-family:Patrick Hand,cursive;position:relative}.roulette-app .controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;padding:12px 16px;margin-bottom:16px;background:#fff6;border:2px dashed #4a4a6a;border-radius:12px}.roulette-app .input-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;width:100%}.roulette-app .item-input{font-family:Patrick Hand,cursive;font-size:16px;padding:6px 12px;border:2px solid #4a4a6a;border-radius:8px;background:#fff9;color:#1a1a2e;outline:none;width:200px;transition:border-color .2s}.roulette-app .item-input:focus{border-color:#e74c3c}.roulette-app button{font-family:Patrick Hand,cursive;font-size:15px;padding:6px 16px;border:2px solid #1a1a2e;border-radius:8px;background:#f0e6d3;color:#1a1a2e;cursor:pointer;transition:all .15s;white-space:nowrap}.roulette-app button:hover{background:#e8dcc5;transform:translateY(-1px)}.roulette-app button:active{transform:translateY(1px)}.roulette-app button.reset-btn{background:#fff3f3;border-color:#e74c3c;color:#e74c3c}.roulette-app button:disabled{opacity:.4;cursor:not-allowed;transform:none}.roulette-app .tags-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%;min-height:32px}.roulette-app .tag{font-family:Caveat,cursive;font-size:17px;font-weight:600;padding:3px 10px 3px 12px;border-radius:20px;color:#fff;display:flex;align-items:center;gap:5px;animation:tagIn .25s ease;cursor:default}@keyframes tagIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.roulette-app .tag .remove-tag{background:#ffffff59;border:none;color:#fff;font-size:14px;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .15s}.roulette-app .tag .remove-tag:hover{background:#fff9;transform:none}.roulette-app .btn-row{display:flex;gap:10px;justify-content:center;width:100%}.roulette-app .roulette-area{display:flex;flex-direction:column;align-items:center;padding:20px 0;position:relative}.roulette-app .pointer-container{position:relative;z-index:10;margin-bottom:-14px}.roulette-app .pointer{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:30px solid #e74c3c;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.roulette-app .wheel-container{position:relative;width:400px;height:400px}.roulette-app .wheel-svg{width:100%;height:100%;transition:none;filter:drop-shadow(3px 4px 0 rgba(26,26,46,.15))}.roulette-app .stick-figure-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;pointer-events:none;z-index:5}.roulette-app .stick-figure-container svg{width:100%;height:100%}.roulette-app .stick-figure-container.excited .sf-arms{animation:rouletteArmsUp .3s ease forwards}.roulette-app .stick-figure-container.nervous .sf-body-group{animation:rouletteNervousShake .15s ease-in-out infinite alternate}.roulette-app .stick-figure-container.happy .sf-body-group{animation:rouletteHappyJump .35s ease infinite}.roulette-app .stick-figure-container.shocked .sf-body-group{animation:rouletteShocked .12s ease-in-out infinite alternate}.roulette-app .stick-figure-container.dizzy .sf-body-group{animation:rouletteDizzy .3s ease-in-out infinite}@keyframes rouletteArmsUp{to{transform:rotate(-40deg) translateY(-3px)}}@keyframes rouletteNervousShake{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes rouletteHappyJump{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rouletteShocked{0%{transform:translate(-3px) rotate(-2deg)}to{transform:translate(3px) rotate(2deg)}}@keyframes rouletteDizzy{0%{transform:rotate(0)}25%{transform:rotate(5deg) translate(2px)}50%{transform:rotate(0)}75%{transform:rotate(-5deg) translate(-2px)}to{transform:rotate(0)}}.roulette-app .result-popup{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);background:#fdf6e3;border:3px solid #1a1a2e;border-radius:16px;padding:24px 36px;text-align:center;z-index:100;box-shadow:6px 6px #1a1a2e;opacity:0;transition:all .3s ease}.roulette-app .result-popup.show{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}.roulette-app .result-popup h2{font-family:Caveat,cursive;font-size:32px;color:#e74c3c;margin-bottom:8px}.roulette-app .result-popup p{font-size:22px;margin-bottom:16px}.roulette-app .result-popup .result-label{font-family:Caveat,cursive;font-size:36px;font-weight:700;display:block;margin-bottom:8px}.roulette-app .overlay{display:none;position:fixed;inset:0;background:#0000004d;z-index:99}.roulette-app .overlay.show{display:block}@media(max-width:600px){.roulette-app .controls{gap:8px;padding:8px}.roulette-app button{font-size:13px;padding:5px 10px}.roulette-app .wheel-container{width:300px;height:300px}.roulette-app .item-input{width:150px;font-size:14px}}
