/* AppDL 通用公开页面样式（首页 / 法律页 / 关于 / 联系 / 错误页 / 限流页） */
:root {
  --bg: #ffffff;
  --surface: #f6f8fb;
  --border: #e5e9f0;
  --text: #17202b;
  --muted: #5b6675;
  --primary: #2563eb;
  --primary-h: #1d4ed8;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f141b;
    --surface: #171e29;
    --border: #26303e;
    --text: #e8edf4;
    --muted: #9aa7b6;
    --primary: #3b82f6;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC",
    "Noto Sans Thai", "Noto Sans Myanmar", "Noto Sans Khmer", "Noto Sans Lao", "Noto Sans Bengali",
    "Noto Sans Devanagari", "Noto Nastaliq Urdu", "Noto Naskh Arabic", "Segoe UI Arabic", sans-serif;
  background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.65;
}
[lang="ar"] body, html[lang="ar"] body { line-height: 1.8; }
a { color: var(--primary); }

.pub-header {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  padding: 14px 20px; border-bottom: 1px solid var(--border);
}
.pub-header .logo { font-weight: 800; font-size: 17px; color: var(--text); text-decoration: none; display: flex; align-items: center; gap: 8px; }
.pub-header .logo svg { display: block; }
.pub-header nav { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; font-size: 14px; }
.pub-header nav a { color: var(--muted); text-decoration: none; }
.pub-header nav a:hover { color: var(--primary); }
.lang-switch select {
  border: 1px solid var(--border); border-radius: 8px; padding: 6px 10px; font-size: 13.5px;
  background: var(--surface); color: var(--text); font-family: inherit;
}

.pub-container { max-width: 880px; margin: 0 auto; padding: 32px 20px 64px; }
.pub-container.narrow { max-width: 720px; }
.pub-hero { text-align: center; padding: 30px 0 10px; }
.pub-hero h1 { font-size: clamp(26px, 4.5vw, 38px); margin: 0 0 10px; letter-spacing: -.3px; }
.pub-hero p { color: var(--muted); font-size: 16px; max-width: 640px; margin: 0 auto; }
.pub-hero .hero-btn {
  display: inline-block; margin-top: 22px; background: var(--primary); color: #fff; text-decoration: none;
  padding: 12px 26px; border-radius: 999px; font-weight: 700; font-size: 15px;
}
.pub-hero .hero-btn:hover { background: var(--primary-h); }

.pub-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 18px 20px; margin-bottom: 16px; }
.pub-card h2 { font-size: 17px; margin: 0 0 10px; }
.legal-section { margin-bottom: 22px; }
.legal-section h2 { font-size: 16px; margin: 0 0 8px; }
.legal-section p { margin: 0 0 8px; color: var(--text); }
.legal-notice { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 10px 14px; color: var(--muted); font-size: 13.5px; margin-bottom: 18px; }

.app-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin-top: 20px; }
.app-item { display: flex; gap: 12px; align-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 14px; text-decoration: none; color: var(--text); }
.app-item:hover { border-color: var(--primary); }
.app-item img { width: 48px; height: 48px; border-radius: 12px; }
.app-item .n { font-weight: 700; font-size: 14.5px; }
.app-item .m { color: var(--muted); font-size: 12.5px; }

.feat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-top: 26px; }
.feat { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 16px; }
.feat .t { font-weight: 700; margin-bottom: 4px; }

.pub-footer { border-top: 1px solid var(--border); margin-top: 40px; padding: 22px 20px 30px; color: var(--muted); font-size: 13.5px; }
.pub-footer .links { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.pub-footer .links a { color: var(--muted); text-decoration: none; }
.pub-footer .links a:hover { color: var(--primary); }

.error-code { font-size: 72px; font-weight: 800; color: var(--primary); opacity: .85; margin: 0; }
.center { text-align: center; }
.error-box-page { text-align: center; padding: 60px 20px; }
