@charset "UTF-8";
.sp-layout { display: grid; grid-template-columns: 1fr 300px; gap: 20px; align-items: start; }
.sp-wheel-wrap { position: relative; text-align: center; }
#spCanvas { max-width: 100%; touch-action: none; filter: drop-shadow(0 8px 20px rgba(0,0,0,0.38)); }
.sp-pointer { position: absolute; top: -2px; left: 50%; transform: translateX(-50%); font-size: 28px; color: var(--tool-danger); z-index: 2; text-shadow: 0 1px 3px rgba(0,0,0,0.4); }
.sp-spin { margin-top: 14px; text-align: center; }
.sp-winner { margin-top: 16px; min-height: 50px; text-align: center; }
.sp-win-inner { display: inline-block; font-size: 3.5rem; font-weight: 900; background: linear-gradient(90deg,#e74c3c,#f39c12,#2ecc71,#3498db,#9b59b6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sp-winner.pop .sp-win-inner { animation: spPop 0.6s cubic-bezier(.2,1.4,.4,1), spGlow 1.2s ease-in-out 0.6s infinite alternate; }
@keyframes spPop { 0% { transform: scale(0.2); opacity: 0; } 70% { transform: scale(1.25); } 100% { transform: scale(1); opacity: 1; } }
@keyframes spGlow { from { filter: drop-shadow(0 0 2px rgba(243,156,18,0.5)); } to { filter: drop-shadow(0 0 12px rgba(46,204,113,0.9)); } }
.sp-spark { display: inline-block; animation: spSpark 0.9s ease-in-out infinite; }
@keyframes spSpark { 0%,100% { transform: scale(1) rotate(0); opacity: 0.7; } 50% { transform: scale(1.5) rotate(18deg); opacity: 1; } }
.sp-controls { display: flex; flex-direction: column; gap: 12px; }
.sp-controls textarea { min-height: 200px; font-size: 0.9rem; }
.sp-inline { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; }
.sp-about p { margin: 0 0 12px; }
@media (max-width: 780px) { .sp-layout { grid-template-columns: 1fr; } }
