/* Lucky wheel overlay: preserve live Map 11 behind a dim layer. */
#lvSpinOverlay{position:fixed;inset:0;z-index:95;background:rgba(8,21,15,.58);display:grid;place-items:center;padding:12px;overflow:auto}
#lvSpinOverlay[hidden]{display:none!important}
.lv-spin-panel{width:min(480px,96vw);max-height:calc(100dvh - 24px);overflow:auto;position:relative;border:4px solid #c79a4a;border-radius:13px;background:linear-gradient(#f8e4ad,#e4c68f);color:#54351d;box-shadow:0 0 0 3px #4e3325,0 16px 44px #000a;padding:14px;text-align:center;font:14px Tahoma,Arial,sans-serif}
.lv-spin-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:2px solid #c49a56;padding-bottom:8px}
.lv-spin-head strong{font-size:18px;color:#7f3527}.lv-spin-close{border:2px solid #a06d3c!important;color:#fff!important;background:#8f5336!important;border-radius:7px!important;min-width:36px;height:34px}
.lv-spin-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.lv-spin-tabs button{padding:9px 8px;background:#d8b16b;border:2px solid #9f7242;border-radius:7px;color:#51331c;font-weight:bold}.lv-spin-tabs button[aria-selected=true]{background:#a34535;color:#fff3d5;box-shadow:inset 0 2px #d37c60}
.lv-spin-panel[data-tier=vip]{border-color:#e4bc65;background:linear-gradient(#e6d0ff,#bb9ae0);color:#392257}.lv-spin-panel[data-tier=vip] .lv-spin-head strong{color:#683a96}.lv-spin-panel[data-tier=vip] .lv-spin-tabs button[aria-selected=true]{background:#7441a2}
.lv-spin-wheel-wrap{position:relative;width:min(300px,71vw,46dvh);aspect-ratio:1;margin:4px auto 9px}
.lv-spin-wheel{width:100%;height:100%;border-radius:50%;border:12px solid #d68d25;box-shadow:0 0 0 4px #8b4d1d,inset 0 0 0 2px #ffe389,0 3px 14px #50321f6e;position:relative;overflow:hidden;background:conic-gradient(#e9574e 0deg 45deg,#f4ae28 45deg 90deg,#78bc38 90deg 135deg,#29b0b9 135deg 180deg,#347bdc 180deg 225deg,#9c55d5 225deg 270deg,#f07bad 270deg 315deg,#e9832c 315deg 360deg);image-rendering:pixelated;transform:rotate(0deg);will-change:transform}
.lv-spin-wheel:after{content:'★';position:absolute;inset:calc(50% - 22px);display:grid;place-items:center;color:#fff3a3;font-size:27px;text-shadow:2px 2px #92510d;background:#cf8722;border:5px solid #ffe292;border-radius:50%;box-sizing:border-box}
.lv-spin-pointer{position:absolute;z-index:2;top:-10px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:29px solid #ffdb72;filter:drop-shadow(0 2px 1px #783f17)}
.lv-spin-panel[data-tier=vip] .lv-spin-wheel{border-color:#a76edf;box-shadow:0 0 0 4px #613d99,inset 0 0 0 2px #e5bfff,0 3px 14px #50321f6e}
.lv-spin-hint{font-size:12px;line-height:1.5;margin:7px 0 12px;color:#68452b}
.lv-spin-panel[data-tier=vip] .lv-spin-hint{color:#533773}
.lv-spin-price{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:bold;margin-bottom:8px}.lv-spin-price img{width:22px;height:22px;image-rendering:pixelated}
.lv-spin-action{background:#8d482e!important;color:#fff2bf!important;border:2px solid #e5b568!important;border-radius:8px;padding:10px 24px;font-weight:bold;width:min(280px,100%)}.lv-spin-action:disabled{opacity:.65;cursor:default}
.lv-spin-status{margin:8px 0 0;font-size:12px;min-height:28px}
#lvSpinEntry{position:absolute;z-index:36;right:14px;bottom:200px;max-width:180px;background:#f6d58d;color:#4f301e;border:2px solid #9c6931;padding:9px 10px;border-radius:9px;font-size:12px;font-weight:bold}
#lvSpinEntry[hidden]{display:none!important}
@media(max-height:560px){.lv-spin-panel{padding:8px}.lv-spin-wheel-wrap{width:min(190px,40vh)}.lv-spin-tabs{margin:6px 0}}

/* Sprite-driven wheel faces. Keep pointer fixed while only the disc spins. */
.lv-spin-wheel{border:0!important;box-shadow:none!important;background:transparent url("assets/spin-wheel-normal.svg?v=20261104sprite2") center/100% 100% no-repeat!important;image-rendering:pixelated}
.lv-spin-wheel::after{display:none!important}
.lv-spin-panel[data-tier=vip] .lv-spin-wheel{border:0!important;box-shadow:none!important;background:transparent url("assets/spin-wheel-vip.svg?v=20261104sprite2") center/100% 100% no-repeat!important}
.lv-spin-wheel-wrap{overflow:visible}
.lv-spin-pointer{top:-7px}

.lv-spin-prizes{margin:8px 0 12px;padding:10px;border-radius:8px;background:#9c744522;text-align:left;border:1px solid #916b3545}
.lv-spin-prizes>strong{display:block;margin-bottom:6px;text-align:center;font-size:12px}
.lv-spin-prizes ol{margin:0;padding:0 1px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:5px 9px}
.lv-spin-prizes li{display:flex;justify-content:space-between;gap:5px;align-items:center;background:#fff7e748;padding:5px;border-radius:5px;font-size:11px}
.lv-spin-prizes li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-spin-prizes li b{font-size:11px;white-space:nowrap}
.lv-spin-prizes p{text-align:center;font-size:12px}
.lv-spin-panel[data-tier=vip] .lv-spin-prizes{background:#74499525}
@media(max-width:350px){.lv-spin-prizes ol{grid-template-columns:1fr}}

/* Lucky spin phase 7: tickets, preview drawer, accurate pointer and star burst */
.lv-spin-wallet{display:flex;justify-content:space-around;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 5px;padding:7px 5px;border:1px solid #a87d475e;border-radius:8px;background:#fff3cf66;font-weight:700;font-size:12px}
.lv-spin-panel[data-tier=vip] .lv-spin-wallet{background:#f0dfff66}
.lv-spin-wallet span{white-space:nowrap}
.lv-spin-wheel-wrap{isolation:isolate}
.lv-spin-pointer{top:-8px!important;left:50%;width:32px;height:46px;z-index:12;transform:translateX(-50%);border:none!important;background:linear-gradient(90deg,#853c13 0 12%,#e69b35 12% 25%,#fff1a2 25% 75%,#e69b35 75% 88%,#853c13 88%);clip-path:polygon(4% 0,96% 0,96% 41%,50% 100%,4% 41%);filter:drop-shadow(0 3px 0 #5b3013);pointer-events:none}
.lv-spin-panel[data-tier=vip] .lv-spin-pointer{background:linear-gradient(90deg,#4d246f 0 12%,#b570dd 12% 25%,#fff1b6 25% 75%,#b570dd 75% 88%,#4d246f 88%);filter:drop-shadow(0 3px 0 #4d246f)}
.lv-spin-buttons{display:flex;gap:8px;justify-content:center;align-items:stretch}
.lv-spin-buttons>*{flex:1;min-width:0}
.lv-spin-secondary{background:#eacb8f!important;border:2px solid #9f753c!important;color:#69461c!important;border-radius:8px!important;padding:11px 6px!important;font-size:12px!important;font-weight:700}
.lv-spin-action{font-size:14px!important;letter-spacing:.03em;max-width:100%;min-width:0;padding:10px 9px!important}
.lv-spin-ticket-icon{font-size:22px;line-height:1}
.lv-spin-price img[src=""]{display:none}
.lv-spin-prizes[hidden]{display:none!important}
.lv-spin-prizes{margin:12px 0!important;padding:10px!important;background:#fff3d5!important;border:2px solid #bd884a!important;border-radius:9px!important;color:#58391b;box-shadow:inset 0 1px #fff6db;max-height:min(330px,43dvh);overflow:auto}
.lv-spin-panel[data-tier=vip] .lv-spin-prizes{background:#ebd6ff!important;border-color:#9a67be!important;color:#4b2769}
.lv-spin-prize-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lv-spin-prize-head strong{font-size:13px}
.lv-spin-prize-head button{padding:3px 8px!important;background:#9a6546!important;color:white!important;border-radius:5px!important}
.lv-spin-prizes ol{display:grid;grid-template-columns:1fr;gap:4px;margin:9px 0;padding:0;list-style:none}
.lv-spin-prizes li{background:#d6b87f3e;white-space:normal}
.lv-spin-prizes li span{white-space:normal}
.lv-spin-prize-note{font-size:11px;opacity:.85;line-height:1.4}
.lv-spin-prizes .lv-spin-action{width:100%;margin-top:5px}
.lv-spin-history{margin:10px auto 0;font-size:11px;text-align:left;padding:7px;border-top:1px solid #a0754533}
.lv-spin-history summary{cursor:pointer;font-weight:700}
.lv-spin-history ol{padding-left:20px;line-height:1.7}
.lv-spin-history p{font-size:11px;opacity:.83}
.lv-spin-stars{position:absolute;inset:0;z-index:20;pointer-events:none;display:grid;place-items:center;overflow:visible}
.lv-star-particle{position:absolute;left:50%;top:50%;color:#ffdb49;text-shadow:0 0 5px #f6c450,1px 1px #803f1d;font-weight:900;animation:lv-star-burst 1.25s cubic-bezier(.12,.8,.25,1) var(--delay,0s) both;transform:translate(-50%,-50%) scale(.3)}
.lv-spin-panel[data-tier=vip] .lv-star-particle{color:#ffedab;text-shadow:0 0 6px #e0a9ff,1px 1px #7a3a9a}
@keyframes lv-star-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(0)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.2) rotate(180deg)}}
@media(max-width:400px){.lv-spin-panel{padding:9px}.lv-spin-wallet{font-size:11px;gap:4px}.lv-spin-secondary{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.lv-star-particle{animation-duration:.15s}}

/* Lightweight lowpixel tickets in balance and payment rows */
.lv-spin-wallet>span{display:inline-flex;align-items:center;gap:4px}
.lv-spin-wallet img{width:27px;height:19px;object-fit:contain;image-rendering:pixelated;flex:none}
.lv-spin-price img.lv-spin-ticket-icon{width:36px;height:24px;object-fit:contain;image-rendering:pixelated}

/* Hội chợ V2: warm Vietnamese carnival, inspired by approved visual sample 1.
 * Works as DOM UI so rewards, ticket counts and game state remain live. */
#lvSpinOverlay{background:rgba(16,17,14,.64);backdrop-filter:blur(1.5px);padding:12px}
.lv-spin-panel,.lv-spin-panel[data-tier=vip]{
 width:min(720px,96vw);max-height:calc(100dvh - 22px);
 border:5px solid #9a5727;border-radius:16px;
 box-shadow:0 0 0 3px #f4c567,inset 0 0 0 3px #8e4d22,0 18px 46px #080500ac;
 background:
   linear-gradient(90deg,rgba(64,31,14,.37) 0 9px,transparent 9px calc(100% - 9px),rgba(64,31,14,.37) calc(100% - 9px)),
   repeating-linear-gradient(90deg,#764523 0 21px,#814a25 21px 23px,#704020 23px 44px),
   #7c4825;
 color:#fff3cf; padding:11px 16px 14px;overflow-y:auto;
 font:14px/1.45 Tahoma,Arial,sans-serif;
 scrollbar-color:#deaa57 #5c341e
}
.lv-spin-panel::before{
 content:"";display:block;height:27px;margin:-11px -16px 6px;
 background:repeating-linear-gradient(90deg,#c43e2e 0 32px,#fff0d1 32px 64px);
 border-bottom:5px solid #8e4b26;border-radius:8px 8px 7px 7px;
 box-shadow:inset 0 -5px #0002;
}
.lv-spin-head{
 padding:5px 8px 9px;min-height:40px;position:relative;
 border-bottom:3px solid #bd7835;gap:8px;justify-content:center;
}
.lv-spin-head strong,.lv-spin-panel[data-tier=vip] .lv-spin-head strong{
 font-size:clamp(18px,3vw,25px);font-weight:900;letter-spacing:.35px;color:#ffe3a3;
 text-shadow:2px 2px #6f321b,-1px -1px #8b441e;
 background:linear-gradient(#bb5a2c,#84371f);
 border:2px solid #f4b752;border-radius:12px;
 padding:6px 44px 7px;box-shadow:inset 0 2px #ffe2a454,0 3px 0 #482614;
}
.lv-spin-close{
 position:absolute;right:0;top:6px;z-index:5;width:35px;height:35px;
 border:2px solid #ffcf76!important;background:#a33c2c!important;
 color:#fff4d7!important;font-weight:900!important;box-shadow:0 2px #61331f;
}
.lv-spin-tabs{margin:11px 0 9px;gap:10px}
.lv-spin-tabs button{
 color:#fff1d0;background:linear-gradient(#984b2b,#713920);
 border:2px solid #d79a42;border-radius:9px;
 font-weight:900;font-size:15px;padding:10px 6px;
 box-shadow:inset 0 2px #ffcc7724,0 3px #3f2517;
}
.lv-spin-tabs button[aria-selected=true]{
 color:#fff9e1;background:linear-gradient(#cd6240,#a33625);
 border-color:#ffd580;box-shadow:inset 0 2px #fff5a64d,0 3px #492319;
}
.lv-spin-panel[data-tier=vip] .lv-spin-tabs button[aria-selected=true]{
 background:linear-gradient(#9951c5,#672b92);border-color:#f1c4ff;
}
.lv-spin-wallet,.lv-spin-panel[data-tier=vip] .lv-spin-wallet{
 display:flex;align-items:center;justify-content:center;width:100%;
 margin:9px auto 11px;padding:5px 9px;
 border:2px solid #a3692a;border-radius:9px;
 background:linear-gradient(#4d2d18,#563519);
 color:#ffdf9e;font-size:14px;font-weight:900;
 box-shadow:inset 0 2px #2a160b;
}
.lv-spin-wallet>span{justify-content:center;min-height:24px;gap:8px}
.lv-spin-wallet img{width:38px;height:24px}
#lvSpinTicketNormalWrap[hidden],#lvSpinTicketVipWrap[hidden]{display:none!important}
.lv-spin-center{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:8px}
.lv-spin-wheel-wrap{width:min(340px,73vw,44dvh);margin:4px auto 6px}
.lv-spin-wheel{filter:drop-shadow(0 4px 1px #372013)}
.lv-spin-pointer{filter:drop-shadow(0 3px 1px #2d1b12)!important}
.lv-spin-price{
 display:flex;align-items:center;justify-content:center;gap:9px;
 border-radius:8px;padding:7px 10px;margin:8px auto 4px;max-width:410px;
 background:linear-gradient(#653818,#4b2716);border:1px solid #b47b34;
 color:#ffe4a1!important;font-size:16px;font-weight:900;line-height:1.25;
 text-shadow:1px 1px #392111;
}
.lv-spin-price img.lv-spin-ticket-icon{width:39px;height:26px}
.lv-spin-price img.lv-spin-currency-icon{width:26px;height:26px}
.lv-spin-hint,.lv-spin-panel[data-tier=vip] .lv-spin-hint{
 color:#ffe9bd;font-size:12px;line-height:1.4;margin:6px 0 12px;
 text-shadow:1px 1px #4f2b19;
}
.lv-spin-buttons{gap:9px}
.lv-spin-action,.lv-spin-panel[data-tier=vip] .lv-spin-action{
 background:linear-gradient(#4faa39,#258137)!important;
 border:2px solid #d7eb77!important;color:#fff9d9!important;
 border-radius:10px!important;font-weight:900!important;font-size:15px!important;
 text-shadow:1px 2px #27632b;box-shadow:0 3px 0 #264b23,inset 0 2px #e6ff8349;
 padding:12px 7px!important;min-height:49px;
}
.lv-spin-secondary{
 background:linear-gradient(#f6d68f,#e4b85d)!important;
 color:#66371c!important;border:2px solid #ae732a!important;
 box-shadow:0 3px 0 #502a16,inset 0 2px #fff5cf!important;
 border-radius:10px!important;font-weight:900!important;min-height:49px;
 text-shadow:none!important;
}
.lv-spin-action:disabled{opacity:.58!important;filter:grayscale(.35);cursor:not-allowed}
.lv-spin-status{
 margin:11px 0 0;padding:7px 8px;min-height:32px;
 color:#ffe5a7;font-size:12px;background:#3d27188a;border-radius:7px;
}
.lv-spin-history{border-top:2px solid #aa7539;margin-top:9px;color:#ffe6ba}
.lv-spin-history summary{color:#ffcf7c;font-weight:800}
.lv-spin-history li{color:#fff0ce}
.lv-spin-prizes,.lv-spin-panel[data-tier=vip] .lv-spin-prizes{
 background:linear-gradient(#fff0c8,#edce91)!important;
 color:#6c361a!important;border:4px solid #c48137!important;
 border-radius:13px!important;box-shadow:inset 0 0 0 2px #ffe8b9,0 4px #4b281a;
 padding:10px!important;width:100%;max-height:min(335px,49dvh);margin:6px 0!important
}
.lv-spin-panel[data-tier=vip] .lv-spin-prizes{background:linear-gradient(#f7e5ff,#dbc0f0)!important;color:#572f78!important;border-color:#b783dc!important}
.lv-spin-prize-head{border-bottom:2px solid #c9945b;padding-bottom:6px}
.lv-spin-prize-head strong{font-size:14px;color:#8b421a}
.lv-spin-prizes ol{margin:8px 0}
.lv-spin-prizes li{font-weight:600;color:#5c321a;background:#eddaa0a6;padding:6px 5px;border-bottom:1px solid #b68a5361}
.lv-spin-prizes li b{color:#884520;font-size:12px}
.lv-spin-prizes .lv-spin-action{min-height:41px;font-size:13px!important}
.lv-spin-prize-note{color:#755331}
.lv-spin-panel[data-tier=vip] .lv-spin-prizes li{background:#f3dbfa;color:#5c3376}
.lv-spin-panel[data-tier=vip] .lv-spin-prizes li b{color:#6d338a}
@media(min-width:620px){
 .lv-spin-panel{width:min(790px,96vw)}
 .lv-spin-center{grid-template-columns:minmax(0,1.08fr) minmax(265px,.92fr);gap:15px;align-items:center}
 .lv-spin-wheel-wrap{width:min(330px,42vw,49dvh)}
 .lv-spin-center .lv-spin-prizes[hidden]{display:block!important}
 .lv-spin-prizes{max-height:unset!important}
 .lv-spin-prize-head button{display:none}
 .lv-spin-prizes ol{gap:3px}
 .lv-spin-buttons{width:min(620px,100%);margin:0 auto}
 .lv-spin-secondary{display:none}
}
@media(max-width:619px){
 .lv-spin-panel{width:min(450px,96vw);padding:9px 11px}
 .lv-spin-panel::before{height:22px;margin:-9px -11px 7px}
 .lv-spin-head strong{font-size:18px;padding:6px 37px 7px}
 .lv-spin-tabs button{font-size:14px;padding:8px 5px}
 .lv-spin-wallet{font-size:13px;margin:7px auto 8px}
 .lv-spin-wheel-wrap{width:min(315px,74vw,41dvh)}
 .lv-spin-buttons{width:100%}
}
@media(max-height:620px) and (min-width:620px){
 .lv-spin-panel::before{height:15px}
 .lv-spin-head{padding:1px 6px 4px}
 .lv-spin-tabs{margin:5px 0}
 .lv-spin-wheel-wrap{width:min(270px,38vw,45dvh)}
}
