/* V3.55 approved lottery visual; only scoped to scratch ticket */
.lottery-ticket{padding:9px!important;border:0!important;border-radius:22px!important;background:linear-gradient(140deg,#fff6bd,#d49028 20%,#fff0a9 47%,#a55c15 82%,#ffecad)!important;box-shadow:0 14px 45px #0008,0 0 0 3px #ffdc88 inset!important;min-width:0;overflow:hidden}
.lottery-ticket .ticket-inner{border:5px solid #a15b21;border-radius:16px;overflow:hidden;background:#ffd474;box-shadow:inset 0 0 0 3px #f6c667}
.lottery-ticket .ticket-art{position:relative;overflow:hidden;min-height:250px;padding:16px 14px 10px;background:radial-gradient(ellipse at 48% 78%,#fff2a2 0%,#ffcf47 36%,#f89b19 70%,#db4b12 100%)}
.lottery-ticket .ticket-art:before{content:"";position:absolute;inset:0;opacity:.22;background:repeating-radial-gradient(circle at 45% 60%,transparent 0 26px,#fffab7 28px 30px);pointer-events:none}
.lottery-ticket .ticket-meta{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px}
.lottery-ticket .ticket-period{border:2px solid #ffe39b;background:#a61c21;color:#fff4b2;border-radius:9px;padding:7px 9px;font-size:clamp(11px,2.9vw,15px);font-weight:900;box-shadow:0 3px 0 #6a0c18;min-width:0}
.lottery-ticket .ticket-period b{color:white;white-space:nowrap}
.lottery-ticket .ticket-top-prize{font-size:clamp(10px,2.4vw,14px);color:#5d1e12;font-weight:900;background:#fff6d5ef;border:2px solid #fff;padding:5px 8px;border-radius:9px;text-align:center;max-width:49%;overflow-wrap:anywhere}
.lottery-ticket .ticket-top-prize b{display:block;font-size:clamp(19px,5.7vw,36px);line-height:1.1;color:#db1326;text-shadow:1px 1px 0 #fff}
.lottery-ticket .ticket-art-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(115px,40%) 1fr;align-items:center;min-height:175px}
.lottery-ticket .ticket-brand{text-align:center;z-index:2;transform:translateX(5%);min-width:0}
.lottery-ticket .ticket-brand small{display:block;color:#fff7c3;background:#bf1f1b;border-radius:30px;padding:4px 3px;font-size:clamp(9px,2.4vw,13px);font-weight:900;border:2px solid #ffec9d}
.lottery-ticket .ticket-brand strong{display:block;margin:9px -24px 2px;font-size:clamp(22px,6.2vw,49px);line-height:1.05;color:#ed1527;-webkit-text-stroke:1px white;text-shadow:0 3px 0 #a72000,0 5px 9px #7d2118;white-space:nowrap}
.lottery-ticket .ticket-brand span{display:block;margin:6px -12px;font-weight:900;color:#963211;font-size:clamp(9px,2.3vw,15px);white-space:nowrap}
.lottery-ticket .ticket-mascot{position:relative;text-align:center;transform:translateY(9px);filter:drop-shadow(0 10px 6px #86331468)}
.lottery-ticket .ticket-mascot svg{width:100%;max-height:196px;display:block}
.lottery-ticket .ticket-luck{text-align:center;z-index:2;transform:translateX(-4%)}
.lottery-ticket .ticket-luck-icon{font-size:clamp(23px,5vw,40px)}
.lottery-ticket .ticket-luck span{display:block;font-size:clamp(10px,2.65vw,17px);font-weight:950;color:#8a200e;background:#ffefabdd;padding:8px 3px;border:2px solid #fffbcc;border-radius:12px;line-height:1.4}
.lottery-ticket .ticket-scratch{background:linear-gradient(180deg,#ff8ca2,#ffb4c1 8%,#eb466e);padding:10px 12px 13px}
.lottery-ticket .ticket-scratch-head{display:flex;justify-content:space-between;align-items:center;font-size:clamp(10px,2vw,13px);font-weight:900;color:#8c1834;margin-bottom:6px;gap:8px}
.lottery-ticket .ticket-scratch-head strong{font-size:clamp(11px,2.6vw,17px)}
.lottery-ticket .scratch-area{position:relative;height:clamp(102px,21vw,142px)!important;border:4px solid #c73a57!important;border-radius:12px!important;overflow:hidden;background:radial-gradient(ellipse,#fff4d1,#fbc365 70%,#ef9b36)!important;box-shadow:inset 0 0 15px #c75d19,0 2px 0 #fff7cd!important;touch-action:none}
.lottery-ticket .reward{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;font-size:30px;color:#952508;text-shadow:1px 2px 0 #ffedac}
.lottery-ticket .reward.prize-revealed span{font-size:var(--prize-font,70px)!important;line-height:1!important;font-weight:1000;letter-spacing:-.05em;white-space:nowrap;max-width:100%}
.lottery-ticket #cover{z-index:3;touch-action:none;pointer-events:auto}
.lottery-ticket #scratch-overlay{z-index:4;pointer-events:none;font-size:clamp(12px,3vw,18px)}
.lottery-ticket .ticket-scratch-help{text-align:center;margin-top:7px;font-size:11px;color:#fff8df;font-weight:750}
.lottery-ticket #open-verify,.lottery-ticket #claim-btn{display:block;margin:12px auto 0;width:100%;max-width:100%}
.lottery-ticket [hidden]{display:none!important}
.lottery-ticket .card-msg{margin:10px 0 3px;font-size:12px}
@media(max-width:480px){.lottery-ticket{padding:6px!important;border-radius:16px!important}.lottery-ticket .ticket-inner{border-width:3px;border-radius:12px}.lottery-ticket .ticket-art{min-height:215px;padding:9px 6px 6px}.lottery-ticket .ticket-art-grid{grid-template-columns:1fr 39% 1fr;min-height:165px}.lottery-ticket .ticket-brand strong{margin-inline:-17px}.lottery-ticket .ticket-period{padding:5px 4px}.lottery-ticket .ticket-top-prize{padding:3px 5px}.lottery-ticket .ticket-scratch{padding:8px}.lottery-ticket .scratch-area{height:104px!important}.lottery-ticket .ticket-scratch-help{font-size:9px}}
@media(max-width:355px){.lottery-ticket .ticket-art-grid{grid-template-columns:1fr 37% 1fr}.lottery-ticket .ticket-luck span{font-size:9px;padding:4px 1px}.lottery-ticket .ticket-brand strong{font-size:21px}.lottery-ticket .ticket-top-prize b{font-size:19px}.lottery-ticket .ticket-period{font-size:10px}}
/* V3.59: idle silver uses a real overlay in index.php, not a pseudo-element. */
