@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap'); :root { --theme-color: #0077ff; --glass-background: rgba(49, 49, 49, 0.65); --glass-border: 1px solid rgba(255, 255, 255, 0.2); --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); --font-main: 'Inter', sans-serif; --bg-dark: var(--glass-background); --bg-darker: rgba(49, 49, 49, 0.65); --bg-gradient: radial-gradient(circle, rgba(49, 49, 49, 0.65), rgba(49, 49, 49, 0.65)); --box-shadow-light: var(--glass-shadow); --box-shadow-inset: inset 0 0 10px rgba(0, 0, 0, 0.021); } body { margin: 0; display: flex; align-items: center; justify-content: center; height: 100vh; font-family: 'Segoe UI', sans-serif; user-select: none; overflow: hidden; } .wheel-container { position: absolute; top: 50%; left: 82%; transform: translate(-50%, -50%) scale(0.8); width: 600px; height: 600px; border-radius: 50%; background: var(--bg-gradient); border: var(--glass-border); box-shadow: var(--glass-shadow); font-family: var(--font-main); display: none; align-items: center; justify-content: center; transition: opacity 0.4s ease, transform 0.4s ease; opacity: 0; transform-origin: center center; } .wheel-container.active { display: flex; transform: translate(-50%, -50%) scale(1); opacity: 1; } .center-label { position: absolute; width: 160px; height: 160px; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--bg-darker); border: var(--glass-border); box-shadow: var(--box-shadow-light); color: #fff; border-radius: 50%; font-size: 20px; font-weight: 600; z-index: 2; pointer-events: none; display: flex; flex-direction: column; justify-content: center; align-items: center; line-height: normal; padding: 0; overflow: hidden; transition: all 0.3s ease; } #label-type { color: var(--theme-color); font-weight: 7000; margin-top: 5px; transition: transform 0.3s ease, color 0.3s ease; } #label-item { color: #f0f0f0; margin-top: 5px; transition: opacity 0.3s ease; } .center-label.hovered #label-type { transform: scale(1.15); } .segment { position: absolute; top: 50%; left: 50%; width: 20px; height: 0px; transform-origin: center center; transform: rotate(calc(24deg * var(--i))) translate(0, -220px) rotate(calc(-24deg * var(--i))); display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease, filter 0.3s ease; cursor: pointer; z-index: 2; border-radius: 50%; } .segment img { width: 60px; height: 60px; border-radius: 50%; background: var(--bg-dark); border: var(--glass-border); padding: 8px; box-shadow: var(--box-shadow-inset); filter: brightness(1.1); transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease; } .segment:hover { z-index: 5; filter: drop-shadow(0 0 8px var(--theme-color)); transition: transform 0.4s ease-out, filter 0.4s ease-out; } .segment.active { z-index: 6; filter: drop-shadow(0 0 10px var(--theme-color)); box-shadow: 0 0 20px 5px var(--theme-color); } .segment.active img { filter: brightness(1.05) drop-shadow(0 0 1px var(--theme-color)); transform: scale(1.01); } .wheel-controls { position: absolute; bottom: 20px; right: 20px; display: none; gap: 10px; z-index: 10; background: var(--glass-background); border: var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 12px; padding: 10px; } .wheel-container.show + .wheel-controls { display: flex; } .wheel-controls img, .wheel-controls input[type="color"] { width: 40px; height: 40px; border-radius: 12px; padding: 6px; cursor: pointer; background: var(--glass-background); border: var(--glass-border); transition: background 0.3s; -webkit-appearance: none; -moz-appearance: none; appearance: none; box-sizing: border-box; } .wheel-controls img:hover, .wheel-controls input[type="color"]:hover, .wheel-controls img.active, .wheel-controls input[type="color"].active { background: var(--theme-color); border-color: transparent; } .wheel-controls input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; } .wheel-controls input[type="color"]::-webkit-color-swatch { border: none; border-radius: 8px; } .resize-handle { position: absolute; width: 20px; height: 20px; bottom: 0; right: 0; cursor: se-resize; background: var(--theme-color); border-bottom-right-radius: 10px; z-index: 5; display: none; } /* */