/* ===== NoxusMu - Daily Spin (Spin the Wheel) - full-page overlay ===== */
.nxspin-wrap{ position:fixed; inset:0; z-index:100000; width:100vw; height:100vh; margin:0; background:#07030f; }
.nxspin{ position:absolute; inset:0; width:100%; height:100%; overflow:hidden;
    background:#07030f url(../images/spin-bg.png) center center/100% 100% no-repeat;
    font-family:'Cinzel',Georgia,serif; color:#efe5d0; user-select:none; --nxspin-reward-scale:3.5; --nxspin-text-size:10px; }
.nxspin:before{ display:none; }
.nxspin *{ box-sizing:border-box; }
.nxspin-el{ position:absolute; font-size:var(--txt, inherit); }

/* wheel + mapped rewards */
.nxspin-wheelbox{ left:50%; top:45%; width:min(68vh,46vw); height:min(68vh,46vw); transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; z-index:2; }
.nxspin-wheelbox:before{ display:none; }
.nxspin-rotor{ position:absolute; inset:0; z-index:1; transform-origin:50% 50%; backface-visibility:hidden; will-change:transform; filter:drop-shadow(0 16px 38px rgba(0,0,0,.68)) drop-shadow(0 0 10px rgba(214,168,79,.65)) drop-shadow(0 0 22px rgba(120,50,255,.45)); }
.nxspin-wheel{ position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; object-position:center center; transform-origin:50% 50%; pointer-events:none; }
.nxspin-pointer{ z-index:8; width:5.2%; height:8.6%; display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 7px 14px rgba(0,0,0,.8)); }
.nxspin-pointer img{ width:100%; height:100%; object-fit:contain; pointer-events:none; }
.nxspin [data-pos="wheel"]{ left:34.9%; top:11.6%; width:30%; height:55.8%; transform:none !important; }
.nxspin [data-pos="pointer"]{ left:34.5%; top:-0.7%; width:15.3%; height:29.7%; }
.nxspin-reward{ position:absolute; left:var(--x); top:var(--y); width:calc(14% * var(--nxspin-reward-scale)); min-width:0; aspect-ratio:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.18em;
    transform:translate(-50%,-50%) rotate(var(--rot, 0deg));
    transform-origin:center center; text-align:center; z-index:3; pointer-events:none; color:#fff6d6; font-size:var(--txt, var(--nxspin-text-size)); }
.nxspin-reward-icon{ width:56%; height:56%; max-width:58px; max-height:58px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 0 8px rgba(180,90,255,.65)) drop-shadow(0 4px 7px rgba(0,0,0,.75)); }
.nxspin-reward-plain{ min-width:58% !important; max-width:110% !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.nxspin-reward-text{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.02em; font-family:'Cinzel',Georgia,serif; font-size:1em; font-weight:900; line-height:.95; text-transform:uppercase; color:#ffe7a3; -webkit-text-stroke:.8px #140015; text-shadow:0 2px 2px #000,0 0 6px #000,0 0 10px rgba(170,80,255,.75),0 0 14px rgba(255,196,70,.55); }
.nxspin-reward-text span{ display:block; white-space:nowrap; }
.nxspin-reward-chance{ margin-top:.12em; font:700 .72em 'Open Sans',Arial,sans-serif; line-height:1; color:#b98cff; text-shadow:0 0 5px #000; }
.nxspin-reward-plain{ display:none !important; }
.nxspin-reward-none .nxspin-reward-text,.nxspin-reward-none .nxspin-reward-chance{ color:#b9aec9; }
.nxspin [data-pos="reward7"]{ left:29% !important; top:66.1% !important; width:64.1% !important; height:53.6% !important; --rot:-125deg; --txt:6px; }
.nxspin [data-pos="reward0"]{ left:41.7% !important; top:21.7% !important; width:29.8% !important; height:39.4% !important; --rot:-25deg; --txt:7px; }
.nxspin [data-pos="reward9"]{ left:27.7% !important; top:31% !important; width:62.3% !important; height:52.9% !important; --rot:-60deg; }
.nxspin [data-pos="reward3"]{ left:70.6% !important; top:31.8% !important; width:45.1% !important; height:21.8% !important; --rot:50deg; }
.nxspin [data-pos="reward6"]{ left:76.1% !important; top:48.8% !important; width:48.3% !important; height:46.5% !important; --rot:85deg; }
.nxspin [data-pos="reward5"]{ left:57.6% !important; top:76.4% !important; width:33.8% !important; height:42.5% !important; --rot:160deg; }
.nxspin [data-pos="reward4"]{ left:71.3% !important; top:66.1% !important; width:41.1% !important; height:43.2% !important; --rot:125deg; --txt:10px; }
.nxspin [data-pos="reward2"]{ left:42% !important; top:75.6% !important; width:40.2% !important; height:71.9% !important; --rot:-165deg; --txt:10px; }
.nxspin [data-pos="reward8"]{ left:23.9% !important; top:49% !important; width:32.9% !important; height:39.1% !important; --rot:-95deg; }
.nxspin [data-pos="reward1"]{ left:58.3% !important; top:23.4% !important; width:29.8% !important; height:34.6% !important; --rot:25deg; }

/* real image button */
.nxspin-btn{ left:50%; top:82%; width:min(30vw,420px); aspect-ratio:1682/559; height:auto; transform:translateX(-50%); cursor:pointer; border-radius:10px; z-index:4; display:block; }
.nxspin [data-pos="spin"]{ left:34.9%; top:62.2%; width:29.7%; height:18%; transform:none !important; aspect-ratio:auto; }
.nxspin-btn img{ display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; filter:drop-shadow(0 10px 22px rgba(0,0,0,.65)); transition:filter .18s ease, transform .18s ease; }
.nxspin-btn:hover img{ filter:drop-shadow(0 10px 22px rgba(0,0,0,.72)) drop-shadow(0 0 18px rgba(170,70,255,.55)); transform:translateY(-1px); }
.nxspin-btn.is-busy{ pointer-events:none; }
.nxspin-btn.is-busy img{ filter:grayscale(.25) brightness(.8) drop-shadow(0 8px 18px rgba(0,0,0,.6)); }

.nxspin-back{ left:2%; top:3%; z-index:5; color:#e8c372; text-decoration:none; font:700 clamp(12px,1vw,16px) 'Cinzel',serif;
    padding:6px 12px; border:1px solid rgba(236,191,103,.4); border-radius:8px; background:rgba(12,8,20,.5); }
.nxspin-back:hover{ color:#fff; text-decoration:none; }

.nxspin-panel{ position:absolute; z-index:7; color:#f8e9c3; font-family:'Cinzel',Georgia,serif; font-size:var(--txt, 12px);
    background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
    padding:0 !important; backdrop-filter:none !important; text-shadow:0 2px 3px #000,0 0 9px rgba(120,55,220,.45); }
.nxspin-panel-title{ font-size:1.08em; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:#ffd56e; text-shadow:0 1px 2px #000,0 0 9px rgba(160,70,255,.55); margin-bottom:.55em; }
.nxspin-free-panel{ left:3.2%; top:14%; width:360px; }
.nxspin-wcoin-panel{ left:3.2%; top:25%; width:150px; }
.nxspin-rud-panel{ left:3.2%; top:31%; width:150px; }
.nxspin-pool-panel{ left:3.2%; top:39%; width:230px; }
.nxspin-winners-panel{ right:3.2%; top:15%; width:420px; }
.nxspin-history-panel{ right:3.2%; top:48%; width:320px; max-height:40vh; }
.nxspin-free-row{ display:flex; align-items:baseline; gap:1.2em; white-space:nowrap; }
.nxspin-free-line{ display:flex; align-items:baseline; gap:.35em; font-size:1.42em; color:#fff6d6; margin-bottom:0; }
.nxspin-free-line strong{ font-size:1.65em; line-height:1; color:#74ff9a; text-shadow:0 0 12px rgba(40,255,130,.38); }
.nxspin-small{ font:700 .92em/1.25 'Open Sans',Arial,sans-serif; color:#cdbfe0; text-transform:none; letter-spacing:0; }
.nxspin-reset-inline{ flex:0 0 auto; }
.nxspin-balance-row{ display:flex; align-items:center; justify-content:flex-start; gap:.8em; margin-top:0; padding-top:0; border-top:0; font:800 1em/1.1 'Cinzel',Georgia,serif; }
.nxspin-balance-row span{ color:#bda9d9; text-transform:uppercase; font-size:.84em; letter-spacing:.08em; }
.nxspin-balance-row strong{ color:#ffe59d; text-shadow:0 0 8px rgba(255,202,70,.32); }
.nxspin-pool-grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.18em .55em; width:100%; }
.nxspin-pool-row{ display:flex; flex-direction:column; gap:.05em; padding:.05em 0; border-bottom:0; min-width:0; }
.nxspin-pool-row strong{ font-size:.86em; line-height:.95; color:#fff2c4; white-space:normal; }
.nxspin-pool-row span{ font:700 .66em/1.05 'Open Sans',Arial,sans-serif; color:#a98bdc; }
.nxspin-pool-note{ display:block; margin-top:.35em; color:#d8b86d; font-size:.72em; }
.nxspin-feature-img{ z-index:6; width:70px; height:70px; display:flex; align-items:center; justify-content:center; }
.nxspin-feature-img img{ width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 0 10px rgba(170,80,255,.55)) drop-shadow(0 5px 8px rgba(0,0,0,.78)); pointer-events:none; }
.nxspin-feature-label{ z-index:7; width:6.5%; height:auto; color:#ffe8a6; font-size:var(--txt, 11px); font-weight:900; line-height:.98; text-align:center; text-transform:uppercase; text-shadow:0 2px 3px #000,0 0 8px rgba(160,70,255,.6),0 0 10px rgba(255,196,70,.3); }
.nxspin [data-pos="historyText"]{ left:76%; top:69.8%; width:20.8%; height:7.6%; }
.nxspin [data-pos="featureExcellent"]{ left:19.4%; top:77.1%; width:5.5%; height:8.5%; }
.nxspin [data-pos="featureJackpot"]{ left:29.4%; top:77.5%; width:4.1%; height:8%; }
.nxspin [data-pos="featureVip"]{ left:39%; top:76.8%; width:4.1%; height:8%; }
.nxspin [data-pos="featureAncient"]{ left:47.6%; top:77.4%; width:4.1%; height:8%; }
.nxspin [data-pos="featureRud"]{ left:55.8%; top:77.3%; width:4.1%; height:8%; }
.nxspin [data-pos="featureExcellentText"]{ left:18.9%; top:86.1%; width:6.7%; height:2.6%; --txt:10px; }
.nxspin [data-pos="featureJackpotText"]{ left:28.1%; top:86.1%; width:6.7%; height:2.6%; --txt:10px; }
.nxspin [data-pos="featureVipText"]{ left:37.8%; top:86.1%; width:6.2%; height:2.6%; --txt:10px; }
.nxspin [data-pos="featureAncientText"]{ left:46.4%; top:86.1%; width:6.6%; height:2.6%; --txt:10px; }
.nxspin [data-pos="featureRudText"]{ left:54.8%; top:86.1%; width:5.9%; height:2.6%; --txt:10px; }
.nxspin [data-pos="winnersText"]{ left:76%; top:49.8%; width:20.4%; height:12.9%; }
.nxspin [data-pos="freeText"]{ left:80.9%; top:12.1%; width:15.3%; height:3.2%; }
.nxspin [data-pos="wcoinText"]{ left:78.9%; top:23.6%; width:8.8%; height:1.5%; }
.nxspin [data-pos="rudText"]{ left:89.9%; top:23.7%; width:8.8%; height:1.5%; }
.nxspin [data-pos="poolText"]{ left:75.8%; top:33.4%; width:22%; height:20%; --txt:14px; }
.nxspin [data-pos="frameText"]{ left:2.2%; top:12.5%; width:13.5%; height:auto; --txt:10px; }
.nxspin-list-row{ position:relative; display:grid; grid-template-columns:1fr auto; gap:.15em .65em; padding:.35em 0; border-bottom:1px solid rgba(220,174,78,.16); }
.nxspin-list-row strong{ font-size:1em; color:#fff4ce; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nxspin-list-row span{ grid-column:1/-1; font:700 .84em/1.15 'Open Sans',Arial,sans-serif; color:#c3a8f0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nxspin-list-row em{ font:700 .84em/1.1 'Open Sans',Arial,sans-serif; color:#8d7aa8; font-style:normal; white-space:nowrap; }
.nxspin-winners-panel .nxspin-list-row{ display:grid; grid-template-columns:8.5em minmax(0, 1fr) 7.2em; align-items:center; gap:.85em; padding:.28em 0; }
.nxspin-winners-panel .nxspin-list-row strong,.nxspin-winners-panel .nxspin-list-row span,.nxspin-winners-panel .nxspin-list-row em{ display:block; grid-column:auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nxspin-winners-panel .nxspin-list-row strong{ max-width:none; }
.nxspin-winners-panel .nxspin-list-row span{ min-width:0; }
.nxspin-winners-panel .nxspin-list-row em{ text-align:right; }
.nxspin-history-list{ max-height:31vh; overflow:auto; padding-right:4px; }
.nxspin-empty{ font:700 .92em/1.2 'Open Sans',Arial,sans-serif; color:#9e8caf; padding:.35em 0; }
.nxspin-frame-panel{ display:grid; grid-template-columns:1fr; gap:.18em; color:#d7c8ff; }
.nxspin-frame-current{ font:900 1em/1.05 'Cinzel',Georgia,serif; color:#ffe59d; margin-bottom:.35em; text-shadow:0 0 7px rgba(255,205,80,.45),0 2px 2px #000; }
.nxspin-frame-current strong{ color:#74ff9a; }
.nxspin-frame-row{ display:grid; grid-template-columns:2.4em minmax(0,1fr); gap:.45em; align-items:center; font:800 .92em/1.05 'Open Sans',Arial,sans-serif; text-transform:uppercase; }
.nxspin-frame-row strong{ color:#ffd56e; }
.nxspin-frame-row span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nxspin-frame-row.is-active{ color:#74ff9a; text-shadow:0 0 8px rgba(80,255,140,.45),0 2px 2px #000; }
.nxspin-frame-row.is-active strong{ color:#74ff9a; }

.nxspin-msg{ position:fixed !important; left:50% !important; right:auto !important; top:auto !important; bottom:5.5vh !important; z-index:100070 !important; width:min(44vw,560px) !important; transform:translateX(-50%) !important; text-align:center; display:none;
    font:700 clamp(13px,1.2vw,20px) 'Cinzel',serif; color:#ffe6a6; padding:8px 16px; border-radius:10px;
    background:rgba(14,10,20,.92); border:1px solid rgba(236,191,103,.5); box-shadow:0 8px 24px rgba(0,0,0,.6); }
.nxspin-msg.show{ display:block; }
.nxspin-msg.err{ color:#ffd7d7; border-color:rgba(230,120,120,.6); }

/* ===== positioning editor ===== */
.nxspin-editbtn{ all:unset; cursor:pointer; position:fixed; right:14px; bottom:14px; z-index:100060; padding:8px 14px; border-radius:8px;
    font:600 13px 'Open Sans',sans-serif; color:#fff0d0; background:linear-gradient(180deg,#3a2358,#1c1130); border:1px solid rgba(236,191,103,.5); }
.nxspin.edit .nxspin-el{ outline:1px dashed rgba(255,215,120,.6); outline-offset:2px; cursor:move; }
.nxspin.edit .nxspin-reward{ pointer-events:none !important; outline:0 !important; cursor:default !important; }
.nxspin.edit .nxspin-panel{ outline:1px dashed rgba(255,215,120,.48); outline-offset:4px; cursor:move; }
.nxspin-el.sel,.nxspin-panel.sel{ outline:2px solid #ffd76b !important; z-index:50; }
.nxspin-rsz{ position:absolute; right:-7px; bottom:-7px; width:14px; height:14px; background:#ffd76b; border:1px solid #1a1206; border-radius:2px; z-index:60; cursor:nwse-resize; }
.nxspin-bar{ position:fixed; left:14px; bottom:14px; z-index:100060; display:none; gap:6px; }
.nxspin-bar.show{ display:flex; }
.nxspin-bar button{ all:unset; cursor:pointer; padding:8px 12px; border-radius:8px; font:600 12px 'Open Sans',sans-serif; color:#cfe7ff; background:#1a1030; border:1px solid rgba(236,191,103,.4); }
.nxspin-out{ position:fixed; left:14px; bottom:58px; z-index:100060; width:520px; max-width:92vw; height:90px; display:none; font:11px/1.3 monospace; color:#cfe; background:#0a0712; border:1px solid rgba(236,191,103,.4); border-radius:6px; padding:6px; }
.nxspin-out.show{ display:block; }

@media (max-width:760px){
    .nxspin-wheelbox{ width:min(86vw,70vh); height:min(86vw,70vh); top:46%; }
    .nxspin-btn{ top:82%; width:min(72vw,430px); }
    .nxspin-msg{ width:82vw; top:91%; }
    .nxspin-reward{ width:calc(20% * var(--nxspin-reward-scale)); min-width:54px; }
    .nxspin-panel{ transform:scale(.82); transform-origin:top left; }
    .nxspin-free-panel{ left:2%; top:10%; }
    .nxspin-wcoin-panel{ left:2%; top:20%; }
    .nxspin-rud-panel{ left:2%; top:26%; }
    .nxspin-pool-panel{ display:none; }
    .nxspin-winners-panel{ right:auto; left:2%; top:65%; }
    .nxspin-history-panel{ display:none; }
}
