/* 幸运抽奖 - 前台样式（复用核心 CSS 变量，无圆角设计，全端适配） */

/* ---------- 通用 chip（前台状态标签） ---------- */

.lt-chip {
    display: inline-block;
    font-size: 12px;
    padding: 2px 9px;
    border: 1px solid var(--bd);
    color: var(--tx-2);
    background: var(--card);
    white-space: nowrap;
}
.lt-chip.is-ok { color: var(--ok); border-color: var(--ok); }
.lt-chip.is-warn { color: var(--warn); border-color: var(--warn); }
.lt-chip.is-off { color: var(--tx-3); }

/* ---------- 帖子页抽奖卡 ---------- */

.lt-thread-card {
    border: 1px solid var(--bd);
    background: var(--soft-2);
    padding: 14px 16px;
    margin-bottom: 16px;
    min-width: 0;
}

.lt-tc-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.lt-tc-head b { font-size: 15px; color: var(--tx); }
.lt-tc-head svg { color: var(--ac); }

.lt-tc-info {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--tx-2);
}
.lt-tc-info b { color: var(--tx); font-size: 14px; }
.lt-tc-mode { color: var(--tx-3); }
.lt-tc-sub { font-size: 12px; color: var(--tx-3); }

.lt-tc-tip { font-size: 12.5px; color: var(--tx-3); margin: 8px 0 0; line-height: 1.7; }
.lt-tc-tip b { color: var(--ok); }

.lt-tc-winners { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--bd); }
.lt-tc-win-title { font-size: 12.5px; color: var(--tx-2); margin-bottom: 8px; }
.lt-tc-win-list { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.lt-tc-winner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--tx-2);
    min-width: 0;
}
.lt-tc-winner:hover { color: var(--ac-2); }
.lt-tc-winner span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lt-tc-acts {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--bd);
}

/* ---------- 首页侧边栏抽奖卡 ---------- */

.lt-side-card { min-width: 0; }

.lt-slots { display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }

.lt-slot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid var(--bd);
    background: var(--card);
    min-width: 0;
}
.lt-slot:hover { border-color: var(--bd-2); }

.lt-slot-main { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.lt-slot-icon { color: var(--ac); flex-shrink: 0; display: inline-flex; }

.lt-slot-info { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lt-slot-info b {
    font-size: 13.5px;
    color: var(--tx);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lt-slot-meta { font-size: 12px; color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lt-draw-btn { flex-shrink: 0; }

/* ---------- 中奖榜（双份渲染 + CSS 无缝滚动） ---------- */

.lt-board { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--bd); }
.lt-board-title { font-size: 12px; color: var(--tx-3); display: flex; align-items: center; gap: 5px; margin-bottom: 6px; }

.lt-board-viewport { overflow: hidden; height: auto; max-height: 108px; /* ≈3 行 */ }

.lt-board-list { list-style: none; margin: 0; padding: 0; }
.lt-board-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    padding: 4px 0;
    min-width: 0;
}
.lt-board-user {
    color: var(--tx-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
}
.lt-board-prize {
    color: var(--ac-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
}

/* 无缝滚动：内容双份，列表整体上移 50% 后回到起点 */
.lt-board-list.is-scroll { animation: lt-scroll 12s linear infinite; }
@keyframes lt-scroll {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

/* 悬停暂停仅真 hover 设备（触屏 :hover 粘滞不清除） */
@media (hover: hover) {
    .lt-board-viewport:hover .lt-board-list.is-scroll { animation-play-state: paused; }
}

/* 减少动态偏好：停用滚动 */
@media (prefers-reduced-motion: reduce) {
    .lt-board-list.is-scroll { animation: none; }
}

.lt-side-foot { font-size: 12px; color: var(--tx-3); text-align: right; margin: 10px 0 0; }
.lt-side-foot a { color: var(--tx-3); }
.lt-side-foot a:hover { color: var(--ac-2); }

/* ---------- 我的抽奖页 ---------- */

.lt-page { max-width: 860px; margin: 0 auto; }
.lt-page-tip { font-size: 13px; color: var(--tx-2); margin: 0 0 14px; line-height: 1.8; }
.lt-thread-link { font-size: 12px; margin-left: 8px; white-space: nowrap; }

/* ---------- 发帖页表单注入 ---------- */

.lt-form-box {
    border: 1px dashed var(--bd);
    background: var(--soft-2);
    padding: 12px 14px;
    min-width: 0;
}
.lt-form-fields { margin-top: 10px; }

.lt-group-checks { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.lt-group-check { margin: 0; font-size: 13px; }

.lt-cost-tip { margin-top: 4px; }
.lt-cost-tip b { color: var(--ac-2); }

/* ---------- 后台（admin.css 同名变量通用） ---------- */

.lt-filter { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.lt-filter input[type=text] { max-width: 200px; }

/* ---------- 幸运转盘页 ---------- */

/* 货币池切换 tab（下划线式：无绿底，选中态亮绿文字——深浅主题自动可读） */
.lt-wheel-tabs {
    display: flex;
    gap: 2px;
    flex-wrap: wrap;
    align-items: flex-end;
    border-bottom: 1px solid var(--bd);
    margin-bottom: 14px;
    min-width: 0;
}
.lt-wheel-tab {
    padding: 8px 14px;
    font-size: 13px;
    color: var(--tx-2);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    white-space: nowrap;
}
.lt-wheel-tab:hover { color: var(--tx); }
.lt-wheel-tab.is-on { color: var(--ac-2); border-bottom-color: var(--ac); font-weight: 600; }

/* 侧边栏卡片头「转盘版」入口 */
.lt-wheel-entry { font-size: 12.5px; color: var(--tx-3); white-space: nowrap; }
.lt-wheel-entry:hover { color: var(--ac-2); }

/* 左栏入口卡（仅三栏布局桌面端） */
.lt-left-card { min-width: 0; }
.lt-left-tip { font-size: 13px; color: var(--tx-3); margin: 0 0 12px; text-align: center; }

/* 状态条 */
.lt-wheel-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    padding: 10px 14px;
    margin-bottom: 6px;
    border: 1px dashed var(--bd);
    background: var(--soft-2);
    font-size: 13px;
    color: var(--tx-2);
}
.lt-ws-item { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.lt-ws-item .ic { color: var(--ac-2); }
.lt-ws-item b { color: var(--tx); font-family: var(--serif); }

/* 转盘舞台：指针在顶部 0° 位，转盘纯 CSS 渐变扇区，旋转由 JS 驱动 */
.lt-wheel-stage {
    position: relative;
    width: 320px;
    height: 320px;
    margin: 18px auto 8px;
}
.lt-wheel-pointer {
    position: absolute;
    left: 50%;
    top: -6px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 20px solid var(--ac);
    z-index: 3;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .25));
}
.lt-wheel {
    width: 100%;
    height: 100%;
    border-radius: 50%; /* 转盘本身是圆形游戏元素，非 UI 卡片圆角（无圆角规范不适用） */
    border: 6px solid var(--bd-2);
    box-shadow: var(--shadow-lg);
    position: relative;
    overflow: hidden;
    will-change: transform;
}
.lt-wheel-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: 0 0;
    transform: rotate(var(--lt-deg)) translateY(-145px); /* 角度走 CSS 变量，环带半径可随媒体查询缩放 */
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
    white-space: nowrap;
    writing-mode: vertical-rl; /* 竖排文字从外侧向圆心方向生长 */
    letter-spacing: 1px;
    max-height: 88px; /* 标签落在距圆心 57~145px 环带（中心按钮半径 42px，盘内半径 154px） */
    overflow: hidden;
}
.lt-wheel-label.is-miss { color: var(--tx-3); text-shadow: none; }

/* 中心按钮（盖在转盘中心，不随盘旋转） */
.lt-wheel-go {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 4px solid var(--card);
    background: var(--ac);
    color: #FAF9F5;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
    text-decoration: none;
    font-family: var(--sans);
    padding: 0;
}
.lt-wheel-go b { font-size: 20px; font-weight: 700; line-height: 1; }
.lt-wheel-go span { font-size: 11px; opacity: .9; }
.lt-wheel-go:hover { filter: brightness(1.06); }
.lt-wheel-go:disabled { opacity: .55; cursor: not-allowed; }
body.theme-trae .lt-wheel-go { color: #0A0C0A; } /* 荧光绿底深字（对齐核心 .btn 口径） */

/* 结果区 */
.lt-wheel-result {
    margin: 14px auto 0;
    max-width: 420px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 16px;
    border: 1px solid var(--bd);
}
.lt-wheel-result.is-win { color: var(--ok); border-color: var(--ok); background: var(--ok-soft); }
.lt-wheel-result.is-miss { color: var(--tx-3); background: var(--soft-2); }

.lt-wheel-limit-tip { text-align: center; font-size: 12.5px; color: var(--warn); margin: 8px 0 0; }

/* 奖品图例 */
.lt-wheel-prizes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed var(--bd);
}
.lt-wp-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: var(--tx-2);
    border: 1px solid var(--bd);
    background: var(--card);
    padding: 5px 10px;
    max-width: 100%;
    min-width: 0;
}
.lt-wp-icon { color: var(--ac); display: inline-flex; flex-shrink: 0; }
.lt-wp-item b { color: var(--tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lt-wp-meta { color: var(--tx-3); white-space: nowrap; }

/* 减少动态偏好：转盘动画减速改为快速归位 */
@media (prefers-reduced-motion: reduce) {
    .lt-wheel { transition-duration: .01s !important; }
}

/* ---------- 手机端适配 ---------- */

@media (max-width: 720px) {
    .lt-tc-info { gap: 10px 14px; }
    .lt-thread-card { padding: 12px; }
    .lt-board-viewport { max-height: 90px; }
    /* 转盘整体缩小适配窄屏（标签环带同比内收；行内仅传角度变量，位移在此覆盖） */
    .lt-wheel-stage { width: 272px; height: 272px; }
    .lt-wheel-label { font-size: 11px; max-height: 76px; transform: rotate(var(--lt-deg)) translateY(-124px); }
    .lt-wheel-go { width: 72px; height: 72px; }
    .lt-wheel-go b { font-size: 17px; }
    .lt-wheel-stats { gap: 10px 14px; font-size: 12.5px; }
}
