.won-wheel{--wheel-border:#bdcfce;background:#fff;border:1px solid var(--wheel-border);border-radius:1rem;padding:clamp(.75rem,2vw,2rem);color:#182a36;max-width:100%;min-width:0}
.won-wheel,.won-wheel *{box-sizing:border-box}.won-wheel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.won-wheel h2,.won-wheel h3{margin-block:.3rem 1rem}.won-wheel-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:start}.won-stage-panel{min-width:0;text-align:center}.won-stage{position:relative;width:100%;max-width:38rem;aspect-ratio:1;margin:1.25rem auto}.won-stage canvas{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 3px #e1eae9;will-change:transform}.won-pointer{position:absolute;top:-.5rem;left:50%;transform:translateX(-50%);z-index:1;width:0;height:0;border-left:.75rem solid transparent;border-right:.75rem solid transparent;border-top:1.6rem solid #182a36;filter:drop-shadow(0 2px 1px #fff)}.won-wheel button{min-height:44px;min-width:44px;font:inherit;font-weight:650;cursor:pointer;padding:.6rem .9rem;border:1px solid #086b68;border-radius:.5rem;background:#086b68;color:#fff}.won-wheel button:disabled{opacity:.5;cursor:not-allowed}.won-wheel button:focus-visible,.won-wheel input:focus-visible,.won-wheel textarea:focus-visible,.won-wheel select:focus-visible,.won-wheel summary:focus-visible{outline:3px solid #9b3c00;outline-offset:3px}.won-wheel .won-spin{width:min(100%,20rem);font-size:1.2rem;min-height:52px}.won-wheel label{font-weight:600;display:block;margin-block:.5rem .25rem}.won-wheel input,.won-wheel textarea,.won-wheel select{width:100%;min-width:0;min-height:44px;font:inherit;color:#182a36;background:#fff;border:1px solid #64777f;border-radius:.35rem;padding:.6rem}.won-wheel textarea{resize:vertical;max-height:20rem}.won-wheel fieldset{border:1px solid var(--wheel-border);border-radius:.6rem;padding:.75rem;margin:0 0 1rem;min-width:0}.won-wheel legend{font-weight:750;padding-inline:.3rem}.won-input-action{display:flex;gap:.5rem;align-items:center}.won-input-action input{flex:1}.won-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-block:.75rem}.won-entry-list{margin:1rem 0;padding:0;list-style:none;max-height:27rem;overflow:auto}.won-entry-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.4rem;align-items:center;margin-block:.4rem}.won-entry-row input[type=checkbox]{width:22px;min-height:22px;margin:auto}.won-entry-row .won-check{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0}.won-entry-row button{background:#fff;color:#086b68}.won-pages{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.won-pages span{font-size:.85rem}.won-settings summary{cursor:pointer;min-height:44px;padding:.75rem;background:#edf3f2;border-radius:.4rem;font-weight:650}.won-settings fieldset{margin-top:.75rem}.won-editor>[data-action=reset]{margin-block:1rem}.won-result{background:#eaf4ef;border:1px solid #8baf9f;border-radius:.6rem;padding:1rem;text-align:start}.won-result h3{overflow-wrap:anywhere}.won-note,.won-privacy{font-size:.875rem;color:#425760}.won-status{min-height:1.65em;overflow-wrap:anywhere}.won-error{padding:.75rem;background:#fff0ed;color:#8a2818;border:1px solid #d4a59c;border-radius:.4rem}.won-history{margin-top:1.5rem;border-top:1px solid var(--wheel-border);padding-top:1rem}.won-history ol{max-height:18rem;overflow:auto;padding-inline-start:1.5rem}.won-history li{padding:.4rem;overflow-wrap:anywhere}.won-history time{display:block;font-size:.8rem;color:#425760}.won-wheel .won-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.won-wheel [hidden]{display:none!important}.won-wheel:fullscreen{overflow:auto;max-width:none;width:100%;height:100%;border-radius:0;padding:clamp(1rem,3vw,3rem)}.won-wheel:fullscreen .won-wheel-layout{max-width:90rem;margin-inline:auto}.won-wheel:fullscreen .won-stage{max-width:min(70vh,45rem)}
@media(max-width:760px){.won-wheel-layout{grid-template-columns:minmax(0,1fr)}.won-stage{max-width:28rem}.won-wheel{padding:.75rem}.won-wheel-heading h2{font-size:1.5rem}.won-entry-row{grid-template-columns:44px minmax(0,1fr) auto}.won-entry-row button{padding:.5rem}.won-wheel:fullscreen .won-stage{max-width:28rem}}
@media(prefers-reduced-motion:reduce){.won-stage canvas{will-change:auto}}
.won-wheel-heading h2,.won-wheel-heading h3{min-width:0;max-width:100%;overflow-wrap:anywhere}
.won-stage-panel{position:relative;isolation:isolate}.won-stage{margin-block:1.75rem 1.5rem}.won-stage canvas{box-shadow:0 0 0 4px #fff,0 0 0 6px #c9d9d6,0 12px 28px #182a361a}.won-pointer{top:-.55rem;border-left:.85rem solid transparent;border-right:.85rem solid transparent;border-top:1.8rem solid #182a36;transform-origin:50% 100%;filter:drop-shadow(0 2px 1px #fff) drop-shadow(0 2px 3px #182a3640)}
.won-wheel .won-spin{box-shadow:0 4px 0 #044845;transition:background-color .15s ease,box-shadow .15s ease}.won-wheel .won-spin:hover:not(:disabled){background:#075451;box-shadow:0 4px 0 #033b39}.won-wheel .won-spin:active:not(:disabled){box-shadow:0 1px 0 #044845}.won-wheel .won-spin:disabled{opacity:1;background:#627b79;border-color:#627b79;box-shadow:none;color:#fff}.won-wheel.is-spinning .won-spin{background:#355d5b;border-color:#355d5b;box-shadow:inset 0 0 0 1px #ffffff30}.won-wheel.is-spinning .won-spin::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:currentColor;margin-inline-end:.6rem;vertical-align:middle}
.won-result{position:relative;border:1px solid #9abcb1;border-radius:1rem;padding:clamp(1rem,3vw,1.75rem);background:linear-gradient(140deg,#f3faf6,#e5f1ed);box-shadow:0 6px 18px #182a360d;min-width:0;max-width:100%;text-align:center}.won-result .won-winner-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;font-weight:750;color:#396358;margin:0 0 .5rem}.won-result .won-winner-name{font-size:clamp(1.7rem,4vw,3rem);line-height:1.12;font-weight:800;letter-spacing:-.025em;color:#143b32;margin:0 0 1.25rem;overflow-wrap:anywhere}.won-result .won-actions{justify-content:center;margin-bottom:0}.won-result [data-action=dismiss]{background:transparent;color:#086b68;border-color:transparent}.won-result:focus-visible{outline:3px solid #9b3c00;outline-offset:4px}.won-celebration{position:absolute;inset:0;width:100%;height:100%;max-width:100%;pointer-events:none;z-index:3;contain:strict}.won-wheel label.won-option{display:flex;align-items:center;gap:.7rem;min-height:44px;cursor:pointer;margin-top:1rem}.won-wheel .won-option input{width:22px;min-height:22px;flex:none;accent-color:#086b68}.won-option+.won-note{margin-top:.2rem}
@media(max-width:390px){.won-result .won-actions{flex-direction:column;align-items:stretch}.won-result .won-winner-name{font-size:1.8rem}.won-result{padding:1rem}}
@media(prefers-reduced-motion:reduce){.won-celebration{display:none!important}.won-wheel .won-spin{transition:none}}

.won-range-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.won-range-fields label{min-width:0}.won-range-fields input{width:100%;min-width:0}@media(max-width:390px){.won-range-fields{grid-template-columns:minmax(0,1fr)}}
.won-wheel .won-range-presets button{background:#fff;color:#086b68}.won-wheel .won-range-presets button:hover:not(:disabled),.won-wheel .won-range-presets button:active:not(:disabled){background:#edf3f2}.won-range-presets{max-width:100%}
/* Shared Wheel presentation only; picker/grouping cards keep their own styles. */
.won-wheel{border-color:#d4e1e4;border-radius:1.5rem;background:linear-gradient(150deg,#fff,#f5faf9);box-shadow:0 16px 48px #1633470d;padding:clamp(.85rem,2.5vw,2rem)}
.won-wheel-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.5rem)}
.won-stage{max-width:42rem;margin-block:2rem 1.75rem}.won-stage canvas{box-shadow:0 16px 32px #182a3626,0 2px 6px #182a3620;will-change:auto}.is-spinning .won-stage canvas{will-change:transform}
.won-pointer{top:-.25rem;border-left:1rem solid transparent;border-right:1rem solid transparent;border-top:2rem solid #ffcd59;filter:drop-shadow(0 -2px 0 #fff) drop-shadow(0 3px 3px #17384e70);z-index:2}
.won-wheel .won-center-spin{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:clamp(3.75rem,16%,6rem);aspect-ratio:1;border-radius:50%;padding:.35rem;background:#fff;color:#153c4e;border:4px solid #eef6f5;box-shadow:0 3px 12px #102d4550;font-size:clamp(.85rem,2vw,1.2rem);line-height:1.1;z-index:2;overflow-wrap:anywhere}
.won-wheel .won-center-spin:hover:not(:disabled){background:#e5faf4;box-shadow:0 4px 18px #102d4560}.won-wheel .won-center-spin:active:not(:disabled){transform:translate(-50%,-50%) scale(.96)}
.won-wheel button:not(.won-spin):not(.won-center-spin){background:#fff;color:#125c60;border-color:#c3d8d8;box-shadow:0 1px 2px #17384e0a}.won-wheel button:not(.won-spin):not(.won-center-spin):hover:not(:disabled){background:#e7f5f1;border-color:#6fa49d}.won-wheel .won-spin{border-radius:999px;font-size:1.25rem;min-height:56px;background:#096f70;box-shadow:0 5px 0 #064c50,0 8px 18px #096f7026}.won-sound-toggle{display:block;margin:.85rem auto 0;font-size:.9rem!important}
.won-editor fieldset{background:#fff;border-color:#d4e1e4;border-radius:1rem;padding:1rem}.won-wheel input,.won-wheel textarea,.won-wheel select{border-color:#b4c9ce;border-radius:.6rem}.won-entry-row{gap:.5rem;background:#f3f8f7;padding:.25rem;border-radius:.7rem;margin-block:.55rem}.won-entry-row.is-excluded{background:#eef0f2}.won-entry-row.is-excluded input[type=text]{color:#65757d;background:#f4f5f6}.won-entry-list{scrollbar-width:thin;scrollbar-color:#aac5c2 transparent;scrollbar-gutter:stable}.won-entry-list:empty::after{content:'Add your first choice above, or paste a list below.';display:block;padding:1.2rem;color:#425760;text-align:center}.won-settings summary{border:1px solid #d4e1e4;border-radius:.7rem;background:#fff}
.won-result-dialog{width:min(92vw,36rem);max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 2rem);border:0;border-radius:1.5rem;padding:0;overflow:auto;background:#f4faf8;color:#182a36;box-shadow:0 24px 80px #122a4550}.won-result-dialog::backdrop{background:#102c4973;backdrop-filter:blur(3px)}.won-result-dialog .won-result{border:0;padding:clamp(1.3rem,5vw,2.5rem);box-shadow:none;background:radial-gradient(ellipse at top,#e0f5ed,#fff 70%);position:relative}.won-result-dialog .won-celebration{z-index:2}.won-result .won-actions{position:relative;z-index:3;gap:.7rem}.won-result-symbol{display:block;font-size:clamp(2.6rem,9vw,4rem);line-height:1.2;margin-bottom:.6rem}.won-result .won-winner-name{font-size:clamp(2rem,7vw,4rem);color:#123d4b;margin-block:.75rem 1.5rem}.won-result-dialog[open]{animation:won-result-in .22s ease-out}.won-result-dialog [data-action=spin-again]{background:#096f70!important;color:#fff!important;border-color:#096f70!important}
@keyframes won-result-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.won-wheel:fullscreen{background:#f3f8f7}.won-wheel:fullscreen .won-stage{max-width:min(72vh,48rem)}
@media(max-width:760px){.won-wheel-layout{grid-template-columns:minmax(0,1fr)}.won-stage{max-width:34rem}.won-wheel{border-radius:1rem}.won-result-dialog{width:calc(100vw - 1.5rem)}.won-wheel:fullscreen .won-stage{max-width:min(78vw,62vh)}}
@media(max-width:390px){.won-result .won-actions{flex-direction:column;align-items:stretch}.won-result .won-winner-name{font-size:2rem}.won-wheel .won-center-spin{font-size:.85rem}.won-input-action{align-items:stretch}.won-input-action button{padding-inline:.7rem}}
@media(prefers-reduced-motion:reduce){.won-result-dialog[open]{animation:none}.won-wheel .won-center-spin:active:not(:disabled){transform:translate(-50%,-50%)}.won-stage canvas{will-change:auto!important}}
.won-entry-row.has-symbol{grid-template-columns:36px 28px minmax(0,1fr) auto}.won-entry-symbol{font-size:1.25rem;text-align:center;line-height:1}.won-entry-row.has-symbol .won-check{width:36px}@media(max-width:390px){.won-entry-row.has-symbol{grid-template-columns:32px 22px minmax(0,1fr) auto;gap:.25rem}.won-entry-row.has-symbol .won-check{width:32px}.won-entry-symbol{font-size:1.05rem}}

/* Fix: winner popup must overlay the screen centre (mobile opens it non-modally, so it used to land below the tool) */
.won-result-dialog[open]:not(:modal){position:fixed;inset:0;margin:auto;height:fit-content;z-index:100000;box-shadow:0 0 0 100vmax #102c4973,0 24px 80px #122a4550}
