:root{color-scheme:dark;--bg:#071016;--surface:#0f1b24;--surface-2:#132632;--border:#244253;--text:#f5fbff;--muted:#a8bbc7;--accent:#2dd4bf;--accent-2:#60a5fa;--danger:#fb7185;--warning:#fbbf24;--success:#34d399;--shadow:#01080c61}body.theme-light{color-scheme:light;--bg:#eef5f8;--surface:#fff;--surface-2:#e7f0f5;--border:#c7d8e1;--text:#10202a;--muted:#516878;--shadow:#1f323d24}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 8%, #2dd4bf2e, transparent 32%), radial-gradient(circle at 88% 20%, #60a5fa33, transparent 32%), var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.wheel-app-shell{min-height:100vh}.wheel-app{gap:1rem;min-height:100vh;padding:clamp(.75rem,2vw,1.5rem);display:grid}.live-app{align-content:start}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.app-title{letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.app-subtitle{max-width:56rem;color:var(--muted);margin:.55rem 0 0;font-size:1rem;line-height:1.5}.app-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.app-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.wheel-stage,.panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:0 20px 44px var(--shadow);border-radius:.8rem}.wheel-stage{justify-items:center;gap:1rem;padding:clamp(.85rem,2vw,1.25rem);display:grid;position:sticky;top:1rem}.live-stage{justify-self:center;max-width:min(100%,48rem);position:static}.live-stage .wheel-wrap{width:min(92vw,42rem)}.wheel-wrap{aspect-ratio:1;width:min(92vw,36rem);position:relative}.wheel-canvas{width:100%;height:100%;filter:drop-shadow(0 24px 35px var(--shadow));transition:transform var(--spin-duration,5.2s) var(--spin-easing,cubic-bezier(.14, .84, .24, 1));border-radius:9999px;display:block}.spin-button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#061117;z-index:3;border:0;border-radius:9999px;width:clamp(5.4rem,17vw,7.5rem);height:clamp(5.4rem,17vw,7.5rem);font-weight:900;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff80,0 16px 38px #2dd4bf40}.preview-stage .spin-button{width:clamp(4.8rem,15vw,6.4rem);height:clamp(4.8rem,15vw,6.4rem);padding:.35rem;font-size:.9rem}.pointer{z-index:4;filter:drop-shadow(0 8px 10px #0000004d);width:0;height:0;position:absolute}.pointer-top{border-left:1.05rem solid #0000;border-right:1.05rem solid #0000;border-top:2rem solid var(--warning);top:-.35rem;left:50%;transform:translate(-50%)}.pointer-right{border-top:1.05rem solid #0000;border-bottom:1.05rem solid #0000;border-right:2rem solid var(--warning);top:50%;right:-.35rem;transform:translateY(-50%)}.pointer-bottom{border-left:1.05rem solid #0000;border-right:1.05rem solid #0000;border-bottom:2rem solid var(--warning);bottom:-.35rem;left:50%;transform:translate(-50%)}.pointer-left{border-top:1.05rem solid #0000;border-bottom:1.05rem solid #0000;border-left:2rem solid var(--warning);top:50%;left:-.35rem;transform:translateY(-50%)}.winner-strip{border:1px solid var(--border);background:var(--surface-2);border-radius:.75rem;width:100%;padding:.85rem}.winner-strip strong{margin-top:.2rem;font-size:1.35rem;display:block}.muted{color:var(--muted)}.panel{overflow:hidden}.tabs{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 72%, transparent);gap:.35rem;padding:.6rem;display:flex}.tab-button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:.65rem;padding:.65rem .9rem;font-weight:800}.tab-button.active{border-color:var(--border);background:var(--surface);color:var(--text)}.panel-body{gap:.85rem;padding:clamp(.75rem,2vw,1rem);display:grid}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.button{border:1px solid var(--border);background:var(--surface-2);min-height:2.65rem;color:var(--text);border-radius:.68rem;justify-content:center;align-items:center;padding:.62rem .9rem;font-weight:850;text-decoration:none;display:inline-flex}.button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#061117;border-color:#0000}.button.danger{border-color:color-mix(in srgb, var(--danger) 70%, var(--border));color:#fecdd3}body.theme-light .button.danger{color:#9f1239}.button.ghost{background:0 0}.segment-list{gap:.55rem;display:grid}.segment-card{border:1px solid var(--border);border-left:.35rem solid var(--segment-color,var(--accent));background:var(--surface-2);border-radius:.65rem;gap:.65rem;padding:.55rem;display:grid}.segment-card.compact{padding-block:.42rem}.segment-card.drag-over{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent)}.segment-head{justify-content:space-between;align-items:center;gap:.45rem;min-width:0;display:flex}.segment-summary{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;padding:0;display:grid}.color-swatch{border:1px solid color-mix(in srgb, var(--segment-color) 70%, white);background:var(--segment-color);border-radius:999px;width:1rem;height:1rem}.segment-copy{min-width:0;display:grid}.segment-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.segment-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.segment-quick-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface);width:2.1rem;height:2.1rem;color:var(--text);border-radius:.55rem;font-weight:900}.segment-grid,.settings-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.field{color:var(--muted);gap:.35rem;font-size:.86rem;font-weight:750;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:2.55rem;color:var(--text);border-radius:.65rem;outline:none;padding:.58rem .7rem}.field input[type=color]{min-height:2.55rem;padding:.15rem}.field input:focus,.field select:focus,.field textarea:focus,.button:focus-visible,.icon-button:focus-visible,.segment-summary:focus-visible,.spin-button:focus-visible,.tab-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:2px}.field-error{color:var(--danger);font-size:.8rem;font-weight:800}.segment-actions{flex-wrap:wrap;gap:.45rem;display:flex}.mini-button{border:1px solid var(--border);background:var(--surface);min-height:2.25rem;color:var(--text);border-radius:.55rem;padding:.4rem .62rem;font-weight:800}.mini-button.active{background:color-mix(in srgb, var(--accent) 22%, var(--surface));border-color:var(--accent)}.image-preview{border:1px solid var(--border);background:var(--surface);object-fit:cover;border-radius:.65rem;width:2.35rem;height:2.35rem}.config-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.status{min-height:1.4rem;color:var(--muted);font-size:.9rem;font-weight:750}.status.error{color:var(--danger)}.status.success{color:var(--success)}.preset-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.preset-card{border:1px solid var(--border);background:var(--surface-2);border-radius:.75rem;padding:.9rem}.preset-card h3{margin:0}.preset-card p{color:var(--muted);line-height:1.45}.modal{z-index:50;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal.hidden{display:none}.modal-backdrop{backdrop-filter:blur(4px);background:#020617b8;position:absolute;inset:0}.modal-card{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;gap:1rem;width:min(94vw,34rem);max-height:90vh;padding:1rem;display:grid;position:relative;overflow:auto;box-shadow:0 24px 60px #00000061}.modal-card h2{margin:0;font-size:clamp(1.7rem,5vw,2.4rem)}.winner-image{object-fit:cover;background:var(--surface-2);border-radius:.75rem;width:100%;max-height:18rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.confetti-piece{z-index:70;pointer-events:none;border-radius:.18rem;width:.7rem;height:1rem;animation:1.6s ease-out forwards confetti-fall;position:fixed;top:-1rem}@keyframes confetti-fall{to{transform:translate(var(--x), 105vh) rotate(760deg);opacity:0}}@media (width>=760px){.segment-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1180px){.app-layout{grid-template-columns:minmax(31rem,.9fr) minmax(34rem,1.1fr)}}@media (width<=759px){.wheel-stage{position:static}.app-title{font-size:2rem}.app-subtitle{font-size:.92rem}.segment-head{align-items:flex-start}.segment-summary{flex:12rem}.segment-quick-actions{flex:100%;justify-content:flex-start}.tabs{overflow-x:auto}.tab-button{white-space:nowrap}.app-actions,.toolbar,.button{width:100%}}