2223 lines
54 KiB
CSS
2223 lines
54 KiB
CSS
html,
|
|
body {
|
|
padding: 0;
|
|
margin: 0;
|
|
font-family:
|
|
-apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Ubuntu, Cantarell,
|
|
"Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
:root {
|
|
--accent: #0078d4;
|
|
--accent-rgb: 0, 120, 212;
|
|
--accent-2: #106ebe;
|
|
--accent-3: #005a9e;
|
|
--accent-secondary-rgb: 106, 90, 205;
|
|
|
|
--page-gradient: linear-gradient(
|
|
135deg,
|
|
#e3f2fd 0%,
|
|
#f0f4ff 25%,
|
|
#f5f7fa 50%,
|
|
#e8f0f8 75%,
|
|
#dde8f5 100%
|
|
);
|
|
--page-texture:
|
|
radial-gradient(
|
|
circle at 20% 50%,
|
|
rgba(var(--accent-rgb), 0.03) 0%,
|
|
transparent 50%
|
|
),
|
|
radial-gradient(
|
|
circle at 80% 80%,
|
|
rgba(var(--accent-secondary-rgb), 0.03) 0%,
|
|
transparent 50%
|
|
);
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
var(--accent) 0%,
|
|
var(--accent-2) 30%,
|
|
var(--accent-3) 60%,
|
|
var(--accent) 100%
|
|
);
|
|
|
|
--control-bg: rgba(255, 255, 255, 0.7);
|
|
--control-border: rgba(255, 255, 255, 0.8);
|
|
--control-inset: rgba(255, 255, 255, 0.9);
|
|
--control-fg: #323130;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] {
|
|
color-scheme: dark;
|
|
|
|
--accent: #bd93f9;
|
|
--accent-rgb: 189, 147, 249;
|
|
--accent-2: #ff79c6;
|
|
--accent-3: #8be9fd;
|
|
--accent-secondary-rgb: 255, 121, 198;
|
|
|
|
--page-gradient: #282a36;
|
|
--page-texture: radial-gradient(
|
|
circle,
|
|
rgba(98, 114, 164, 0.55) 1px,
|
|
transparent 1px
|
|
);
|
|
--title-gradient: linear-gradient(90deg, #bd93f9 0%, #ff79c6 100%);
|
|
|
|
--control-bg: rgba(40, 42, 54, 0.92);
|
|
--control-border: #44475a;
|
|
--control-inset: transparent;
|
|
--control-fg: #f8f8f2;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] {
|
|
color-scheme: dark;
|
|
|
|
/* CP2077 palette: yellow / hot-pink / electric-cyan */
|
|
--cyber-bg: #060608;
|
|
--cyber-fg: #e8e6d0;
|
|
--cyber-card: #0c0c14;
|
|
--cyber-muted: #14141e;
|
|
--cyber-muted-fg: #6b7088;
|
|
--cyber-border: #1e1e2c;
|
|
--cyber-accent: #f5e642;
|
|
--cyber-accent-2: #ff2a6d;
|
|
--cyber-accent-3: #05d9e8;
|
|
|
|
--accent: var(--cyber-accent);
|
|
--accent-rgb: 245, 230, 66;
|
|
--accent-2: var(--cyber-accent-2);
|
|
--accent-3: var(--cyber-accent-3);
|
|
--accent-secondary-rgb: 255, 42, 109;
|
|
|
|
--page-gradient: var(--cyber-bg);
|
|
--page-texture:
|
|
radial-gradient(
|
|
ellipse at 15% 35%,
|
|
rgba(255, 42, 109, 0.07) 0%,
|
|
transparent 45%
|
|
),
|
|
radial-gradient(
|
|
ellipse at 85% 65%,
|
|
rgba(5, 217, 232, 0.07) 0%,
|
|
transparent 45%
|
|
),
|
|
radial-gradient(
|
|
ellipse at 50% 88%,
|
|
rgba(245, 230, 66, 0.05) 0%,
|
|
transparent 40%
|
|
),
|
|
linear-gradient(rgba(245, 230, 66, 0.028) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(245, 230, 66, 0.028) 1px, transparent 1px);
|
|
--title-gradient: linear-gradient(
|
|
90deg,
|
|
var(--cyber-accent-2) 0%,
|
|
var(--cyber-accent) 50%,
|
|
var(--cyber-accent-3) 100%
|
|
);
|
|
|
|
--control-bg: rgba(6, 6, 8, 0.92);
|
|
--control-border: rgba(245, 230, 66, 0.5);
|
|
--control-inset: rgba(255, 255, 255, 0.03);
|
|
--control-fg: var(--cyber-fg);
|
|
|
|
--box-shadow-neon: 0 0 6px #f5e642, 0 0 14px rgba(245, 230, 66, 0.4);
|
|
--box-shadow-neon-sm: 0 0 3px #f5e642, 0 0 8px rgba(245, 230, 66, 0.3);
|
|
--box-shadow-neon-lg:
|
|
0 0 10px #f5e642, 0 0 25px rgba(245, 230, 66, 0.55),
|
|
0 0 55px rgba(245, 230, 66, 0.2);
|
|
--box-shadow-neon-secondary:
|
|
0 0 5px #ff2a6d, 0 0 18px rgba(255, 42, 109, 0.55);
|
|
--box-shadow-neon-tertiary: 0 0 5px #05d9e8, 0 0 18px rgba(5, 217, 232, 0.55);
|
|
|
|
--cyber-chamfer: polygon(
|
|
0 14px,
|
|
14px 0,
|
|
calc(100% - 14px) 0,
|
|
100% 14px,
|
|
100% calc(100% - 14px),
|
|
calc(100% - 14px) 100%,
|
|
14px 100%,
|
|
0 calc(100% - 14px)
|
|
);
|
|
--cyber-chamfer-sm: polygon(
|
|
0 8px,
|
|
8px 0,
|
|
calc(100% - 8px) 0,
|
|
100% 8px,
|
|
100% calc(100% - 8px),
|
|
calc(100% - 8px) 100%,
|
|
8px 100%,
|
|
0 calc(100% - 8px)
|
|
);
|
|
}
|
|
|
|
/* Fluent 2 柔和渐变背景 */
|
|
body {
|
|
background: var(--page-gradient);
|
|
background-attachment: fixed;
|
|
position: relative;
|
|
}
|
|
|
|
/* 添加微妙的纹理层 */
|
|
body::before {
|
|
content: "";
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-image: var(--page-texture);
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.container {
|
|
padding: 0 2rem;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
/* 主题控制区 */
|
|
.theme-controls {
|
|
position: fixed;
|
|
top: 20px;
|
|
right: 20px;
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.visually-hidden {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: 0;
|
|
}
|
|
|
|
.design-theme {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.design-theme-button,
|
|
.theme-toggle {
|
|
border: 1px solid var(--control-border);
|
|
border-radius: 12px;
|
|
background: var(--control-bg);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.08),
|
|
0 1px 2px rgba(0, 0, 0, 0.04),
|
|
inset 0 1px 0 var(--control-inset);
|
|
color: var(--control-fg);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.design-theme-button {
|
|
height: 44px;
|
|
min-width: 118px;
|
|
padding: 0 34px 0 14px;
|
|
font: inherit;
|
|
text-align: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.design-theme-button::after {
|
|
content: "\25BE";
|
|
position: absolute;
|
|
right: 14px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
pointer-events: none;
|
|
opacity: 0.7;
|
|
color: var(--control-fg);
|
|
}
|
|
|
|
.design-theme-button:hover {
|
|
border-color: rgba(var(--accent-rgb), 0.3);
|
|
}
|
|
|
|
.design-theme-button:focus-visible {
|
|
outline: 2px solid rgba(var(--accent-rgb), 0.35);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
.design-theme-list {
|
|
position: absolute;
|
|
top: calc(100% + 8px);
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
min-width: 160px;
|
|
padding: 6px;
|
|
margin: 0;
|
|
list-style: none;
|
|
border: 1px solid var(--control-border);
|
|
border-radius: 14px;
|
|
background: rgba(255, 255, 255, 0.82);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
box-shadow:
|
|
0 12px 30px rgba(0, 0, 0, 0.12),
|
|
0 6px 12px rgba(0, 0, 0, 0.08),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
|
z-index: 1001;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .design-theme-list {
|
|
background: rgba(20, 20, 20, 0.8);
|
|
box-shadow:
|
|
0 12px 30px rgba(0, 0, 0, 0.55),
|
|
0 6px 12px rgba(0, 0, 0, 0.35),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
.design-theme-list [role="option"] {
|
|
padding: 10px 10px;
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
color: var(--control-fg);
|
|
user-select: none;
|
|
text-align: center;
|
|
transition:
|
|
background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1),
|
|
color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.design-theme-list [role="option"]:hover {
|
|
background: rgba(var(--accent-rgb), 0.12);
|
|
color: var(--control-fg);
|
|
}
|
|
|
|
.design-theme-list [role="option"][aria-selected="true"] {
|
|
background: rgba(var(--accent-rgb), 0.18);
|
|
color: var(--control-fg);
|
|
}
|
|
|
|
.design-theme-list [role="option"]:focus-visible {
|
|
outline: 2px solid rgba(var(--accent-rgb), 0.35);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
/* 主题切换按钮 */
|
|
.theme-toggle {
|
|
width: 44px;
|
|
height: 44px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
padding: 0;
|
|
}
|
|
|
|
.theme-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: block;
|
|
transition:
|
|
opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1),
|
|
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.theme-icon-sun {
|
|
display: none;
|
|
}
|
|
|
|
.theme-icon-moon {
|
|
display: block;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .theme-icon-sun {
|
|
display: block;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .theme-icon-moon {
|
|
display: none;
|
|
}
|
|
|
|
.theme-toggle:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow:
|
|
0 8px 24px rgba(var(--accent-rgb), 0.15),
|
|
0 4px 8px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.95);
|
|
border-color: rgba(var(--accent-rgb), 0.3);
|
|
color: var(--accent);
|
|
}
|
|
|
|
.theme-toggle:active {
|
|
transform: translateY(0);
|
|
transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .theme-toggle {
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.3),
|
|
0 1px 2px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"])
|
|
.design-theme-button {
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.3),
|
|
0 1px 2px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 var(--control-inset);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"])
|
|
.theme-toggle:hover {
|
|
border-color: rgba(var(--accent-rgb), 0.4);
|
|
box-shadow:
|
|
0 8px 24px rgba(var(--accent-rgb), 0.25),
|
|
0 4px 8px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
color: var(--accent);
|
|
}
|
|
|
|
.main {
|
|
padding: 4rem 3rem 0 3rem;
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.title {
|
|
line-height: 1.3;
|
|
font-size: 2.5rem;
|
|
font-weight: 600;
|
|
text-align: center;
|
|
margin: 1rem 0;
|
|
color: #1a1a1a;
|
|
letter-spacing: -0.02em;
|
|
}
|
|
|
|
.title-cursor {
|
|
display: none;
|
|
}
|
|
|
|
/* Fluent 2 风格的标题渐变 - 使用 Fluent 蓝系 */
|
|
.title {
|
|
background: var(--title-gradient);
|
|
-webkit-background-clip: text;
|
|
background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
color: transparent;
|
|
}
|
|
|
|
.title,
|
|
.description {
|
|
text-align: center;
|
|
}
|
|
|
|
.description {
|
|
margin: 4rem 0;
|
|
line-height: 1.5;
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.grid {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
max-width: 800px;
|
|
}
|
|
|
|
/* Fluent 2 亚克力玻璃卡片 */
|
|
.card {
|
|
width: 100%;
|
|
margin: 1rem;
|
|
padding: 1.5rem;
|
|
text-align: left;
|
|
color: inherit;
|
|
text-decoration: none;
|
|
max-width: 300px;
|
|
|
|
/* 亚克力玻璃效果 */
|
|
background: rgba(255, 255, 255, 0.7);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
|
|
/* Fluent 2 圆角系统 - 等距圆角 */
|
|
border-radius: 12px;
|
|
|
|
/* 高光描边效果 */
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.08),
|
|
0 1px 2px rgba(0, 0, 0, 0.04),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
|
|
|
/* Fluent 交互动效 - 轻量空间变化 */
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
transform: translateY(0);
|
|
position: relative;
|
|
}
|
|
|
|
.card::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border-radius: 12px;
|
|
padding: 1px;
|
|
background: linear-gradient(
|
|
135deg,
|
|
rgba(var(--accent-rgb), 0.1) 0%,
|
|
rgba(255, 255, 255, 0.3) 50%,
|
|
rgba(var(--accent-rgb), 0.1) 100%
|
|
);
|
|
-webkit-mask:
|
|
linear-gradient(#fff 0 0) content-box,
|
|
linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
opacity: 0;
|
|
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.card.pin {
|
|
background: rgba(247, 247, 247, 0.75);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
}
|
|
|
|
/* Fluent 2 Hover 效果 - 轻量上浮 */
|
|
.card:hover,
|
|
.card:focus {
|
|
color: var(--accent);
|
|
transform: translateY(-2px);
|
|
box-shadow:
|
|
0 8px 24px rgba(var(--accent-rgb), 0.15),
|
|
0 4px 8px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.95);
|
|
border-color: rgba(var(--accent-rgb), 0.3);
|
|
}
|
|
|
|
.card:hover::before,
|
|
.card:focus::before {
|
|
opacity: 1;
|
|
}
|
|
|
|
.card:active {
|
|
transform: translateY(0);
|
|
transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.card h2 {
|
|
margin: 0;
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: #1a1a1a;
|
|
letter-spacing: -0.01em;
|
|
transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.card:hover h2,
|
|
.card:focus h2 {
|
|
color: var(--accent);
|
|
}
|
|
|
|
.card .title-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 1rem;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.card .title-icon img {
|
|
width: 32px;
|
|
height: 32px;
|
|
transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
|
|
}
|
|
|
|
.card:hover .title-icon img,
|
|
.card:focus .title-icon img {
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.card p {
|
|
margin: 0;
|
|
font-size: 0.9375rem;
|
|
line-height: 1.6;
|
|
color: #605e5c;
|
|
transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.card:hover p,
|
|
.card:focus p {
|
|
color: #323130;
|
|
}
|
|
|
|
.card .single {
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
word-break: break-all;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.beian {
|
|
margin: 24px 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.beian img {
|
|
width: 14px;
|
|
height: 14px;
|
|
margin: 0 4px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.beian a {
|
|
text-decoration: none;
|
|
font-size: 13px;
|
|
color: #605e5c;
|
|
transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.beian a:hover {
|
|
color: var(--accent);
|
|
}
|
|
|
|
@keyframes terminal-cursor-blink {
|
|
0%,
|
|
49% {
|
|
opacity: 1;
|
|
}
|
|
50%,
|
|
100% {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes cyberpunk-title-anim {
|
|
0% {
|
|
filter: drop-shadow(-2px 0 rgba(255, 42, 109, 0.75))
|
|
drop-shadow(2px 0 rgba(5, 217, 232, 0.75))
|
|
drop-shadow(0 0 18px rgba(245, 230, 66, 0.3));
|
|
clip-path: inset(0 0 0 0);
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
30% {
|
|
filter: drop-shadow(3px 0 rgba(255, 42, 109, 0.75))
|
|
drop-shadow(-3px 0 rgba(5, 217, 232, 0.75))
|
|
drop-shadow(0 0 24px rgba(245, 230, 66, 0.4));
|
|
clip-path: inset(0 0 0 0);
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
60%,
|
|
84% {
|
|
filter: drop-shadow(-2px 0 rgba(255, 42, 109, 0.75))
|
|
drop-shadow(2px 0 rgba(5, 217, 232, 0.75))
|
|
drop-shadow(0 0 18px rgba(245, 230, 66, 0.3));
|
|
clip-path: inset(0 0 0 0);
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
85% {
|
|
clip-path: inset(10% 0 76% 0);
|
|
transform: translate3d(-6px, 0, 0);
|
|
filter: drop-shadow(5px 0 #ff2a6d) drop-shadow(-2px 0 #05d9e8);
|
|
}
|
|
86% {
|
|
clip-path: inset(62% 0 12% 0);
|
|
transform: translate3d(6px, 2px, 0);
|
|
filter: drop-shadow(-5px 0 #ff2a6d) drop-shadow(2px 0 #05d9e8);
|
|
}
|
|
87% {
|
|
clip-path: inset(38% 0 44% 0);
|
|
transform: translate3d(-3px, -2px, 0);
|
|
filter: drop-shadow(0 0 10px #f5e642) drop-shadow(3px 0 #ff2a6d);
|
|
}
|
|
88%,
|
|
100% {
|
|
filter: drop-shadow(-2px 0 rgba(255, 42, 109, 0.75))
|
|
drop-shadow(2px 0 rgba(5, 217, 232, 0.75))
|
|
drop-shadow(0 0 18px rgba(245, 230, 66, 0.3));
|
|
clip-path: inset(0 0 0 0);
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
}
|
|
|
|
@keyframes cyberpunk-scanline {
|
|
0% {
|
|
background-position:
|
|
0 0,
|
|
0 -220px;
|
|
}
|
|
100% {
|
|
background-position:
|
|
0 0,
|
|
0 calc(100vh + 220px);
|
|
}
|
|
}
|
|
|
|
@keyframes cyberpunk-corner-pulse {
|
|
0%,
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
html[data-design-theme="terminal"] body {
|
|
font-family:
|
|
ui-monospace, "JetBrains Mono", "Fira Code", "VT323", Menlo, Consolas,
|
|
"Liberation Mono", monospace;
|
|
letter-spacing: 0.01em;
|
|
color: #f8f8f2;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] body::before {
|
|
background-size: 20px 20px;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .theme-controls {
|
|
gap: 12px;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .design-theme-button,
|
|
html[data-design-theme="terminal"] .theme-toggle {
|
|
border-radius: 8px;
|
|
box-shadow: none;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
border: 1px solid #44475a;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .theme-toggle {
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .design-theme-button:hover,
|
|
html[data-design-theme="terminal"] .theme-toggle:hover {
|
|
background: rgba(189, 147, 249, 0.08);
|
|
color: #bd93f9;
|
|
border-color: #bd93f9;
|
|
transform: none;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .design-theme-button::after {
|
|
color: currentColor;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .design-theme-list {
|
|
border-radius: 10px;
|
|
box-shadow: none;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
background: rgba(40, 42, 54, 0.96);
|
|
border: 1px solid #44475a;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .design-theme-list [role="option"] {
|
|
border-radius: 0;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .design-theme-list [role="option"]:hover,
|
|
html[data-design-theme="terminal"]
|
|
.design-theme-list
|
|
[role="option"][aria-selected="true"] {
|
|
background: rgba(189, 147, 249, 0.15);
|
|
color: #bd93f9;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .title {
|
|
background: var(--title-gradient);
|
|
-webkit-background-clip: text;
|
|
background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
color: transparent;
|
|
text-shadow: none;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.04em;
|
|
position: relative;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .title::after {
|
|
content: "\2588";
|
|
margin-left: 8px;
|
|
animation: terminal-cursor-blink 1s step-end infinite;
|
|
-webkit-text-fill-color: #bd93f9;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card {
|
|
border-radius: 10px;
|
|
background: #313244;
|
|
border: 1px solid #44475a;
|
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
transform: translateY(0);
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card.pin {
|
|
background: #383a4a;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card h2 {
|
|
color: #f8f8f2;
|
|
text-shadow: none;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card p {
|
|
color: #6272a4;
|
|
text-shadow: none;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card:hover,
|
|
html[data-design-theme="terminal"] .card:focus {
|
|
background: #313244;
|
|
border-color: #bd93f9;
|
|
box-shadow:
|
|
0 0 0 1px rgba(189, 147, 249, 0.25),
|
|
0 8px 28px rgba(189, 147, 249, 0.15),
|
|
0 4px 12px rgba(0, 0, 0, 0.5);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card:hover h2,
|
|
html[data-design-theme="terminal"] .card:focus h2 {
|
|
color: #bd93f9;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .card:hover p,
|
|
html[data-design-theme="terminal"] .card:focus p {
|
|
color: #cdd6f4;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .beian a {
|
|
color: #6272a4;
|
|
text-shadow: none;
|
|
}
|
|
|
|
html[data-design-theme="terminal"] .beian a:hover {
|
|
color: #bd93f9;
|
|
background: none;
|
|
text-shadow: none;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] body {
|
|
font-family:
|
|
ui-monospace, "JetBrains Mono", "Fira Code", Menlo, Consolas,
|
|
"Liberation Mono", monospace;
|
|
letter-spacing: 0.02em;
|
|
color: var(--cyber-fg);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] body::before {
|
|
background-size:
|
|
auto,
|
|
auto,
|
|
auto,
|
|
60px 60px,
|
|
60px 60px;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] body::after {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
opacity: 0.6;
|
|
background:
|
|
repeating-linear-gradient(
|
|
0deg,
|
|
transparent 0px,
|
|
transparent 2px,
|
|
rgba(0, 0, 0, 0.4) 2px,
|
|
rgba(0, 0, 0, 0.4) 4px
|
|
),
|
|
linear-gradient(
|
|
180deg,
|
|
transparent 0%,
|
|
rgba(245, 230, 66, 0.08) 50%,
|
|
transparent 100%
|
|
);
|
|
background-size:
|
|
auto,
|
|
100% 220px;
|
|
background-position:
|
|
0 0,
|
|
0 -220px;
|
|
animation: cyberpunk-scanline 9s linear infinite;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .theme-controls {
|
|
gap: 12px;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .design-theme-button,
|
|
html[data-design-theme="cyberpunk"] .theme-toggle {
|
|
border-radius: 0;
|
|
clip-path: var(--cyber-chamfer-sm);
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
border: 1px solid rgba(var(--accent-rgb), 0.55);
|
|
border-bottom: 2px solid rgba(var(--accent-rgb), 0.8);
|
|
background: rgba(6, 6, 8, 0.92);
|
|
box-shadow: var(--box-shadow-neon-sm);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.12em;
|
|
color: var(--cyber-fg);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .design-theme-button:hover,
|
|
html[data-design-theme="cyberpunk"] .theme-toggle:hover {
|
|
border-color: rgba(var(--accent-rgb), 0.95);
|
|
border-bottom-color: var(--cyber-accent);
|
|
background: rgba(245, 230, 66, 0.07);
|
|
color: var(--cyber-accent);
|
|
box-shadow: var(--box-shadow-neon);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .design-theme-button:focus-visible,
|
|
html[data-design-theme="cyberpunk"] .theme-toggle:focus-visible {
|
|
outline: 2px solid rgba(var(--accent-rgb), 0.65);
|
|
outline-offset: 3px;
|
|
box-shadow: var(--box-shadow-neon);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .theme-toggle {
|
|
cursor: not-allowed;
|
|
opacity: 0.65;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .theme-icon-sun {
|
|
display: none;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .theme-icon-moon {
|
|
display: block;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .design-theme-list {
|
|
border-radius: 0;
|
|
clip-path: var(--cyber-chamfer);
|
|
background: rgba(6, 6, 8, 0.96);
|
|
border: 1px solid rgba(var(--accent-rgb), 0.5);
|
|
border-bottom: 2px solid rgba(var(--accent-rgb), 0.85);
|
|
box-shadow: var(--box-shadow-neon-sm);
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .design-theme-list [role="option"] {
|
|
border-radius: 0;
|
|
clip-path: var(--cyber-chamfer-sm);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.14em;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .design-theme-list [role="option"]:hover,
|
|
html[data-design-theme="cyberpunk"]
|
|
.design-theme-list
|
|
[role="option"][aria-selected="true"] {
|
|
background: rgba(var(--accent-rgb), 0.12);
|
|
color: var(--cyber-accent);
|
|
box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), 0.6);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .title {
|
|
background: var(--title-gradient);
|
|
-webkit-background-clip: text;
|
|
background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
color: transparent;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
position: relative;
|
|
animation: cyberpunk-title-anim 10s ease-in-out infinite;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .title-cursor {
|
|
display: none;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card {
|
|
border-radius: 0;
|
|
clip-path: var(--cyber-chamfer);
|
|
background: rgba(12, 12, 20, 0.94);
|
|
border: 1px solid rgba(30, 30, 44, 0.94);
|
|
border-top: 2px solid rgba(var(--accent-rgb), 0.55);
|
|
box-shadow:
|
|
0 0 0 1px rgba(var(--accent-rgb), 0.1),
|
|
0 12px 32px rgba(0, 0, 0, 0.6),
|
|
var(--box-shadow-neon-sm);
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
transform: translateY(0);
|
|
transition: all 120ms steps(4, end);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* HUD corner brackets */
|
|
html[data-design-theme="cyberpunk"] .card::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
background:
|
|
linear-gradient(var(--cyber-accent), var(--cyber-accent)) top left / 16px
|
|
2px no-repeat,
|
|
linear-gradient(var(--cyber-accent), var(--cyber-accent)) top left / 2px
|
|
16px no-repeat,
|
|
linear-gradient(var(--cyber-accent), var(--cyber-accent)) bottom right /
|
|
16px 2px no-repeat,
|
|
linear-gradient(var(--cyber-accent), var(--cyber-accent)) bottom right / 2px
|
|
16px no-repeat;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
animation: cyberpunk-corner-pulse 3s ease-in-out infinite;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card h2 {
|
|
color: var(--cyber-fg);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.06em;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card p {
|
|
color: var(--cyber-muted-fg);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card:hover,
|
|
html[data-design-theme="cyberpunk"] .card:focus {
|
|
border-top-color: var(--cyber-accent);
|
|
border-color: rgba(var(--accent-rgb), 0.85);
|
|
transform: translateY(-2px);
|
|
box-shadow:
|
|
0 0 0 1px rgba(var(--accent-rgb), 0.22),
|
|
0 14px 38px rgba(0, 0, 0, 0.65),
|
|
var(--box-shadow-neon-lg);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card:hover::before,
|
|
html[data-design-theme="cyberpunk"] .card:focus::before {
|
|
opacity: 0.9;
|
|
animation: none;
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card:hover h2,
|
|
html[data-design-theme="cyberpunk"] .card:focus h2 {
|
|
color: var(--cyber-accent);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .card:hover p,
|
|
html[data-design-theme="cyberpunk"] .card:focus p {
|
|
color: rgba(232, 230, 208, 0.9);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .beian a {
|
|
color: rgba(232, 230, 208, 0.6);
|
|
}
|
|
|
|
html[data-design-theme="cyberpunk"] .beian a:hover {
|
|
color: var(--cyber-accent);
|
|
text-shadow: 0 0 10px rgba(var(--accent-rgb), 0.35);
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
.grid {
|
|
width: 100%;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.theme-controls {
|
|
top: 12px;
|
|
right: 12px;
|
|
gap: 8px;
|
|
}
|
|
|
|
.design-theme-button {
|
|
min-width: 108px;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
html[data-design-theme="cyberpunk"] body::after,
|
|
html[data-design-theme="cyberpunk"] .title,
|
|
html[data-design-theme="cyberpunk"] .card,
|
|
html[data-design-theme="cyberpunk"] .card::before {
|
|
animation: none !important;
|
|
transition-duration: 0.01ms !important;
|
|
transform: none !important;
|
|
}
|
|
}
|
|
|
|
/* Fluent 2 深色模式 */
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) {
|
|
color-scheme: dark;
|
|
--accent: #60cdff;
|
|
--accent-rgb: 96, 205, 255;
|
|
--accent-2: #4fc3f7;
|
|
--accent-3: #29b6f6;
|
|
|
|
--page-gradient: linear-gradient(
|
|
135deg,
|
|
#1a1a1a 0%,
|
|
#1f1f1f 25%,
|
|
#1a1a1a 50%,
|
|
#1d1d1d 75%,
|
|
#1a1a1a 100%
|
|
);
|
|
--page-texture:
|
|
radial-gradient(
|
|
circle at 20% 50%,
|
|
rgba(var(--accent-rgb), 0.08) 0%,
|
|
transparent 50%
|
|
),
|
|
radial-gradient(
|
|
circle at 80% 80%,
|
|
rgba(var(--accent-secondary-rgb), 0.08) 0%,
|
|
transparent 50%
|
|
);
|
|
|
|
--control-bg: rgba(30, 30, 30, 0.7);
|
|
--control-border: rgba(255, 255, 255, 0.1);
|
|
--control-inset: rgba(255, 255, 255, 0.05);
|
|
--control-fg: #ffffff;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) body {
|
|
color: #ffffff;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card {
|
|
background: rgba(30, 30, 30, 0.7);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.3),
|
|
0 1px 2px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card::before {
|
|
background: linear-gradient(
|
|
135deg,
|
|
rgba(var(--accent-rgb), 0.2) 0%,
|
|
rgba(255, 255, 255, 0.1) 50%,
|
|
rgba(var(--accent-rgb), 0.2) 100%
|
|
);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card h2 {
|
|
color: #ffffff;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card:hover h2,
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card:focus h2 {
|
|
color: var(--accent);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card:hover,
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card:focus {
|
|
border-color: rgba(var(--accent-rgb), 0.4);
|
|
box-shadow:
|
|
0 8px 24px rgba(var(--accent-rgb), 0.25),
|
|
0 4px 8px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card p {
|
|
color: #c8c6c4;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card:hover p,
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .card:focus p {
|
|
color: #e1dfdd;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .pin.card {
|
|
background: rgba(40, 40, 40, 0.75);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .beian a {
|
|
color: #c8c6c4;
|
|
}
|
|
|
|
html[data-theme="dark"]:not([data-design-theme="terminal"]) .beian a:hover {
|
|
color: var(--accent);
|
|
}
|
|
|
|
/* Material You (Material Design 3) */
|
|
html[data-design-theme="material-you"] {
|
|
color-scheme: light;
|
|
|
|
--md-bg: #fffbfe;
|
|
--md-on-bg: #1c1b1f;
|
|
--md-primary: #6750a4;
|
|
--md-on-primary: #ffffff;
|
|
--md-secondary-container: #e8def8;
|
|
--md-on-secondary-container: #1d192b;
|
|
--md-tertiary: #7d5260;
|
|
--md-surface-container: #f3edf7;
|
|
--md-surface-container-low: #e7e0ec;
|
|
--md-outline: #79747e;
|
|
--md-on-surface-variant: #49454f;
|
|
|
|
--md-ease: cubic-bezier(0.2, 0, 0, 1);
|
|
|
|
--accent: var(--md-primary);
|
|
--accent-rgb: 103, 80, 164;
|
|
--accent-2: var(--md-primary);
|
|
--accent-3: var(--md-primary);
|
|
--accent-secondary-rgb: 125, 82, 96;
|
|
|
|
--page-gradient:
|
|
radial-gradient(
|
|
circle at 12% 18%,
|
|
rgba(var(--accent-rgb), 0.16) 0%,
|
|
transparent 56%
|
|
),
|
|
radial-gradient(
|
|
circle at 88% 22%,
|
|
rgba(232, 222, 248, 0.92) 0%,
|
|
transparent 58%
|
|
),
|
|
radial-gradient(
|
|
circle at 22% 90%,
|
|
rgba(125, 82, 96, 0.1) 0%,
|
|
transparent 52%
|
|
),
|
|
var(--md-bg);
|
|
--page-texture:
|
|
radial-gradient(
|
|
circle at 18% 32%,
|
|
rgba(var(--accent-rgb), 0.1) 0%,
|
|
transparent 48%
|
|
),
|
|
radial-gradient(
|
|
circle at 78% 76%,
|
|
rgba(125, 82, 96, 0.08) 0%,
|
|
transparent 50%
|
|
);
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
var(--md-primary) 0%,
|
|
rgba(103, 80, 164, 0.92) 40%,
|
|
var(--md-tertiary) 100%
|
|
);
|
|
|
|
--control-bg: rgba(243, 237, 247, 0.78);
|
|
--control-border: rgba(121, 116, 126, 0.35);
|
|
--control-inset: rgba(255, 255, 255, 0.7);
|
|
--control-fg: var(--md-on-bg);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="material-you"] {
|
|
color-scheme: dark;
|
|
|
|
--md-bg: #1c1b1f;
|
|
--md-on-bg: #e6e1e5;
|
|
--md-primary: #d0bcff;
|
|
--md-on-primary: #381e72;
|
|
--md-secondary-container: #4a4458;
|
|
--md-on-secondary-container: #e8def8;
|
|
--md-tertiary: #efb8c8;
|
|
--md-surface-container: #211f26;
|
|
--md-surface-container-low: #1f1d24;
|
|
--md-outline: #938f99;
|
|
--md-on-surface-variant: #cac4d0;
|
|
|
|
--accent: var(--md-primary);
|
|
--accent-rgb: 208, 188, 255;
|
|
--accent-2: var(--md-primary);
|
|
--accent-3: var(--md-primary);
|
|
--accent-secondary-rgb: 239, 184, 200;
|
|
|
|
--page-gradient:
|
|
radial-gradient(
|
|
circle at 12% 18%,
|
|
rgba(var(--accent-rgb), 0.12) 0%,
|
|
transparent 56%
|
|
),
|
|
radial-gradient(
|
|
circle at 88% 22%,
|
|
rgba(239, 184, 200, 0.1) 0%,
|
|
transparent 58%
|
|
),
|
|
radial-gradient(
|
|
circle at 26% 92%,
|
|
rgba(232, 222, 248, 0.09) 0%,
|
|
transparent 55%
|
|
),
|
|
var(--md-bg);
|
|
--page-texture:
|
|
radial-gradient(
|
|
circle at 18% 32%,
|
|
rgba(var(--accent-rgb), 0.08) 0%,
|
|
transparent 48%
|
|
),
|
|
radial-gradient(
|
|
circle at 78% 76%,
|
|
rgba(239, 184, 200, 0.06) 0%,
|
|
transparent 50%
|
|
);
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
var(--md-primary) 0%,
|
|
rgba(208, 188, 255, 0.92) 45%,
|
|
var(--md-tertiary) 100%
|
|
);
|
|
|
|
--control-bg: rgba(33, 31, 38, 0.78);
|
|
--control-border: rgba(147, 143, 153, 0.35);
|
|
--control-inset: rgba(255, 255, 255, 0.06);
|
|
--control-fg: var(--md-on-bg);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] body {
|
|
color: var(--md-on-bg);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] body::after {
|
|
content: "";
|
|
position: fixed;
|
|
inset: -20vh -20vw;
|
|
background:
|
|
radial-gradient(
|
|
circle at 24% 28%,
|
|
rgba(var(--accent-rgb), 0.22) 0%,
|
|
transparent 46%
|
|
),
|
|
radial-gradient(
|
|
circle at 72% 34%,
|
|
rgba(232, 222, 248, 0.62) 0%,
|
|
transparent 52%
|
|
),
|
|
radial-gradient(
|
|
circle at 78% 88%,
|
|
rgba(var(--accent-secondary-rgb), 0.18) 0%,
|
|
transparent 56%
|
|
);
|
|
filter: blur(84px);
|
|
opacity: 0.65;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .design-theme-button,
|
|
html[data-design-theme="material-you"] .theme-toggle {
|
|
border-radius: 9999px;
|
|
transition: all 0.3s var(--md-ease);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .design-theme-button::after {
|
|
content: "\25BE";
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .design-theme-button:hover,
|
|
html[data-design-theme="material-you"] .theme-toggle:hover {
|
|
background: rgba(var(--accent-rgb), 0.1);
|
|
border-color: rgba(var(--accent-rgb), 0.35);
|
|
transform: translateY(-1px);
|
|
box-shadow:
|
|
0 10px 26px rgba(var(--accent-rgb), 0.18),
|
|
0 4px 10px rgba(0, 0, 0, 0.08),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .design-theme-button:active,
|
|
html[data-design-theme="material-you"] .theme-toggle:active {
|
|
transform: scale(0.95);
|
|
transition: all 0.2s var(--md-ease);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .design-theme-button:focus-visible,
|
|
html[data-design-theme="material-you"] .theme-toggle:focus-visible {
|
|
outline: 2px solid rgba(var(--accent-rgb), 0.5);
|
|
outline-offset: 3px;
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .design-theme-list {
|
|
background: rgba(243, 237, 247, 0.88);
|
|
border: 1px solid rgba(121, 116, 126, 0.24);
|
|
border-radius: 20px;
|
|
box-shadow:
|
|
0 18px 40px rgba(0, 0, 0, 0.12),
|
|
0 8px 18px rgba(0, 0, 0, 0.08),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="material-you"] .design-theme-list {
|
|
background: rgba(33, 31, 38, 0.9);
|
|
border: 1px solid rgba(147, 143, 153, 0.24);
|
|
box-shadow:
|
|
0 18px 46px rgba(0, 0, 0, 0.52),
|
|
0 8px 18px rgba(0, 0, 0, 0.36),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .title {
|
|
font-weight: 500;
|
|
letter-spacing: -0.01em;
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card {
|
|
background: rgba(243, 237, 247, 0.82);
|
|
border: none;
|
|
border-radius: 24px;
|
|
box-shadow:
|
|
0 1px 2px rgba(0, 0, 0, 0.06),
|
|
0 10px 22px rgba(var(--accent-rgb), 0.12);
|
|
transition: all 0.3s var(--md-ease);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card.pin {
|
|
background: rgba(231, 224, 236, 0.85);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card:hover,
|
|
html[data-design-theme="material-you"] .card:focus {
|
|
color: var(--accent);
|
|
transform: translateY(-2px) scale(1.02);
|
|
box-shadow:
|
|
0 18px 46px rgba(var(--accent-rgb), 0.22),
|
|
0 10px 22px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card h2 {
|
|
color: var(--md-on-bg);
|
|
font-weight: 500;
|
|
transition: color 0.3s var(--md-ease);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card p {
|
|
color: var(--md-on-surface-variant);
|
|
transition: color 0.3s var(--md-ease);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .card:hover p,
|
|
html[data-design-theme="material-you"] .card:focus p {
|
|
color: var(--md-on-bg);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="material-you"] .card {
|
|
background: rgba(33, 31, 38, 0.84);
|
|
box-shadow:
|
|
0 1px 2px rgba(0, 0, 0, 0.3),
|
|
0 14px 34px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="material-you"] .card.pin {
|
|
background: rgba(31, 29, 36, 0.92);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="material-you"] .card:hover,
|
|
html[data-theme="dark"][data-design-theme="material-you"] .card:focus {
|
|
box-shadow:
|
|
0 22px 60px rgba(0, 0, 0, 0.55),
|
|
0 10px 26px rgba(var(--accent-rgb), 0.14);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .beian a {
|
|
color: var(--md-on-surface-variant);
|
|
}
|
|
|
|
html[data-design-theme="material-you"] .beian a:hover {
|
|
color: var(--accent);
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
html[data-design-theme="material-you"] .card,
|
|
html[data-design-theme="material-you"] .design-theme-button,
|
|
html[data-design-theme="material-you"] .theme-toggle,
|
|
html[data-design-theme="material-you"] .theme-icon {
|
|
transition-duration: 0.01ms !important;
|
|
transform: none !important;
|
|
}
|
|
}
|
|
|
|
/* ─── Nord (nordtheme.com) ──────────────────────────────── */
|
|
/* Default: Polar Night (dark) */
|
|
html[data-design-theme="nord"] {
|
|
color-scheme: dark;
|
|
|
|
--accent: #88c0d0;
|
|
--accent-rgb: 136, 192, 208;
|
|
--accent-2: #81a1c1;
|
|
--accent-3: #5e81ac;
|
|
--accent-secondary-rgb: 129, 161, 193;
|
|
|
|
--page-gradient: #2e3440;
|
|
--page-texture: none;
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
#88c0d0 0%,
|
|
#81a1c1 50%,
|
|
#5e81ac 100%
|
|
);
|
|
|
|
--control-bg: rgba(59, 66, 82, 0.85);
|
|
--control-border: rgba(76, 86, 106, 0.6);
|
|
--control-inset: rgba(67, 76, 94, 0.5);
|
|
--control-fg: #eceff4;
|
|
}
|
|
|
|
/* Re-assert Nord dark variables after generic dark mode overrides them */
|
|
html[data-theme="dark"][data-design-theme="nord"] {
|
|
color-scheme: dark;
|
|
|
|
--accent: #88c0d0;
|
|
--accent-rgb: 136, 192, 208;
|
|
--accent-2: #81a1c1;
|
|
--accent-3: #5e81ac;
|
|
--accent-secondary-rgb: 129, 161, 193;
|
|
|
|
--page-gradient: #2e3440;
|
|
--page-texture: none;
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
#88c0d0 0%,
|
|
#81a1c1 50%,
|
|
#5e81ac 100%
|
|
);
|
|
|
|
--control-bg: rgba(59, 66, 82, 0.85);
|
|
--control-border: rgba(76, 86, 106, 0.6);
|
|
--control-inset: rgba(67, 76, 94, 0.5);
|
|
--control-fg: #eceff4;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] body {
|
|
color: #eceff4;
|
|
}
|
|
|
|
/* Snow Storm (light mode) */
|
|
html[data-theme="light"][data-design-theme="nord"] {
|
|
color-scheme: light;
|
|
|
|
--accent: #5e81ac;
|
|
--accent-rgb: 94, 129, 172;
|
|
--accent-2: #81a1c1;
|
|
--accent-3: #88c0d0;
|
|
--accent-secondary-rgb: 94, 129, 172;
|
|
|
|
--page-gradient: #eceff4;
|
|
--page-texture: none;
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
#5e81ac 0%,
|
|
#81a1c1 50%,
|
|
#88c0d0 100%
|
|
);
|
|
|
|
--control-bg: rgba(229, 233, 240, 0.85);
|
|
--control-border: rgba(216, 222, 233, 0.8);
|
|
--control-inset: rgba(236, 239, 244, 0.9);
|
|
--control-fg: #2e3440;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] body {
|
|
color: #2e3440;
|
|
}
|
|
|
|
/* Dark cards (Polar Night) */
|
|
html[data-theme="dark"][data-design-theme="nord"] .card {
|
|
background: #3b4252;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
border: 1px solid #4c566a;
|
|
border-radius: 6px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card h2 {
|
|
color: #eceff4;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card:hover h2,
|
|
html[data-theme="dark"][data-design-theme="nord"] .card:focus h2 {
|
|
color: #88c0d0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card p {
|
|
color: #d8dee9;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card:hover p,
|
|
html[data-theme="dark"][data-design-theme="nord"] .card:focus p {
|
|
color: #e5e9f0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card:hover,
|
|
html[data-theme="dark"][data-design-theme="nord"] .card:focus {
|
|
border-color: #88c0d0;
|
|
box-shadow: 0 4px 16px rgba(136, 192, 208, 0.2);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .card.pin {
|
|
background: #434c5e;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
}
|
|
|
|
/* Light cards (Snow Storm) */
|
|
html[data-theme="light"][data-design-theme="nord"] .card {
|
|
background: #e5e9f0;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
border: 1px solid #d8dee9;
|
|
border-radius: 6px;
|
|
box-shadow: 0 2px 8px rgba(46, 52, 64, 0.1);
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card h2 {
|
|
color: #2e3440;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card:hover h2,
|
|
html[data-theme="light"][data-design-theme="nord"] .card:focus h2 {
|
|
color: #5e81ac;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card p {
|
|
color: #4c566a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card:hover p,
|
|
html[data-theme="light"][data-design-theme="nord"] .card:focus p {
|
|
color: #3b4252;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card:hover,
|
|
html[data-theme="light"][data-design-theme="nord"] .card:focus {
|
|
border-color: #5e81ac;
|
|
box-shadow: 0 4px 16px rgba(94, 129, 172, 0.2);
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .card.pin {
|
|
background: #eceff4;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
border-color: #d8dee9;
|
|
}
|
|
|
|
/* Beian links */
|
|
html[data-theme="dark"][data-design-theme="nord"] .beian a {
|
|
color: #d8dee9;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="nord"] .beian a:hover {
|
|
color: #88c0d0;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .beian a {
|
|
color: #4c566a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="nord"] .beian a:hover {
|
|
color: #5e81ac;
|
|
}
|
|
|
|
/* ─── Animal Crossing — Sunny Meadow ───────────────────────── */
|
|
html[data-design-theme="animal-crossing"] {
|
|
color-scheme: light;
|
|
|
|
--accent: #6dbc7e;
|
|
--accent-rgb: 109, 188, 126;
|
|
--accent-2: #5aad6d;
|
|
--accent-3: #4a9e5d;
|
|
--accent-secondary-rgb: 244, 200, 66;
|
|
|
|
--page-gradient: linear-gradient(
|
|
135deg,
|
|
#fdf6e3 0%,
|
|
#f5f0d8 25%,
|
|
#fdf6e3 50%,
|
|
#f8f2e0 75%,
|
|
#fdf6e3 100%
|
|
);
|
|
--page-texture:
|
|
radial-gradient(
|
|
circle at 20% 50%,
|
|
rgba(109, 188, 126, 0.08) 0%,
|
|
transparent 50%
|
|
),
|
|
radial-gradient(
|
|
circle at 80% 80%,
|
|
rgba(244, 200, 66, 0.06) 0%,
|
|
transparent 50%
|
|
);
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
#6dbc7e 0%,
|
|
#5aad6d 40%,
|
|
#f4c842 100%
|
|
);
|
|
|
|
--control-bg: rgba(255, 252, 240, 0.82);
|
|
--control-border: rgba(109, 188, 126, 0.35);
|
|
--control-inset: rgba(255, 255, 255, 0.85);
|
|
--control-fg: #5c4824;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] body {
|
|
color: #5c4824;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .design-theme-button,
|
|
html[data-design-theme="animal-crossing"] .theme-toggle {
|
|
border-radius: 50px;
|
|
box-shadow: rgb(189, 174, 160) 0px 5px 0px 0px;
|
|
font-weight: 600;
|
|
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .design-theme-button:hover,
|
|
html[data-design-theme="animal-crossing"] .theme-toggle:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: rgb(189, 174, 160) 0px 7px 0px 0px;
|
|
border-color: rgba(109, 188, 126, 0.45);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .design-theme-button:active,
|
|
html[data-design-theme="animal-crossing"] .theme-toggle:active {
|
|
transform: translateY(5px);
|
|
box-shadow: none;
|
|
transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card {
|
|
background: rgba(255, 252, 240, 0.85);
|
|
border: 1px solid rgba(109, 188, 126, 0.25);
|
|
border-radius: 16px;
|
|
box-shadow: rgb(189, 174, 160) 0px 5px 0px 0px;
|
|
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card.pin {
|
|
background: rgba(245, 242, 228, 0.88);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card h2 {
|
|
color: #5c4824;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card p {
|
|
color: #7a6040;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card:hover,
|
|
html[data-design-theme="animal-crossing"] .card:focus {
|
|
transform: translateY(-2px);
|
|
border-color: rgba(109, 188, 126, 0.45);
|
|
box-shadow: rgb(189, 174, 160) 0px 7px 0px 0px;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card:active {
|
|
transform: translateY(5px);
|
|
box-shadow: none;
|
|
transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card:hover h2,
|
|
html[data-design-theme="animal-crossing"] .card:focus h2 {
|
|
color: var(--accent);
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .card:hover p,
|
|
html[data-design-theme="animal-crossing"] .card:focus p {
|
|
color: #5c4824;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .beian a {
|
|
color: #7a6040;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] .beian a:hover {
|
|
color: var(--accent);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] {
|
|
color-scheme: dark;
|
|
|
|
--accent: #9ed98a;
|
|
--accent-rgb: 158, 217, 138;
|
|
--accent-2: #86cb72;
|
|
--accent-3: #6dbc5e;
|
|
--accent-secondary-rgb: 245, 210, 90;
|
|
|
|
--page-gradient: #1e2d1e;
|
|
--page-texture:
|
|
radial-gradient(
|
|
circle at 20% 50%,
|
|
rgba(158, 217, 138, 0.06) 0%,
|
|
transparent 50%
|
|
),
|
|
radial-gradient(
|
|
circle at 80% 80%,
|
|
rgba(245, 210, 90, 0.04) 0%,
|
|
transparent 50%
|
|
);
|
|
--title-gradient: linear-gradient(
|
|
135deg,
|
|
#9ed98a 0%,
|
|
#86cb72 40%,
|
|
#f5d25a 100%
|
|
);
|
|
|
|
--control-bg: rgba(25, 40, 25, 0.82);
|
|
--control-border: rgba(158, 217, 138, 0.25);
|
|
--control-inset: rgba(255, 255, 255, 0.04);
|
|
--control-fg: #e8f4d8;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] body {
|
|
color: #e8f4d8;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card {
|
|
background: rgba(30, 48, 30, 0.82);
|
|
border: 1px solid rgba(158, 217, 138, 0.18);
|
|
border-radius: 16px;
|
|
box-shadow: rgb(15, 30, 15) 0px 5px 0px 0px;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card.pin {
|
|
background: rgba(38, 58, 38, 0.88);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card h2 {
|
|
color: #e8f4d8;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card p {
|
|
color: #b0c8a0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:hover,
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:focus {
|
|
transform: translateY(-2px);
|
|
border-color: rgba(158, 217, 138, 0.45);
|
|
box-shadow: rgb(15, 30, 15) 0px 7px 0px 0px;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:active {
|
|
transform: translateY(5px);
|
|
box-shadow: none;
|
|
transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:hover h2,
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:focus h2 {
|
|
color: var(--accent);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:hover p,
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .card:focus p {
|
|
color: #c8deb8;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"]
|
|
.design-theme-list {
|
|
background: rgba(22, 36, 22, 0.9);
|
|
box-shadow:
|
|
0 12px 30px rgba(0, 0, 0, 0.55),
|
|
0 6px 12px rgba(0, 0, 0, 0.35),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"]
|
|
.design-theme-button,
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .theme-toggle {
|
|
box-shadow: rgb(15, 30, 15) 0px 5px 0px 0px;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"]
|
|
.design-theme-button:hover,
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"]
|
|
.theme-toggle:hover {
|
|
box-shadow: rgb(15, 30, 15) 0px 7px 0px 0px;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .beian a {
|
|
color: #b0c8a0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] .beian a:hover {
|
|
color: var(--accent);
|
|
}
|
|
|
|
@keyframes ac-bg-scroll {
|
|
0% {
|
|
background-position: 0px 0px;
|
|
}
|
|
100% {
|
|
background-position: 1012px 1012px;
|
|
}
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] body::before {
|
|
background-image: url("/textures/ac-tile.webp");
|
|
background-size: auto;
|
|
background-repeat: repeat;
|
|
opacity: 0.6;
|
|
animation: ac-bg-scroll 80s linear infinite;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="animal-crossing"] body::before {
|
|
background-image: url("/textures/ac-tile.webp");
|
|
background-size: auto;
|
|
background-repeat: repeat;
|
|
opacity: 0.12;
|
|
animation: ac-bg-scroll 80s linear infinite;
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
html[data-design-theme="animal-crossing"] .card,
|
|
html[data-design-theme="animal-crossing"] .design-theme-button,
|
|
html[data-design-theme="animal-crossing"] .theme-toggle {
|
|
transition-duration: 0.01ms !important;
|
|
transform: none !important;
|
|
}
|
|
|
|
html[data-design-theme="animal-crossing"] body::before {
|
|
animation: none !important;
|
|
}
|
|
}
|
|
|
|
/* ─── Minecraft — Stone & Cave / Overworld Day ──────────────── */
|
|
html[data-design-theme="minecraft"] {
|
|
color-scheme: dark;
|
|
|
|
--accent: #5aaa3a;
|
|
--accent-rgb: 90, 170, 58;
|
|
--accent-2: #3d8a2a;
|
|
--accent-3: #2a6e1a;
|
|
--accent-secondary-rgb: 91, 191, 232;
|
|
|
|
--page-gradient: #1a1a1a;
|
|
--page-texture: none;
|
|
--title-gradient: linear-gradient(135deg, #5bbfe8 0%, #5aaa3a 100%);
|
|
|
|
--control-bg: rgba(62, 62, 62, 0.92);
|
|
--control-border: #1a1a1a;
|
|
--control-inset: rgba(255, 255, 255, 0.2);
|
|
--control-fg: #f0f0f0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] {
|
|
color-scheme: dark;
|
|
|
|
--accent: #5aaa3a;
|
|
--accent-rgb: 90, 170, 58;
|
|
--accent-2: #3d8a2a;
|
|
--accent-3: #2a6e1a;
|
|
--accent-secondary-rgb: 91, 191, 232;
|
|
|
|
--page-gradient: #1a1a1a;
|
|
--page-texture: none;
|
|
--title-gradient: linear-gradient(135deg, #5bbfe8 0%, #5aaa3a 100%);
|
|
|
|
--control-bg: rgba(62, 62, 62, 0.92);
|
|
--control-border: #1a1a1a;
|
|
--control-inset: rgba(255, 255, 255, 0.2);
|
|
--control-fg: #f0f0f0;
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] body {
|
|
font-family: ui-monospace, "Courier New", Courier, monospace;
|
|
letter-spacing: 0.04em;
|
|
color: #f0f0f0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] body {
|
|
color: #f0f0f0;
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] body::before {
|
|
background-image:
|
|
linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
|
|
background-size: 16px 16px;
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] .design-theme-button,
|
|
html[data-design-theme="minecraft"] .theme-toggle {
|
|
border-radius: 0;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(255, 255, 255, 0.25),
|
|
inset -2px -2px 0 rgba(0, 0, 0, 0.5);
|
|
transition: all 0.1s steps(2, end);
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] .design-theme-button:hover,
|
|
html[data-design-theme="minecraft"] .theme-toggle:hover {
|
|
background: rgba(82, 82, 82, 0.95);
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(255, 255, 255, 0.35),
|
|
inset -2px -2px 0 rgba(0, 0, 0, 0.4);
|
|
transform: none;
|
|
border-color: rgba(var(--accent-rgb), 0.7);
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] .design-theme-button:active,
|
|
html[data-design-theme="minecraft"] .theme-toggle:active {
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(0, 0, 0, 0.4),
|
|
inset -2px -2px 0 rgba(255, 255, 255, 0.12);
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] .design-theme-list {
|
|
border-radius: 0;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
background: rgba(30, 30, 30, 0.96);
|
|
border: 2px solid #111111;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(255, 255, 255, 0.1),
|
|
inset -2px -2px 0 rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] .design-theme-list [role="option"] {
|
|
border-radius: 0;
|
|
}
|
|
|
|
html[data-design-theme="minecraft"] .design-theme-list [role="option"]:hover,
|
|
html[data-design-theme="minecraft"]
|
|
.design-theme-list
|
|
[role="option"][aria-selected="true"] {
|
|
background: rgba(var(--accent-rgb), 0.25);
|
|
color: var(--control-fg);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card {
|
|
background: #3c3c3c;
|
|
border: 2px solid #111111;
|
|
border-radius: 0;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(255, 255, 255, 0.2),
|
|
inset -2px -2px 0 rgba(0, 0, 0, 0.5);
|
|
transition: all 0.1s steps(2, end);
|
|
transform: none;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card.pin {
|
|
background: #454545;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card h2 {
|
|
color: #f0f0f0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card p {
|
|
color: #c8c8c8;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card:hover,
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card:focus {
|
|
background: #484848;
|
|
transform: none;
|
|
border-color: #5aaa3a;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(0, 0, 0, 0.35),
|
|
inset -2px -2px 0 rgba(255, 255, 255, 0.12);
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card:hover h2,
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card:focus h2 {
|
|
color: #5aaa3a;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card:hover p,
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .card:focus p {
|
|
color: #e0e0e0;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .beian a {
|
|
color: #c8c8c8;
|
|
}
|
|
|
|
html[data-theme="dark"][data-design-theme="minecraft"] .beian a:hover {
|
|
color: #5aaa3a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] {
|
|
color-scheme: light;
|
|
|
|
--accent: #5c9e40;
|
|
--accent-rgb: 92, 158, 64;
|
|
--accent-2: #4a8a30;
|
|
--accent-3: #8b6914;
|
|
--accent-secondary-rgb: 135, 206, 235;
|
|
|
|
--page-gradient: linear-gradient(
|
|
180deg,
|
|
#87ceeb 0%,
|
|
#c9e8f7 50%,
|
|
#f0f8ff 100%
|
|
);
|
|
--page-texture: none;
|
|
--title-gradient: linear-gradient(135deg, #5c9e40 0%, #8b6914 100%);
|
|
|
|
--control-bg: rgba(198, 198, 198, 0.92);
|
|
--control-border: #555555;
|
|
--control-inset: rgba(255, 255, 255, 0.5);
|
|
--control-fg: #2a2a2a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] body {
|
|
color: #2a2a2a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] body::before {
|
|
background-image:
|
|
linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
|
|
background-size: 16px 16px;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"]
|
|
.design-theme-button:hover,
|
|
html[data-theme="light"][data-design-theme="minecraft"] .theme-toggle:hover {
|
|
background: rgba(218, 218, 218, 0.95);
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .design-theme-list {
|
|
background: rgba(210, 210, 210, 0.96);
|
|
border: 2px solid #555555;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(255, 255, 255, 0.7),
|
|
inset -2px -2px 0 rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card {
|
|
background: rgba(198, 198, 198, 0.85);
|
|
border: 2px solid #555555;
|
|
border-radius: 0;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(255, 255, 255, 0.6),
|
|
inset -2px -2px 0 rgba(0, 0, 0, 0.25);
|
|
transition: all 0.1s steps(2, end);
|
|
transform: none;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card::before {
|
|
display: none;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card.pin {
|
|
background: rgba(210, 210, 210, 0.88);
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card h2 {
|
|
color: #2a2a2a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card p {
|
|
color: #4a4a4a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card:hover,
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card:focus {
|
|
background: rgba(212, 224, 198, 0.92);
|
|
transform: none;
|
|
border-color: #5c9e40;
|
|
box-shadow:
|
|
inset 2px 2px 0 rgba(0, 0, 0, 0.15),
|
|
inset -2px -2px 0 rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card:hover h2,
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card:focus h2 {
|
|
color: #5c9e40;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card:hover p,
|
|
html[data-theme="light"][data-design-theme="minecraft"] .card:focus p {
|
|
color: #2a2a2a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .beian a {
|
|
color: #4a4a4a;
|
|
}
|
|
|
|
html[data-theme="light"][data-design-theme="minecraft"] .beian a:hover {
|
|
color: #5c9e40;
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
html[data-design-theme="minecraft"] .card,
|
|
html[data-design-theme="minecraft"] .design-theme-button,
|
|
html[data-design-theme="minecraft"] .theme-toggle {
|
|
transition-duration: 0.01ms !important;
|
|
transform: none !important;
|
|
}
|
|
}
|