/* ToolCMS V3.1.82 (c) ToolWorld https://www.toolworld.cn/ */
*{box-sizing:border-box;margin:0;padding:0}
body{margin:0;padding:0;font-family:inherit;background:transparent;color:var(--text-1,#333);font-size:14px;line-height:1.6}
.life-lottery-container{max-width:100%;margin:0 auto;padding:16px}
.life-lottery-layout{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap}
.life-lottery-panel{flex:0 0 300px;background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius,14px);padding:18px}
.life-lottery-panel-title{font-weight:700;font-size:15px;margin-bottom:12px;color:var(--text-1,#333)}
.life-lottery-addrow{display:flex;gap:8px;margin-bottom:12px}
.life-lottery-input{flex:1;padding:8px 10px;border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,8px);font-size:14px;background:var(--bg-card,#fff);color:var(--text-1,#333);outline:none}
.life-lottery-input:focus{border-color:var(--primary,var(--primary-hover))}
.life-lottery-list{list-style:none;max-height:220px;overflow-y:auto;margin-bottom:12px}
.life-lottery-list li{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-sm,8px);margin-bottom:6px;font-size:13.5px;background:var(--bg-soft,#fafafa)}
.life-lottery-list li span{word-break:break-all}
.life-lottery-del{border:none;background:transparent;color:var(--error,#dc2626);cursor:pointer;font-size:15px;padding:0 4px;line-height:1}
.life-lottery-toolbar{display:flex;flex-wrap:wrap;gap:8px}
.life-lottery-btn{padding:8px 14px;border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,8px);background:var(--bg-card,#fff);color:var(--text-1,#333);cursor:pointer;font-size:13px;transition:background .15s}
.life-lottery-btn:hover{background:var(--primary-light)}

.life-lottery-btn-primary{background:var(--primary,var(--primary-hover));color:#fff;border-color:var(--primary,var(--primary-hover))}
.life-lottery-btn-spin{flex:1;background:linear-gradient(135deg,#f59e0b,#ef4444);border-color:transparent;color:#fff;font-weight:700;font-size:15px}
.life-lottery-btn-spin:hover{opacity:.92;color:var(--primary)}

.life-lottery-message{margin-top:10px;padding:8px 11px;border-radius:var(--radius-sm,8px);font-size:13px;display:none}
.life-lottery-message.show{display:block}
.life-lottery-message.error{background:var(--error-bg,#fee2e2);color:var(--error,#991b1b)}
.life-lottery-message.success{background:var(--primary-light);color:var(--primary,var(--primary-hover))}
.life-lottery-stage{position:relative;width:320px;height:320px;display:flex;align-items:center;justify-content:center}
.life-lottery-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid #ef4444;z-index:5;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.life-lottery-wheel{position:relative;width:300px;height:300px;border-radius:50%;border:8px solid var(--bg-card,#fff);box-shadow:0 8px 30px rgba(0,0,0,.18);overflow:hidden;transition:transform 4.2s cubic-bezier(.15,.85,.25,1)}
.life-lottery-wheel-inner{position:absolute;inset:0;border-radius:50%}
.life-lottery-label{position:absolute;top:50%;left:50%;transform-origin:0 0;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.life-lottery-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:#fff;color:#ef4444;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:4}
.life-lottery-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:50}
.life-lottery-modal.show{display:flex}
.life-lottery-modal-card{background:var(--bg-card,#fff);border-radius:var(--radius,16px);padding:30px 36px;text-align:center;max-width:100%;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.life-lottery-modal-title{font-size:14px;color:var(--text-2,#666);margin-bottom:10px}
.life-lottery-modal-winner{font-size:26px;font-weight:800;color:var(--primary,var(--primary-hover));margin-bottom:18px;word-break:break-all}
.life-lottery-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:12px;border-top:1px solid var(--border-light,#f1f5f9);font-size:12px;color:var(--text-3,#94a3b8)}
.life-lottery-footer-right{margin-left:auto}
@media(max-width:640px){.life-lottery-layout{flex-direction:column}.life-lottery-panel{flex:none;width:100%}.life-lottery-stage{width:280px;height:280px}.life-lottery-wheel{width:260px;height:260px}.life-lottery-footer{flex-direction:column;gap:4px;text-align:center}}
