.name-wheel-container{padding:5px 20px 20px;max-width:1200px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 10px 30px rgb(0 0 0 / .05)}.wheel-layout{display:flex;gap:2rem;margin:.5rem 0 2rem;align-items:flex-start}.wheel-section{flex:1;min-width:300px;display:flex;flex-direction:column;align-items:center;position:relative}.controls-section{flex:1;min-width:280px;background:#f8f9fa;padding:20px;border-radius:16px;box-shadow:0 2px 8px rgb(0 0 0 / .05)}.wheel-container{position:relative;width:100%;max-width:400px;aspect-ratio:1;margin:0 auto;padding:20px;box-sizing:border-box;touch-action:auto}.wheel{width:100%;height:100%;border-radius:50%;position:relative;transition:transform 3s cubic-bezier(.32,.94,.6,1);transform:rotate(0deg);cursor:pointer;background:#fff0;clip-path:circle(50%);-webkit-clip-path:circle(50%);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#333;font-weight:700;font-size:14px;text-align:center;box-shadow:0 2px 10px rgb(0 0 0 / .2);z-index:2;pointer-events:none}.wheel-marker{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:12px solid #fff0;border-right:12px solid #fff0;border-top:20px solid #333;z-index:2;filter:drop-shadow(0 2px 2px rgb(0 0 0 / .1))}.wheel-segment{position:absolute;top:0;left:0;width:100%;height:100%}.segment-content{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:center;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:16px;text-shadow:1px 1px 2px rgb(0 0 0 / .3);-webkit-font-smoothing:antialiased;padding:0 10px;word-break:break-word;overflow-wrap:break-word;max-width:90%}.names-input textarea{width:100%;margin-bottom:1.5rem;border:2px solid #e9ecef;border-radius:12px;padding:15px;font-size:16px;resize:vertical;transition:border-color 0.2s ease;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;height:150px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.names-input textarea:focus{outline:none;border-color:#0073aa}#spinButton,#spinMultiple{display:block;width:100%;max-width:200px;height:50px;margin:0 auto 20px;font-size:20px;font-weight:700;color:#fff;border:none;border-radius:30px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 12px rgb(0 0 0 / .15)}#spinButton{background:linear-gradient(135deg,#0073aa,#005177)}#spinMultiple{background:linear-gradient(135deg,#5c2d91,#41206d)}#spinButton:hover{background:linear-gradient(135deg,#005177,#003e5c);transform:translateY(-2px);box-shadow:0 6px 16px rgb(0 0 0 / .2)}#spinMultiple:hover{background:linear-gradient(135deg,#41206d,#2d1650);transform:translateY(-2px);box-shadow:0 6px 16px rgb(0 0 0 / .2)}.name-controls{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:8px;width:100%}.name-wheel-container .button{flex:1;min-width:80px;max-width:calc(50% - 8px);padding:10px 15px;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;white-space:nowrap}.name-wheel-container .button:hover{background:#f1f3f5;color:#333;border-color:#dee2e6}#shuffleNames::before{content:"🔀";margin-right:6px}#sortNames::before{content:"↕️";margin-right:6px}#shareWheel::before{content:"📤";margin-right:6px}.history-section{margin-top:2rem;background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .05)}.history-section ul{list-style:none;padding:0;margin:0}.history-section li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #f0f0f0;color:#666;transition:all 0.3s ease}.history-section li.highlight-winner{background:rgb(0 115 170 / .1);color:#0073aa;font-weight:600;border-radius:6px;transform:translateX(5px);animation:historyHighlight 0.5s ease-out}.speed-control{width:100%;max-width:200px;margin:15px auto;text-align:center}.speed-control label{display:block;margin-bottom:8px;color:#666;font-size:14px}#speedValue{font-weight:600;color:#0073aa}.speed-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:#e9ecef;outline:none;border-radius:3px;margin:10px 0}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#0073aa;border-radius:50%;cursor:pointer;transition:all 0.2s ease}.speed-slider::-moz-range-thumb{width:18px;height:18px;background:#0073aa;border-radius:50%;cursor:pointer;border:none;transition:all 0.2s ease}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:999999;background:rgb(0 0 0 / .5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:20px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal.show{display:flex;align-items:center;justify-content:center}.modal-content{position:relative;background:rgb(255 255 255 / .98);padding:20px;border-radius:16px;text-align:center;box-shadow:0 10px 30px rgb(0 0 0 / .2);border:1px solid rgb(255 255 255 / .3);width:90%;max-width:280px;margin:20px auto}@keyframes historyHighlight{0%{background:rgb(0 115 170 / .2);transform:translateX(-5px)}100%{background:rgb(0 115 170 / .1);transform:translateX(5px)}}@keyframes winnerPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}@keyframes coinFlip{0%{transform:rotateX(0deg)}100%{transform:rotateX(1800deg)}}@media (max-width:768px){.wheel-layout{flex-direction:column;gap:1.5rem;align-items:center}.wheel-section,.controls-section{width:100%;min-width:unset}.name-controls{gap:6px}.name-wheel-container .button{font-size:13px;padding:8px 12px}}@media (max-width:480px){.name-wheel-container{padding:15px}.name-controls{flex-direction:column;gap:8px}.name-wheel-container .button{max-width:100%;width:100%;padding:12px 15px;font-size:14px}.modal-content{width:calc(100% - 30px);margin:15px;padding:15px}}@supports (padding:max(0px)){.modal{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom))}}.modal h2{font-size:24px;margin-bottom:15px;color:#333}#winnerName{font-size:28px;font-weight:600;color:#0073aa;margin:20px 0;padding:15px;background:rgb(0 115 170 / .1);border-radius:12px;animation:winnerPop 0.5s ease-out}.modal-buttons{display:flex;gap:12px;justify-content:center;margin-top:20px}.modal .button{padding:10px 20px;font-size:16px;min-width:120px;border-radius:8px;cursor:pointer;transition:all 0.2s ease}.modal .button-primary{background:linear-gradient(135deg,#0073aa,#005177);color:#fff;border:none}.modal .button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .15)}.close{position:absolute;top:12px;right:12px;width:28px;height:28px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgb(0 0 0 / .05);color:#666;transition:all 0.2s ease}.close:hover{background:rgb(0 0 0 / .1);color:#333;transform:scale(1.1)}.share-description{color:#666;margin-bottom:15px}.share-url-container{display:flex;gap:8px;margin:15px 0}#shareUrl{flex:1;padding:10px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;color:#333;background:#f8f9fa;cursor:text;overflow:hidden;text-overflow:ellipsis}#shareUrl:focus{outline:none;border-color:#0073aa}#copyShareUrl{white-space:nowrap;background:#0073aa;color:#fff;border:none;padding:10px 20px}#copyShareUrl:hover{background:#005177}.copy-message{height:20px;color:#0073aa;font-weight:500;margin-top:10px;opacity:0;transition:opacity 0.3s ease}.copy-message.show{opacity:1}.results-grid{margin:20px 0;text-align:left}.result-item{position:relative;margin:8px 0;padding:8px;background:#f8f9fa;border-radius:6px;overflow:hidden}.result-bar{position:absolute;top:0;left:0;height:100%;background:rgb(0 115 170 / .1);z-index:0;transition:width 0.5s ease-out}.result-name{position:relative;z-index:1;font-weight:500}.result-count{position:relative;z-index:1;float:right;font-weight:700;color:#0073aa}.spin-counter{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgb(255 255 255 / .98);padding:20px;border-radius:16px;text-align:center;box-shadow:0 10px 30px rgb(0 0 0 / .2);width:90%;max-width:280px;z-index:1000;max-height:80vh;overflow-y:auto}.spin-counter h3{font-size:20px;margin-bottom:15px;color:#333}.spin-counter span{display:block;font-size:16px;color:#666;margin-bottom:10px}.winner-flash{font-size:24px;font-weight:700;color:#0073aa;margin:15px 0;padding:12px;background:rgb(0 115 170 / .1);border-radius:12px;animation:winnerPop 0.5s ease-out}.winners-list{margin-top:15px;text-align:left;max-height:300px;overflow-y:auto;padding:12px;background:rgb(0 115 170 / .05);border-radius:12px}.winner-entry{padding:8px;border-bottom:1px solid rgb(0 0 0 / .1);font-size:14px;animation:slideIn 0.3s ease-out}.winner-entry:last-child{border-bottom:none}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}100%{opacity:.8;transform:translateX(0)}}#spinButton:disabled,#spinMultiple:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media (max-width:580px){.modal-buttons{flex-direction:column;gap:8px}.modal .button{width:100%}#winnerName{font-size:24px;padding:12px;margin:15px 0;word-break:break-word}.spin-counter{max-height:90vh}.winners-list{max-height:40vh}.spin-counter{position:absolute;top:70%;height:320px}}