.vw{--cyan:#00ffe1;box-sizing:border-box;color:#fff;background:#020b09;min-height:85vh;padding:clamp(12px,3vw,40px);font-family:Arial,sans-serif}.vw *{box-sizing:border-box}.vw-panel{max-width:1080px;margin:auto;border:1px solid #168e80;border-radius:24px;padding:clamp(18px,4vw,44px);background:linear-gradient(145deg,#09231e,#040807);box-shadow:0 0 50px #00ffe114}.vw-brand{color:var(--cyan);font-weight:900;font-size:25px;letter-spacing:.15em;margin-bottom:30px}.vw-brand span{color:#fff;font-size:12px;letter-spacing:.1em}.vw h2{font-size:clamp(27px,4vw,46px);line-height:1.2}.vw h3{margin-top:35px}.vw input:not([type=checkbox]){display:block;width:100%;padding:15px;margin:12px 0;border:1px solid #247a6d;border-radius:8px;background:#071510;color:white;font:inherit}.vw button{cursor:pointer;background:var(--cyan);color:#00130e;border:0;border-radius:8px;padding:14px 20px;font-weight:800;margin:6px 5px 6px 0}.vw button:disabled{opacity:.5;cursor:wait}.vw .vw-danger{background:#6c1b29;color:white}.vw-check{display:flex;gap:12px;align-items:start;line-height:1.5;margin:20px 0}.vw-check input{accent-color:var(--cyan);margin-top:5px}.vw-prize{font-size:clamp(24px,5vw,52px);font-weight:900;color:var(--cyan)}.vw-person{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px;border-bottom:1px solid #185449;flex-wrap:wrap}.vw-person small{color:#b3c9c3}.vw-tv{min-height:100vh;text-align:center}.vw-tv .vw-panel{max-width:none;min-height:90vh}.vw-wheel{position:relative;width:min(66vh,75vw,650px);aspect-ratio:1;margin:0 auto 30px}.vw-disc{width:100%;height:100%;border-radius:50%;border:12px solid #a6fff3;position:relative;box-shadow:0 0 50px #00ffe180;overflow:hidden}.vw-disc span{position:absolute;top:13%;left:50%;width:38%;transform-origin:0 200%;transform:rotate(calc(var(--i)*360deg/var(--n) + 30deg));font-weight:900;font-size:clamp(10px,1.5vw,20px);color:#fff;text-shadow:0 1px 4px #000}.vw-hub{position:absolute;inset:38%;display:grid;place-items:center;background:#001410;border:5px solid #00ffe1;border-radius:50%;font-weight:900;color:#00ffe1;pointer-events:none}.vw-pointer{position:absolute;z-index:2;top:-24px;left:calc(50% - 18px);font-size:40px;color:white}.vw-rotating{animation:vwspin 4.5s cubic-bezier(.13,.75,.18,1) both}@keyframes vwspin{from{transform:rotate(0)}to{transform:rotate(1800deg)}}.vw-tv-status{font-size:clamp(18px,3vw,38px);font-weight:900;color:#00ffe1}@media(max-width:600px){.vw{min-height:100dvh;padding:8px}.vw-panel{padding:20px 14px;border-radius:14px}.vw-brand{font-size:20px}.vw-person button{padding:10px}}

/* v1.1: Sector labels are positioned at the geometric center of each slice. */
.vw-disc .vw-sector-label{position:absolute;top:50%;left:50%;width:35%;height:auto;transform-origin:0 50%;transform:rotate(calc((var(--i) + .5)*360deg/var(--n) - 90deg)) translateX(11%);display:flex;align-items:center;justify-content:center;margin:0;padding:0;pointer-events:none;white-space:normal;text-align:center;font-size:clamp(10px,1.35vw,19px);line-height:1.15;font-weight:800;color:#fff;text-shadow:0 2px 5px #001a16,0 0 3px #001a16;overflow:visible}
.vw-disc .vw-sector-label>span{display:block;max-width:100%;overflow-wrap:normal;hyphens:auto;transform:rotate(calc(90deg - (var(--i) + .5)*360deg/var(--n)));}
@media(max-width:600px){.vw-disc .vw-sector-label{font-size:clamp(9px,2.4vw,14px);width:34%}}
/* v1.2 fullscreen, player flow */
.vw{position:relative!important;width:100vw!important;max-width:none!important;min-height:100dvh!important;margin:0!important;margin-left:calc(50% - 50vw)!important;padding:clamp(14px,3vw,36px)!important;background:radial-gradient(ellipse at 50% 0,#07342d,#020a08 65%)!important;font-family:Arial,Helvetica,sans-serif!important;overflow-x:hidden}.vw .vw-panel{width:100%;max-width:1280px;min-height:calc(100dvh - 72px);margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.vw .vw-content{width:100%;max-width:900px;margin:0 auto}.vw .vw-player-head{text-align:center}.vw-logo{display:block;max-width:min(260px,70vw);max-height:115px;width:auto;height:auto;object-fit:contain;margin:0 auto 22px}.vw-player .vw-brand{background:#00ffe1;color:#001611;text-align:center;max-width:900px;width:100%;margin:0 auto 28px;padding:12px 20px;border-radius:9px;font-size:clamp(17px,3vw,28px);letter-spacing:.09em}.vw-reg h2{font-size:clamp(26px,4vw,43px);margin:0 0 10px}.vw-reg>p{font-size:clamp(17px,2vw,22px);margin-bottom:28px}.vw-reg form>label:not(.vw-check){display:block;font-weight:700;margin:15px 0}.vw-reg input:not([type=checkbox]){margin:8px 0 0;min-height:52px}.vw .vw-main{display:block;width:100%;font-size:clamp(16px,2vw,21px);padding:18px}.vw .vw-note{font-size:clamp(13px,1.5vw,16px);line-height:1.55;color:#d5e6e2;margin:12px 0}.vw-center{text-align:center}.vw-center h2{font-size:clamp(25px,4vw,44px);line-height:1.2}.vw-center p{font-size:clamp(16px,2.1vw,22px);line-height:1.55}.vw-ticket{border:1px solid #00ffe1;background:#043a33;border-radius:16px;padding:16px;margin:26px auto;font-size:clamp(20px,3vw,30px);width:fit-content}.vw-ticket strong{color:#00ffe1;font-size:1.4em}.vw-small{font-size:clamp(14px,1.6vw,17px)!important;color:#d0e4de}.vw .vw-spin-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(210px,31vw,310px);height:clamp(210px,31vw,310px);border-radius:50%;margin:30px auto;font-size:clamp(24px,3vw,35px);font-weight:900;box-shadow:0 0 22px #00ffe1b3,0 0 65px #00ffe155;animation:vwPulse 1.8s ease-in-out infinite}.vw-spin-btn span{font-size:clamp(11px,1.3vw,14px);font-weight:600;margin-top:12px;max-width:85%;line-height:1.4}.vw .vw-spin-btn:disabled,.vw .vw-spin-wait{animation:none;opacity:.4;box-shadow:none;cursor:wait}@keyframes vwPulse{50%{box-shadow:0 0 36px #00ffe1dd,0 0 85px #00ffe17a;transform:scale(1.025)}}.vw .vw-prize{border:1px solid #00ffe1;border-radius:20px;padding:24px 16px;margin:20px auto 35px;background:radial-gradient(ellipse at center,#06554a,#031510);box-shadow:inset 0 0 40px #00ffe12a,0 0 25px #00ffe125}.vw .vw-slot{margin:8px;padding:14px 22px}.vw-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:#000c;padding:18px}.vw-modal-card{max-width:560px;width:100%;background:#051713;border:1px solid #00ffe1;border-radius:20px;padding:30px;box-shadow:0 0 50px #00ffe155;text-align:center}.vw-tv .vw-panel{max-width:none;min-height:calc(100dvh - 72px)}.vw-tv .vw-wheel{width:min(64dvh,78vw,650px)}.vw-hub .vw-logo{max-width:80%;max-height:75%;margin:0}.vw-admin .vw-panel{max-width:1500px;justify-content:flex-start}.vw-admin .vw-content{max-width:1350px}.vw-admin .vw-brand{margin-bottom:18px}@media(max-width:650px){.vw{padding:8px!important}.vw .vw-panel{min-height:calc(100dvh - 16px);padding:20px 14px}.vw-player .vw-brand{padding:12px 6px}.vw .vw-logo{max-height:80px}.vw-reg>p{margin-bottom:16px}.vw .vw-wheel{width:min(82vw,55dvh)}.vw-admin .vw-person{align-items:flex-start}.vw .vw-spin-btn{width:220px;height:220px}.vw .vw-prize{font-size:clamp(23px,7vw,42px)}}
/* v1.7: responsive cards and coordination */
.vw-slot-panel,.vw-admin-status{border:1px solid #00ffe1;border-radius:18px;padding:22px;margin:22px 0;background:linear-gradient(145deg,#06251f,#07110f);box-shadow:0 0 24px #00ffe119}.vw-slot-panel .vw-slot{display:block;width:100%;margin:10px 0;padding:16px;border:1px solid #00ffe1;border-radius:12px;background:#0c2420;color:#fff;font-weight:700;text-align:left}.vw-slot-panel .vw-slot:hover{background:#00ffe1;color:#04110f}.vw-slot-panel .vw-coordination{border-color:#ffe14c;color:#ffe14c}.vw-person-card{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:20px;margin:16px 0;border:1px solid #23665b;border-radius:16px;background:#0b1b18}.vw-person-card h3{margin:0 0 12px}.vw-person-card p{line-height:1.8}.vw-card-actions{display:flex;flex-wrap:wrap;align-content:center;gap:8px}.vw-person-green{border:2px solid #22e47b;background:#0b2b1b}.vw-person-red{border:2px solid #ff5050;background:#321515}.vw-person-yellow{border:2px solid #ffdc35;background:#302b08;animation:vw-yellow-pulse 1.5s infinite}.vw-person-active{border:2px solid #20ff8a;animation:vw-active-pulse 1.5s infinite}@keyframes vw-yellow-pulse{50%{box-shadow:0 0 22px #ffdc35a0}}@keyframes vw-active-pulse{50%{box-shadow:0 0 25px #20ff8aa0}}.vw-edit{max-height:90vh;overflow:auto}.vw-edit label{display:block;margin:8px 0}.vw-edit input,.vw-edit textarea,#vw-search{display:block;width:100%;max-width:100%;padding:12px;border-radius:8px;margin:6px 0 12px}.vw-edit textarea{min-height:90px}.vw-admin #vw-add-slot{display:flex;flex-wrap:wrap;gap:12px}.vw-admin #vw-add-slot label{flex:1 1 170px}.vw-admin #vw-add-slot input{width:100%}@media(max-width:650px){.vw-person-card{display:block}.vw-card-actions{margin-top:12px}.vw-slot-panel,.vw-admin-status{padding:14px}}
/* v1.9 */
.vw-admin-head{text-align:center;margin:0 auto 28px}.vw-admin-logo .vw-logo{display:block;max-height:115px;max-width:min(80%,360px);object-fit:contain;margin:0 auto 18px}.vw-admin-logo strong{color:#00ffe1;font-size:clamp(28px,4vw,48px);letter-spacing:.2em}.vw-admin-title{display:inline-block;background:#00ffe1;color:#06120f;border-radius:12px;padding:14px 35px;font-weight:900;letter-spacing:.12em;font-size:clamp(20px,3vw,34px)}.vw-admin #vw-search{position:relative;z-index:2}.vw-person-card[hidden]{display:none!important}.vw-list{display:flex;flex-direction:column}.vw-slot-panel{margin-top:25px;padding:clamp(16px,3vw,32px);text-align:left}.vw-slot-panel h3{color:#00ffe1;font-size:clamp(21px,3vw,30px);margin:0 0 10px}.vw-slot-panel .vw-slot{position:relative;padding:20px 24px 20px 56px!important;min-height:68px;background:linear-gradient(105deg,#102e29,#061511)!important;box-shadow:inset 0 0 18px #00ffe112;transition:transform .18s,box-shadow .18s}.vw-slot-panel .vw-slot:before{content:'◷';position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#00ffe1;font-size:24px}.vw-slot-panel .vw-slot:hover{transform:translateY(-2px);box-shadow:0 0 22px #00ffe145}.vw-slot-panel .vw-coordination{border-color:#ffdc35!important;color:#ffdc35!important}.vw-slot-panel .vw-coordination:before{content:'✦';color:#ffdc35}.vw-admin input[type=datetime-local]{color-scheme:dark;font-variant-numeric:tabular-nums}

.vw-login{min-height:100vh;display:grid;place-items:center;background:#061410;color:white}.vw-login .vw-panel{width:min(92vw,540px);padding:36px;border:1px solid #00ffe1;border-radius:24px}.vw-login label{display:block;margin:16px 0}.vw-login input{display:block;width:100%;margin-top:8px;padding:14px}.vw-login .vw-logo{max-width:260px;max-height:110px;object-fit:contain;display:block;margin:0 auto 24px}.vw-export{display:inline-block;padding:13px 20px;margin:8px 0 20px;border:1px solid #00ffe1;border-radius:10px;color:#00ffe1!important;text-decoration:none}.vw-admin-status button:disabled{opacity:.4;cursor:not-allowed}

/* v2.1: Isolated, full-screen coordinator login; works inside Elementor/theme wrappers. */
.vw.vw-login{position:relative;isolation:isolate;min-height:100svh;width:100%;max-width:none;margin:0;display:flex;align-items:center;justify-content:center;padding:clamp(18px,5vw,65px);background:radial-gradient(ellipse at 50% 15%,#0b3930 0%,#071b17 44%,#020a08 100%);color:#fff;font-family:Arial,sans-serif;}
.vw-login .vw-login-card{width:min(100%,510px);padding:clamp(22px,5vw,44px);background:linear-gradient(145deg,#0d2822,#06110f);border:1px solid #00ffe188;border-radius:25px;box-shadow:0 0 70px #00ffe118,0 22px 65px #0008;text-align:left;}
.vw-login .vw-login-identity{height:95px;display:flex;justify-content:center;align-items:center;margin-bottom:17px;overflow:hidden;}
.vw-login .vw-login-logo{display:block;max-width:min(100%,260px);width:auto;height:auto;max-height:88px;object-fit:contain;}
.vw-login .vw-login-wordmark{font-size:clamp(38px,8vw,64px);font-weight:900;letter-spacing:.17em;color:#00ffe1;}
.vw-login .vw-login-heading{background:#00ffe1;color:#001b15;border-radius:9px;text-align:center;padding:13px 8px;font-weight:900;letter-spacing:.13em;font-size:clamp(16px,3vw,22px);margin-bottom:28px;}
.vw-login .vw-login-card h2{color:#fff;font-size:clamp(24px,4vw,32px);margin:0 0 8px;line-height:1.2;}
.vw-login .vw-login-intro{color:#b9d0ca;margin:0 0 24px;font-size:15px;}
.vw-login .vw-login-form{display:flex;flex-direction:column;gap:0;max-width:100%;}
.vw-login .vw-login-form label{display:block;color:#fff;font-size:14px;font-weight:700;margin:12px 0 6px;}
.vw-login .vw-login-form input:not([type=hidden]){display:block;width:100%;height:50px;margin:0!important;padding:12px 15px;border:1px solid #247b6d;border-radius:9px;background:#05130f!important;color:#fff!important;font-size:16px;box-shadow:none;}
.vw-login .vw-login-form input:focus{outline:2px solid #00ffe1;outline-offset:1px;}
.vw-login .vw-password-row{position:relative;display:flex;align-items:center;}
.vw-login .vw-password-row input{padding-right:92px!important;}
.vw-login .vw-password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);padding:8px 10px!important;background:transparent!important;color:#00ffe1!important;border:0!important;font-size:13px;margin:0!important;}
.vw-login .vw-login-submit{display:block;width:100%;min-height:52px;margin:27px 0 0!important;background:#00ffe1!important;color:#001810!important;border-radius:9px!important;font-size:16px;font-weight:900;letter-spacing:.06em;box-shadow:0 0 24px #00ffe144;}
.vw-login .vw-login-submit:hover{box-shadow:0 0 32px #00ffe177;}
.vw-login .vw-login-error{border:1px solid #ff6677;background:#541a23;color:#fff;padding:12px;border-radius:8px;}
@media(max-width:600px){.vw.vw-login{padding:15px;min-height:100svh}.vw-login .vw-login-card{padding:22px 18px}.vw-login .vw-login-identity{height:75px}}
/* v2.2: full-screen television layout */
.vw.vw-tv{isolation:isolate;background:#020b09!important;overflow:hidden!important;padding:clamp(8px,1.1vw,20px)!important}.vw-tv .vw-panel{position:relative;z-index:1;max-width:none!important;width:100%;min-height:calc(100dvh - 24px);padding:clamp(8px,1vw,18px);background:linear-gradient(130deg,#051713e8,#061b16e0)!important}.vw-tv-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(14px,2vw,38px);width:100%;height:100%;min-height:calc(100dvh - 70px)}.vw-tv-left,.vw-tv-right{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,1.4vh,20px)}.vw-tv-left{align-items:stretch}.vw-tv .vw-wheel{width:min(100%,78dvh,930px)!important;max-width:100%;margin:0 auto!important}.vw-tv .vw-disc{border-width:clamp(6px,.9vw,14px)}.vw-tv-info{width:100%;padding:clamp(12px,1.5vw,24px);border:1px solid #00ffe1;border-radius:17px;background:#061c18e8;box-shadow:0 0 28px #00ffe12a}.vw-tv .vw-tv-status{font-size:clamp(17px,2.2vw,36px);line-height:1.25;text-align:center}.vw-tv-identity{height:clamp(58px,12vh,130px);display:grid;place-items:center}.vw-tv-logo{max-width:min(100%,380px);max-height:100%;object-fit:contain}.vw-tv-wordmark{font-size:clamp(38px,5vw,85px);letter-spacing:.16em;color:#00ffe1}.vw-tv-headline{margin:0!important;font-size:clamp(27px,4.1vw,76px)!important;font-weight:950;line-height:1.15;letter-spacing:.045em;color:#00ffe1;text-shadow:0 0 8px #00ffe1a0,0 0 25px #00ffe17a;animation:vwHeadlineGlow 2.5s linear infinite alternate;text-align:center}@keyframes vwHeadlineGlow{to{text-shadow:0 0 3px #fff,0 0 14px #00ffe1,0 0 35px #00ffe1,2px 0 2px #fff}}.vw-tv-qr-wrap{width:min(30vh,24vw,320px);aspect-ratio:1;background:white;padding:clamp(8px,1vw,15px);border-radius:15px;box-shadow:0 0 34px #00ffe177;display:grid;place-items:center}.vw-tv-qr{width:100%;height:100%;object-fit:contain}.vw-tv-qr-placeholder{color:#122a24;font-size:clamp(12px,1vw,17px)}.vw-tv-steps{display:flex;gap:clamp(8px,1vw,20px);justify-content:space-between;width:100%;align-items:stretch}.vw-tv-steps>div{display:flex;flex:1;align-items:center;gap:8px;min-width:0;font-size:clamp(11px,1vw,19px);font-weight:900;text-align:left}.vw-step-icon{display:grid;place-items:center;flex:none;width:clamp(25px,2.8vw,46px);height:clamp(25px,2.8vw,46px);border:1px solid #00ffe1;border-radius:10px;color:#00ffe1;font-size:clamp(16px,2vw,30px)}.vw-tv-glow{position:absolute;z-index:0;pointer-events:none;width:40vw;height:40vw;border-radius:50%;filter:blur(65px);background:radial-gradient(circle,#00ffe17d,transparent 67%);animation:vwFloatGlow 9s ease-in-out infinite alternate}.vw-tv-glow-one{top:-25%;left:-20%}.vw-tv-glow-two{bottom:-30%;right:-20%;animation-delay:-5s;animation-duration:12s}@keyframes vwFloatGlow{0%{transform:translate(-10%,0) scale(.75)}50%{transform:translate(80%,45%) scale(1.2)}100%{transform:translate(155%,-15%) scale(.8)}}.vw-admin-head{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.vw-logout-form{margin-left:auto}.vw-logout-form button{background:#092820!important;color:#00ffe1!important;border:1px solid #00ffe1!important}.vw-admin .vw-edit input{color:#fff}@media(max-width:850px){.vw-tv-layout{grid-template-columns:1fr;gap:12px}.vw-tv .vw-wheel{width:min(88vw,48dvh)!important}.vw-tv-qr-wrap{width:min(28vw,180px)}.vw-tv-identity{height:55px}.vw-tv-headline{font-size:clamp(25px,6vw,45px)!important}.vw-tv-steps>div{font-size:clamp(10px,2vw,14px)}.vw-tv-glow{width:70vw;height:70vw}}

/* v2.3 – TV layout, eight counter-rotating prize labels and celebration */
.vw.vw-tv{background:#00ffe1!important;padding:clamp(6px,.7vw,14px)!important;overflow:hidden!important}
.vw-tv .vw-panel{background:radial-gradient(ellipse at 20% 20%,#064a40,#061611 70%)!important;overflow:hidden!important;border:1px solid #00ffe1!important;border-radius:24px!important;min-height:calc(100dvh - 18px)!important}
.vw-tv-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:clamp(12px,1.4vw,26px)!important;align-items:center!important}
.vw-tv-left{position:relative;min-width:0;align-items:center!important;gap:clamp(7px,1vh,13px)!important;overflow:visible}
.vw-tv .vw-wheel{width:min(100%,min(77dvh,calc(55vw - 65px)))!important;max-width:100%!important;flex:none;filter:drop-shadow(0 0 14px #00ffe180)}
.vw-tv .vw-disc{overflow:visible!important;will-change:transform;transition:none!important;box-shadow:0 0 28px #00ffe17d,0 0 60px #00ffe13b}
.vw-tv .vw-disc .vw-sector-label{position:absolute;top:50%;left:50%;width:31%;height:clamp(26px,4vw,60px);margin:0!important;transform-origin:0 50%;transform:rotate(calc(var(--i)*45deg - 90deg)) translateX(13%);display:flex;justify-content:center;align-items:center;font-size:clamp(10px,1.05vw,19px);font-weight:950;line-height:1.1;letter-spacing:.025em;white-space:normal;overflow:visible;text-align:center;text-shadow:0 2px 4px #00110e,0 0 4px #00110e}
.vw-tv .vw-disc .vw-sector-label>span{display:block;max-width:100%;hyphens:none;overflow-wrap:normal;transform:none;will-change:transform}
.vw-tv .vw-hub{z-index:3;pointer-events:none}
.vw-tv-info{width:min(100%,min(77dvh,calc(55vw - 65px)))!important;box-sizing:border-box;flex:none}
.vw-tv-right{box-sizing:border-box;align-self:stretch;min-height:0;padding:clamp(16px,2vw,34px)!important;border:1px solid #00ffe1;border-radius:23px;background:linear-gradient(140deg,#041713f2,#092d27ed)!important;box-shadow:inset 0 0 34px #00ffe11c,0 0 24px #00ffe12a;gap:clamp(10px,1.5vh,22px)!important;justify-content:space-evenly!important;overflow:hidden}
.vw-tv .vw-tv-identity{width:100%;height:clamp(50px,9vh,110px);flex:none}
.vw-tv .vw-tv-logo{max-height:100%;max-width:90%;width:auto;height:auto}
.vw-tv .vw-tv-headline{font-size:clamp(25px,3vw,55px)!important;line-height:1.08!important;max-width:100%;overflow-wrap:normal;flex:none}
.vw-tv .vw-tv-qr-wrap{width:min(34vh,26vw,380px)!important;max-width:90%!important;flex:none;padding:clamp(8px,.8vw,13px)}
.vw-tv .vw-tv-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,.8vw,13px)!important;width:100%;flex:none}
.vw-tv .vw-tv-steps>div{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:clamp(10px,.8vw,15px)!important;line-height:1.25;overflow-wrap:anywhere}
.vw-tv .vw-tv-steps .vw-step-icon{width:clamp(25px,2.5vw,42px);height:clamp(25px,2.5vw,42px)}
.vw-tv .vw-tv-glow{z-index:0;opacity:1;animation-duration:6s}
.vw-tv .vw-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:10}
.vw-tv .vw-confetti i{position:absolute;top:-18px;width:clamp(5px,.55vw,11px);height:clamp(10px,1vw,20px);background:#00ffe1;opacity:0;animation:vwConfettiFall 1.8s linear forwards;box-shadow:0 0 7px #00ffe1}
.vw-tv .vw-confetti i:nth-child(3n){background:white;box-shadow:none}.vw-tv .vw-confetti i:nth-child(5n){background:#80fff1}
@keyframes vwConfettiFall{0%{transform:translate(0,-10px) rotate(0);opacity:1}90%{opacity:1}100%{transform:translate(var(--drift),85vh) rotate(700deg);opacity:0}}
.vw-tv .vw-wheel.vw-win .vw-disc{animation:vwWinGlow .48s ease-in-out 4 alternate}
@keyframes vwWinGlow{from{box-shadow:0 0 24px #00ffe180,0 0 45px #00ffe144;filter:brightness(1)}to{box-shadow:0 0 65px #00ffe1,0 0 115px #00ffe1a0;filter:brightness(1.3)}}
@media(max-width:850px){.vw.vw-tv{overflow:auto!important}.vw-tv-layout{grid-template-columns:1fr!important}.vw-tv .vw-wheel,.vw-tv-info{width:min(86vw,47dvh)!important}.vw-tv-right{min-height:auto}.vw-tv .vw-tv-qr-wrap{width:min(40vw,260px)!important}.vw-tv .vw-disc .vw-sector-label{font-size:clamp(9px,1.9vw,14px)}}

/* v2.4 TV typography and wheel: sector labels counter-rotate to screen-horizontal */
.vw-tv .vw-tv-identity{height:clamp(34px,5.8vh,66px)!important;flex:none}
.vw-tv .vw-tv-logo{max-height:100%!important;max-width:min(54%,190px)!important;width:auto!important;object-fit:contain!important}
.vw-tv .vw-tv-wordmark{font-size:clamp(20px,2.1vw,37px)!important}
.vw-tv .vw-tv-headline{display:block!important;font-size:clamp(36px,4.6vw,86px)!important;line-height:1.04!important;letter-spacing:.02em!important;white-space:nowrap!important;flex:none;text-align:center!important}
.vw-tv .vw-tv-right{justify-content:center!important;gap:clamp(12px,1.7vh,24px)!important}
.vw-tv .vw-disc .vw-sector-label{transform:rotate(calc((var(--i) + .5)*45deg - 90deg)) translateX(13%)!important}
.vw-tv .vw-disc .vw-sector-label>span{transform:rotate(calc(90deg - (var(--i) + .5)*45deg))}
/* Animate the glow across the entire panel, without obscuring its controls. */
.vw-tv .vw-panel{isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#051713e8,#061b16e0)!important}
.vw-tv .vw-panel:before,.vw-tv .vw-panel:after{content:"";position:absolute;pointer-events:none;z-index:-1;width:65vmax;height:65vmax;border-radius:50%;background:radial-gradient(circle,#00ffe17a 0%,#00ffe12e 25%,transparent 65%);filter:blur(42px);animation:vw24Ambient 8s ease-in-out infinite alternate}
.vw-tv .vw-panel:before{top:-45%;left:-40%}
.vw-tv .vw-panel:after{right:-40%;bottom:-55%;animation-delay:-4s;animation-duration:11s}
@keyframes vw24Ambient{0%{transform:translate(0,0) scale(.7)}35%{transform:translate(50%,30%) scale(1.1)}70%{transform:translate(100%,-10%) scale(.9)}100%{transform:translate(140%,35%) scale(1.3)}}
@media(max-width:850px){.vw-tv .vw-tv-headline{font-size:clamp(28px,7vw,54px)!important;white-space:normal!important}.vw-tv .vw-tv-identity{height:45px!important}}

/* 2.5 TV display overrides */
.vw-tv .vw-tv-identity{display:none!important}
.vw-tv .vw-tv-right{justify-content:space-between!important;gap:clamp(8px,1.2vh,16px)!important}
.vw-tv .vw-tv-headline{position:relative;font-size:clamp(46px,5.4vw,112px)!important;line-height:1.04!important;letter-spacing:.012em!important;text-shadow:0 0 7px #00ffe155,0 0 15px #00ffe12b!important;animation:none!important;background:linear-gradient(105deg,#00ffe1 0%,#00ffe1 38%,#d6fff8 47%,#00ffe1 54%,#00ffe1 100%);background-size:280% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:vwTitleShine 3.8s ease-in-out infinite!important}
@keyframes vwTitleShine{0%,20%{background-position:100% 0}65%,100%{background-position:0 0}}
.vw-tv .vw-tv-steps{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important}
.vw-tv .vw-tv-steps>div{flex:1!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;text-align:left!important;gap:7px!important;font-size:clamp(10px,.8vw,15px)!important;overflow-wrap:normal!important}
.vw-tv .vw-tv-steps>div+div:before{content:'➜';color:#00ffe1;font-size:clamp(16px,1.5vw,27px);flex:none;margin-right:clamp(2px,.5vw,12px)}
.vw-tv-once{font-size:clamp(12px,1vw,18px);color:#dcfff8;margin:0!important;text-align:center;font-weight:700}
.vw-tv .vw-tv-info{padding:clamp(8px,1vw,15px)!important;border:2px solid #00ffe1!important;box-shadow:inset 0 0 22px #00ffe12b,0 0 20px #00ffe13d!important;background:#031a16f0!important}
.vw-tv .vw-tv-status{font-size:clamp(17px,1.8vw,30px)!important}
.vw-tv.vw-tv-won .vw-tv-info{animation:vwInfoWin .55s ease-in-out infinite alternate}
@keyframes vwInfoWin{to{box-shadow:inset 0 0 36px #00ffe17d,0 0 45px #00ffe1b0!important;border-color:#d8fff8}}
.vw-tv .vw-disc .vw-sector-label{width:30%!important;height:17%!important;transform:rotate(calc((var(--i) + .5)*45deg - 90deg)) translateX(19%)!important}
.vw-tv .vw-disc .vw-sector-label>span{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;transform:rotate(calc(90deg - (var(--i) + .5)*45deg))}
.vw-tv .vw-sector-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 3px #00261f)}
@media(max-width:850px){.vw-tv .vw-tv-headline{font-size:clamp(34px,7vw,58px)!important}.vw-tv .vw-tv-steps>div{font-size:10px!important}}

/* v2.6 – fixed prize-image placement and right-panel rhythm */
.vw-tv .vw-disc .vw-sector-label{position:absolute!important;right:auto!important;bottom:auto!important;width:19%!important;height:19%!important;transform:translate(-50%,-50%)!important;transform-origin:center center!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;z-index:2!important}
.vw-tv .vw-disc .vw-sector-label>span{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;transform-origin:center center!important}
.vw-tv .vw-sector-image{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;filter:drop-shadow(0 2px 3px #00261f)!important}
.vw-tv .vw-tv-headline{transform-origin:center center;animation:vwTitlePulse 2.5s ease-in-out infinite!important;will-change:transform;max-width:100%!important}
@keyframes vwTitlePulse{0%,100%{transform:scale(.94)}50%{transform:scale(1.025)}}
.vw-tv .vw-tv-steps{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start!important;justify-items:center!important;gap:clamp(7px,.7vw,16px)!important;margin:0 auto!important}
.vw-tv .vw-tv-steps>div{position:relative;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-width:0!important;width:100%!important;text-align:center!important;line-height:1.22!important;font-size:clamp(10px,.78vw,15px)!important;overflow-wrap:break-word!important}
.vw-tv .vw-tv-steps>div+div:before{content:'➜'!important;position:absolute!important;left:clamp(-19px,-1.3vw,-9px)!important;top:clamp(5px,.7vw,12px)!important;margin:0!important;font-size:clamp(14px,1.4vw,23px)!important;color:#00ffe1!important}
.vw-tv .vw-tv-steps .vw-step-icon{flex:none!important;margin:0 auto!important}
.vw-tv .vw-tv-once{display:block!important;position:relative!important;width:100%!important;margin:0 auto!important;padding:5px 0!important;text-align:center!important;line-height:1.35!important;font-size:clamp(12px,1vw,18px)!important;letter-spacing:0!important}
@media(max-width:850px){.vw-tv .vw-tv-steps>div{font-size:clamp(9px,1.8vw,13px)!important}.vw-tv .vw-disc .vw-sector-label{width:18%!important;height:18%!important}}

/* v2.7: A nyereményképek a körcikkekhez vannak rögzítve.
   A nyertes körcikk a felső mutatónál mindig egyenesen áll. */
.vw-tv .vw-disc .vw-sector-label>span{transform:rotate(calc(var(--i)*45deg))!important;transform-origin:center center!important;}

/* v2.8: A nyereményképek a nyolc körcikk külső részén, kisebb méretben. */
.vw-tv .vw-disc .vw-sector-label{width:14%!important;height:14%!important;}
.vw-tv .vw-disc .vw-sector-label>span{width:100%!important;height:100%!important;}
.vw-tv .vw-pointer{color:#ff202d!important;font-size:clamp(42px,5.2vw,86px)!important;line-height:1!important;text-shadow:0 2px 4px #160000,0 0 14px #ff203d8c!important;z-index:9!important;}

/* v2.9: each prize is centered on its own sector's radial centerline, safely inside the rim. */
.vw-tv .vw-disc .vw-sector-label{width:12%!important;height:12%!important;max-width:12%!important;max-height:12%!important;transform:translate(-50%,-50%)!important;box-sizing:border-box!important;}
.vw-tv .vw-disc .vw-sector-label>span{width:100%!important;height:100%!important;transform:rotate(calc(var(--i)*45deg))!important;}
.vw-tv .vw-disc .vw-sector-image{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;}
/* The one-play notice must span the entire steps grid and be centered below all three steps. */
.vw-tv .vw-tv-steps>.vw-tv-once{grid-column:1 / -1!important;grid-row:2!important;justify-self:stretch!important;align-self:center!important;display:block!important;position:static!important;width:100%!important;max-width:100%!important;margin:clamp(12px,1.6vh,24px) auto 0!important;padding:0 8px!important;text-align:center!important;white-space:normal!important;line-height:1.4!important;box-sizing:border-box!important;}

/* v3.0: Single authoritative prize placement. Coordinates come from the sector
   centerline in JS; no legacy transform may rotate the POSITION container.
   Image content rotates with its sector so the selected top sector is upright. */
.vw-tv .vw-disc .vw-sector-label {
  position:absolute!important; width:15%!important; height:15%!important;
  max-width:15%!important; max-height:15%!important;
  margin:0!important; padding:0!important;
  transform:translate(-50%,-50%)!important; transform-origin:center center!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  pointer-events:none!important; overflow:visible!important;
}
.vw-tv .vw-disc .vw-sector-label>span {
  width:100%!important; height:100%!important; display:flex!important;
  align-items:center!important; justify-content:center!important;
  transform:rotate(calc(var(--i)*45deg))!important; transform-origin:center center!important;
}
.vw-tv .vw-disc .vw-sector-image {
  display:block!important; width:100%!important; height:100%!important;
  max-width:100%!important; max-height:100%!important; object-fit:contain!important;
}
.vw-tv .vw-tv-steps>.vw-tv-once {grid-column:1/-1!important;justify-self:stretch!important;
  width:100%!important;text-align:center!important;margin:12px auto 0!important;}

/* v3.1: One independently positioned and oriented element per sector. */
.vw-tv .vw-disc .vw-sector-label{width:11%!important;height:11%!important;max-width:11%!important;max-height:11%!important;left:auto;top:auto;transform:translate(-50%,-50%)!important;transform-origin:center!important;overflow:visible!important}
.vw-tv .vw-disc .vw-sector-label>span{width:100%!important;height:100%!important;transform-origin:center!important}
.vw-tv .vw-disc .vw-sector-image{width:100%!important;height:100%!important;object-fit:contain!important}

/* v3.2 — fresh, isolated TV prize layout and exact viewport fitting. */
html:has(.vw.vw-tv),body:has(.vw.vw-tv){height:100%!important;max-height:100%!important;overflow:hidden!important;margin:0!important;}
body:has(.vw.vw-tv) #page,body:has(.vw.vw-tv) .site,body:has(.vw.vw-tv) .site-content,body:has(.vw.vw-tv) .elementor,body:has(.vw.vw-tv) .elementor-section,body:has(.vw.vw-tv) .elementor-container,body:has(.vw.vw-tv) .elementor-widget-wrap,body:has(.vw.vw-tv) .elementor-widget,body:has(.vw.vw-tv) .elementor-widget-container{max-height:100dvh!important;min-height:0!important;}
.vw.vw-tv{position:fixed!important;inset:0!important;z-index:99999!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:clamp(4px,.55vw,10px)!important;overflow:hidden!important;}
.vw.vw-tv .vw-panel{height:100%!important;min-height:0!important;max-height:100%!important;padding:clamp(7px,.8vw,15px)!important;overflow:hidden!important;}
.vw.vw-tv .vw-tv-layout{height:100%!important;min-height:0!important;max-height:100%!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:clamp(8px,1.2vw,22px)!important;}
.vw.vw-tv .vw-tv-left{height:100%!important;min-height:0!important;justify-content:center!important;gap:clamp(5px,.8vh,12px)!important;}
.vw.vw-tv .vw-wheel{width:min(100%,calc(100dvh - 104px),calc(53vw - 35px))!important;max-height:calc(100dvh - 104px)!important;aspect-ratio:1!important;margin:0 auto!important;flex:0 1 auto!important;}
.vw.vw-tv .vw-tv-info{width:min(100%,calc(100dvh - 104px),calc(53vw - 35px))!important;max-height:65px!important;flex:0 0 auto!important;}
.vw.vw-tv .vw-tv-right{height:100%!important;min-height:0!important;padding:clamp(8px,1.5vw,24px)!important;}
.vw.vw-tv .vw-disc .vw-prize-position{position:absolute!important;display:grid!important;place-items:center!important;width:13%!important;height:13%!important;max-width:none!important;max-height:none!important;transform:translate(-50%,-50%)!important;transform-origin:center!important;z-index:3!important;pointer-events:none!important;overflow:visible!important;}
.vw.vw-tv .vw-disc .vw-prize-position .vw-prize-art{position:static!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;transform:rotate(calc(-1 * var(--vw-wheel-angle,0deg)))!important;transform-origin:center center!important;}
.vw.vw-tv .vw-disc .vw-prize-position .vw-sector-image{position:static!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;}
.vw.vw-tv .vw-disc .vw-prize-fallback{position:static!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;max-width:100%!important;font-size:clamp(7px,.95vw,15px)!important;line-height:1.1!important;text-align:center!important;transform:none!important;}
@media(max-width:850px){.vw.vw-tv .vw-tv-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.vw.vw-tv .vw-wheel,.vw.vw-tv .vw-tv-info{width:min(100%,calc(100dvh - 95px),calc(49vw - 16px))!important}.vw.vw-tv .vw-tv-headline{font-size:clamp(17px,4vw,40px)!important}.vw.vw-tv .vw-tv-qr-wrap{width:min(22vw,26dvh)!important}.vw.vw-tv .vw-tv-steps>div{font-size:clamp(7px,1.4vw,11px)!important}}

/* v3.4: keep long coordinator option within narrow mobile cards */
.vw-slot-panel .vw-slot{box-sizing:border-box!important;max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.45!important;text-wrap:pretty!important}.vw-slot-panel .vw-coordination{padding-left:18px!important;padding-right:12px!important}.vw-slot-panel .vw-coordination:before{display:none!important}

/* v3.5: TV page responsive mobile layout only. Desktop rules above remain untouched. */
@media (max-width: 767px){
  html:has(.vw.vw-tv),body:has(.vw.vw-tv){height:auto!important;max-height:none!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;}
  body:has(.vw.vw-tv) #page,body:has(.vw.vw-tv) .site,body:has(.vw.vw-tv) .site-content,body:has(.vw.vw-tv) .elementor,body:has(.vw.vw-tv) .elementor-section,body:has(.vw.vw-tv) .elementor-container,body:has(.vw.vw-tv) .elementor-widget-wrap,body:has(.vw.vw-tv) .elementor-widget,body:has(.vw.vw-tv) .elementor-widget-container{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;}
  .vw.vw-tv{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:100svh!important;max-height:none!important;margin:0!important;margin-left:0!important;padding:10px!important;overflow:hidden!important;}
  .vw.vw-tv .vw-panel{width:100%!important;height:auto!important;min-height:calc(100svh - 20px)!important;max-height:none!important;padding:12px!important;overflow:hidden!important;}
  .vw.vw-tv .vw-tv-layout{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;gap:18px!important;}
  .vw.vw-tv .vw-tv-left,.vw.vw-tv .vw-tv-right{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;}
  .vw.vw-tv .vw-tv-left{order:1!important;gap:10px!important;}
  .vw.vw-tv .vw-tv-right{order:2!important;padding:8px 4px 14px!important;gap:14px!important;justify-content:flex-start!important;}
  .vw.vw-tv .vw-wheel{width:min(86vw,430px)!important;max-width:100%!important;max-height:none!important;height:auto!important;aspect-ratio:1!important;margin:8px auto 0!important;}
  .vw.vw-tv .vw-tv-info{width:100%!important;max-width:520px!important;max-height:none!important;min-height:54px!important;margin:0 auto!important;padding:10px!important;}
  .vw.vw-tv .vw-tv-status{font-size:clamp(16px,4.7vw,24px)!important;line-height:1.2!important;}
  .vw.vw-tv .vw-tv-headline{font-size:clamp(38px,12vw,66px)!important;line-height:.98!important;text-align:center!important;margin:4px auto!important;white-space:normal!important;}
  .vw.vw-tv .vw-tv-qr-wrap{width:min(52vw,230px)!important;height:auto!important;max-width:230px!important;margin:0 auto!important;}
  .vw.vw-tv .vw-tv-qr{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;}
  .vw.vw-tv .vw-tv-steps{grid-template-columns:1fr!important;gap:10px!important;max-width:520px!important;margin:0 auto!important;}
  .vw.vw-tv .vw-tv-steps>div{font-size:clamp(12px,3.6vw,16px)!important;line-height:1.25!important;}
  .vw.vw-tv .vw-tv-steps>div+div:before{display:none!important;content:none!important;}
  .vw.vw-tv .vw-tv-steps>.vw-tv-once{grid-column:1!important;grid-row:auto!important;margin:4px auto 0!important;font-size:clamp(12px,3.4vw,15px)!important;}
  .vw.vw-tv .vw-pointer{font-size:clamp(38px,12vw,62px)!important;top:-18px!important;left:50%!important;transform:translateX(-50%)!important;}
  .vw.vw-tv .vw-disc .vw-prize-fallback{font-size:clamp(6px,2vw,10px)!important;}
}
