:root { 
    --bg: #fdfcfb; 
    --glass: rgba(255, 255, 255, 0.45);
    --glass-border: rgba(255, 255, 255, 0.5);
    --glass-highlight: rgba(255, 255, 255, 0.8);
    --card-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.25), 0 20px 40px -10px rgba(0, 0, 0, 0.15);
    --text: #2d3436; --accent: #6c5ce7;
    --mx: 50%; --my: 50%;
}
[data-theme="dark"] { 
    --bg: #111119; 
    --glass: rgba(25, 25, 35, 0.6);
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-highlight: rgba(255, 255, 255, 0.15);
    --card-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.5), 0 20px 40px -10px rgba(0, 0, 0, 0.3);
    --text: #f5f5f7; --accent: #a29bfe;
}
* { box-sizing: border-box; transition: color 0.3s, opacity 0.3s; -webkit-tap-highlight-color: transparent; }

html { min-height: 100%; height: auto; background-color: var(--bg); transition: background-color 0.5s; overscroll-behavior-y: none; }
body { min-height: 100%; height: auto; width: 100%; margin: 0; padding: 0; overflow-x: hidden; background: transparent; font-family: -apple-system, system-ui, sans-serif; color: var(--text); display: block; position: relative; }

.glass-bg-container { position: fixed; inset: 0; z-index: -2; overflow: hidden; background: var(--bg); transition: background 0.5s; }
.glass-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.7; animation: blob-float 20s infinite alternate ease-in-out; will-change: transform; }[data-theme="dark"] .glass-blob { opacity: 0.45; filter: blur(100px); }
.blob-1 { width: 70vmin; height: 70vmin; background: var(--accent); top: -10%; left: -10%; animation-duration: 25s; }
.blob-2 { width: 80vmin; height: 80vmin; background: color-mix(in srgb, var(--accent) 60%, #00cec9); bottom: -10%; right: -10%; animation-duration: 22s; animation-delay: -5s; }
.blob-3 { width: 60vmin; height: 60vmin; background: color-mix(in srgb, var(--accent) 50%, #ff7675); top: 40%; left: 30%; animation-duration: 28s; animation-delay: -10s; }
@keyframes blob-float {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(15%, 10%) scale(1.1) rotate(90deg); }
    66% { transform: translate(-10%, 20%) scale(0.9) rotate(180deg); }
    100% { transform: translate(10%, -15%) scale(1.2) rotate(360deg); }
}
.glass-bg-overlay { position: fixed; inset: -50%; backdrop-filter: blur(100px); -webkit-backdrop-filter: blur(100px); z-index: -1; background: rgba(255, 255, 255, 0.15); transition: background 0.5s; }[data-theme="dark"] .glass-bg-overlay { background: rgba(17, 17, 25, 0.4); }

body::after {
    content: ""; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 50%, rgba(0,0,0,0.035) 50%);
    background-size: 100% 4px; z-index: 9999; pointer-events: none; opacity: 0.8;
}

.container { display: grid; grid-template-columns: 450px 1fr; gap: 30px; width: 95%; max-width: 1200px; margin: 0 auto; padding: 70px 0 40px; z-index: 10; position: relative; }
@media (max-width: 950px) { .container { grid-template-columns: 1fr; padding: 90px 0 20px; } }

.theme-wrapper { position: absolute; top: 20px; right: 20px; display: flex; justify-content: flex-end; align-items: flex-start; gap: 15px; z-index: 10000; height: auto; }
.theme-nav { display: inline-flex; gap: 10px; align-items: center; background: var(--glass); padding: 8px; border-radius: 30px; border: 1px solid var(--glass-border); box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.3); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); user-select: none; transition: all 0.6s cubic-bezier(0.5, -0.4, 0.2, 1.4); transform-origin: right top; }
.theme-nav.scrolled { gap: 6px; padding: 4px 10px; border-radius: 20px; transform: scale(0.8); }
.theme-item { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 50%; font-size: 20px; transition: all 0.6s cubic-bezier(0.5, -0.4, 0.2, 1.4); background: transparent; color: var(--text); opacity: 0.5; filter: grayscale(100%); -webkit-tap-highlight-color: transparent; position: relative; box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 15%, transparent); }
.theme-item .emoji { display: inline-block; transition: all 0.6s cubic-bezier(0.5, -0.4, 0.2, 1.4); }
.theme-item::after { content: ''; position: absolute; width: 8px; height: 8px; top: 50%; left: 50%; margin-top: -4px; margin-left: -4px; border-radius: 50%; background: currentColor; opacity: 0; transform: scale(0); transition: all 0.6s cubic-bezier(0.5, -0.4, 0.2, 1.4); }

@media (hover: hover) { 
    .theme-item:not(.active):hover { opacity: 1; transform: scale(1.15) rotate(8deg); filter: grayscale(0%); transition: all 0.4s ease; }
    #l-en:not(.active):hover { background: rgba(9, 132, 227, 0.2); color: #0984e3; box-shadow: 0 0 15px rgba(9,132,227,0.4); }
    #l-zh:not(.active):hover { background: rgba(214, 48, 49, 0.2); color: #d63031; box-shadow: 0 0 15px rgba(214,48,49,0.4); }
    #l-ja:not(.active):hover { background: rgba(232, 67, 147, 0.2); color: #e84393; box-shadow: 0 0 15px rgba(232,67,147,0.4); }
    #t-light:not(.active):hover { background: rgba(241, 196, 15, 0.2); color: #f1c40f; box-shadow: 0 0 15px rgba(241,196,15,0.4); }
    #t-dark:not(.active):hover { background: rgba(162, 155, 254, 0.2); color: #a29bfe; box-shadow: 0 0 15px rgba(162,155,254,0.4); }
    #t-auto:not(.active):hover { background: rgba(0, 206, 201, 0.2); color: #00cec9; box-shadow: 0 0 15px rgba(0,206,201,0.4); }
}

.theme-item.active { opacity: 1; background: var(--accent); color: white; transform: scale(1.15); filter: grayscale(0%); box-shadow: 0 0 15px var(--accent), inset 0 0 10px rgba(255, 255, 255, 0.4); }

#l-en.active { background: #0984e3; box-shadow: 0 0 15px #0984e3, inset 0 0 10px rgba(255, 255, 255, 0.4); }
#l-zh.active { background: #d63031; box-shadow: 0 0 15px #d63031, inset 0 0 10px rgba(255, 255, 255, 0.4); }
#l-ja.active { background: #e84393; box-shadow: 0 0 15px #e84393, inset 0 0 10px rgba(255, 255, 255, 0.4); }

.theme-nav.scrolled .theme-item { width: 10px; height: 10px; margin: 0 4px; background: transparent !important; box-shadow: none !important; transform: scale(1); }
.theme-nav.scrolled #theme-nav-container .theme-item.active { color: var(--accent); opacity: 1; }
.theme-nav.scrolled #theme-nav-container .theme-item.active::after { background: var(--accent); box-shadow: 0 0 8px var(--accent); }

.theme-nav.scrolled #lang-nav-container #l-en.active::after { background: #0984e3; box-shadow: 0 0 8px #0984e3; }
.theme-nav.scrolled #lang-nav-container #l-zh.active::after { background: #d63031; box-shadow: 0 0 8px #d63031; }
.theme-nav.scrolled #lang-nav-container #l-ja.active::after { background: #e84393; box-shadow: 0 0 8px #e84393; }

.theme-nav.scrolled .theme-item .emoji { opacity: 0; transform: scale(0) rotate(-180deg); }
.theme-nav.scrolled .theme-item::after { opacity: 1; transform: scale(1); }

.card { background: var(--glass); backdrop-filter: blur(35px); -webkit-backdrop-filter: blur(35px); border: 1px solid var(--glass-border); border-top: 1.5px solid var(--glass-highlight); border-left: 1.5px solid var(--glass-highlight); border-radius: 35px; padding: 40px; box-shadow: var(--card-shadow), inset 0 1px 0 var(--glass-highlight); position: relative; user-select: none; -webkit-user-select: none; }

.profile-header { display: flex; align-items: flex-start; gap: 25px; margin-bottom: 25px; }
.avatar-box { display: flex; flex-direction: column; align-items: center; }
.avatar-sq { width: 110px; height: 110px; border-radius: 28%; border: 3.5px solid var(--accent); overflow: hidden; }
.name-display { font-size: 28px; font-weight: 900; letter-spacing: -1px; display: inline-block; }

/* 快速状态网格 */
.quick-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 25px; }
.stat-item { background: rgba(0,0,0,0.03); border-radius: 18px; padding: 12px 15px; border: 1px solid var(--glass-border); display: flex; flex-direction: column; gap: 4px; transition: transform 0.3s, border-color 0.3s; cursor: default; }
.stat-item:hover { transform: translateY(-2px); border-color: var(--accent); }
.stat-label { font-size: 10px; font-weight: 800; color: var(--accent); text-transform: uppercase; letter-spacing: 1px; }
.stat-val { font-size: 13px; font-weight: 700; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="dark"] .stat-item { background: rgba(255,255,255,0.03); }

/* ==========================================
   [新增] Presence Engine (观测者状态) 徽章样式
   ========================================== */
.presence-badge { 
    display: inline-flex; 
    align-items: center; 
    gap: 6px; 
    background: rgba(0, 206, 201, 0.1); 
    color: #00cec9; 
    padding: 6px 12px; 
    border-radius: 20px; 
    font-size: 11px; 
    font-weight: 800; 
    border: 1px solid rgba(0, 206, 201, 0.3); 
    box-shadow: 0 0 10px rgba(0, 206, 201, 0.1); 
    transition: all 0.3s; 
    cursor: default; 
}
[data-theme="dark"] .presence-badge { 
    background: rgba(85, 239, 196, 0.1); 
    color: #55efc4; 
    border-color: rgba(85, 239, 196, 0.2); 
}
.pulse-dot { 
    width: 8px; 
    height: 8px; 
    background-color: #00b894; 
    border-radius: 50%; 
    box-shadow: 0 0 0 0 rgba(0, 184, 148, 0.7); 
    animation: pulse-presence 2s infinite cubic-bezier(0.66, 0, 0, 1); 
}
@keyframes pulse-presence { 
    to { box-shadow: 0 0 0 10px rgba(0, 184, 148, 0); } 
}

/* ==========================================
   Steam 动态框与动画
   ========================================== */
.steam-box { margin-bottom: 20px; border-radius: 24px; padding: 25px; overflow: hidden; background: rgba(0,0,0,0.06); display: flex; align-items: center; justify-content: center; cursor: pointer; user-select: none; position: relative; transform-style: preserve-3d; perspective: 800px; transition: transform 0.1s ease-out, box-shadow 0.4s, border 0.4s; will-change: transform; border: 1px solid transparent; box-sizing: border-box; }
.steam-box::after { content: ""; position: absolute; left: 0; width: 100%; height: 60%; pointer-events: none; z-index: 1; background: linear-gradient(to bottom, transparent 0%, rgba(108, 92, 231, 0.05) 50%, var(--accent) 100%); opacity: 0.3; animation: scan-loop 3s ease-in-out infinite alternate; }
.steam-box::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(800px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--accent) 35%, transparent), transparent 40%); z-index: 0; pointer-events: none; opacity: 0; transition: opacity 0.4s ease; mix-blend-mode: overlay; }
.steam-box:hover::before { opacity: 1; }
.steam-box.live-active { box-shadow: 0 0 30px rgba(0, 206, 201, 0.3), inset 0 0 20px rgba(0, 206, 201, 0.15); border: 1px solid rgba(0, 206, 201, 0.4); }
@keyframes scan-loop { 0% { transform: translateY(-100%) scaleY(1); } 100% { transform: translateY(100%) scaleY(-1); } }

.steam-text-container { font-weight: 900; font-size: 24px; z-index: 2; text-shadow: 0 0 15px rgba(108, 92, 231, 0.3); transition: transform 0.3s ease, opacity 0.3s ease; position: relative; width: 100%; display: flex; align-items: center; justify-content: center; min-height: 32px; box-sizing: border-box; overflow: hidden; }
.live-word { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); white-space: nowrap; width: 90%; text-align: center; overflow: hidden; text-overflow: ellipsis; padding: 0 5px; transition: transform 0.3s ease, opacity 0.3s ease; }
.live-word-inner, .single-word { background: linear-gradient(90deg, #ff7675, var(--accent), #00cec9, #ff7675); background-size: 200%; -webkit-background-clip: text; color: transparent; animation: flow 4s linear infinite; display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; transition: transform 0.3s ease, opacity 0.3s ease; }
@keyframes flow { 0% { background-position: 0%; } 100% { background-position: 200%; } }

#live-corner-info { position: absolute; right: 20px; bottom: 12px; font-size: 11.5px; font-weight: 800; opacity: 0; transform: translateX(10px); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); z-index: 5; color: var(--accent); text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.steam-box:hover #live-corner-info { opacity: 1; transform: translateX(0); }

/* Last.fm 组件 */
.lfm-container { background: rgba(0,0,0,0.04); border-radius: 24px; margin-bottom: 25px; padding: 16px 25px; display: flex; align-items: center; gap: 12px; overflow: hidden; position: relative; width: 100%; box-sizing: border-box; border: 1px solid transparent; transition: transform 0.3s ease, border-color 0.3s; }
.lfm-container:hover { border-color: rgba(108, 92, 231, 0.3); transform: translateY(-2px); }
.lfm-icon { font-size: 16px; animation: pulse-lfm 2s infinite ease-in-out; }
@keyframes pulse-lfm { 0% { transform: scale(1); opacity: 0.7; } 50% { transform: scale(1.2); opacity: 1; text-shadow: 0 0 8px var(--accent); } 100% { transform: scale(1); opacity: 0.7; } }
.lfm-track-wrap { flex: 1; overflow: hidden; white-space: nowrap; position: relative; mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); }
.lfm-track { display: inline-block; font-size: 13px; font-weight: 700; color: var(--text); opacity: 0.85; padding-left: 100%; animation: scroll-left 15s linear infinite; }
@keyframes scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }

/* 图表与热力图 (D1 渲染支持) */
.chart-container { background: rgba(0,0,0,0.03); border-radius: 24px; padding: 10px; border: 1px solid var(--glass-border); position: relative; width: 100%; overflow: hidden; transition: height 0.3s ease; box-sizing: border-box; }

.heatmap-outer { width: 100%; overflow-x: auto; margin-top: 10px; margin-bottom: 25px; padding-bottom: 10px; -ms-overflow-style: none; scrollbar-width: thin; scrollbar-color: var(--glass-border) transparent; }
.heatmap-outer::-webkit-scrollbar { height: 6px; }
.heatmap-outer::-webkit-scrollbar-track { background: transparent; }
.heatmap-outer::-webkit-scrollbar-thumb { background: var(--glass-border); border-radius: 6px; }
.heatmap-inner { min-width: max-content; display: flex; flex-direction: column; }
.heatmap-header { display: flex; margin-left: 30px; margin-bottom: 5px; font-size: 10px; color: var(--text); opacity: 0.6; font-weight: 700; position: relative; height: 15px; }
.heatmap-month-label { position: absolute; }
.heatmap-body { display: flex; gap: 5px; }
.heatmap-weekdays { position: relative; width: 25px; height: 108px; font-size: 10px; color: var(--text); opacity: 0.6; font-weight: 700; }
.heatmap-weekdays span { position: absolute; line-height: 12px; right: 0; }
.heatmap-grid { display: grid; grid-template-rows: repeat(7, 1fr); grid-auto-flow: column; gap: 4px; }
.heatmap-cell { width: 12px; height: 12px; border-radius: 3px; background: rgba(0,0,0,0.04); transition: transform 0.2s, opacity 0.2s, background 0.3s; cursor: pointer; }[data-theme="dark"] .heatmap-cell { background: rgba(255,255,255,0.04); }
.heatmap-cell.active-level-1 { background: color-mix(in srgb, var(--accent) 30%, transparent); opacity: 1; }
.heatmap-cell.active-level-2 { background: color-mix(in srgb, var(--accent) 55%, transparent); opacity: 1; }
.heatmap-cell.active-level-3 { background: color-mix(in srgb, var(--accent) 80%, transparent); opacity: 1; }
.heatmap-cell.active-level-4 { background: var(--accent); opacity: 1; box-shadow: 0 0 8px var(--accent); }

#total-time-card { background: var(--glass) !important; backdrop-filter: blur(25px) !important; -webkit-backdrop-filter: blur(25px) !important; border: 1px solid var(--glass-border) !important; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.2) !important; transition: transform 0.1s ease-out, box-shadow 0.4s, border 0.4s; text-align: center; margin-top: 20px; padding: 15px; border-radius: 24px; position: relative; overflow: hidden; box-sizing: border-box; }
#total-time-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--accent) 20%, transparent), transparent 40%); z-index: 1; pointer-events: none; opacity: 0; transition: opacity 0.4s ease; }
#total-time-card:hover::before { opacity: 1; }

/* 访客信息区块 */
.visitor-info-wrapper { grid-column: 1 / -1; margin-top: 10px; margin-bottom: 20px; perspective: 1000px; transform-style: preserve-3d; }
.visitor-info { background: var(--glass); border: 1px solid var(--glass-border); border-radius: 24px; padding: 20px; font-family: monospace; font-size: 11px; text-align: center; opacity: 0.3; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); transform-origin: center bottom; will-change: transform, opacity; transform: scale(0.85) translateY(30px) rotateX(15deg); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.visitor-stats-grid { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 15px; margin-top: 8px; border-top: 1px solid var(--glass-border); padding-top: 15px; }
.visitor-info b { color: var(--accent); }
.flag-icon { display: inline-block; height: 11px; width: auto; margin-left: 6px; vertical-align: middle; border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); user-select: none; pointer-events: none; }

/* 控件、按钮与下拉框 */
.switch { position: relative; display: inline-block; width: 46px; height: 24px; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; inset: 0; background-color: rgba(0,0,0,0.1); border-radius: 30px; }
.slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background: white; border-radius: 50%; transition: .4s; }
input:checked + .slider { background-color: var(--accent); }
input:checked + .slider:before { transform: translateX(22px); }

.master-btn { background: var(--accent); color: white; padding: 18px; border-radius: 22px; border: none; font-weight: 800; cursor: pointer; width: 100%; transition: opacity 0.3s; }
.master-btn:disabled { opacity: 0.5; cursor: not-allowed !important; }

.pretty-input { width: 100%; padding: 14px; background: rgba(0,0,0,0.04); border-radius: 18px; border: 1px solid transparent; color: var(--text); font-family: inherit; box-sizing: border-box; outline: none; transition: box-shadow 0.3s ease, border-color 0.3s ease; }
.pretty-input:focus { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent); }

.custom-dropdown { position: relative; width: 100%; user-select: none; font-family: inherit; }
.custom-dropdown.disabled { opacity: 0.7; pointer-events: none; }
.dropdown-header { padding: 14px 18px; background: rgba(0,0,0,0.04); border-radius: 18px; border: 1px solid transparent; color: var(--text); cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s; font-size: 13px; font-weight: 600;}
[data-theme="dark"] .dropdown-header { background: rgba(255,255,255,0.04); }
.dropdown-header:hover { border-color: var(--accent); }
.custom-dropdown.open .dropdown-header { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent); }
.dropdown-arrow { transition: transform 0.3s ease; }
.custom-dropdown.open .dropdown-arrow { transform: rotate(180deg); }
.dropdown-options { position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: var(--glass); backdrop-filter: blur(35px); -webkit-backdrop-filter: blur(35px); border: 1px solid var(--glass-border); border-radius: 16px; box-shadow: 0 20px 40px rgba(0,0,0,0.2); z-index: 1000; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); max-height: 220px; overflow-y: auto; padding: 6px; }
.custom-dropdown.open .dropdown-options { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-options::-webkit-scrollbar { width: 6px; }
.dropdown-options::-webkit-scrollbar-track { background: transparent; }
.dropdown-options::-webkit-scrollbar-thumb { background: var(--glass-border); border-radius: 6px; }
.dropdown-option { padding: 12px 14px; border-radius: 12px; cursor: pointer; transition: background 0.2s, color 0.2s; color: var(--text); font-size: 13px; font-weight: 600; }
.dropdown-option:hover { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); }
.dropdown-option.selected { background: color-mix(in srgb, var(--accent) 100%, transparent); color: white; box-shadow: 0 4px 10px color-mix(in srgb, var(--accent) 30%, transparent); }

label.section-title { font-size: 10px; font-weight: 900; color: var(--accent); text-transform: uppercase; letter-spacing: 2px; margin: 0; display: block; }

.skeleton { background: var(--glass-border) !important; color: transparent !important; border-radius: 8px; animation: pulse-skeleton 1.5s infinite ease-in-out; pointer-events: none; display: inline-block; }
@keyframes pulse-skeleton { 0% { opacity: 0.6; } 50% { opacity: 0.2; } 100% { opacity: 0.6; } }

.toast { background: var(--glass); backdrop-filter: blur(20px); border: 1px solid var(--glass-border); border-radius: 16px; padding: 16px 20px; color: var(--text); font-size: 14px; font-weight: 600; box-shadow: 0 10px 30px rgba(0,0,0,0.15); transform: translateX(120%); opacity: 0; transition: all 0.4s; display: flex; align-items: center; gap: 12px; pointer-events: auto; }
.toast.show { transform: translateX(0); opacity: 1; }

.tooltip-float { position: fixed; display: none; z-index: 10002; width: 280px; padding: 15px; border-radius: 20px; background: rgba(15, 15, 25, 0.98); color: #ffffff; font-size: 12px; line-height: 1.5; box-shadow: 0 20px 60px rgba(0,0,0,0.5); pointer-events: none; backdrop-filter: blur(15px); border: 1px solid rgba(255,255,255,0.1); }
.test-wrapper { position: relative; display: flex; flex: 1; min-width: 120px; cursor: help; }

/* 响应式设计 (媒体查询) */
@media screen and (max-width: 768px) {
    .container { width: 95%; padding: 85px 0 15px; gap: 20px; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; }
    .card { padding: 25px 20px; border-radius: 28px; width: 100%; box-sizing: border-box; overflow: hidden; }
    .profile-header { flex-direction: column; align-items: center; gap: 15px; text-align: center; }
    .avatar-box { align-items: center; }
    .name-column { width: 100%; display: flex; flex-direction: column; align-items: center; overflow: visible; }
    
    .quick-stats-grid { grid-template-columns: 1fr; gap: 8px; margin-bottom: 20px; }
    
    #hpm-wrapper { width: 100%; display: flex; justify-content: center; }
    #hpm-container { width: 100% !important; max-width: 280px !important; margin: 15px auto 0 !important; }
    .lfm-container { padding: 14px 18px; border-radius: 20px; margin-bottom: 20px; }
    .steam-box { padding: 20px 15px; border-radius: 20px; width: 100%; box-sizing: border-box; min-height: 80px; }
    .steam-text-container { font-size: 16px; width: 100%; overflow: hidden; }
    #live-corner-info { bottom: 8px; right: 12px; font-size: 10px; }
    .chart-container { padding: 5px; width: 100%; box-sizing: border-box; border-radius: 20px; overflow: hidden; }
    canvas#recentChart { max-width: 100%; }
    #total-time-card { padding: 15px 10px; width: 100%; box-sizing: border-box; border-radius: 20px; }
    #login-modal .card { width: 90% !important; padding: 30px 20px !important; box-sizing: border-box; }
    #login-modal .master-btn { padding: 12px 6px; font-size: 11px; }
    #login-modal .master-btn span { font-size: 18px; margin-bottom: 4px; }
    .visitor-info-wrapper { padding: 0; width: 100%; box-sizing: border-box; }
    .visitor-info { padding: 15px 10px; border-radius: 20px; font-size: 10px; word-break: break-word; box-sizing: border-box; }
    .visitor-stats-grid { flex-direction: column; gap: 6px; align-items: center; }
    .v-divider { display: none !important; }
    .v-block { display: block !important; margin: 4px 0; }
    .heatmap-outer { padding-bottom: 5px; box-sizing: border-box; }
}
@media screen and (max-width: 400px) {
    #game-preview { width: 90vw !important; left: 5vw !important; right: auto !important; }
}
