.lottery-modal{color-scheme:dark;width:min(470px,calc(100% - 24px));max-width:470px;max-height:94dvh;margin:auto;padding:0;border:0;border-radius:24px;background:transparent;color:#e2e8f0;box-shadow:none;font-family:inherit;overflow:auto;overscroll-behavior:contain}
.lottery-modal::backdrop{background:#020617bf;backdrop-filter:blur(8px)}
.lottery-modal *{box-sizing:border-box}.lottery-modal [hidden]{display:none!important}.lottery-modal button{font:inherit;cursor:pointer}.lottery-modal button:disabled{cursor:not-allowed;opacity:.45}.lottery-modal :focus-visible{outline:2px solid #67e8f9;outline-offset:4px}
.lottery-modal .lm-close{position:absolute;right:14px;top:12px;z-index:5;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff08;color:#cbd5e1;font-size:27px;line-height:1}
.lottery-modal #lottery-panel{padding:46px 20px 22px}.lottery-modal .lm-stage{text-align:center}
.lottery-modal .lm-board{display:grid;grid-template-columns:repeat(var(--lottery-grid,3),minmax(0,1fr));gap:9px;margin:0 auto 20px;max-width:410px}
.lottery-modal .lm-tile,.lottery-modal .lm-action-tile{min-width:0;aspect-ratio:1/1.04;border:1px solid #164e63;border-radius:6px;background:linear-gradient(145deg,#12355c,#0c6ba5);box-shadow:inset 0 1px #ffffff1a,0 5px 12px #0005;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 5px;color:#e0f2fe;transition:transform .2s,border-color .2s,filter .2s}
.lottery-modal .lm-tile.is-selected{border-color:#67e8f9;filter:brightness(1.45);transform:scale(1.04);z-index:1}
.lottery-modal .lm-tile.is-selected::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 2px #67e8f9,0 0 22px #22d3ee99;pointer-events:none}.lottery-modal .lm-tile{position:relative}.lottery-modal #lottery-panel.is-spinning .lm-action-tile{animation:lottery-action-pulse .72s ease-in-out infinite alternate}.lottery-modal #lottery-panel.is-spinning .lm-tile{animation:lottery-board-breathe 1.8s ease-in-out infinite alternate}
.lottery-modal .lm-tile-art{height:54%;width:100%;display:grid;place-items:center}.lottery-modal .lm-tile-art img{max-width:76%;max-height:100%;object-fit:contain;border-radius:4px}.lottery-modal .lm-tile-art>span{font-size:30px;color:#67e8f9;text-shadow:0 2px 8px #0008}
.lottery-modal .lm-tile b{font-size:clamp(11px,2.7vw,14px);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.lottery-modal .lm-action-tile{border-color:#0891b2;background:linear-gradient(145deg,#f97316,#e11d48 68%,#be123c);padding:5px;box-shadow:inset 0 1px #ffffff55,0 5px 12px #0006}.lottery-modal .lm-action-tile .lm-button{width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;color:#fff;font-size:clamp(18px,4.8vw,27px);line-height:1.05;text-shadow:0 2px 4px #7f1d1d;font-weight:900}.lottery-modal .lm-action-tile .lm-button:hover:not(:disabled){filter:none;transform:scale(1.04)}
.lottery-modal .lm-button{display:inline-flex;align-items:center;justify-content:center;width:min(100%,300px);min-height:48px;padding:12px 20px;border:0;border-radius:14px;background:linear-gradient(120deg,#22d3ee,#0ea5e9);color:#04131f;font-size:16px;font-weight:800;text-decoration:none;box-shadow:0 6px 24px #22d3ee15}
.lottery-modal .lm-button:hover:not(:disabled){filter:brightness(1.1)}
.lottery-modal .lm-message{font-size:14px;line-height:1.65;color:#cbd5e1;margin:16px 0 0}
.lottery-modal .lm-account-link{display:block;width:fit-content;margin:18px auto 0;font-size:14px;color:#94a3b8;text-decoration:none}
.lottery-modal .lm-account-link:hover{color:#67e8f9}
.lottery-modal .lm-result h3{margin:0 0 18px;font-size:20px;line-height:1.5;font-weight:800;color:#fef3c7}
.lottery-modal .lm-empty{text-align:center;padding:34px 0;color:#cbd5e1;font-size:16px;line-height:1.8}
@media(max-width:420px){.lottery-modal #lottery-panel{padding:46px 14px 18px}.lottery-modal .lm-board{gap:7px}.lottery-modal .lm-tile{padding:6px 3px}}
@keyframes lottery-action-pulse{from{filter:brightness(.9);transform:scale(.98)}to{filter:brightness(1.2);transform:scale(1.02)}}@keyframes lottery-board-breathe{from{box-shadow:inset 0 1px #ffffff1a,0 5px 12px #0005}to{box-shadow:inset 0 1px #ffffff1a,0 8px 18px #22d3ee22}}
@media(prefers-reduced-motion:reduce){.lottery-modal #lottery-panel.is-spinning .lm-action-tile,.lottery-modal #lottery-panel.is-spinning .lm-tile{animation:none}.lottery-modal .lm-tile{transition:none}}
