:root{
    --primary:#ff3d77;
    --primary-2:#ff6a00;
    --bg:#f5f6fa;
    --card:#ffffff;
    --text:#2d2d3a;
    --muted:#9aa0ab;
    --line:#eef0f4;
    --green:#27ae60;
    --orange:#ff8c2b;
    --shadow:0 6px 20px rgba(40,40,80,.08);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    background:var(--bg);color:var(--text);padding-bottom:80px;line-height:1.5;
}
a{text-decoration:none;color:inherit;}

/* ===== 顶部信息区 ===== */
.topbar{
    background:linear-gradient(120deg,var(--primary-2),var(--primary));
    color:#fff;padding:18px 16px;display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:10px;box-shadow:0 4px 14px rgba(255,61,119,.25);
}
.topbar .user{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;}
.topbar .user::before{content:"👤";font-size:18px;}
.topbar .meta{font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.topbar .meta .sign-btn{
    background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);color:#fff;
    padding:6px 14px;border-radius:20px;cursor:pointer;font-size:12px;font-weight:600;transition:.2s;
}
.topbar .meta .sign-btn:hover{background:rgba(255,255,255,.35);}
.topbar .meta .sign-btn:disabled{opacity:.55;cursor:default;}
.topbar .meta .points-pill{background:rgba(0,0,0,.15);padding:6px 12px;border-radius:20px;font-weight:600;}
.topbar .meta .logout{color:#fff;font-size:13px;opacity:.9;border-bottom:1px dashed rgba(255,255,255,.7);}

/* ===== 内容区 ===== */
.content{padding:16px;max-width:680px;margin:0 auto;}

/* ===== 底栏菜单 ===== */
.tabbar{
    position:fixed;left:50%;right:auto;bottom:10px;transform:translateX(-50%);
    width:92%;max-width:420px;height:62px;background:rgba(255,255,255,.98);
    border-radius:24px;box-shadow:0 8px 30px rgba(0,0,0,.15);
    border:1px solid rgba(0,0,0,.04);display:flex;z-index:100;padding:0 8px;
    backdrop-filter:blur(10px);
}
.tabbar a{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    font-size:11px;color:var(--muted);transition:.2s;border-radius:18px;margin:6px 4px;
}
.tabbar a .icon{font-size:20px;line-height:1;transition:.2s;}
.tabbar a .label{font-size:11px;font-weight:500;}
.tabbar a.active{color:#fff;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 4px 14px rgba(255,61,119,.35);transform:translateY(-3px);}
.tabbar a.active .icon{transform:scale(1.15);}

/* ===== 卡片 ===== */
.card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow);}

/* ===== 转盘 ===== */
.wheel-wrap{text-align:center;padding:14px 0 24px;}
.wheel-stage{position:relative;width:320px;height:320px;max-width:92vw;max-height:92vw;margin:0 auto;}
.wheel-canvas{
    width:100%;height:100%;border-radius:50%;
    box-shadow:0 0 0 10px #fff,0 0 0 14px var(--primary-2),0 14px 40px rgba(255,106,0,.3);
    transition:transform 4.2s cubic-bezier(.15,.62,.12,.99);display:block;
}
.wheel-pointer{
    position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:5;
    width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;
    border-top:28px solid var(--primary);filter:drop-shadow(0 3px 4px rgba(0,0,0,.25));
}
.wheel-center{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--primary-2),var(--primary));
    color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 12px rgba(255,61,119,.5);z-index:4;
}
.draw-btn{
    margin-top:22px;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;border:none;
    padding:14px 56px;border-radius:28px;font-size:17px;font-weight:700;cursor:pointer;
    box-shadow:0 8px 22px rgba(255,61,119,.4);transition:.15s;
}
.draw-btn:active{transform:scale(.96);}
.draw-btn:disabled{opacity:.6;box-shadow:none;}
.cost-tip{font-size:13px;color:var(--muted);margin-top:12px;}
.cost-tip b{color:var(--primary);}

/* ===== 列表 ===== */
.record-item{border-bottom:1px solid var(--line);padding:14px 4px;}
.record-item:last-child{border-bottom:none;}
.record-item .title{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.record-item .sub{font-size:12px;color:var(--muted);margin-top:6px;}
.record-item img.thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;vertical-align:middle;margin-right:8px;}
.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;}
.badge.wait{background:#fff3e6;color:var(--orange);}
.badge.done{background:#e8f8ee;color:var(--green);}

/* ===== 表单 ===== */
input,textarea,select{
    width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin:6px 0;
    font-size:14px;background:#fafbfc;transition:.2s;color:var(--text);
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(255,61,119,.12);}
.btn{
    background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;border:none;padding:13px 18px;
    border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;width:100%;transition:.15s;
}
.btn:active{transform:scale(.98);}
.btn.secondary{background:#aeb4c0;}
.btn.green{background:linear-gradient(135deg,#2ecc71,#27ae60);}
.btn.orange{background:linear-gradient(135deg,#ffb347,#ff8c2b);}
.btn.red{background:linear-gradient(135deg,#ff6b6b,#e74c3c);}

/* ===== 公告弹窗 ===== */
.modal-mask{position:fixed;inset:0;background:rgba(20,20,40,.55);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;}
.modal-mask.show{display:flex;animation:fadeIn .2s;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{background:#fff;border-radius:18px;padding:26px 22px;width:100%;max-width:340px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.modal h3{margin-bottom:12px;color:var(--primary);font-size:19px;}
.modal p{font-size:14px;line-height:1.7;margin-bottom:18px;color:#555;}

/* ===== 登录/注册 ===== */
.auth-box{max-width:380px;margin:9vh auto 0;padding:30px 26px;}
.auth-box h2{text-align:center;margin-bottom:26px;color:var(--primary);font-size:24px;letter-spacing:1px;}
.auth-box h2 span{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:6px;letter-spacing:0;}

/* ===== 领取信息 ===== */
.claim-line{display:flex;justify-content:space-between;align-items:center;padding:13px 4px;border-bottom:1px solid var(--line);font-size:14px;}
.claim-line:last-child{border-bottom:none;}
.claim-line .k{color:var(--muted);}
.claim-line .v{font-weight:600;}
.claim-img{max-width:150px;margin-top:10px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);}
.section-title{font-size:15px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:6px;}
.section-title::before{content:"";width:4px;height:16px;background:linear-gradient(var(--primary-2),var(--primary));border-radius:2px;}

/* ===== PC 端适配 ===== */
@media (min-width:768px){
    .content{max-width:760px;}
    .wheel-stage{width:380px;height:380px;}
}

/* 缩略图（奖品/记录） */
.thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;vertical-align:middle;margin-right:8px;box-shadow:0 2px 6px rgba(0,0,0,.1);}
