/* ==========================================================
   鎏金质感层：登录页主视觉 + 全站装饰动画
   只做装饰，不改变任何业务元素的结构与交互
   ========================================================== */

:root {
    --lux-gold-1: #fbecc0;
    --lux-gold-2: #d9a94e;
    --lux-gold-3: #a8742a;
    --lux-gold-line: rgba(201, 150, 58, 0.55);
    --lux-gold-text: linear-gradient(135deg, #f6dc98 0%, #c9963a 40%, #8a5a1c 70%, #e8c374 100%);
    --lux-serif: 'Noto Serif SC', 'STSong', 'SimSun', 'Songti SC', serif;
}

@keyframes luxSpin { to { transform: rotate(360deg); } }
@keyframes luxGlowBreathe {
    0%, 100% { opacity: 0.65; transform: scale(0.96); }
    50% { opacity: 1; transform: scale(1.04); }
}
@keyframes luxFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}
@keyframes luxFoil {
    0%, 100% { background-position: 100% 0; }
    50% { background-position: 0% 0; }
}
@keyframes luxSheen {
    0%, 62% { transform: translateX(-120%) skewX(-20deg); }
    100% { transform: translateX(220%) skewX(-20deg); }
}
@keyframes luxStampIn {
    0% { opacity: 0; transform: rotate(-8deg) scale(2.2); }
    60% { opacity: 0.9; transform: rotate(-8deg) scale(0.92); }
    100% { opacity: 0.85; transform: rotate(-8deg) scale(1); }
}
@keyframes luxLineRun {
    0% { background-position: -240px 0, 0 0; }
    100% { background-position: calc(100% + 240px) 0, 0 0; }
}
@keyframes luxMountainDrift {
    to { transform: translate3d(-1600px, 0, 0); }
}
@keyframes luxMountainDriftNear {
    to { transform: translate3d(1200px, 0, 0); }
}
@keyframes luxCraneFly {
    0% { transform: translate(-160px, 0); }
    25% { transform: translate(calc(25vw - 40px), -18px); }
    50% { transform: translate(calc(50vw + 40px), 6px); }
    75% { transform: translate(calc(75vw + 120px), -22px); }
    100% { transform: translate(calc(100vw + 200px), -40px); }
}
@keyframes luxFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes luxEnterSweep {
    0% { opacity: 1; background-position: 120% 0; }
    80% { opacity: 1; }
    100% { opacity: 0; background-position: -60% 0; }
}

/* ---------- 全局背景：远山、飞鹤、纸纹 ---------- */
.boot-bg-grid {
    display: none;
}

/* 用 transform 平移比 background-position 动画省掉每帧重绘；元素加宽一个贴图周期保证无缝 */
.lux-mountains {
    position: absolute;
    left: 0;
    bottom: 0;
    pointer-events: none;
    background-image: url('../assets/lux/mountains.svg');
    background-repeat: repeat-x;
    background-position: 0 100%;
    will-change: transform;
}

.lux-mountains-far {
    width: calc(100% + 1600px);
    height: 38vh;
    min-height: 220px;
    opacity: 0.5;
    background-size: 1600px 100%;
    animation: luxMountainDrift 220s linear infinite;
}

.lux-mountains-near {
    width: calc(100% + 1200px);
    height: 22vh;
    min-height: 130px;
    opacity: 0.42;
    background-size: 1200px 100%;
    scale: -1 1;
    animation: luxMountainDriftNear 140s linear infinite;
}

.lux-cranes {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.lux-crane {
    position: absolute;
    left: 0;
    width: 84px;
    height: 42px;
    background: url('../assets/lux/crane.svg') center / contain no-repeat;
    opacity: 0.5;
    transform: translate(-160px, 0);
    animation: luxCraneFly 48s linear infinite;
}
.lux-crane.is-1 { top: 16%; animation-delay: -6s; }
.lux-crane.is-2 { top: 21%; width: 60px; height: 30px; opacity: 0.38; animation-duration: 56s; animation-delay: -9s; }
.lux-crane.is-3 { top: 34%; width: 48px; height: 24px; opacity: 0.3; animation-duration: 64s; animation-delay: -38s; }

.lux-grain {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: url('../assets/lux/grain.svg') 0 0 / 220px 220px repeat;
    opacity: 0.07;
    mix-blend-mode: multiply;
}

/* ---------- 登录页左侧：鎏金罗盘 + 题字 ---------- */
.boot-hero {
    gap: 22px;
}

.lux-hero-top {
    position: relative;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: center;
    gap: 34px;
}

.lux-emblem {
    position: relative;
    width: 300px;
    aspect-ratio: 1;
    translate: calc(var(--boot-mx, 0) * 10px) calc(var(--boot-my, 0) * 8px);
    transition: translate 0.7s ease-out;
}

.lux-emblem-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    filter: drop-shadow(0 6px 16px rgba(168, 116, 42, 0.28));
}

.lux-emblem-glow {
    transform-origin: 0 0;
    animation: luxGlowBreathe 6s ease-in-out infinite;
}

.lux-ring {
    transform-origin: 0 0;
    animation: luxSpin 120s linear infinite;
}
.lux-ring-b { animation-duration: 90s; animation-direction: reverse; }
.lux-ring-c { animation-duration: 60s; }
.lux-ring-d { animation-duration: 40s; animation-direction: reverse; }

.lux-ring-text {
    font-family: var(--lux-serif);
    font-size: 15px;
    font-weight: 700;
}

.lux-orbit {
    position: absolute;
    inset: 0;
    animation: luxSpin 54s linear infinite;
}

.lux-orbit span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    padding: 4px;
    box-sizing: border-box;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #fffdf6, #f3e2bb);
    box-shadow:
        0 0 0 1.5px rgba(201, 150, 58, 0.9),
        0 0 0 4px rgba(255, 248, 230, 0.7),
        0 6px 14px rgba(120, 80, 30, 0.3);
    transform: rotate(calc(var(--i) * 60deg)) translateY(-140px) rotate(calc(var(--i) * -60deg));
}

.lux-orbit img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: luxSpin 54s linear infinite reverse;
}

.lux-emblem-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34%;
    aspect-ratio: 1;
    translate: -50% -50%;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 38% 30%, #fffdf7 0%, #f6e9cc 70%, #e9d2a0 100%);
    box-shadow:
        0 0 0 2px rgba(201, 150, 58, 0.85),
        0 0 0 6px rgba(255, 249, 236, 0.85),
        0 0 0 7px rgba(201, 150, 58, 0.45),
        0 14px 30px rgba(130, 84, 30, 0.35);
}

.lux-emblem-core img {
    width: 80%;
    height: 80%;
    border-radius: 50%;
    object-fit: cover;
    animation: luxFloat 4.6s ease-in-out infinite;
}

.lux-emblem-sheen {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34%;
    aspect-ratio: 1;
    translate: -50% -50%;
    border-radius: 50%;
    overflow: hidden;
    pointer-events: none;
}

.lux-emblem-sheen::before {
    content: '';
    position: absolute;
    top: -10%;
    bottom: -10%;
    left: 0;
    width: 40%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.75), transparent);
    animation: luxSheen 5.5s ease-in-out 1.2s infinite;
}

.lux-copy {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lux-kicker {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--lux-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.42em;
    color: var(--lux-gold-3);
    white-space: nowrap;
}

.lux-rule {
    flex: 0 0 34px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lux-gold-2));
    position: relative;
}
.lux-rule.is-right { background: linear-gradient(90deg, var(--lux-gold-2), transparent); }
.lux-rule::after {
    content: '';
    position: absolute;
    right: -3px;
    top: -2.5px;
    width: 5px;
    height: 5px;
    background: var(--lux-gold-2);
    transform: rotate(45deg);
}
.lux-rule.is-right::after { right: auto; left: -3px; }

.lux-title {
    margin: 0;
    font-family: var(--lux-serif);
    font-weight: 700;
    font-size: clamp(50px, 5.4vw, 78px);
    line-height: 1.08;
    letter-spacing: 0.14em;
    background: linear-gradient(100deg,
        #6e1010 0%, #a3201f 26%, #c9963a 44%, #fff1c4 50%, #c9963a 56%, #a3201f 74%, #6e1010 100%);
    background-size: 260% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 1px 0 rgba(255, 244, 220, 0.95)) drop-shadow(0 12px 18px rgba(110, 30, 20, 0.18));
    animation: luxFoil 8s ease-in-out infinite;
}

.lux-tagline {
    margin: 0;
    padding-top: 14px;
    position: relative;
    font-family: var(--lux-serif);
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.14em;
    color: #4a5d66;
}

.lux-tagline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 180px;
    height: 1px;
    background: linear-gradient(90deg, var(--lux-gold-2), rgba(201, 150, 58, 0));
}

.lux-seal-stamp {
    position: absolute;
    right: 4px;
    bottom: 8px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    border: 2px solid #b3261e;
    border-radius: 4px;
    font-family: var(--lux-serif);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.05;
    writing-mode: vertical-rl;
    color: #b3261e;
    background: rgba(255, 246, 240, 0.4);
    box-shadow: inset 0 0 0 2px rgba(255, 246, 240, 0.6), inset 0 0 0 3px rgba(179, 38, 30, 0.5);
    opacity: 0.85;
    transform: rotate(-8deg);
    animation: luxStampIn 0.6s cubic-bezier(0.3, 1.4, 0.5, 1) 1.1s backwards;
    pointer-events: none;
}

.lux-privileges {
    list-style: none;
    margin: 0;
    padding: 18px 0 2px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: relative;
}

.lux-privileges::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background:
        linear-gradient(90deg, transparent, #fff3c8, transparent),
        linear-gradient(90deg, transparent, var(--lux-gold-line) 15%, var(--lux-gold-line) 85%, transparent);
    background-size: 240px 100%, 100% 100%;
    background-repeat: no-repeat;
    animation: luxLineRun 7s linear infinite;
}

.lux-privileges li {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 0 14px;
    min-width: 0;
}

.lux-privileges li:first-child { padding-left: 0; }

.lux-privileges li + li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 1px;
    background: linear-gradient(transparent, var(--lux-gold-line), transparent);
}

.lux-privileges b {
    flex: 0 0 auto;
    font-family: var(--lux-serif);
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    background: var(--lux-gold-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.lux-privileges strong {
    display: block;
    font-family: var(--lux-serif);
    font-size: 15px;
    letter-spacing: 0.1em;
    color: var(--boot-ink, #1a2b34);
}

.lux-privileges em {
    display: block;
    margin-top: 5px;
    font-style: normal;
    font-size: 12px;
    line-height: 1.5;
    color: var(--boot-muted, #6b808a);
}

/* 底部道具滚动条：换成金线边框，与整体呼应 */
.boot-hero-marquee {
    border-top: 1px solid rgba(201, 150, 58, 0.22);
    border-bottom: 1px solid rgba(201, 150, 58, 0.22);
}

/* ---------- 登录卡片：鎏金描边 + 回纹角花 ---------- */
.login-form::before {
    background: conic-gradient(from var(--boot-ring-angle),
        rgba(201, 150, 58, 0.95), rgba(255, 238, 186, 0.95), rgba(255, 255, 255, 0.45),
        rgba(168, 116, 42, 0.85), rgba(201, 150, 58, 0.95));
}

.login-form::after {
    background: linear-gradient(180deg, #fffdf8 0%, #fbf3e3 100%);
}

.lux-corner {
    position: absolute;
    z-index: 2;
    width: 30px;
    height: 30px;
    background: url('../assets/lux/corner.svg') center / contain no-repeat;
    pointer-events: none;
    animation: luxFadeIn 0.8s ease 0.9s backwards;
}
.lux-corner.is-tl { top: 8px; left: 8px; }
.lux-corner.is-tr { top: 8px; right: 8px; transform: scaleX(-1); }
.lux-corner.is-bl { bottom: 8px; left: 8px; transform: scaleY(-1); }
.lux-corner.is-br { bottom: 8px; right: 8px; transform: scale(-1, -1); }

.login-card-brand .boot-brand-name {
    font-family: var(--lux-serif);
    letter-spacing: 0.12em;
}

/* ---------- 工作台：鎏金顶栏、品牌、页签 ---------- */
#mainContent .stats-container {
    position: relative;
    padding: 6px 12px 8px !important;
    border-radius: 14px;
    border: 1px solid rgba(201, 150, 58, 0.26);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.94) 0%, rgba(250, 243, 230, 0.9) 100%);
    box-shadow: 0 10px 28px rgba(26, 43, 52, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

#mainContent .stats-container::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 1px;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, #fff1c0, transparent),
        linear-gradient(90deg, transparent, var(--lux-gold-line) 12%, var(--lux-gold-line) 88%, transparent);
    background-size: 240px 100%, 100% 100%;
    background-repeat: no-repeat;
    animation: luxLineRun 8s linear infinite;
}

#mainContent .stats-toolbar.log-buttons-container > .site-brand {
    position: relative;
    border-right-color: rgba(201, 150, 58, 0.3);
}

#mainContent .stats-toolbar.log-buttons-container > .site-brand::before {
    content: '';
    position: absolute;
    left: -4px;
    top: 50%;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    border-radius: 50%;
    border: 1px dashed rgba(201, 150, 58, 0.75);
    pointer-events: none;
    animation: luxSpin 18s linear infinite;
}

#mainContent .stats-toolbar.log-buttons-container .site-brand-logo {
    box-shadow: 0 0 0 1.5px rgba(201, 150, 58, 0.8), 0 2px 6px rgba(120, 80, 30, 0.25);
}

#mainContent .stats-toolbar.log-buttons-container .site-brand-name {
    font-family: var(--lux-serif);
    letter-spacing: 0.12em;
    background: linear-gradient(100deg, #6e1010 0%, #a3201f 30%, #c9963a 46%, #ffe9b0 50%, #c9963a 54%, #a3201f 70%, #6e1010 100%);
    background-size: 260% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: luxFoil 8s ease-in-out infinite;
}

.main-data-tabs {
    border-color: rgba(201, 150, 58, 0.28);
    background: rgba(255, 250, 240, 0.7);
}

.main-data-tab.is-active {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #2a6f97 0%, #1f5575 100%);
    box-shadow: 0 2px 10px rgba(31, 85, 117, 0.3), inset 0 -2px 0 rgba(242, 200, 120, 0.85);
}

.main-data-tab.is-active::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 40%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 236, 190, 0.45), transparent);
    animation: luxSheen 6s ease-in-out 0.6s infinite;
}

/* 进入工作台时一道金色流光扫过页面 */
#mainContent.visible::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 60;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(105deg,
        transparent 38%, rgba(255, 228, 160, 0.38) 48%, rgba(255, 248, 225, 0.6) 50%,
        rgba(255, 228, 160, 0.38) 52%, transparent 62%);
    background-size: 260% 100%;
    animation: luxEnterSweep 1.5s cubic-bezier(0.4, 0, 0.2, 1) 0.15s 1 both;
}

/* 弹窗标题下加一道金线 */
.compare-dialog-header,
.log-dialog-header,
.config-dialog-header,
.profitable-dialog-header,
.ua-header {
    background-image: linear-gradient(90deg, transparent, var(--lux-gold-line), transparent) !important;
    background-size: 100% 1px !important;
    background-position: center bottom !important;
    background-repeat: no-repeat !important;
}

/* ---------- 物品卡：暖白纸面、金线框、跟随鼠标的倾斜与光斑 ----------
   uiManager 会在运行时注入同名样式，这里统一以 #itemStats 提高优先级；
   涨跌极值 / 收藏 / 锁定卡保留各自的边框与光效 */
#itemStats .item-stat-card {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 1px 2px rgba(60, 40, 10, 0.06),
        0 6px 16px -8px rgba(60, 40, 10, 0.2);
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, border-color 0.25s ease;
}

#itemStats .item-stat-card:not(.is-favorited) {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 30%, rgba(246, 236, 214, 0.55) 100%);
}

#itemStats .item-stat-card:not(.today-peak-up):not(.today-peak-down):not(.is-favorited) {
    border-top-color: rgba(190, 160, 110, 0.4);
    border-right-color: rgba(190, 160, 110, 0.4);
    border-bottom-color: rgba(190, 160, 110, 0.4);
}

#itemStats .item-stat-card.viewer-item:not(.is-favorited) {
    background-color: #fbf8f1;
}

#itemStats .item-stat-card:hover {
    transform: perspective(800px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-4px);
    box-shadow:
        inset 0 2px 0 rgba(217, 169, 78, 0.9),
        0 0 0 1px rgba(217, 169, 78, 0.45),
        0 16px 30px -12px rgba(90, 60, 20, 0.38);
}

#itemStats .item-stat-card.is-viewer-locked:hover {
    transform: translateY(-2px);
}

#itemStats .item-stat-card:not(.today-peak-up):not(.today-peak-down):hover {
    border-top-color: rgba(201, 150, 58, 0.65);
    border-right-color: rgba(201, 150, 58, 0.65);
    border-bottom-color: rgba(201, 150, 58, 0.65);
}

#itemStats .item-stat-card.is-favorited {
    box-shadow:
        inset 0 2px 0 rgba(217, 169, 78, 0.75),
        0 1px 2px rgba(180, 140, 40, 0.1),
        0 6px 16px -8px rgba(160, 110, 30, 0.3);
}

/* 四角：祥云贴图换成金色回纹 */
#itemStats .item-card-ornament {
    width: 13px;
    height: 13px;
    background-image: url('../assets/lux/corner.svg');
    opacity: 0.7;
    mix-blend-mode: normal;
    transition: opacity 0.3s ease;
}
#itemStats .item-card-ornament-tl { left: 3px; top: 3px; right: auto; bottom: auto; transform: none; }
#itemStats .item-card-ornament-tr { right: 3px; top: 3px; left: auto; bottom: auto; transform: scaleX(-1); }
#itemStats .item-card-ornament-bl { left: 3px; bottom: 3px; right: auto; top: auto; transform: scaleY(-1); }
#itemStats .item-card-ornament-br { right: 3px; bottom: 3px; left: auto; top: auto; transform: scale(-1, -1); }
#itemStats .item-stat-card:hover .item-card-ornament { opacity: 1; }

/* 悬停光斑：位置由 premium.js 按鼠标写入 */
#itemStats .item-card-ornaments::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at var(--glare-x, 50%) var(--glare-y, 0%),
        rgba(255, 236, 190, 0.6) 0%, rgba(255, 236, 190, 0.18) 30%, transparent 60%);
    opacity: 0;
    transition: opacity 0.35s ease;
}
#itemStats .item-stat-card:hover .item-card-ornaments::before { opacity: 1; }

/* 道具名：图标加金框，悬停轻摆 */
#itemStats .item-stat-name {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
#itemStats .item-stat-name .item-icon {
    width: 19px;
    height: 19px;
    padding: 1px;
    box-sizing: border-box;
    border-radius: 5px;
    background: radial-gradient(circle at 35% 30%, #fffdf6, #f1e2bf);
    box-shadow: 0 0 0 1px rgba(201, 150, 58, 0.7);
    transition: transform 0.45s cubic-bezier(0.3, 1.6, 0.5, 1);
}
#itemStats .item-stat-card:hover .item-stat-name .item-icon {
    transform: rotate(-8deg) scale(1.15);
}

#itemStats .item-stat-header {
    border-bottom-color: transparent;
    background-image: linear-gradient(90deg, rgba(201, 150, 58, 0.55), rgba(201, 150, 58, 0.06));
    background-size: 100% 1px;
    background-position: left bottom;
    background-repeat: no-repeat;
}

#itemStats .item-stat-details {
    border-color: rgba(201, 170, 120, 0.32);
    background: rgba(255, 253, 248, 0.72);
}
#itemStats .item-stat-row {
    border-bottom-color: rgba(201, 170, 120, 0.2);
}
#itemStats .item-stat-row:nth-child(odd) {
    background: rgba(250, 243, 230, 0.55);
}
#itemStats .item-stat-row .stat-label {
    color: #807461;
}

/* 道具区筛选条：圆角胶囊 + 墨蓝金边选中态 */
#itemStats .item-stats-controls {
    padding: 8px 12px;
    border-radius: 12px;
    border: 1px solid rgba(201, 150, 58, 0.22);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(250, 244, 232, 0.85));
    box-shadow: 0 6px 18px -10px rgba(60, 40, 10, 0.25);
}

/* 顶部三行（统计栏 / 页签+操作 / 筛选条）：同一套纸面卡片底，左右对齐，行距统一 6px */
#mainContent .stats-container {
    margin-bottom: 6px;
}
#mainContent .main-data-workspace {
    margin-top: 0;
}
#mainContent .main-data-tabs-row {
    margin-bottom: 6px;
    padding: 5px 12px;
    border-radius: 12px;
    border: 1px solid rgba(201, 150, 58, 0.22);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(250, 244, 232, 0.85));
    box-shadow: 0 6px 18px -10px rgba(60, 40, 10, 0.25);
}
#mainContent .main-data-tabs-row > .main-actions-wrap {
    padding: 0;
}
#mainContent #itemStats {
    padding: 0 0 8px;
}
#mainContent #itemStats .item-stats-controls {
    margin-bottom: 0;
}
#itemStats .stats-sort-select,
#itemStats .stats-range-select {
    border-color: rgba(190, 160, 110, 0.45);
    border-radius: 8px;
    background-color: #fffdf8;
}
#itemStats .filter-btn,
#itemStats .category-btn {
    border-color: rgba(190, 160, 110, 0.4);
    background: rgba(255, 252, 245, 0.95);
    color: #5b5346;
    border-radius: 999px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
#itemStats .filter-btn:hover,
#itemStats .category-btn:hover {
    border-color: rgba(201, 150, 58, 0.7);
    color: #8a5a1c;
}
#itemStats .filter-btn.active,
#itemStats .category-btn.active {
    color: #fff;
    border-color: #1f5575;
    background: linear-gradient(135deg, #2a6f97 0%, #1f5575 100%);
    box-shadow: inset 0 -2px 0 rgba(242, 200, 120, 0.85), 0 2px 8px rgba(31, 85, 117, 0.25);
}

/* 点击金色火花（premium.js 生成，700ms 后移除） */
@keyframes luxSparkFly {
    0% { opacity: 1; transform: rotate(var(--a)) translateX(2px) scale(1); }
    100% { opacity: 0; transform: rotate(var(--a)) translateX(var(--d)) scale(0.3); }
}
@keyframes luxSparkRing {
    0% { opacity: 0.8; transform: translate(-50%, -50%) scale(0.2); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(1); }
}

.lux-spark-layer {
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    pointer-events: none;
    overflow: hidden;
}

.lux-spark-burst {
    position: absolute;
    width: 0;
    height: 0;
}

.lux-spark-burst::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1.5px solid rgba(217, 169, 78, 0.8);
    animation: luxSparkRing 0.55s ease-out both;
}

.lux-spark-burst i {
    position: absolute;
    left: -2px;
    top: -2px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: radial-gradient(circle, #fff6d8 0%, #f2c96a 60%, rgba(217, 169, 78, 0) 100%);
    box-shadow: 0 0 6px rgba(255, 210, 120, 0.9);
    animation: luxSparkFly 0.6s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}

/* ---------- 点击爆金币（premium.js 用 Web Animations 计算抛物线） ---------- */
.lux-coin {
    position: absolute;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    will-change: transform, opacity;
}

.lux-coin i {
    display: block;
    width: 100%;
    height: 100%;
    background: url('../assets/lux/coin.svg') center / contain no-repeat;
    filter: drop-shadow(0 2px 2px rgba(90, 55, 5, 0.4));
}

.lux-coin.has-shine::after {
    content: '';
    position: absolute;
    left: -2px;
    top: -3px;
    width: 10px;
    height: 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23fffbe6' d='M10 0 L11.4 8.6 L20 10 L11.4 11.4 L10 20 L8.6 11.4 L0 10 L8.6 8.6 Z'/%3E%3C/svg%3E") center / contain no-repeat;
    filter: drop-shadow(0 0 3px rgba(255, 220, 140, 1));
    animation: luxCoinShine 0.5s ease-in-out infinite alternate;
}

@keyframes luxCoinShine {
    from { opacity: 0.2; transform: scale(0.4) rotate(0deg); }
    to { opacity: 1; transform: scale(1) rotate(45deg); }
}

.lux-coin.is-ingot {
    width: 28px;
    height: 20px;
    margin: -10px 0 0 -14px;
}

.lux-coin.is-ingot i {
    background-image: url('../assets/lux/ingot.svg');
}

/* 点击爆出的道具图标，图片由 premium.js 以内联 background-image 指定 */
.lux-coin.is-drop {
    width: 15px;
    height: 15px;
    margin: -7.5px 0 0 -7.5px;
}

.lux-coin.is-drop i {
    background-size: contain;
    filter: drop-shadow(0 1px 1px rgba(40, 25, 5, 0.4));
}

.lux-coin-flash {
    position: absolute;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 244, 200, 0.95) 0%, rgba(255, 214, 120, 0.55) 35%, rgba(255, 214, 120, 0) 70%);
    animation: luxCoinFlash 0.45s ease-out both;
}

@keyframes luxCoinFlash {
    0% { opacity: 1; transform: scale(0.3); }
    100% { opacity: 0; transform: scale(1.3); }
}

/* ---------- 弹窗关闭残影（premiumMotion.js 克隆后播缩回动画再移除） ---------- */
.lux-dialog-ghost,
.lux-dialog-ghost * {
    pointer-events: none !important;
    animation: none !important;
    transition: none !important;
}

/* ---------- 收藏星爆 ---------- */
.lux-fav-star {
    position: absolute;
    background: center / contain no-repeat;
    filter: drop-shadow(0 0 3px rgba(255, 210, 110, 0.95));
    will-change: translate, opacity;
}

.lux-fav-star.is-dim {
    filter: grayscale(0.9) brightness(1.1) drop-shadow(0 1px 1px rgba(60, 40, 10, 0.3));
}

.lux-fav-ring {
    position: absolute;
    width: 36px;
    height: 36px;
    margin: -18px 0 0 -18px;
    border-radius: 50%;
    border: 2px solid rgba(242, 193, 78, 0.9);
    box-shadow: 0 0 10px rgba(255, 210, 110, 0.7), inset 0 0 6px rgba(255, 230, 160, 0.6);
}

/* ---------- 顶部请求进度条 ---------- */
.lux-req-bar {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 2147483645;
    height: 2px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.lux-req-bar.is-on {
    opacity: 1;
}

.lux-req-bar.is-done {
    opacity: 0;
    transition: opacity 0.3s ease 0.15s;
}

.lux-req-bar i {
    position: relative;
    display: block;
    height: 100%;
    transform: scaleX(0);
    transform-origin: 0 50%;
    background: linear-gradient(90deg, rgba(217, 169, 78, 0) 0%, #c9963a 25%, #f2c96a 70%, #fff1c4 100%);
    box-shadow: 0 0 8px rgba(255, 200, 100, 0.75);
    transition: transform 0.25s ease;
}

/* ---------- 自适应 ---------- */
@media (min-width: 961px) and (max-height: 820px) {
    .boot-hero { gap: 16px; }
    .lux-hero-top { grid-template-columns: 240px minmax(0, 1fr); gap: 28px; }
    .lux-emblem { width: 240px; }
    .lux-orbit span { width: 34px; height: 34px; margin: -17px 0 0 -17px; transform: rotate(calc(var(--i) * 60deg)) translateY(-112px) rotate(calc(var(--i) * -60deg)); }
    .lux-title { font-size: clamp(44px, 4.6vw, 64px); }
    .lux-privileges { padding-top: 14px; }
}

@media (max-width: 1180px) and (min-width: 961px) {
    .lux-privileges { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; }
    .lux-privileges li:nth-child(3) { padding-left: 0; }
    .lux-privileges li:nth-child(3)::before { display: none; }
}

@media (max-width: 960px) {
    .lux-hero-top {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 18px;
    }
    .lux-emblem { width: 220px; }
    .lux-orbit span { width: 30px; height: 30px; margin: -15px 0 0 -15px; padding: 3px; transform: rotate(calc(var(--i) * 60deg)) translateY(-103px) rotate(calc(var(--i) * -60deg)); }
    .lux-copy { align-items: center; text-align: center; }
    .lux-tagline::before { left: 50%; translate: -50% 0; background: linear-gradient(90deg, transparent, var(--lux-gold-2), transparent); }
    .lux-seal-stamp { display: none; }
    .lux-privileges { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; text-align: left; }
    .lux-privileges li { padding: 0 10px; }
    .lux-privileges li::before { display: none; }
    .lux-crane.is-3 { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .lux-ring,
    .lux-emblem-glow,
    .lux-orbit,
    .lux-orbit img,
    .lux-emblem-core img,
    .lux-emblem-sheen::before,
    .lux-title,
    .lux-seal-stamp,
    .lux-privileges::before,
    .lux-mountains,
    .lux-crane,
    .lux-corner,
    #mainContent .stats-container::after,
    #mainContent .stats-toolbar.log-buttons-container > .site-brand::before,
    #mainContent .stats-toolbar.log-buttons-container .site-brand-name,
    .main-data-tab.is-active::after {
        animation: none !important;
    }
    .lux-crane { display: none; }
    #mainContent.visible::before { display: none; }
    #itemStats .item-stat-card:hover { transform: translateY(-2px); }
    #itemStats .item-stat-card:hover .item-stat-name .item-icon { transform: none; }
}
