/* Isolated overlay: no selectors alter the game shell, page fonts or chat. */
.wheel-launcher{position:fixed;left:18px;bottom:18px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--wheel-border,#dedbd5);background:var(--wheel-bg,#fff);color:#ff5b13;box-shadow:0 6px 25px #0002;z-index:35;cursor:pointer}.wheel-launcher svg{width:36px;height:36px}.wheel-launcher[hidden]{display:none}
#wheel-overlay{--wheel-bg:#fff;--wheel-field:#faf9f7;--wheel-border:#e9e5df;--wheel-text:#202125;--wheel-muted:#7d828c;--wheel-green:#139c53;color:var(--wheel-text);background:var(--wheel-bg);border:1px solid var(--wheel-border);padding:0;border-radius:20px;width:min(1080px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;box-shadow:0 30px 90px #0005;font-family:inherit;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--wheel-border) transparent}
:root[data-theme=dark] #wheel-overlay,:root[data-theme=dark] .wheel-launcher{--wheel-bg:#191e24;--wheel-field:#1b2027;--wheel-border:#303842;--wheel-text:#eceef2;--wheel-muted:#acb6c6;--wheel-green:#3bdc78}
#wheel-overlay::backdrop{background:rgb(4 8 12 / .48)}
#wheel-overlay *{box-sizing:border-box}#wheel-overlay button,#wheel-overlay input,#wheel-overlay select{font:inherit}#wheel-overlay button{cursor:pointer}#wheel-overlay button:disabled{cursor:default;opacity:.55}#wheel-overlay :focus-visible{outline:2px solid #ff782d;outline-offset:4px}#wheel-overlay [hidden]{display:none!important}
.wheel-shell{padding:26px 35px 0;min-height:650px;display:flex;flex-direction:column}
.wheel-header{display:flex;align-items:center;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--wheel-border);flex:none}
.wheel-brand-icon{width:66px;height:66px;display:grid;place-items:center;color:#ff5b13;border:4px solid currentColor;border-radius:50%;flex:none}.wheel-brand-icon svg{width:43px;height:43px}
.wheel-header-text{min-width:0;flex:1}.wheel-header h2{font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-.8px;margin:0 0 6px;overflow-wrap:anywhere}.wheel-subtitle{font-size:16px;color:var(--wheel-muted);margin:0}
.wheel-status{display:flex;align-items:center;gap:9px;font-size:14px;white-space:nowrap;color:var(--wheel-green)}.wheel-status::before{content:"";width:10px;height:10px;background:currentColor;border-radius:50%}.wheel-status.is-drawing{color:#ff6a20}.wheel-status.is-muted{color:var(--wheel-muted)}
.wheel-close{width:32px;height:40px;display:grid;place-items:center;border:0;color:var(--wheel-muted);background:none;padding:3px;margin-left:10px;flex:none}.wheel-close svg{width:28px;height:28px}
.wheel-main{flex:1;min-height:0}.wheel-summary{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;font-size:18px;margin:13px 0 18px;line-height:1.5}.wheel-summary b{font-weight:650}.wheel-summary i{font-style:normal;color:var(--wheel-muted)}
.wheel-conditions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 auto;max-width:840px}.wheel-condition{border:1px solid var(--wheel-border);border-radius:12px;display:flex;align-items:center;gap:16px;min-height:66px;padding:12px 23px;font-size:16px;max-width:100%;text-align:left;background:var(--wheel-field)}.wheel-condition>svg{width:29px;height:29px;flex:none}.wheel-condition b{display:block;font-weight:600}.wheel-condition small{display:block;color:var(--wheel-muted);margin-top:2px;font-size:14px}.wheel-check{display:grid;place-items:center;background:var(--wheel-green);color:#fff;border-radius:50%;width:26px;height:26px;margin-left:18px;flex:none}.wheel-check svg{width:16px;height:16px}.wheel-check.is-missing{background:none;border:1px solid var(--wheel-border);color:var(--wheel-muted)}
.wheel-enrollment{text-align:center}.wheel-countdown{margin:28px 0 12px}.wheel-countdown p{font-size:16px;color:var(--wheel-muted);margin:0 0 4px}.wheel-clock{display:flex;justify-content:center;align-items:center;gap:20px;color:#ff5b13;font-size:60px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-1px}.wheel-clock svg{width:52px;height:52px;flex:none}
.wheel-count{font-size:16px;color:var(--wheel-muted);margin:14px 0 12px}.wheel-avatars{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:620px;margin:0 auto;min-height:60px}.wheel-avatars .avatar{--a:56px;width:56px;height:56px;flex:none;border:2px solid var(--wheel-border);box-shadow:none}.wheel-avatars .avatar.is-own{border-color:#ff6b26}.wheel-avatar-more{border:1px solid var(--wheel-border);width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--wheel-field);font-size:15px;color:var(--wheel-muted);flex:none}
.wheel-empty-people{color:var(--wheel-muted);font-size:14px;padding:10px}.wheel-eligibility{font-size:16px;display:flex;justify-content:center;align-items:center;gap:10px;margin:25px 0 17px;min-height:24px;color:var(--wheel-green)}.wheel-eligibility .wheel-check{width:20px;height:20px;margin:0}.wheel-eligibility.is-unmet{color:var(--wheel-muted)}
.wheel-primary{border:0;border-radius:12px;background:linear-gradient(110deg,#ff4d05,#ff681d);color:#fff;height:54px;width:min(512px,100%);font-size:18px!important;font-weight:650!important;display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto;transition:filter .15s,transform .15s}.wheel-primary:hover:not(:disabled){filter:brightness(1.06)}.wheel-primary:active:not(:disabled){transform:translateY(1px)}.wheel-primary.is-joined{background:var(--wheel-field);color:var(--wheel-green);border:1px solid var(--wheel-border)}.wheel-primary svg{width:21px;height:21px}
.wheel-entry-note{margin:10px 0 15px;color:var(--wheel-muted);font-size:14px;text-align:center}.wheel-footer{border-top:1px solid var(--wheel-border);margin-top:0;min-height:50px;display:flex;justify-content:flex-end;align-items:center;color:var(--wheel-muted);font-size:12px;gap:12px;flex:none}.wheel-footer svg{width:22px;height:22px}.wheel-footer button{border:0;background:none;color:var(--wheel-muted);font-size:12px;display:flex;align-items:center;gap:8px;padding:10px 0}.wheel-footer button:hover{color:#ff6a20}
.wheel-secondary{border:1px solid var(--wheel-border);background:var(--wheel-field);color:var(--wheel-text);border-radius:10px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.wheel-secondary svg{width:17px;height:17px}.wheel-text-button{border:0;background:none;color:#ff6a20;padding:8px}.wheel-list-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 0;color:var(--wheel-muted)}.wheel-list-row{border-top:1px solid var(--wheel-border);display:flex;align-items:center;gap:14px;padding:20px 0}.wheel-list-row>div{flex:1;min-width:0}.wheel-list-row b{display:block;font-size:17px;overflow-wrap:anywhere}.wheel-list-row small{display:block;color:var(--wheel-muted);margin-top:6px}.wheel-list-row .wheel-secondary{white-space:nowrap}.wheel-list-empty{padding:75px 15px;text-align:center;color:var(--wheel-muted);line-height:1.7}
.wheel-form{max-width:700px;margin:24px auto;display:grid;gap:16px}.wheel-form label{display:block;font-size:14px;color:var(--wheel-muted)}.wheel-form input,.wheel-form select{width:100%;border:1px solid var(--wheel-border);border-radius:10px;background:var(--wheel-field);color:var(--wheel-text);min-width:0;height:46px;padding:10px 14px;margin-top:7px;font-size:16px;outline-offset:2px}.wheel-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wheel-form .wheel-primary{margin:7px auto 0}.wheel-form-note{text-align:center;color:var(--wheel-muted);font-size:13px;line-height:1.5;margin:0}
.wheel-loading{padding:135px 0;text-align:center;color:var(--wheel-muted)}
.wheel-draw-heading{text-align:center;margin:22px 0;font-size:18px}.wheel-reel{height:174px;position:relative;overflow:hidden;margin:20px 0 26px;border:1px solid var(--wheel-border);border-radius:16px;background:var(--wheel-field);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.wheel-reel-track{display:flex;align-items:center;gap:10px;height:100%;width:max-content;will-change:transform}.wheel-reel-card{width:112px;height:124px;flex:none;border-radius:13px;border:1px solid var(--wheel-border);background:var(--wheel-bg);display:grid;place-items:center;position:relative}.wheel-reel-card .avatar{--a:96px;width:96px;height:108px;border-radius:9px;border:0}.wheel-reel-card.is-target{border:2px solid #ff651b;box-shadow:0 0 18px #ff651b30}.wheel-reel-wrap{position:relative}.wheel-reel-wrap::before{content:"";position:absolute;z-index:1;left:50%;top:-3px;transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:16px solid #ff6019}
.wheel-winners{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 24px;max-height:220px;overflow:auto}.wheel-winner{display:flex;align-items:center;gap:10px;border:1px solid var(--wheel-border);border-radius:11px;padding:12px;min-width:0;font-size:12px;background:var(--wheel-field)}.wheel-winner .avatar{--a:36px;width:36px;height:36px;flex:none}.wheel-winner>div{min-width:0}.wheel-winner b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wheel-winner small{display:block;margin-top:4px;color:var(--wheel-muted)}.wheel-winner.is-pending{color:var(--wheel-muted)}.wheel-winner.is-current{border-color:#ff651b}.wheel-result{text-align:center;padding:25px 0 16px}.wheel-result strong{display:block;font-size:32px;margin:10px 0;color:var(--wheel-green)}.wheel-result p{color:var(--wheel-muted)}
@media(max-width:800px){#wheel-overlay{width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border-radius:18px}.wheel-shell{padding:22px 22px 0;min-height:620px}.wheel-header{gap:15px}.wheel-header h2{font-size:26px}.wheel-brand-icon{width:54px;height:54px;border-width:3px}.wheel-brand-icon svg{width:35px;height:35px}.wheel-status{font-size:12px}.wheel-subtitle{font-size:13px}.wheel-condition{padding:10px 14px;font-size:14px;gap:10px}.wheel-condition small{font-size:12px}.wheel-winners{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.wheel-launcher{left:12px;bottom:185px;width:46px;height:46px}.wheel-launcher svg{width:30px;height:30px}#wheel-overlay{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.wheel-shell{padding:18px 16px 0;min-height:0}.wheel-header{gap:11px;position:relative;padding-bottom:14px;align-items:flex-start}.wheel-header h2{font-size:21px;letter-spacing:-.4px;margin-top:1px;padding-right:25px}.wheel-brand-icon{width:42px;height:42px;border-width:2px}.wheel-brand-icon svg{width:29px;height:29px}.wheel-subtitle{font-size:11px}.wheel-status{font-size:11px;margin-top:7px;gap:6px}.wheel-status::before{width:6px;height:6px}.wheel-header>.wheel-status{position:absolute;left:53px;top:48px;margin:0}.wheel-header{padding-bottom:32px}.wheel-close{position:absolute;right:-5px;top:-7px;margin:0;width:27px}.wheel-close svg{width:23px;height:23px}.wheel-summary{font-size:13px;gap:9px;margin:12px 0 14px}.wheel-conditions{gap:8px}.wheel-condition{padding:9px 10px;gap:9px;min-height:50px;flex:1;font-size:12px;min-width:130px}.wheel-condition>svg{width:22px;height:22px}.wheel-check{width:20px;height:20px;margin-left:auto}.wheel-condition small{font-size:11px}.wheel-countdown{margin:23px 0 8px}.wheel-countdown p{font-size:13px}.wheel-clock{font-size:46px;gap:12px}.wheel-clock svg{width:37px;height:37px}.wheel-count{font-size:13px;margin:14px 0 9px}.wheel-avatars{gap:5px;min-height:42px}.wheel-avatars .avatar,.wheel-avatar-more{--a:40px;width:40px;height:40px;font-size:12px}.wheel-eligibility{font-size:12px;gap:7px;margin:21px 0 13px;line-height:1.5}.wheel-primary{height:48px;font-size:16px!important}.wheel-entry-note{font-size:11px;margin-bottom:19px}.wheel-footer{min-height:43px;font-size:10px;gap:7px}.wheel-footer svg{width:17px;height:17px}.wheel-footer button{font-size:10px}.wheel-form{gap:13px;margin:18px 0}.wheel-form-pair{gap:10px}.wheel-form label{font-size:12px}.wheel-list-row{gap:8px;flex-wrap:wrap}.wheel-list-row .wheel-secondary{font-size:12px}.wheel-winners{grid-template-columns:repeat(2,minmax(0,1fr));max-height:210px}.wheel-draw-heading{font-size:15px}.wheel-reel{height:142px}.wheel-reel-card{width:92px;height:104px}.wheel-reel-card .avatar{width:80px;height:92px}.wheel-list-toolbar{font-size:12px}.wheel-list-toolbar .wheel-secondary{font-size:12px}}
@media(prefers-reduced-motion:reduce){#wheel-overlay *, .wheel-launcher{animation:none!important;transition:none!important}}
#wheel-overlay::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
#wheel-overlay .wheel-primary.is-joined:disabled{opacity:1}
.wheel-avatars{overflow:hidden}
.wheel-eligibility>svg{width:20px;height:20px;flex:none}
/* The participant view ends with its action, without a utility footer. */
.wheel-enrollment{padding-bottom:24px}
.wheel-share-button{margin-top:24px}
.wheel-share-link{display:block;text-align:center;color:var(--wheel-muted);font-size:13px;margin:10px auto 0;max-width:512px}
.wheel-share-row{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.wheel-share-row a{color:inherit;text-decoration:none;min-width:0;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.wheel-share-row a:hover{color:var(--wheel-text)}
.wheel-copy-link{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:8px;background:none;color:var(--wheel-muted);padding:8px}
.wheel-copy-link svg{width:18px;height:18px}
.wheel-copy-link:hover{color:#ff651b;background:var(--wheel-field)}
@media(pointer:coarse){.wheel-copy-link{width:44px;height:44px}.wheel-share-row a{max-width:calc(100% - 48px)}}
.wheel-share-link input{display:block;width:100%;min-width:0;border:1px solid var(--wheel-border);border-radius:9px;background:var(--wheel-field);color:var(--wheel-text);font:inherit;padding:11px;margin-top:7px}
