.tm-wheel-of-names{--won-radius: 14px;--won-radius-sm: 10px;--won-spin-duration: .18s;--won-accent: #6366f1;--won-accent-hover: #4f46e5;--won-accent-text: #ffffff;--won-pointer: #ef4444;--won-surface: var(--bg-panel, #ffffff);--won-surface-strong: var(--bg-elevated, #ffffff);--won-border: var(--border, #e5e7eb);--won-text: var(--fg-strong, #1f2937);--won-text-muted: var(--fg-muted, #6b7280);--won-modal-bg: rgba(15, 23, 42, .55);--won-shadow: 0 8px 32px rgba(15, 23, 42, .16);--won-shadow-card: 0 1px 3px rgba(15, 23, 42, .1);position:relative;display:block;width:100%;margin:0 auto var(--space-4, 24px)}.tm-wheel-of-names[data-wheel-theme=classic]{--won-accent: #6366f1;--won-accent-hover: #4f46e5;--won-pointer: #ef4444}.tm-wheel-of-names[data-wheel-theme=dark]{--won-accent: #818cf8;--won-accent-hover: #6366f1;--won-pointer: #f87171}.tm-wheel-of-names[data-wheel-theme=pastel]{--won-accent: #ec4899;--won-accent-hover: #db2777;--won-pointer: #f43f5e}.tm-wheel-of-names[data-wheel-theme=neon]{--won-accent: #00cc6a;--won-accent-hover: #00a558;--won-accent-text: #0a0a0a;--won-pointer: #ff0055}.tm-wheel-of-names__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}.tm-wheel-of-names__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-2, 8px) 0 var(--space-3, 16px);border-bottom:1px solid var(--won-border);margin-bottom:var(--space-4, 24px)}.tm-wheel-of-names__themes{display:flex;align-items:center;gap:8px}.tm-wheel-of-names__theme-dot{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;background-clip:padding-box;transition:transform .15s ease,border-color .15s ease}.tm-wheel-of-names__theme-dot:hover{transform:scale(1.1)}.tm-wheel-of-names__theme-dot:focus-visible{outline:3px solid var(--won-accent);outline-offset:2px}.tm-wheel-of-names__theme-dot.is-active{border-color:var(--won-text);transform:scale(1.1)}.tm-wheel-of-names__theme-dot--classic{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.tm-wheel-of-names__theme-dot--dark{background:linear-gradient(135deg,#1e293b,#475569)}.tm-wheel-of-names__theme-dot--pastel{background:linear-gradient(135deg,#fbb6ce,#c4b5fd)}.tm-wheel-of-names__theme-dot--neon{background:linear-gradient(135deg,#0f8,#0cf)}.tm-wheel-of-names__icon-group{display:flex;gap:8px}.tm-wheel-of-names__icon-btn{width:40px;height:40px;border-radius:var(--won-radius-sm);border:1px solid transparent;background:transparent;color:var(--won-text);font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tm-wheel-of-names__icon-btn:hover,.tm-wheel-of-names__icon-btn:focus-visible{background:var(--won-surface);border-color:var(--won-border)}.tm-wheel-of-names__icon-btn[aria-pressed=true]{color:var(--won-accent)}.tm-wheel-of-names__icon-btn:focus-visible{outline:3px solid var(--won-accent);outline-offset:2px}.tm-wheel-of-names__layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-6, 32px);align-items:start}.tm-wheel-of-names__wheel-col{display:flex;flex-direction:column;align-items:center;gap:var(--space-3, 16px)}.tm-wheel-of-names__wheel-wrapper{position:relative;width:100%;max-width:520px;aspect-ratio:1;cursor:pointer;border-radius:50%;outline:none}.tm-wheel-of-names__wheel-wrapper:focus-visible{box-shadow:0 0 0 3px var(--won-accent),0 0 0 6px #6366f140}.tm-wheel-of-names__wheel-wrapper[data-wheel-of-names-empty=true]{cursor:default}.tm-wheel-of-names__canvas{width:100%;height:100%;border-radius:50%;box-shadow:var(--won-shadow);background:transparent;display:block}.tm-wheel-of-names__pointer{position:absolute;top:50%;right:-18px;transform:translateY(-50%);width:0;height:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-right:28px solid var(--won-pointer);filter:drop-shadow(-2px 0 4px rgba(15,23,42,.25));z-index:2;pointer-events:none}.tm-wheel-of-names__hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:var(--won-surface-strong);box-shadow:0 2px 8px #0f172a2e;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.tm-wheel-of-names__hub-dot{width:12px;height:12px;border-radius:50%;background:var(--won-pointer)}.tm-wheel-of-names__empty-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--won-text-muted);font-size:.95rem;padding:16px;pointer-events:none;max-width:70%}.tm-wheel-of-names__spin-btn{width:100%;max-width:320px;padding:16px 32px;font-size:1.05rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--won-accent-text);background:var(--won-accent);border:none;border-radius:var(--won-radius);cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.tm-wheel-of-names__spin-btn:hover:not(:disabled){background:var(--won-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0f172a2e}.tm-wheel-of-names__spin-btn:active:not(:disabled){transform:translateY(0)}.tm-wheel-of-names__spin-btn:focus-visible{outline:3px solid var(--won-accent);outline-offset:3px}.tm-wheel-of-names__spin-btn:disabled{opacity:.55;cursor:not-allowed}.tm-wheel-of-names__last-winner{font-size:.9rem;color:var(--won-text-muted);min-height:1.3em;text-align:center}.tm-wheel-of-names__last-winner strong{color:var(--won-accent)}.tm-wheel-of-names__panel{background:var(--won-surface);border:1px solid var(--won-border);border-radius:var(--won-radius);padding:var(--space-4, 20px);display:flex;flex-direction:column;gap:var(--space-3, 12px);box-shadow:var(--won-shadow-card)}.tm-wheel-of-names__panel-heading{font-size:1rem;font-weight:600;margin:0;color:var(--won-text)}.tm-wheel-of-names__textarea{width:100%;min-height:220px;resize:vertical;padding:12px;border:1px solid var(--won-border);border-radius:var(--won-radius-sm);font-family:inherit;font-size:.92rem;line-height:1.5;color:var(--won-text);background:var(--won-surface-strong)}.tm-wheel-of-names__textarea:focus-visible{outline:3px solid var(--won-accent);outline-offset:1px}.tm-wheel-of-names__panel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.tm-wheel-of-names__count{font-size:.82rem;color:var(--won-text-muted)}.tm-wheel-of-names__btn-secondary,.tm-wheel-of-names__btn-primary,.tm-wheel-of-names__btn-ghost{font-family:inherit;font-weight:600;border:none;border-radius:var(--won-radius-sm);cursor:pointer;padding:10px 18px;font-size:.9rem;transition:background .15s ease,color .15s ease,transform .1s ease}.tm-wheel-of-names__btn-secondary{background:var(--won-border);color:var(--won-text)}.tm-wheel-of-names__btn-secondary:hover:not(:disabled){background:var(--won-accent);color:var(--won-accent-text)}.tm-wheel-of-names__btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tm-wheel-of-names__btn-primary{background:var(--won-accent);color:var(--won-accent-text)}.tm-wheel-of-names__btn-primary:hover:not(:disabled){background:var(--won-accent-hover)}.tm-wheel-of-names__btn-primary:disabled{opacity:.5;cursor:not-allowed}.tm-wheel-of-names__btn-ghost{background:transparent;color:var(--won-text-muted)}.tm-wheel-of-names__btn-ghost:hover{color:var(--won-text)}.tm-wheel-of-names__btn-secondary:focus-visible,.tm-wheel-of-names__btn-primary:focus-visible,.tm-wheel-of-names__btn-ghost:focus-visible{outline:3px solid var(--won-accent);outline-offset:2px}.tm-wheel-of-names__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px);font-size:.9rem;color:var(--won-text);padding:6px 0;cursor:pointer}.tm-wheel-of-names__toggle-control{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.tm-wheel-of-names__toggle-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.tm-wheel-of-names__toggle-track{position:absolute;inset:0;background:var(--won-border);border-radius:12px;transition:background .2s ease;pointer-events:none}.tm-wheel-of-names__toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.tm-wheel-of-names__toggle-input:checked~.tm-wheel-of-names__toggle-track{background:var(--won-accent)}.tm-wheel-of-names__toggle-input:checked~.tm-wheel-of-names__toggle-track .tm-wheel-of-names__toggle-thumb{transform:translate(20px)}.tm-wheel-of-names__toggle-input:focus-visible~.tm-wheel-of-names__toggle-track{box-shadow:0 0 0 3px #6366f166}.tm-wheel-of-names__privacy-callout{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--won-surface-strong);border:1px solid var(--won-border);border-radius:var(--won-radius-sm);font-size:.82rem;color:var(--won-text-muted)}.tm-wheel-of-names__privacy-callout svg{flex-shrink:0;color:var(--won-accent)}.tm-wheel-of-names__samples{display:flex;flex-wrap:wrap;gap:8px}.tm-wheel-of-names__sample-btn{padding:8px 14px;font-size:.8rem;font-weight:500;background:transparent;color:var(--won-text);border:1px solid var(--won-border);border-radius:var(--won-radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tm-wheel-of-names__sample-btn:hover{background:var(--won-accent);color:var(--won-accent-text);border-color:var(--won-accent)}.tm-wheel-of-names__sample-btn:focus-visible{outline:3px solid var(--won-accent);outline-offset:2px}.tm-wheel-of-names__modal-overlay{position:fixed;inset:0;background:var(--won-modal-bg);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:tm-wheel-of-names__fade-in .2s ease}.tm-wheel-of-names__modal{background:var(--won-surface-strong);color:var(--won-text);border-radius:18px;padding:36px 40px;text-align:center;max-width:420px;width:100%;box-shadow:0 24px 60px #0f172a59;animation:tm-wheel-of-names__pop-in .25s ease}.tm-wheel-of-names__modal-emoji{font-size:2.5rem;margin-bottom:8px}.tm-wheel-of-names__modal-winner{font-size:1.85rem;font-weight:800;color:var(--won-accent);margin:8px 0 4px;word-break:break-word}.tm-wheel-of-names__modal-subtitle{font-size:.92rem;color:var(--won-text-muted);margin-bottom:var(--space-4, 20px)}.tm-wheel-of-names__modal-actions{display:flex;flex-direction:column;gap:10px}.tm-wheel-of-names__modal-actions button{width:100%}.tm-wheel-of-names__notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--won-surface-strong);color:var(--won-text);padding:10px 18px;border:1px solid var(--won-border);border-radius:var(--won-radius-sm);font-size:.85rem;box-shadow:0 4px 18px #0f172a33;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:1100;max-width:min(90vw,480px);text-align:center}.tm-wheel-of-names__notice[data-active=true]{opacity:1}.tm-wheel-of-names__confetti{position:fixed;inset:0;z-index:1010;pointer-events:none}@keyframes tm-wheel-of-names__fade-in{0%{opacity:0}to{opacity:1}}@keyframes tm-wheel-of-names__pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(max-width:880px){.tm-wheel-of-names__layout{grid-template-columns:1fr}.tm-wheel-of-names__wheel-wrapper{max-width:420px;margin:0 auto}.tm-wheel-of-names__panel{width:100%}}@media(max-width:480px){.tm-wheel-of-names__wheel-wrapper{max-width:320px}.tm-wheel-of-names__pointer{right:-12px;border-top-width:14px;border-bottom-width:14px;border-right-width:22px}.tm-wheel-of-names__modal{padding:28px 24px}.tm-wheel-of-names__modal-winner{font-size:1.5rem}}.tm-wheel-of-names[data-wheel-fullscreen=on]{position:fixed;inset:0;z-index:999;background:var(--won-surface);padding:var(--space-4, 24px);margin:0;overflow:auto}.tm-wheel-of-names[data-wheel-fullscreen=on] .tm-wheel-of-names__layout{grid-template-columns:1fr;justify-items:center}.tm-wheel-of-names[data-wheel-fullscreen=on] .tm-wheel-of-names__panel{display:none}.tm-wheel-of-names[data-wheel-fullscreen=on] .tm-wheel-of-names__wheel-wrapper{max-width:min(80vh,80vw)}.tm-wheel-of-names[data-wheel-fullscreen=on] .tm-wheel-of-names__spin-btn{max-width:420px}@media(prefers-reduced-motion:reduce){.tm-wheel-of-names *,.tm-wheel-of-names *:before,.tm-wheel-of-names *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
