.lottery-dialog{max-width:500px;padding:14px;border-color:#8f3769;background:linear-gradient(155deg,#3b1230,#160c17)}
.lottery-dialog>header{display:flex;justify-content:flex-end;margin-bottom:4px}
.lottery-dialog>header small{color:#ff8fce}
.lottery-dialog>header button{border-color:#8d4b72;background:#361329;color:#ffd3ed}
.lottery-card{border:2px solid #7b174e;border-radius:17px;background:#ed1689 url("./assets/rpg/lottery-ticket-bg-v2.webp") center top/cover no-repeat;color:#351026;box-shadow:inset 0 0 0 3px #ffc02f,0 10px 28px rgba(0,0,0,.35);touch-action:none}
.lottery-card-title{min-height:91px;align-content:center;gap:1px;padding:12px 14px 5px;background:transparent;text-shadow:0 2px 0 #fff,0 4px 0 rgba(78,5,43,.45)}
.lottery-card-title span{color:#57113a;font-size:8px;letter-spacing:.22em}
.lottery-card-title strong{color:#ffdf50;font-size:27px;font-weight:1000;line-height:1.05;-webkit-text-stroke:1.5px #5a113b}
.lottery-card-title small{color:#57113a;font-size:8px;font-weight:1000;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.lottery-card-body{min-height:0;margin:0 13px 14px;padding:11px 10px 12px;border:3px solid #641342;border-radius:14px;background:rgba(255,218,234,.91);box-shadow:inset 0 0 0 2px #ffcb3f}
.lottery-winning{display:grid;grid-template-columns:auto 82px;align-items:center;justify-content:center;gap:12px;padding:7px 12px;border:1px dashed #a32d71;border-radius:11px;background:rgba(255,246,251,.72)}
.lottery-winning small{margin:0;color:#a11f69;font-size:10px;font-weight:1000}
.lottery-winning>div{display:block}
.lottery-stage-label{margin:8px 0 7px;color:#8a2a62;font-size:8px;font-weight:900;text-align:center}
.lottery-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:0}
.lottery-entry{display:grid;min-width:0;grid-template-rows:45px 17px 40px;align-items:center;justify-items:stretch;gap:7px;padding:8px 6px;border:1px solid #c65591;border-radius:10px;background:rgba(255,250,252,.76);box-shadow:0 2px 0 rgba(116,20,76,.2)}
.lottery-entry-divider{display:block!important;margin:0!important;color:#9c4d78!important;font-size:7px!important;font-weight:900;text-align:center}
.lottery-scratch-field{position:relative;display:grid;min-width:0;height:100%;place-items:center;overflow:hidden;border:1px solid #d278aa;border-radius:7px;background:#fff8fb;box-shadow:inset 0 1px 3px rgba(99,16,62,.14)}
.lottery-scratch-field.reward strong{display:-webkit-box;max-width:100%;padding:0 2px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#a81e69;font-size:10px;font-weight:1000;line-height:1.2;overflow-wrap:anywhere;text-align:center;white-space:normal}
.lottery-scratch-field.number>b,.lottery-winning .lottery-scratch-field.number>b{display:grid;width:auto;height:auto;place-items:center;border:0;border-radius:0;background:transparent;color:#421028;font-size:21px;font-weight:1000;box-shadow:none}
.lottery-winning .lottery-scratch-field.number>b{font-size:27px}
.lottery-scratch-field canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
.lottery-scratch-field.revealed canvas{pointer-events:none}
.lottery-card.number-complete .lottery-entry.matched{border-color:#e03d37;background:#fff0a8;box-shadow:0 0 0 2px rgba(224,61,55,.22),0 2px 0 rgba(116,20,76,.2)}
.lottery-card.number-complete .lottery-entry.matched .lottery-scratch-field{border-color:#e03d37;background:#fff6c6}
.lottery-card.number-complete .lottery-entry.matched .lottery-scratch-field.number>b,.lottery-card.number-complete .lottery-entry.matched .lottery-scratch-field.reward strong{color:#c82625}
.lottery-progress{color:#ffd2eb;font-size:10px;font-weight:900}
.lottery-dialog>.primary{background:linear-gradient(135deg,#ffca3a,#f48536);color:#431126;box-shadow:0 8px 22px rgba(232,83,137,.25)}
@media(max-width:380px){.lottery-dialog{right:7px;left:7px;padding:10px}.lottery-card-title{min-height:82px}.lottery-card-title strong{font-size:23px}.lottery-card-body{margin:0 8px 9px;padding:8px 7px 9px}.lottery-entries{gap:4px}.lottery-entry{grid-template-rows:42px 15px 37px;gap:5px;padding:6px 4px}.lottery-scratch-field.reward strong{font-size:9px}.lottery-scratch-field.number>b{font-size:18px}}
