/*
 * Cyber Ink / 东方赛博
 * 保留暗色科技感，降低霓虹亮度，加入墨蓝、暖白和印章红。
 */

:root {
  color-scheme: dark;

  --bg0: #080b12;
  --bg1: #0d1420;
  --bg: #080b12;

  --panel: rgba(16, 24, 38, 0.84);
  --card: rgba(16, 24, 38, 0.84);

  --line: rgba(77, 227, 245, 0.17);
  --line-strong: rgba(77, 227, 245, 0.32);

  --text: #e8edf2;
  --muted: #98a6b5;

  --cyan: #4dcbd8;
  --cyan-bright: #65dce7;

  --pink: #d95468;
  --purple: #8d7bb8;

  --green: #72bc8f;
  --ok: #72bc8f;
  --warn: #de9255;
  --bad: #e97366;
  --danger: #e97366;

  --warm-white: #ede6d8;
  --surface-hover: rgba(77, 203, 216, 0.07);
}

/* ===== 页面底色 ===== */

html {
  background: var(--bg0);
}

body {
  color: var(--text);
  background:
    radial-gradient(
      780px 420px at 8% -8%,
      rgba(77, 203, 216, 0.085),
      transparent 58%
    ),
    radial-gradient(
      720px 420px at 100% 0%,
      rgba(142, 93, 117, 0.075),
      transparent 55%
    ),
    radial-gradient(
      720px 520px at 50% 110%,
      rgba(83, 73, 115, 0.07),
      transparent 60%
    ),
    linear-gradient(180deg, var(--bg0), var(--bg1));
}

/* 首页原有网格和扫描线变得更克制 */
body::before {
  opacity: 0.16;
}

body::after {
  opacity: 0.035;
}

/* ===== 公共导航 ===== */

.brand {
  color: var(--cyan-bright);
  text-shadow: 0 0 10px rgba(77, 203, 216, 0.2);
}

.brand:hover {
  color: #b9f0f2;
  text-shadow: 0 0 14px rgba(77, 203, 216, 0.28);
}

.nav a {
  min-height: 36px;
  color: #8edce2;
  border-color: var(--line);
  background: rgba(77, 203, 216, 0.035);
  box-shadow: none;
}

.nav a:hover {
  color: var(--text);
  border-color: rgba(217, 84, 104, 0.38);
  background: rgba(217, 84, 104, 0.07);
  box-shadow: 0 0 14px rgba(217, 84, 104, 0.09);
}

.nav a.active {
  color: #091216;
  border-color: #62cbd3;
  background: #62cbd3;
  box-shadow:
    0 0 0 1px rgba(98, 203, 211, 0.18),
    0 0 16px rgba(98, 203, 211, 0.2);
}

/* ===== Hero ===== */

.hero {
  border-color: var(--line);
  border-radius: 18px;
  background:
    radial-gradient(
      380px 220px at 100% 0%,
      rgba(217, 84, 104, 0.1),
      transparent 72%
    ),
    linear-gradient(
      135deg,
      rgba(77, 203, 216, 0.055),
      rgba(83, 73, 115, 0.045) 48%,
      rgba(13, 20, 32, 0.94)
    );
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.012),
    0 18px 48px rgba(0, 0, 0, 0.24);
}

.hero::before {
  opacity: 0.42;
}

.kicker {
  color: #d77789;
}

.hero h1,
h1 {
  text-shadow: none;
}

.hero h1 span,
h1 span {
  background: linear-gradient(
    90deg,
    #8fe4e8,
    var(--warm-white) 45%,
    #d98696
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* ===== 卡片 ===== */

.card {
  border-color: var(--line);
  border-radius: 16px;
  background: var(--panel);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.018),
    0 12px 34px rgba(0, 0, 0, 0.19);
}

.card h2 {
  color: #78d2d9;
}

.card p,
.card li {
  color: var(--muted);
}

/* ===== 链接卡片 ===== */

.link-btn {
  border-color: rgba(77, 203, 216, 0.13);
  border-radius: 14px;
  background: linear-gradient(
    90deg,
    rgba(77, 203, 216, 0.045),
    rgba(83, 73, 115, 0.035)
  );
  box-shadow: none;
}

.link-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(217, 84, 104, 0.34);
  background: linear-gradient(
    90deg,
    rgba(77, 203, 216, 0.07),
    rgba(217, 84, 104, 0.055)
  );
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.link-btn .title,
.link-btn span > span {
  color: var(--text);
}

.link-btn small {
  color: var(--muted);
}

.go {
  color: #6fd2d9;
  text-shadow: none;
}

/* ===== 诗词模块 ===== */

.poem-card {
  background:
    radial-gradient(
      520px 260px at 100% 0%,
      rgba(217, 84, 104, 0.055),
      transparent 68%
    ),
    linear-gradient(
      135deg,
      rgba(77, 203, 216, 0.03),
      rgba(16, 24, 38, 0.9)
    );
}

.poem-heading {
  border-bottom-color: rgba(77, 203, 216, 0.11);
}

.poem-heading h2 {
  color: var(--warm-white);
}

.poem-author {
  color: var(--muted);
}

.poem-mark {
  color: #e58a99;
  border-color: rgba(217, 84, 104, 0.38);
  background: rgba(217, 84, 104, 0.07);
  box-shadow: none;
}

.poem-text {
  color: rgba(237, 230, 216, 0.92);
}

.poem-card::after {
  color: rgba(237, 230, 216, 0.018);
}

/* ===== Share 表单 ===== */

input[type="password"],
input[type="file"] {
  color: var(--text);
  border-color: rgba(77, 203, 216, 0.18);
  background: rgba(4, 8, 14, 0.32);
}

input[type="password"]:focus,
input[type="file"]:focus {
  border-color: rgba(77, 203, 216, 0.48);
  box-shadow: 0 0 0 3px rgba(77, 203, 216, 0.08);
}

button {
  color: var(--text);
  border-color: rgba(77, 203, 216, 0.25);
  background: linear-gradient(
    90deg,
    rgba(77, 203, 216, 0.11),
    rgba(217, 84, 104, 0.075)
  );
}

button:hover:not(:disabled) {
  border-color: rgba(217, 84, 104, 0.36);
  background: linear-gradient(
    90deg,
    rgba(77, 203, 216, 0.15),
    rgba(217, 84, 104, 0.1)
  );
}

/* ===== Status ===== */

.badge {
  border-color: rgba(77, 203, 216, 0.2);
  background: rgba(16, 24, 38, 0.72);
}

.dot.ok {
  background: var(--ok);
  box-shadow: 0 0 0 4px rgba(114, 188, 143, 0.12);
}

.dot.warn {
  background: var(--warn);
  box-shadow: 0 0 0 4px rgba(222, 146, 85, 0.12);
}

.dot.bad {
  background: var(--bad);
  box-shadow: 0 0 0 4px rgba(233, 115, 102, 0.12);
}

.bar {
  background: rgba(255, 255, 255, 0.055);
}

.bar > i {
  background: linear-gradient(90deg, #4dcbd8, var(--ok));
}

.bar.warn > i {
  background: linear-gradient(90deg, var(--warn), #c87944);
}

.bar.bad > i {
  background: linear-gradient(90deg, var(--bad), #c85d58);
}

.pill.ok {
  color: #b7dec4;
  border-color: rgba(114, 188, 143, 0.32);
  background: rgba(114, 188, 143, 0.075);
}

.pill.warn {
  color: #e8bf94;
  border-color: rgba(222, 146, 85, 0.32);
  background: rgba(222, 146, 85, 0.075);
}

.pill.bad {
  color: #efaaa3;
  border-color: rgba(233, 115, 102, 0.32);
  background: rgba(233, 115, 102, 0.075);
}

/* ===== 页脚 ===== */

.glow-line {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(77, 203, 216, 0.38),
    rgba(217, 84, 104, 0.3),
    transparent
  );
  box-shadow: 0 0 8px rgba(77, 203, 216, 0.12);
}

.footer {
  color: var(--muted);
}

/* ===== 可访问性 ===== */

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid rgba(101, 220, 231, 0.72);
  outline-offset: 3px;
}

/* ===== 移动端 ===== */

@media (max-width: 720px) {
  body {
    background:
      radial-gradient(
        520px 300px at 100% 0%,
        rgba(77, 203, 216, 0.065),
        transparent 62%
      ),
      linear-gradient(180deg, var(--bg0), var(--bg1));
  }

  .hero,
  .card {
    border-radius: 14px;
  }

  .nav a {
    min-height: 40px;
  }

  .link-btn {
    padding: 0.9rem;
  }

  .poem-card::after {
    opacity: 0.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
