:root {
--text-primary: #111;
--text-secondary: #767676;
--bg-primary: #fff;
--bg-secondary: #eeeeee;
--border-color: #d1d1d1;
--surface-primary: #ffffff;
--surface-secondary: #f8f8f8;
--hover-soft: #f3f3f3;
--shadow-soft: 0 8px 24px rgba(15, 23, 42, 0.08);
--overlay-bg: rgba(128, 128, 128, 0.72);
color-scheme: light;
}
html[data-theme='dark'] {
--text-primary: #f3f4f6;
--text-secondary: #9ca3af;
--bg-primary: #000000;
--bg-secondary: #050505;
--border-color: #1d1d1d;
--surface-primary: #242424;
--surface-secondary: #2a2a2a;
--hover-soft: #343434;
--shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.55);
--overlay-bg: rgba(0, 0, 0, 0.9);
color-scheme: dark;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "San Francisco", "Helvetica Neue", Helvetica, Ubuntu, Roboto, Noto, "Segoe UI", Arial, sans-serif;
color: var(--text-primary);
background-color: var(--bg-primary);
overflow-x: hidden;
transition: background-color 0.25s ease, color 0.25s ease;
} .navbar {
position: sticky;
top: 0;
z-index: 100;
background: var(--bg-primary);
display: flex;
flex-direction: column;
z-index: 999;
transition: transform 0.3s ease;
}
.navbar.navbar-hidden {
transform: translateY(-100%);
}
.nav-top {
display: flex;
align-items: center;
padding: 12px 20px;
gap: 16px;
}
.logo svg,
.custom-logo {
display: block;
cursor: pointer;
max-height: 32px;
width: auto;
}
.logo svg [stroke] {
stroke: var(--text-primary);
}
.logo svg [fill] {
fill: var(--text-primary);
}
.site-custom-footer {
margin-top: 36px;
border-top: 1px solid var(--border-color);
background: var(--bg-primary);
}
.site-custom-footer-inner {
max-width: 1320px;
margin: 0 auto;
padding: 18px 24px 24px;
color: var(--text-secondary);
font-size: 13px;
line-height: 1.8;
}
.site-custom-footer-inner p {
margin: 0;
}
.site-custom-footer a {
color: var(--text-primary);
text-decoration: none;
font-weight: 500;
}
.site-custom-footer a:hover {
text-decoration: underline;
}
.back-to-top-btn {
position: fixed;
right: 24px;
bottom: 24px;
width: 48px;
height: 48px;
border: 0;
border-radius: 999px;
background: #2f9e44;
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
opacity: 0;
visibility: hidden;
transform: translateY(12px);
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background 0.2s ease;
z-index: 998;
}
.back-to-top-btn.is-visible {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.back-to-top-btn:hover {
background: #27863a;
}
.back-to-top-btn:focus-visible {
outline: 2px solid #2f9e44;
outline-offset: 3px;
}
@media (max-width: 768px) {
.back-to-top-btn {
right: 16px;
bottom: 16px;
width: 44px;
height: 44px;
}
}
.search-bar i {
color: var(--text-secondary);
}
.search-bar {
flex: 1;
min-width: 180px;
height: 40px;
display: flex;
align-items: center;
gap: 10px;
padding: 0 14px;
border: 1px solid var(--border-color);
border-radius: 999px;
background: var(--bg-secondary);
}
.search-bar input {
width: 100%;
min-width: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text-primary);
font-size: 14px;
}
.search-bar input::placeholder {
color: var(--text-secondary);
}
.nav-links {
display: flex;
align-items: center;
gap: 20px;
font-size: 14px;
font-weight: 500;
}
.nav-links a {
text-decoration: none;
color: var(--text-secondary);
transition: color 0.1s;
white-space: nowrap;
}
.nav-links a:hover {
color: var(--text-primary);
}
.divider {
width: 1px;
height: 32px;
background: var(--border-color);
}
.user-menu {
display: flex;
align-items: center;
gap: 12px;
}
.top-nav-menu {
display: flex;
align-items: center;
}
.primary-menu {
list-style: none;
display: flex;
gap: 24px;
margin: 0;
padding: 0;
}
.primary-menu li a {
text-decoration: none;
color: var(--text-secondary);
font-size: 14px;
font-weight: 500;
transition: color 0.1s;
}
.primary-menu li a:hover {
color: var(--text-primary);
}
.nav-avatar img {
border-radius: 50%;
display: block;
border: 1px solid var(--border-color);
}
.nav-avatar {
width: 34px;
height: 34px;
padding: 0;
border: 0;
border-radius: 50%;
background: transparent;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.submit-btn {
background: var(--surface-primary);
border: 1px solid var(--border-color);
padding: 8px 16px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
color: var(--text-primary);
transition: all 0.2s;
box-shadow: var(--shadow-soft);
}
.submit-btn:hover {
border-color: var(--text-primary);
color: var(--text-primary);
background: var(--hover-soft);
}
.theme-toggle-btn {
display: inline-flex;
align-items: center;
gap: 5px;
height: 30px;
padding: 0 9px;
border: 1px solid var(--border-color);
border-radius: 999px;
background: var(--surface-primary);
color: var(--text-primary);
cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.theme-toggle-btn:hover {
background: var(--hover-soft);
border-color: var(--text-primary);
transform: translateY(-1px);
}
.theme-toggle-btn:focus-visible {
outline: 2px solid #3b82f6;
outline-offset: 2px;
}
.theme-toggle-icon {
font-size: 12px;
}
.theme-toggle-text {
font-size: 12px;
font-weight: 600;
} .user-dropdown-container {
position: relative;
display: inline-block;
}
.nav-avatar {
background: none;
border: none;
padding: 0;
cursor: pointer;
display: block;
}
.user-dropdown {
position: absolute;
top: 100%;
right: 0;
margin-top: 8px;
background: var(--surface-primary);
min-width: 160px;
box-shadow: var(--shadow-soft);
border: 1px solid var(--border-color);
border-radius: 8px;
padding: 8px 0;
z-index: 1000;
display: none;
opacity: 0;
transform: translateY(-10px);
transition: opacity 0.2s, transform 0.2s;
}
.user-dropdown.active {
display: block;
opacity: 1;
transform: translateY(0);
}
.user-dropdown a {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 16px;
text-decoration: none;
color: var(--text-primary);
font-size: 14px;
font-weight: 500;
transition: background 0.2s;
}
.user-dropdown a:hover {
background: var(--hover-soft);
}
.user-dropdown a i {
width: 16px;
color: var(--text-secondary);
}
.dropdown-divider {
height: 1px;
background: var(--border-color);
margin: 4px 0;
}
.nav-bottom-wrapper {
border-bottom: 1px solid var(--border-color);
position: relative;
}
.nav-scroll-btn {
display: none;
flex-shrink: 0;
width: 40px;
height: 40px;
border: none;
background: rgba(255, 255, 255, 0.2);
color: var(--text-secondary);
cursor: pointer;
border-radius: 12px;
font-size: 16px;
transition: all 0.3s ease;
padding: 0;
backdrop-filter: blur(20px) saturate(180%);
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.nav-scroll-buttons {
display: none;
flex-shrink: 0;
gap: 8px;
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
pointer-events: auto;
z-index: 1000;
}
.nav-scroll-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
color: var(--text-primary);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.nav-scroll-btn:active {
background: rgba(255, 255, 255, 0.4);
transform: scale(0.95);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1200px) {
.nav-scroll-btn {
display: flex;
align-items: center;
justify-content: center;
}
.nav-scroll-buttons {
display: flex;
align-items: center;
}
} @media (max-width: 768px) {
.nav-scroll-btn {
display: none !important;
}
.nav-scroll-buttons {
display: none !important;
}
} html[data-theme='dark'] .nav-scroll-btn {
background: rgba(0, 0, 0, 0.25);
border-color: rgba(255, 255, 255, 0.2);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
html[data-theme='dark'] .nav-scroll-btn:hover {
background: rgba(0, 0, 0, 0.35);
border-color: rgba(255, 255, 255, 0.3);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}
.nav-bottom {
display: flex;
align-items: center;
padding: 0 20px;
padding-right: 120px;
height: 56px;
gap: 24px;
overflow-x: auto;
flex: 1;
position: relative;
scrollbar-width: none; cursor: grab;
user-select: none;
}
.nav-bottom.dragging {
cursor: grabbing;
}
.nav-bottom::-webkit-scrollbar {
display: none; }
.nav-bottom a {
text-decoration: none;
color: var(--text-secondary);
font-size: 14px;
font-weight: 500;
white-space: nowrap;
position: relative;
height: 100%;
display: flex;
align-items: center;
gap: 6px;
pointer-events: auto;
user-drag: none;
}
.nav-category-count {
min-width: 18px;
height: 18px;
padding: 0 6px;
border-radius: 999px;
background: var(--surface-secondary);
color: var(--text-tertiary);
font-size: 11px;
font-weight: 600;
line-height: 18px;
text-align: center;
}
.nav-bottom a.active {
color: var(--text-primary);
}
.nav-bottom a.active .nav-category-count,
.nav-bottom a:hover .nav-category-count {
background: var(--text-primary);
color: var(--surface-primary);
}
.nav-bottom a.active::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 2px;
background: var(--text-primary);
}
.nav-bottom a:not(.active):hover {
color: var(--text-primary);
}
.nav-bottom--pills {
gap: 12px;
}
.nav-bottom--pills a {
height: 34px;
padding: 0 12px;
border-radius: 999px;
background: transparent;
}
.nav-bottom--pills a.active,
.nav-bottom--pills a:hover {
background: var(--surface-secondary);
}
.nav-bottom--pills a.active::after,
.nav-bottom--segmented a.active::after,
.nav-bottom--compact a.active::after,
.nav-bottom--plain a.active::after {
display: none;
}
.nav-bottom--pills a.active .nav-category-count,
.nav-bottom--pills a:hover .nav-category-count {
background: var(--text-primary);
color: var(--surface-primary);
}
.nav-bottom--segmented {
gap: 10px;
}
.nav-bottom--segmented a {
height: 34px;
padding: 0 10px;
border: 1px solid var(--border-color);
border-radius: 8px;
}
.nav-bottom--segmented a.active,
.nav-bottom--segmented a:hover {
border-color: var(--text-primary);
color: var(--text-primary);
}
.nav-bottom--compact {
height: 44px;
gap: 14px;
}
.nav-bottom--compact a {
font-size: 14px;
}
.nav-bottom--compact .nav-category-count {
min-width: auto;
height: auto;
padding: 0;
border-radius: 0;
background: transparent;
color: var(--text-tertiary);
font-size: 14px;
line-height: 1;
}
.nav-bottom--compact a.active .nav-category-count,
.nav-bottom--compact a:hover .nav-category-count {
background: transparent;
color: var(--text-primary);
}
.nav-bottom--parentheses {
gap: 18px;
}
.nav-bottom--parentheses a {
gap: 0;
font-size: 14px;
}
.nav-bottom--parentheses .nav-category-count {
min-width: auto;
height: auto;
padding: 0;
border-radius: 0;
background: transparent;
color: var(--text-tertiary);
font-size: 14px;
line-height: 1;
}
.nav-bottom--parentheses .nav-category-count::before {
content: '(';
}
.nav-bottom--parentheses .nav-category-count::after {
content: ')';
}
.nav-bottom--parentheses a.active .nav-category-count,
.nav-bottom--parentheses a:hover .nav-category-count {
background: transparent;
color: var(--text-primary);
}
.nav-bottom--plain .nav-category-count {
display: none;
}
.v-divider {
width: 1px;
height: 24px;
background: var(--border-color);
} .hero {
padding: 100px 20px;
max-width: 864px;
margin: 0 auto;
}
.hero h1 {
font-size: 46px;
font-weight: 700;
margin-bottom: 16px;
}
.hero p {
font-size: 18px;
font-weight: 400;
color: var(--text-secondary);
margin-bottom: 8px;
}
.hero-search {
margin-top: 24px;
background: var(--bg-secondary);
border-radius: 4px;
display: flex;
align-items: center;
padding: 0 16px;
height: 54px;
}
.hero-search input {
border: none;
background: transparent;
flex: 1;
font-size: 15px;
margin-left: 12px;
outline: none;
}
.hero-search i {
color: var(--text-secondary);
}
.wallpaper-filter-panel {
padding: 22px 24px 0;
}
.wallpaper-filter-toggle {
min-width: 136px;
height: 54px;
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 20px;
padding: 0 18px;
border: 1px solid var(--border-color);
border-radius: 14px;
background: var(--surface-primary);
color: var(--text-primary);
font-size: 16px;
font-weight: 700;
cursor: pointer;
box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.wallpaper-filter-toggle:hover,
.wallpaper-filter-toggle:focus-visible {
border-color: var(--text-secondary);
background: var(--bg-primary);
box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
outline: none;
}
.wallpaper-filter-toggle span {
display: inline-flex;
align-items: center;
gap: 10px;
}
.wallpaper-filter-toggle > i {
color: var(--text-secondary);
font-size: 13px;
transition: transform 0.18s ease;
}
.wallpaper-filter-panel.is-expanded .wallpaper-filter-toggle > i {
transform: rotate(180deg);
}
.wallpaper-filter-form {
display: none;
grid-template-columns: repeat(4, minmax(160px, 1fr)) auto;
gap: 14px;
align-items: end;
padding: 14px;
margin-top: 12px;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--surface-secondary);
box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}
.wallpaper-filter-panel.is-expanded .wallpaper-filter-form {
display: grid;
}
.wallpaper-filter-group {
display: flex;
flex-direction: column;
gap: 7px;
min-width: 0;
}
.wallpaper-filter-group label {
font-size: 12px;
font-weight: 600;
line-height: 1;
color: var(--text-secondary);
letter-spacing: 0;
}
.wallpaper-filter-group select,
.filter-select-trigger {
width: 100%;
height: 42px;
padding: 0 36px 0 13px;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--surface-primary);
color: var(--text-primary);
font-size: 14px;
outline: none;
transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.wallpaper-filter-group select:hover,
.filter-select-trigger:hover {
border-color: var(--text-secondary);
background: var(--bg-primary);
}
.filter-select {
position: relative;
}
.filter-select-trigger {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
cursor: pointer;
text-align: left;
}
.filter-select-trigger span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.filter-select-trigger i {
color: var(--text-secondary);
font-size: 11px;
transition: transform 0.18s ease;
}
.filter-select.open .filter-select-trigger i {
transform: rotate(180deg);
}
.wallpaper-filter-group select:focus,
.filter-select.open .filter-select-trigger,
.filter-select-trigger:focus-visible {
border-color: #3cb46e;
background: var(--bg-primary);
box-shadow: 0 0 0 3px rgba(60, 180, 110, 0.16);
}
.filter-select-panel {
position: absolute;
top: calc(100% + 10px);
left: 0;
z-index: 60;
display: none;
width: 100%;
max-height: 360px;
overflow: auto;
padding: 8px;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--surface-primary);
box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}
.filter-select.open .filter-select-panel {
display: block;
}
.filter-category-panel {
width: 100%;
}
.filter-resolution-panel {
width: 100%;
}
.filter-resolution-tabs {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 6px;
margin-bottom: 10px;
padding: 4px;
border-radius: 8px;
background: var(--bg-secondary);
}
.filter-resolution-tab {
height: 34px;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--text-secondary);
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.filter-resolution-tab.active {
background: var(--surface-primary);
color: var(--text-primary);
box-shadow: var(--shadow-soft);
}
.filter-resolution-options {
display: none;
}
.filter-resolution-options.active {
display: block;
}
.filter-option {
position: relative;
width: 100%;
min-height: 38px;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 10px 8px 12px;
border: 0;
border-radius: 8px;
background: transparent;
color: var(--text-primary);
font-size: 14px;
text-align: left;
cursor: pointer;
transition: background-color 0.16s ease, color 0.16s ease;
}
.filter-option:hover,
.filter-option.active {
background: var(--hover-soft);
}
.filter-option.active {
color: var(--text-primary);
font-weight: 600;
}
.filter-option.active::before {
content: '';
width: 3px;
height: 16px;
border-radius: 999px;
background: #3cb46e;
flex: 0 0 3px;
}
.filter-option-count {
margin-left: auto;
color: var(--text-secondary);
font-size: 12px;
font-weight: 500;
}
.filter-color-swatch {
width: 18px;
height: 18px;
flex: 0 0 18px;
border-radius: 4px;
border: 1px solid var(--border-color);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32);
}
.filter-empty-option {
padding: 14px 10px;
color: var(--text-secondary);
font-size: 13px;
}
.wallpaper-filter-actions {
display: flex;
align-items: center;
gap: 8px;
white-space: nowrap;
}
.wallpaper-filter-actions .btn,
.wallpaper-filter-actions .btn-secondary {
height: 42px;
padding: 0 18px;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
border-radius: 8px;
font-weight: 600;
}
.wallpaper-filter-reset {
border-radius: 8px;
}
.wallpaper-filter-admin-tip {
margin: 10px 0 0;
color: var(--text-secondary);
font-size: 13px;
line-height: 1.6;
}
.wallpaper-filter-admin-tip a {
color: var(--text-primary);
font-weight: 600;
text-decoration: underline;
}
@media (max-width: 768px) {
.wallpaper-filter-panel {
padding: 16px 16px 0;
}
.wallpaper-filter-toggle { height: 44px;
padding: 0 14px;
border-radius: 8px;
font-size: 14px;
gap: 8px;
}
.wallpaper-filter-form {
grid-template-columns: 1fr;
gap: 12px;
padding: 14px;
margin-top: 10px;
background: var(--surface-secondary);
}
.wallpaper-filter-actions {
width: 100%;
}
.wallpaper-filter-actions .btn,
.wallpaper-filter-actions .btn-secondary {
flex: 1;
}
.filter-select-panel,
.filter-resolution-panel {
width: 100%;
max-width: none;
max-height: 320px;
}
} .masonry-wrapper {
padding: 24px;
max-width: 100%;
margin: 0 auto;
}
.masonry-grid {
column-count: 3;
column-gap: 24px;
}
.masonry-grid.masonry-js-enabled {
position: relative;
column-count: auto !important;
column-gap: 0 !important;
min-height: 0;
}
.masonry-grid.masonry-js-enabled>.image-item {
position: absolute;
left: 0;
top: 0;
margin-bottom: 0 !important;
} .user-center-page {
padding: 24px;
}
.user-center-wrapper {
max-width: 1320px;
margin: 0 auto;
}
.user-center-dashboard {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 16px;
align-items: start;
margin-bottom: 30px;
}
.user-center-profile-card,
.user-center-profile-panel {
border-radius: 8px;
}
.user-center-profile-panel {
position: relative;
overflow: hidden;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
gap: 24px;
align-items: center;
padding: 24px;
background: linear-gradient(135deg, #101827 0%, #162033 52%, #0d2f24 100%);
color: #ffffff;
}
.user-center-profile-panel::after {
content: '';
position: absolute;
right: -80px;
top: -100px;
width: 260px;
height: 260px;
border-radius: 50%;
background: rgba(7, 193, 96, 0.18);
pointer-events: none;
}
.user-center-profile-panel > * {
position: relative;
z-index: 1;
}
.user-center-profile-main {
display: flex;
align-items: center;
gap: 20px;
min-width: 0;
}
.user-center-avatar img {
width: 88px;
height: 88px;
border-radius: 50%;
}
.user-center-identity h1 {
font-size: 30px;
margin-bottom: 4px;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
}
.user-center-identity {
min-width: 0;
}
.user-center-identity p {
color: rgba(255, 255, 255, 0.72);
margin-bottom: 10px;
}
.user-center-handle {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
white-space: nowrap;
overflow: hidden;
}
.user-center-handle-name {
flex: 0 0 auto;
}
.user-center-inline-bio {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.user-center-inline-bio::before {
content: '·';
margin-right: 6px;
}
.user-center-meta {
display: flex;
flex-wrap: wrap;
gap: 10px 16px;
color: rgba(255, 255, 255, 0.7);
font-size: 14px;
}
.user-center-profile-panel .btn-secondary {
border-color: rgba(255, 255, 255, 0.18);
background: rgba(255, 255, 255, 0.12);
color: #ffffff;
}
.user-center-profile-panel .btn-secondary:hover {
border-color: rgba(255, 255, 255, 0.32);
background: rgba(255, 255, 255, 0.18);
color: #ffffff;
}
.user-center-meta i {
margin-right: 6px;
}
.user-center-actions {
margin-top: 12px;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
}
.user-center-actions .btn-secondary,
.user-center-wechat-btn {
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
}
.user-center-wechat-btn {
border: 1px solid var(--border-color);
cursor: pointer;
}
.user-center-wechat-btn:disabled {
cursor: wait;
opacity: 0.72;
}
.user-center-reward-note {
display: inline-flex;
align-items: center;
gap: 8px;
color: #3cb46e;
font-size: 14px;
font-weight: 600;
}
.user-center-wechat-reward {
width: min(360px, 100%);
margin-top: 14px;
padding: 12px;
border-radius: 8px;
background: var(--surface-secondary);
display: flex;
align-items: center;
gap: 12px;
}
.user-center-wechat-qr {
width: 96px;
height: 96px;
flex: 0 0 96px;
border-radius: 8px;
background: var(--surface-primary);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.user-center-wechat-qr img {
width: 100%;
height: 100%;
object-fit: contain;
}
.user-center-wechat-copy {
min-width: 0;
display: flex;
flex-direction: column;
gap: 6px;
}
.user-center-wechat-copy strong {
font-size: 14px;
}
.user-center-wechat-copy span {
color: var(--text-secondary);
font-size: 13px;
line-height: 1.5;
}
.user-center-stats {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
align-items: stretch;
margin-top: 0;
}
.user-center-stat {
min-width: 0;
border-radius: 6px;
padding: 14px 12px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: rgba(255, 255, 255, 0.1);
}
.user-center-stat-label {
font-size: 13px;
color: rgba(255, 255, 255, 0.68);
margin-bottom: 4px;
}
.user-center-stat-value {
font-size: 22px;
font-weight: 700;
}
.user-center-stat-downloads .user-center-stat-value {
color: #7dffa9;
}
.user-center-rewards-panel {
display: flex;
flex-direction: row;
gap: 14px;
align-items: stretch;
overflow: visible;
padding-bottom: 2px;
background: transparent;
}
.user-center-reward-card {
position: relative;
border-radius: 8px;
padding: 16px;
display: flex;
align-items: flex-start;
gap: 12px;
flex: 1 1 240px;
min-width: 360px;
background: var(--surface-secondary);
}
.user-center-video-reward-card {
background: linear-gradient(135deg, rgba(37, 99, 235, 0.1) 0%, rgba(14, 165, 233, 0.06) 100%);
}
.user-center-video-reward-card .user-center-reward-icon {
background: #2563eb;
color: #ffffff;
}
.user-center-official-reward-card {
background: linear-gradient(135deg, rgba(7, 193, 96, 0.12) 0%, rgba(7, 193, 96, 0.05) 100%);
}
.user-center-official-reward-card .user-center-reward-icon,
.user-center-wechat-bind-card .user-center-reward-icon {
background: #07C160;
color: #ffffff;
}
.user-center-wechat-bind-card {
background: linear-gradient(135deg, rgba(17, 24, 39, 0.07) 0%, rgba(7, 193, 96, 0.06) 100%);
}
.user-center-referral-card {
background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(20, 184, 166, 0.07) 100%);
}
.user-center-referral-card .user-center-reward-icon {
background: #0f766e;
color: #ffffff;
}
.user-center-referral-copy-row {
display: flex;
align-items: center;
gap: 8px;
margin-top: 10px;
}
.user-center-referral-copy-row input {
min-width: 0;
flex: 1 1 auto;
height: 34px;
border: 1px solid var(--border-color);
border-radius: 8px;
padding: 0 10px;
background: var(--bg-primary);
color: var(--text-primary);
font-size: 12px;
}
.user-center-referral-copy-btn {
height: 34px;
flex: 0 0 auto;
display: inline-flex;
align-items: center;
gap: 6px;
border: 1px solid var(--border-color);
}
.user-center-referral-stats {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
}
.user-center-referral-stats span {
border-radius: 999px;
padding: 4px 8px;
background: rgba(15, 118, 110, 0.1);
color: #0f766e;
font-size: 12px;
font-weight: 700;
line-height: 1;
}
.user-center-vip-card {
position: relative;
overflow: hidden;
background: linear-gradient(135deg, #071b13 0%, #0f5132 100%);
color: #ffffff;
}
.user-center-vip-card::after {
content: '';
position: absolute;
right: -42px;
bottom: -56px;
width: 150px;
height: 150px;
border-radius: 50%;
background: rgba(7, 193, 96, 0.22);
pointer-events: none;
}
.user-center-vip-card .user-center-reward-icon {
background: rgba(255, 255, 255, 0.16);
color: #ffffff;
}
.user-center-vip-card .user-center-reward-body {
position: relative;
z-index: 1;
}
.user-center-vip-card .user-center-reward-head span,
.user-center-vip-card .user-center-reward-body p,
.user-center-vip-card .user-center-reward-message {
color: rgba(255, 255, 255, 0.78);
}
.user-center-vip-card .user-center-reward-head span {
color: #7dffa9;
}
.user-center-vip-btn {
width: 100%;
justify-content: center;
border: 0;
background: #07C160;
color: #ffffff;
}
.user-center-vip-btn:hover {
background: #06ad56;
color: #ffffff;
}
.user-center-reward-icon {
width: 36px;
height: 36px;
flex: 0 0 36px;
border-radius: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--text-primary);
color: var(--bg-primary);
font-size: 15px;
}
.user-center-reward-body {
min-width: 0;
flex: 1 1 auto;
}
.user-center-reward-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin-bottom: 6px;
}
.user-center-reward-head strong {
font-size: 15px;
}
.user-center-reward-head span {
color: #3cb46e;
font-size: 13px;
font-weight: 700;
white-space: nowrap;
}
.user-center-reward-body p,
.user-center-reward-message {
color: var(--text-secondary);
font-size: 13px;
line-height: 1.5;
}
.user-center-reward-body p {
margin: 0 0 10px;
}
.user-center-reward-message {
display: block;
margin-top: 8px;
}
.user-center-miniapp-btn {
border: 1px solid var(--border-color);
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
}
.user-center-section {
margin-bottom: 40px;
}
.user-center-tabs {
display: inline-flex;
gap: 8px;
margin-bottom: 16px;
background: #f8f8f8; border-radius: 8px;
padding: 6px;
}
.user-center-tab-btn {
border: none;
background: transparent;
color: var(--text-secondary);
font-size: 14px;
font-weight: 600;
padding: 10px 16px;
border-radius: 6px;
cursor: pointer;
transition: all 0.2s ease;
}
.user-center-tab-btn:hover {
color: var(--text-primary);
}
.user-center-tab-btn.active {
background: #fff;
color: var(--text-primary);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.user-center-tab-panel {
display: none;
}
.user-center-tab-panel.active {
display: block;
}
.user-center-section-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
}
.user-center-section-head h2 {
font-size: 22px;
font-weight: 600;
}
.user-center-section-head span {
font-size: 14px;
color: var(--text-secondary);
}
.user-center-empty,
.user-center-tip {
color: var(--text-secondary);
font-size: 14px;
padding: 8px 2px;
}
.user-center-pagination {
padding: 28px 0 8px;
justify-content: flex-start;
}
.user-center-login-box {
border-radius: 8px;
max-width: 560px;
margin: 56px auto;
padding: 28px;
text-align: center;
}
.user-center-login-box h1 {
font-size: 28px;
margin-bottom: 10px;
}
.user-center-login-box p {
color: var(--text-secondary);
margin-bottom: 20px;
}
.user-center-login-actions {
display: flex;
gap: 12px;
justify-content: center;
}
.user-center-login-actions .btn {
min-width: 130px;
} .author-header-wrap {
padding: 32px 24px 8px; margin: 0 auto;
}
.author-profile-card { border-radius: 8px;
padding: 24px;
background: var(--bg-primary);
display: flex;
justify-content: space-between;
gap: 24px;
}
.author-profile-main {
display: flex;
align-items: center;
gap: 16px;
}
.author-avatar img {
width: 96px;
height: 96px;
border-radius: 50%;
border: 1px solid var(--border-color);
}
.author-meta h1 {
font-size: 30px;
margin-bottom: 4px;
}
.author-handle {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
color: var(--text-secondary);
margin-bottom: 10px;
white-space: nowrap;
overflow: hidden;
}
.author-handle-name {
flex: 0 0 auto;
}
.author-inline-bio {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.author-inline-bio::before {
content: '·';
margin-right: 6px;
}
.author-submeta {
display: flex;
flex-wrap: wrap;
gap: 14px;
color: var(--text-secondary);
font-size: 14px;
}
.author-submeta a {
color: var(--text-secondary);
text-decoration: none;
}
.author-submeta a:hover {
color: var(--text-primary);
}
.author-submeta i {
margin-right: 6px;
}
.author-count-card {
min-width: 140px; border-radius: 8px;
padding: 14px 18px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.author-count-label {
font-size: 13px;
color: var(--text-secondary);
margin-bottom: 4px;
}
.author-count-value {
font-size: 40px; line-height: 1;
}
.author-bio {
color: var(--text-secondary);
font-size: 15px;
line-height: 1.7;
margin-bottom: 10px;
}
.author-bio-box {
margin-top: 14px;
border: 1px solid var(--border-color);
border-radius: 8px;
padding: 18px 20px;
background: var(--bg-primary);
}
.author-bio-box h2 {
font-size: 18px;
font-weight: 600;
margin-bottom: 10px;
}
.author-sort-tabs {
display: inline-flex;
gap: 8px;
margin-top: 16px;
background: #f8f8f8; border-radius: 8px;
padding: 6px;
}
.author-sort-tab {
border-radius: 6px;
padding: 10px 16px;
color: var(--text-secondary);
text-decoration: none;
font-size: 14px;
font-weight: 600;
transition: all 0.2s ease;
}
.author-sort-tab:hover {
color: var(--text-primary);
}
.author-sort-tab.active {
background: #fff;
color: var(--text-primary);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.author-empty {
color: var(--text-secondary);
text-align: center;
padding: 80px 0;
} .topics-page {
padding: 24px;
}
.topics-wrapper {
max-width: 1320px;
margin: 0 auto;
}
.topics-hero { border-radius: 8px;
background: var(--bg-primary);
padding: 24px 0px;
margin-bottom: 20px;
}
.topics-hero h1 {
font-size: 32px;
margin-bottom: 10px;
}
.topics-hero p {
color: var(--text-secondary);
line-height: 1.8;
}
.topics-section {
margin-bottom: 28px;
}
.topics-section-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 14px;
}
.topics-section-head h2 {
font-size: 22px;
font-weight: 600;
}
.topics-section-head span {
color: var(--text-secondary);
font-size: 14px;
}
.topics-category-grid {
display: flex;
overflow-x: auto;
gap: 16px;
padding-bottom: 16px;
scroll-snap-type: x mandatory;
scrollbar-width: thin;
scrollbar-color: #ccc transparent;
}
.topics-category-grid::-webkit-scrollbar {
height: 8px;
}
.topics-category-grid::-webkit-scrollbar-track {
background: transparent;
}
.topics-category-grid::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 4px;
}
.topics-category-grid::-webkit-scrollbar-thumb:hover {
background-color: #999;
}
.topics-category-card {
flex: 0 0 240px;
scroll-snap-align: start;
display: block;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-primary);
padding: 20px 14px;
text-decoration: none;
transition: all 0.2s ease;
overflow: hidden;
position: relative;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.topics-category-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.topics-category-card h3 {
color: var(--text-primary);
font-size: 16px;
margin-bottom: 8px;
}
.topics-category-meta {
display: flex;
flex-direction: column;
gap: 8px;
color: var(--text-secondary);
font-size: 13px;
}
.topics-category-meta i {
width: 14px;
margin-right: 6px;
}
.topics-empty {
color: var(--text-secondary);
font-size: 14px;
padding: 8px 2px;
}
.topics-masonry-grid {
margin-top: 4px;
} .page-default-template {
padding: 24px;
}
.page-guide-wrapper {
max-width: 980px;
margin: 0 auto;
}
.page-guide-hero {
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-primary);
padding: 24px;
margin-bottom: 16px;
}
.page-guide-hero h1 {
font-size: 32px;
margin-bottom: 10px;
}
.page-guide-hero p {
color: var(--text-secondary);
line-height: 1.8;
}
.page-guide-section {
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-primary);
padding: 20px;
margin-bottom: 16px;
}
.page-guide-section h2 {
font-size: 22px;
margin-bottom: 14px;
}
.page-guide-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.page-guide-card {
border: 1px solid var(--border-color);
border-radius: 6px;
padding: 14px;
background: #fafafa;
}
.page-guide-card h3 {
font-size: 16px;
margin-bottom: 6px;
}
.page-guide-card p {
color: var(--text-secondary);
font-size: 14px;
line-height: 1.7;
}
.page-guide-steps {
margin: 0;
padding-left: 20px;
}
.page-guide-steps li {
color: var(--text-secondary);
line-height: 1.9;
margin-bottom: 4px;
}
.page-guide-note {
color: var(--text-secondary);
line-height: 1.8;
}
.page-default-content {
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-primary);
padding: 24px;
}
.page-default-title {
font-size: 32px;
margin-bottom: 16px;
}
.page-default-body {
color: var(--text-secondary);
line-height: 1.9;
}
.page-default-body h2,
.page-default-body h3 {
color: var(--text-primary);
margin: 18px 0 10px;
}
.page-default-body p,
.page-default-body ul,
.page-default-body ol {
margin-bottom: 12px;
}
.page-default-body a {
color: var(--text-primary);
}
@media (min-width: 1440px) {
.masonry-grid {
column-count: 4;
}
}
@media (min-width: 1920px) {
.masonry-grid {
column-count: 5;
}
}
.image-item {
break-inside: avoid;
margin-bottom: 24px;
position: relative;
cursor: zoom-in;
border-radius: 12px;
overflow: hidden;
background-color: var(--bg-secondary);
min-height: 0;
transition: background-color 0.4s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.image-item.is-loaded {
background-color: transparent;
}
.image-item>img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
background: var(--bg-secondary);
opacity: 0;
transform: scale(1.02);
z-index: 1;
transition: opacity 0.56s cubic-bezier(0.22, 1, 0.36, 1), transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}
.image-item>img.loaded {
opacity: 1;
transform: scale(1);
}
.image-item-loading-layer {
position: absolute;
inset: 0;
z-index: 2;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 18px;
overflow: hidden;
pointer-events: none;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.image-item.is-loaded .image-item-loading-layer {
opacity: 0;
visibility: hidden;
}
.image-item.image-item-skeleton {
cursor: default;
opacity: 0;
translate: 0 12px;
will-change: opacity, translate;
transition: opacity 0.26s cubic-bezier(0.22, 1, 0.36, 1), translate 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.image-item.image-item-skeleton.is-skeleton-visible {
opacity: 1;
translate: 0 0;
transition-delay: calc(var(--card-si, 0) * 40ms);
}
.image-item-skeleton-shimmer {
display: none;
}
.image-item-skeleton-ui {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
height: 100%;
transition: opacity 0.18s ease, visibility 0.18s ease;
}
.image-item-skeleton-top,
.image-item-skeleton-bottom {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.image-item-skeleton-top {
justify-content: flex-end;
}
.image-item-skeleton-bottom {
justify-content: space-between;
}
.image-item-skeleton-user {
display: inline-flex;
align-items: center;
gap: 10px;
}
.image-item-skeleton-avatar,
.image-item-skeleton-line,
.image-item-skeleton-chip {
display: block;
background: rgba(255, 255, 255, 0.32);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.image-item-skeleton-avatar {
width: 34px;
height: 34px;
border-radius: 999px;
}
.image-item-skeleton-line {
width: 92px;
height: 12px;
border-radius: 999px;
}
.image-item-skeleton-chip {
width: 42px;
height: 42px;
border-radius: 10px;
}
.image-item-skeleton-chip-sm {
width: 42px;
height: 42px;
border-radius: 10px;
}
.image-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 3;
background: rgba(0, 0, 0, 0.3);
opacity: 0;
display: none;
transition: opacity 0.2s ease-in-out;
flex-direction: column;
justify-content: space-between;
padding: 20px;
} @media (hover: hover) and (pointer: fine) {
.image-item:hover .image-overlay {
opacity: 1;
display: flex;
}
.image-item:hover .image-item-skeleton-ui {
opacity: 0;
visibility: hidden;
}
}
@media (hover: none) and (pointer: coarse) {
#single-wallpaper-btn,
#modal-wallpaper-btn {
display: none !important;
}
}
@media (max-width: 1024px) {
#single-wallpaper-btn,
#modal-wallpaper-btn {
display: none !important;
}
}
.overlay-top {
display: flex;
justify-content: flex-end;
gap: 10px;
}
.overlay-bottom {
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.user-snippet {
display: flex;
align-items: center;
gap: 10px;
color: white;
text-decoration: none;
}
.user-snippet img {
width: 32px;
height: 32px;
border-radius: 50%; }
.user-snippet span {
font-weight: 500;
font-size: 14px;
}
.btn-icon {
width: 40px;
height: 40px;
border-radius: 4px;
border: none;
background: var(--surface-primary);
color: var(--text-secondary);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: color 0.1s;
opacity: 0.9;
}
.btn-icon i {
font-size: 18px;
}
.btn-icon:hover {
color: var(--text-primary);
opacity: 1;
}
html[data-theme='dark'] .btn-icon {
background: var(--surface-secondary);
border: 1px solid var(--border-color);
}
html[data-theme='dark'] .btn-icon:hover {
background: var(--hover-soft);
}
.btn-icon.is-favorited {
color: #e74c3c;
opacity: 1;
}
.download-trigger:disabled,
.download-trigger.is-downloading {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.favorite-trigger {
transition: transform 0.12s ease, color 0.12s ease;
}
.favorite-trigger i {
transition: transform 0.18s ease;
}
.favorite-trigger:active {
transform: scale(0.92);
}
.favorite-trigger.favorite-clicked i {
animation: favorite-pop 0.28s ease;
}
@keyframes favorite-pop {
0% {
transform: scale(1);
}
45% {
transform: scale(1.35);
}
100% {
transform: scale(1);
}
} .modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--overlay-bg);
z-index: 1000;
display: flex;
justify-content: center;
align-items: center;
padding: 32px 50px;
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease; backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
will-change: opacity;
transform: translateZ(0);
}
.modal-overlay.active {
opacity: 1;
pointer-events: auto; backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
}
.close-modal {
position: fixed;
top: 20px;
left: 20px;
background: transparent;
border: none;
color: white;
font-size: 24px;
cursor: pointer;
z-index: 1010;
opacity: 0.7;
}
.close-modal:hover {
opacity: 1;
}
.nav-arrow {
position: fixed;
top: 50%;
transform: translateY(-50%);
background: transparent;
border: none;
color: white;
font-size: 40px;
cursor: pointer;
z-index: 1010;
opacity: 0.5;
padding: 20px;
transition: opacity 0.2s;
}
.nav-arrow:hover {
opacity: 1;
}
.prev-arrow {
left: 10px;
}
.next-arrow {
right: 10px;
}
.modal-content {
background: var(--bg-primary);
border-radius: 8px;
width: 100%;
max-width: calc(100% - 160px);
max-height: 95vh;
display: flex;
flex-direction: column;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
margin: 0 auto;
overflow-y: auto;
scrollbar-width: thin;
} .modal-overlay .modal-content {
opacity: 0;
transform: scale(0.95);
transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.modal-overlay.active .modal-content {
opacity: 1;
transform: scale(1);
}
.wallpaper-command-modal-content {
position: relative;
max-width: 760px;
padding: 28px;
border-radius: 12px;
max-height: 88vh;
background: #012456;
color: #e8f2ff;
border: 1px solid #02356f;
}
.wallpaper-command-modal-content::before {
content: 'Windows PowerShell';
display: block;
margin: -28px -28px 18px;
padding: 10px 14px;
background: #001b3f;
border-bottom: 1px solid #02356f;
border-top-left-radius: 12px;
border-top-right-radius: 12px;
color: #cfe3ff;
font-size: 13px;
font-weight: 600;
}
#wallpaper-command-modal[data-os='macos'] .wallpaper-command-modal-content {
background: #1f2329;
border-color: #30363d;
}
#wallpaper-command-modal[data-os='macos'] .wallpaper-command-modal-content::before {
content: 'macOS Terminal';
background: #161b22;
border-bottom-color: #30363d;
}
.wallpaper-command-title {
margin: 0 0 10px;
font-size: 20px;
font-weight: 600;
font-family: Consolas, "Cascadia Mono", "Courier New", monospace;
color: #ffffff;
}
.wallpaper-command-desc {
margin: 0 0 14px;
color: #d6e6ff;
line-height: 1.6;
font-size: 14px;
}
.wallpaper-command-input {
width: 100%;
min-height: 250px;
border: 1px solid #2f6db0;
border-radius: 8px;
padding: 12px;
font-family: Consolas, "Cascadia Mono", Menlo, Monaco, "Liberation Mono", "Courier New", monospace;
font-size: 12px;
line-height: 1.5;
color: #d4f6d4;
background: #0c0c0c;
resize: vertical;
box-sizing: border-box;
caret-color: #d4f6d4;
}
.wallpaper-command-input:focus {
outline: none;
border-color: #8ec7ff;
}
.wallpaper-command-actions {
margin-top: 12px;
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.wallpaper-command-tip {
margin: 10px 0 0;
min-height: 20px;
color: #9af79a;
font-size: 13px;
}
.wallpaper-command-modal-content .btn-secondary {
background: #12498c;
border: 1px solid #2d6db6;
color: #ffffff;
}
.wallpaper-command-modal-content .btn-secondary:hover {
background: #1d5eaa;
border-color: #4a8ad1;
color: #ffffff;
} .single .single-container > .modal-content {
max-width: 100%;
max-height: none;
border-radius: 0;
box-shadow: none;
margin: 0;
}
.single .single-wrapper {
background: var(--bg-primary);
min-height: 100vh;
}
.single .single-container > .modal-content > .modal-body {
padding: 0;
}
.single .single-container > .modal-content .modal-image-container {
padding: 60px 100px;
background-color: #f8f8f8;
height: calc(90vh - 70px);
max-height: calc(90vh - 70px);
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
.single .single-container > .modal-content .nav-arrow {
color: #333;
opacity: 0.3;
position: absolute;
z-index: 5;
}
.single .single-container > .modal-content .nav-arrow:hover {
opacity: 1;
}
.single #single-main-image {
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px 20px;
background: var(--bg-primary);
position: sticky;
top: 0;
z-index: 10;
}
.user-info {
display: flex;
align-items: center;
gap: 12px;
}
.user-info .avatar {
width: 32px;
height: 32px;
border-radius: 50%;
}
.user-details {
display: flex;
flex-direction: column;
}
.user-name {
font-weight: 500;
font-size: 15px;
color: var(--text-primary);
}
.user-handle {
font-size: 13px;
color: var(--text-secondary);
}
.modal-actions {
display: flex;
gap: 8px;
}
.btn-download {
background: #3cb46e;
color: white !important;
text-decoration: none;
border: none;
padding: 0 16px;
border-radius: 4px;
font-weight: 600;
font-size: 14px;
cursor: pointer;
height: 40px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.btn-download:hover {
background: #36a362;
}
.btn-download:disabled,
.btn-download.is-downloading {
background: #a0a0a0;
cursor: not-allowed;
opacity: 0.8;
pointer-events: none;
}
.btn-download:disabled:hover,
.btn-download.is-downloading:hover {
background: #a0a0a0;
}
.modal-body { display: flex;
flex-direction: column;
background: var(--bg-primary);
}
.modal-image-container {
width: 100%;
display: flex;
justify-content: center; position: relative; }
#image-modal .modal-image-container {
background-color: transparent;
}
.modal-loading-bar {
position: absolute;
top: 0;
left: 0;
height: 3px;
background: #3cb46e; width: 0%;
z-index: 5;
transition: width 0.3s ease;
display: none;
}
.modal-loading-bar.active {
display: block;
animation: loadingBar 2s infinite ease-in-out;
}
@keyframes loadingBar {
0% {
width: 0%;
left: 0;
}
50% {
width: 70%;
left: 15%;
}
100% {
width: 100%;
left: 0;
}
}
.modal-image-container img {
max-width: 100%;
max-height: 85vh;
object-fit: contain;
background: transparent;
cursor: zoom-in;
opacity: 0;
transition: opacity 0.4s ease-in-out, transform 0.3s ease;
}
.modal-image-container img.loaded {
opacity: 1;
}
.modal-image-container.fullscreen img {
max-height: none;
cursor: zoom-out;
}
.modal-info-panel {
display: flex;
flex-direction: column;
padding: 24px;
}
.modal-stats-grid {
display: flex;
gap: 40px;
margin-bottom: 24px;
}
.stat-item {
display: flex;
flex-direction: column;
}
.stat-label {
font-size: 13px;
color: var(--text-secondary);
margin-bottom: 4px;
}
.stat-value {
font-size: 15px;
font-weight: 500;
color: var(--text-primary);
line-height: 2pc;
text-align: center;
}
.single-stat-link {
color: inherit;
text-decoration: none;
}
.single-stat-link:hover {
color: #3cb46e;
}
.single-color-link {
display: inline-flex;
align-items: center;
gap: 6px;
}
.modal-action-row {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid var(--border-color);
padding-top: 16px;
margin-bottom: 24px;
}
.modal-meta-row {
display: flex;
gap: 24px;
color: var(--text-secondary);
font-size: 14px;
}
.modal-meta-row span i {
margin-right: 6px;
width: 14px;
}
.modal-share {
display: flex;
gap: 8px;
}
.btn-secondary {
background: white;
border: 1px solid var(--border-color);
padding: 8px 16px;
border-radius: 4px;
color: var(--text-secondary);
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
display: flex;
align-items: center;
gap: 8px;
}
.btn-secondary:hover {
border-color: var(--text-primary);
color: var(--text-primary);
}
.modal-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 32px;
}
.single-danmaku-section { --danmaku-rule-bg: #111; --danmaku-stage-top: rgba(255, 255, 255, 0.96);
--danmaku-stage-bottom: rgba(248, 250, 252, 0.98);
--danmaku-stage-line: rgba(17, 17, 17, 0.04);
--danmaku-fade-edge: rgba(255, 255, 255, 0.96);
--danmaku-item-bg: rgba(255, 255, 255, 0.94);
--danmaku-author-bg: #111;
--danmaku-author-text: #fff;
--danmaku-author-anonymous-bg: #7c3aed;
--danmaku-content-text: #111;
--danmaku-meta-text: #6b7280;  border-radius: 18px;
background: var(--danmaku-panel-bg);
}
.single-danmaku-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
margin-bottom: 14px;
}
.single-danmaku-head h3 {
margin: 0 0 6px;
font-size: 20px;
font-weight: 600;
}
.single-danmaku-head p {
margin: 0;
color: var(--text-secondary);
font-size: 13px;
}
.single-danmaku-rule {
flex-shrink: 0;
display: inline-flex;
align-items: center;
padding: 6px 10px;
border-radius: 999px;
background: var(--danmaku-rule-bg);
color: var(--danmaku-rule-text);
font-size: 12px;
font-weight: 600;
}
.single-danmaku-form {
display: flex;
gap: 12px;
margin-bottom: 10px;
}
.single-danmaku-input {
flex: 1;
min-width: 0;
height: 46px;
padding: 0 16px;
border: none;
border-radius: 999px;
background: #eeeeee;
color: #111;
font-size: 14px;
outline: none;
}
.single-danmaku-submit {
flex-shrink: 0;
}
.single-danmaku-tip {
margin-bottom: 12px;
color: #6b7280;
font-size: 13px;
}
.single-danmaku-tip.is-error {
color: #b32d2e;
}
.single-danmaku-tip.is-success {
color: #008a20;
}
.single-danmaku-stage {
position: relative;
height: 248px;
overflow: hidden;
isolation: isolate;  }
.single-danmaku-stage::after {
content: '';
position: absolute;
inset: 0;
pointer-events: none; }
.single-danmaku-empty {
position: absolute;
inset: 50% auto auto 50%;
transform: translate(-50%, -50%);
color: #9aa0a6;
font-size: 14px;
white-space: nowrap;
}
.single-danmaku-item {
position: absolute;
display: inline-flex;
align-items: center;
gap: 10px;
max-width: calc(100% - 24px);
padding: 9px 14px;
box-sizing: border-box;
border-radius: 999px;
background: var(--danmaku-item-bg);
white-space: nowrap;
will-change: transform;
z-index: 2;
}
.single-danmaku-item.is-paused {
opacity: 0.92;
}
.single-danmaku-author {
display: inline-flex;
align-items: center;
padding: 4px 8px;
border-radius: 999px;
background: var(--danmaku-author-bg);
color: var(--danmaku-author-text);
font-size: 12px;
font-weight: 600;
flex-shrink: 0;
}
.single-danmaku-item.is-anonymous .single-danmaku-author {
background: var(--danmaku-author-anonymous-bg);
}
.single-danmaku-content {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
color: var(--danmaku-content-text);
font-size: 14px;
font-weight: 500;
}
.single-danmaku-meta {
flex-shrink: 0;
color: var(--danmaku-meta-text);
font-size: 12px;
}
.bc-tag {
background: var(--bg-secondary);
color: var(--text-secondary);
padding: 6px 12px;
border-radius: 4px;
font-size: 13px;
text-decoration: none;
transition: background 0.2s;
text-transform: capitalize;
}
.bc-tag:hover { color: var(--text-primary);
}
.archive-tags .bc-tag {
background: var(--surface-primary);
border: 1px solid var(--border-color);
padding: 8px 16px;
font-weight: 500;
color: var(--text-secondary);
}
.archive-tags .bc-tag:hover {
background: var(--hover-soft);
border-color: var(--text-primary);
color: var(--text-primary);
}
.archive-tags .bc-tag.active {
background: var(--text-primary);
border-color: var(--text-primary);
color: var(--bg-primary);
}
.modal-related h3 {
font-size: 18px;
font-weight: 500;
margin-bottom: 24px;
}
.user-center-rewards-panel {
overflow-x: auto;
padding-bottom: 6px;
} @media (max-width: 1024px) {
.user-center-profile-panel {
grid-template-columns: 1fr;
gap: 20px;
}
.user-center-stats {
margin-top: 0;
}
.user-center-rewards-panel {
overflow-x: auto;
padding-bottom: 6px;
}
.masonry-grid {
column-count: 2;
}
.modal-overlay {
padding: 20px;
}
.modal-action-row {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
.single-danmaku-head {
flex-direction: column;
}
.single-danmaku-form {
flex-direction: column;
}
.single-danmaku-input {
flex: none;
width: 100%;
}
.single-danmaku-submit {
width: 100%;
justify-content: center;
}
.single-danmaku-stage {
height: 220px;
}
.single-danmaku-item {
max-width: min(88vw, 360px);
padding: 8px 12px;
}
.single-danmaku-content {
font-size: 13px;
}
}
@media (max-width: 768px) {
.user-center-reward-card {
flex: 0 0 min(44vw, 320px);
min-width: 320px;
}
.masonry-grid,
#modal-related-grid {
column-count: 2 !important;
column-gap: 12px;
}
.masonry-wrapper {
padding: 12px;
}
.hero {
padding: 40px 16px;
}
.hero h1 {
font-size: 28px;
} .nav-top {
flex-wrap: wrap;
padding: 8px 16px;
gap: 12px;
}
.logo {
order: 1;
flex: 0;
}
.header-wechat-login-link {
display: none !important;
}
.user-center-page {
padding: 16px;
}
.user-center-dashboard {
grid-template-columns: 1fr;
gap: 14px;
}
.user-center-profile-panel {
padding: 18px;
gap: 18px;
}
.user-center-profile-main {
align-items: flex-start;
}
.user-center-stats {
width: 100%;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.user-center-stat {
padding: 12px 10px;
}
.user-center-rewards-panel {
display: flex;
flex-direction: row;
overflow-x: auto;
padding-bottom: 6px;
}
.user-center-reward-card {
flex: 0 0 min(82vw, 320px);
}
.user-center-login-actions {
flex-direction: column;
align-items: stretch;
}
.author-header-wrap {
padding: 20px 16px 8px;
}
.author-profile-card {
flex-direction: column;
align-items: flex-start;
}
.author-count-card { flex-direction: row;
justify-content: space-between;
align-items: center;
}
.author-count-label {
margin-bottom: 0;
}
.author-count-value {
font-size: 24px;
}
.author-sort-tabs {
display: flex;
width: 100%;
}
.author-sort-tab {
flex: 1;
text-align: center;
padding: 10px 8px;
font-size: 13px;
}
.page-default-template {
padding: 16px;
}
.page-guide-hero h1,
.page-default-title {
font-size: 26px;
}
.page-guide-grid {
grid-template-columns: 1fr;
}
.topics-page {
padding: 16px;
}
.topics-hero h1 {
font-size: 26px;
}
.topics-section-head {
flex-direction: column;
align-items: flex-start;
gap: 6px;
}
.user-center-tabs {
display: flex;
width: 100%;
}
.user-center-tab-btn {
flex: 1;
text-align: center;
padding: 10px 8px;
font-size: 13px;
}
.user-center-pagination {
justify-content: center;
}
.logo img,
.custom-logo {
max-height: 24px !important;
}
.search-bar {
order: 3;
flex: 0 0 100%;
height: 36px;
}
.site-custom-footer-inner {
padding: 16px;
}
.top-nav-menu {
order: 2;
margin-left: 8px;
}
.nav-links {
order: 2;
margin-left: auto;
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
justify-content: flex-end;
}
.nav-links a,
.nav-links .btn {
min-width: 0;
}
.header-wechat-login-link {
white-space: nowrap;
}
.primary-menu {
gap: 12px;
}
.primary-menu li a {
font-size: 14px;
}
.submit-btn {
padding: 6px 12px !important;
font-size: 13px !important;
white-space: nowrap;
}
.nav-links {
gap: 8px;
}
.nav-links .divider {
display: none;
}
.nav-bottom {
padding: 0 16px;
height: 48px;
gap: 16px;
} .modal-overlay {
padding: 0;
}
.modal-content {
max-width: 100%;
max-height: 100vh;
border-radius: 0;
height: 100%;
}
.close-modal {
top: auto;
bottom: 32px;
left: 50%;
right: auto;
transform: translateX(-50%);
background: rgba(0, 0, 0, 1);
color: #fff;
width: 48px;
height: 48px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
position: fixed;
z-index: 1010;
backdrop-filter: blur(4px);
outline: none; }
.nav-arrow {
display: none; }
.modal-header {
padding: 12px 16px;
flex-wrap: nowrap;
gap: 12px;
}
.modal-actions {
width: auto;
justify-content: flex-end;
flex-shrink: 0;
}
.modal-actions .btn-download {
flex: 1;
}   .single .single-container > .modal-content > .modal-body {
padding: 0;
}
.single .single-container > .modal-content .modal-image-container {
padding: 0;
height: auto;
max-height: none;
background-color: #f8f8f8;
}
.single #single-main-image {
box-shadow: none;
border-radius: 0;
}
.modal-action-row {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
.modal-meta-row {
flex-direction: column;
gap: 8px;
}
.modal-share {
width: 100%;
}
.modal-share .btn-secondary {
flex: 1;
justify-content: center;
}
.wallpaper-command-modal-content {
padding: 20px;
max-width: 100%;
border-radius: 0;
height: 100%;
max-height: 100vh;
}
.wallpaper-command-input {
min-height: 210px;
} #submit-photo-modal .modal-content {
padding: 24px 24px 80px !important;
border-radius: 0;
height: 100%;
max-height: 100vh;
}
}
@media (max-width: 480px) {
.masonry-grid,
#modal-related-grid {
column-count: 1 !important;
}
.user-center-profile-panel {
padding: 18px;
}
.user-center-profile-main {
flex-direction: column;
}
.user-center-stats {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
}
.user-center-stat {
padding: 10px 6px;
}
.user-center-stat-label {
font-size: 12px;
}
.user-center-stat-value {
font-size: 20px;
}
.user-center-reward-card {
padding: 12px;
flex-basis: min(86vw, 300px);
}
} .pagination-container {
padding: 80px 0;
display: flex;
justify-content: center;
}
.page-numbers {
display: flex;
list-style: none;
padding: 0;
margin: 0;
gap: 8px;
align-items: center;
}
.page-numbers li {
display: block;
}
.page-numbers li span.page-numbers,
.page-numbers li a.page-numbers {
display: flex;
align-items: center;
justify-content: center;
min-width: 36px;
height: 36px;
padding: 0 6px;
text-decoration: none;
color: var(--text-secondary);
font-size: 14px;
font-weight: 400;
border-radius: 4px;
transition: all 0.2s ease;
}
.page-numbers li a.page-numbers:hover {
color: var(--text-primary);
background-color: var(--bg-secondary);
}
.page-numbers li .current {
color: var(--text-primary);
font-weight: 600;
position: relative;
background: transparent !important;
}
.page-numbers li .current::after {
content: '';
position: absolute;
bottom: 2px;
left: 20%;
right: 20%;
height: 2px;
background: var(--text-primary);
border-radius: 2px;
}
.page-numbers li .dots {
color: var(--text-secondary);
cursor: default;
background: transparent !important;
}
.page-numbers .prev,
.page-numbers .next {
font-size: 11px;
} #load-more-btn {
transition: all 0.2s ease;
border: none;
color: white;
font-size: 14px;
}
#load-more-btn:hover {
filter: brightness(0.95);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
#load-more-btn:active {
transform: translateY(0);
}
.pagination-end-message {
display: none;
margin-top: 16px;
color: var(--text-secondary);
font-size: 14px;
font-weight: 500;
text-align: center;
} #payment-modal,
#login-modal {
z-index: 10001;
}
#payment-modal .modal-content,
#login-modal .modal-content {  overflow-y: auto;
border-radius: 12px !important;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
margin: auto;
}
#payment-qrcode {
display: block;
margin: 0 auto;
}
.payment-qrcode-container {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
} @media (max-width: 768px) {
.image-item{
min-height: 0;
margin-bottom: 12px;
}
#login-modal {
align-items: flex-end;
padding: 0;
}
#login-modal .modal-content {
position: relative;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
height: auto;
min-height: 40vh;
display: flex !important;
justify-content: center;
border-radius: 24px 24px 0 0 !important;
transform: translateY(100%);
transition: transform 0.35s cubic-bezier(0.15, 0.85, 0.35, 1);
padding-top: 60px !important;
padding-bottom: calc(40px + env(safe-area-inset-bottom)) !important;
}
#login-modal.active .modal-content {
transform: translateY(0);
} #login-modal .modal-content::before {
content: '';
position: absolute;
top: 12px;
left: 50%;
transform: translateX(-50%);
width: 36px;
height: 5px;
background: #e0e0e0;
border-radius: 4px;
} #login-modal #close-login-modal {
display: none !important;
}
}.avatar-vip-container { position: relative; display: inline-block; }
.vip-badge { position: absolute; bottom: 0; right: 0; transform: translate(30%, 30%); background: #fff; border-radius: 50%; padding: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; z-index: 5;}
.vip-badge svg { width: 14px; height: 14px; }
.user-identity-tag { display: inline-block; margin-left: 8px; font-size: 12px; padding: 2px 8px; border-radius: 12px; vertical-align: middle; font-weight: 500;}
.user-identity-tag.vip { background: linear-gradient(135deg, #f6d365 0%, #fda085 100%); color: #fff; }
.user-identity-tag.normal { background: #e0e0e0; color: #555; }
html[data-theme='dark'] body {
background-image: none;
}
html[data-theme='dark'] .main-content {
background: var(--bg-secondary);
}
html[data-theme='dark'] .navbar {
background: #1a1a1a;
}
html[data-theme='dark'] .site-custom-footer,
html[data-theme='dark'] .modal-content,
html[data-theme='dark'] .user-center-profile-card,
html[data-theme='dark'] .user-center-reward-card,
html[data-theme='dark'] .author-profile-card,
html[data-theme='dark'] .author-count-card,
html[data-theme='dark'] .topics-category-card,
html[data-theme='dark'] .page-guide-card,
html[data-theme='dark'] .user-dropdown {
background: var(--surface-primary);
color: var(--text-primary);
border-color: var(--border-color);
}
html[data-theme='dark'] .user-center-profile-panel {
background: linear-gradient(135deg, #101827 0%, #162033 52%, #0d2f24 100%);
color: #ffffff;
}
html[data-theme='dark'] .search-bar,
html[data-theme='dark'] .image-info-panel,
html[data-theme='dark'] .single .single-container > .modal-content .modal-image-container,
html[data-theme='dark'] #submit-photo-modal .modal-content [style*='background: #f9f9f9'],
html[data-theme='dark'] #submit-photo-modal .modal-content [style*='background: white'],
html[data-theme='dark'] #submit-photo-modal .modal-content [style*='background: #fff'] {
background: var(--surface-secondary) !important;
}
html[data-theme='dark'] .author-sort-tabs,
html[data-theme='dark'] .user-center-tabs {
background: var(--surface-secondary);
}
html[data-theme='dark'] .author-sort-tab,
html[data-theme='dark'] .user-center-tab-btn {
color: var(--text-secondary);
}
html[data-theme='dark'] .author-sort-tab:hover,
html[data-theme='dark'] .user-center-tab-btn:hover {
color: var(--text-primary);
background: var(--hover-soft);
}
html[data-theme='dark'] .author-sort-tab.active,
html[data-theme='dark'] .user-center-tab-btn.active {
background: var(--surface-primary);
color: var(--text-primary);
box-shadow: var(--shadow-soft);
}
html[data-theme='dark'] .nav-links a,
html[data-theme='dark'] .primary-menu li a,
html[data-theme='dark'] .nav-bottom a,
html[data-theme='dark'] .site-custom-footer a,
html[data-theme='dark'] .user-dropdown a,
html[data-theme='dark'] .btn-secondary,
html[data-theme='dark'] .user-identity-tag.normal {
color: var(--text-primary);
}
html[data-theme='dark'] .submit-btn,
html[data-theme='dark'] .theme-toggle-btn,
html[data-theme='dark'] .btn-secondary {
background: var(--surface-secondary);
border-color: var(--border-color);
}
html[data-theme='dark'] .submit-btn:hover,
html[data-theme='dark'] .theme-toggle-btn:hover,
html[data-theme='dark'] .btn-secondary:hover {
background: var(--hover-soft);
}
html[data-theme='dark'] .user-center-vip-card {
background: linear-gradient(135deg, #071b13 0%, #0f5132 100%);
color: #ffffff;
}
html[data-theme='dark'] .user-center-video-reward-card {
background: linear-gradient(135deg, rgba(37, 99, 235, 0.2) 0%, rgba(14, 165, 233, 0.1) 100%);
}
html[data-theme='dark'] .user-center-official-reward-card {
background: linear-gradient(135deg, rgba(7, 193, 96, 0.18) 0%, rgba(7, 193, 96, 0.08) 100%);
}
html[data-theme='dark'] .user-center-wechat-bind-card {
background: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(7, 193, 96, 0.1) 100%);
}
html[data-theme='dark'] .user-center-vip-btn,
html[data-theme='dark'] .user-center-vip-btn:hover {
background: #07C160;
color: #ffffff;
border-color: transparent;
}
html[data-theme='dark'] .search-bar input,
html[data-theme='dark'] input,
html[data-theme='dark'] select,
html[data-theme='dark'] textarea {
color: var(--text-primary);
}
html[data-theme='dark'] .dropdown-divider,
html[data-theme='dark'] .divider,
html[data-theme='dark'] .v-divider {
background: var(--border-color);
}
html[data-theme='dark'] #submit-photo-modal .modal-content [style*='border: 1px solid #eee'],
html[data-theme='dark'] #submit-photo-modal .modal-content [style*='border: 1px solid #ddd'],
html[data-theme='dark'] #submit-photo-modal .modal-content [style*='border: 2px dashed #ddd'],
html[data-theme='dark'] .image-info-panel,
html[data-theme='dark'] .modal-content,
html[data-theme='dark'] .topics-category-card,
html[data-theme='dark'] .page-guide-card,
html[data-theme='dark'] .author-profile-card,
html[data-theme='dark'] .author-count-card,
html[data-theme='dark'] .user-center-profile-card,
html[data-theme='dark'] .user-center-reward-card {
border-color: var(--border-color) !important;
}
html[data-theme='dark'] .close-modal,
html[data-theme='dark'] .nav-arrow,
html[data-theme='dark'] .vip-badge,
html[data-theme='dark'] .user-identity-tag.normal {
background: var(--surface-primary);
box-shadow: var(--shadow-soft);
}
html[data-theme='dark'] #payment-modal .modal-content,
html[data-theme='dark'] #login-modal .modal-content,
html[data-theme='dark'] #submit-photo-modal .modal-content,
html[data-theme='dark'] .wallpaper-command-modal-content,
html[data-theme='dark'] .single .single-container > .modal-content,
html[data-theme='dark'] .modal-overlay .modal-content {
background: var(--surface-secondary);
}
html[data-theme='dark'] #payment-modal .modal-content,
html[data-theme='dark'] #login-modal .modal-content {
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme='dark'] .overlay-bottom .download-trigger,
html[data-theme='dark'] .overlay-bottom .favorite-trigger,
html[data-theme='dark'] .overlay-top .favorite-trigger {
background: var(--surface-secondary);
border: 1px solid var(--border-color);
}
html[data-theme='dark'] .overlay-bottom .download-trigger:hover,
html[data-theme='dark'] .overlay-bottom .favorite-trigger:hover,
html[data-theme='dark'] .overlay-top .favorite-trigger:hover {
background: var(--hover-soft);
}
html[data-theme='dark'] #image-modal .modal-header,
html[data-theme='dark'] #image-modal .modal-body,
html[data-theme='dark'] #image-modal .modal-info-panel,
html[data-theme='dark'] #image-modal .modal-related,
html[data-theme='dark'] .single .single-wrapper {
background: var(--surface-primary);
color: var(--text-primary);
}
html[data-theme='dark'] #image-modal .modal-action-row {
border-top-color: var(--border-color);
}
html[data-theme='dark'] #image-modal .modal-meta-row,
html[data-theme='dark'] #image-modal .stat-label,
html[data-theme='dark'] #image-modal .single-danmaku-tip,
html[data-theme='dark'] #image-modal .single-danmaku-head p {
color: var(--text-secondary);
}
html[data-theme='dark'] #image-modal .btn-secondary {
background: var(--surface-secondary);
border-color: var(--border-color);
color: var(--text-primary);
}
html[data-theme='dark'] #image-modal .btn-secondary:hover {
background: var(--hover-soft);
border-color: var(--text-primary);
}
html[data-theme='dark'] #image-modal .bc-tag {
background: var(--surface-secondary);
color: var(--text-secondary);
}
html[data-theme='dark'] #image-modal .bc-tag:hover {
background: var(--hover-soft);
color: var(--text-primary);
}
html[data-theme='dark'] #image-modal .single-danmaku-section {
--danmaku-rule-bg: #e5e7eb;
--danmaku-rule-text: #111827;
--danmaku-stage-top: rgba(17, 24, 39, 0.96);
--danmaku-stage-bottom: rgba(11, 18, 32, 0.98);
--danmaku-stage-line: rgba(255, 255, 255, 0.06);
--danmaku-fade-edge: rgba(11, 18, 32, 0.96);
--danmaku-item-bg: rgba(15, 23, 42, 0.9);
--danmaku-author-bg: #dbe4f5;
--danmaku-author-text: #111827;
--danmaku-author-anonymous-bg: #8b5cf6;
--danmaku-content-text: #f3f4f6;
--danmaku-meta-text: #93a2b8;
}
html[data-theme='dark'] .single-danmaku-input {
background: #111827;
color: #f3f4f6;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
html[data-theme='dark'] .single-danmaku-input::placeholder {
color: #8b95a7;
}
html[data-theme='dark'] .single-danmaku-input:focus {
background: #162033;
box-shadow: inset 0 0 0 1px rgba(125, 255, 169, 0.42), 0 0 0 3px rgba(7, 193, 96, 0.14);
}
html[data-theme='dark'] #image-modal .single-danmaku-empty {
color: #9ca3af;
}
html[data-theme='dark'] #image-modal .modal-image-container,
html[data-theme='dark'] #image-modal .modal-image-container > div,
html[data-theme='dark'] #image-modal .modal-image-container img {
background-color: transparent;
}
html[data-theme='dark'] .single .single-container > .modal-content .modal-image-container,
html[data-theme='dark'] .single .single-container > .modal-content .modal-image-container img {
background-color: transparent;
}
html[data-theme='dark'] .single .single-container > .modal-content .modal-image-container {
background-color: transparent !important;
}
html[data-theme='dark'] .single .single-container > .modal-content .nav-arrow {
color: #dbe4f5;
opacity: 0.65;
}
html[data-theme='dark'] .single .single-container > .modal-content .nav-arrow:hover {
opacity: 1;
}
html[data-theme='dark'] #image-modal [style*='color: #767676'] {
color: var(--text-secondary) !important;
}
html[data-theme='dark'] #image-modal [style*='border: 1px solid #ddd'],
html[data-theme='dark'] #image-modal [style*='border: 1px solid #eee'] {
border-color: var(--border-color) !important;
}