:root { --blue: #1677ff; --text: #1f2937; --muted: #6b7280; --line: #e5e7eb; --bg: #f6f8fb; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); background: var(--bg); font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
a { color: inherit; text-decoration: none; }
.shell { width: min(900px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 48px; }
.topbar { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 650; }
.brand-mark { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; color: #fff; background: var(--blue); font-size: 14px; }
.back { color: var(--muted); font-size: 14px; }.back:hover { color: var(--blue); }
.hero { margin: 32px 0 28px; }.eyebrow { display: none; }
h1 { margin: 0; font-size: 28px; line-height: 1.3; }.lede { margin: 8px 0 0; color: var(--muted); }
.section { margin-top: 28px; }.section-heading { margin: 0 0 12px; font-size: 17px; }.section-heading::after { display: none; }
.user-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.user-card, .link-card { border: 1px solid var(--line); border-radius: 8px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.user-card:hover, .link-card:hover { border-color: #91caff; box-shadow: 0 3px 12px rgba(0, 0, 0, .06); }
.user-card { padding: 16px; }.user-initial { display: none; }.user-name { display: block; font-weight: 600; }.user-action { display: block; margin-top: 3px; color: var(--blue); font-size: 13px; }
.link-list { display: grid; gap: 10px; }.link-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
.icon { display: grid; width: 32px; height: 32px; flex: none; place-items: center; border-radius: 6px; color: var(--blue); background: #e6f4ff; font-size: 14px; }
.app-icon { width: 36px; height: 36px; flex: none; border-radius: 8px; object-fit: contain; }
.link-card[href$="-config.yaml"] .icon,
.link-card[href$="quantumult.conf"] .icon,
.link-card[href$="Loon.conf"] .icon,
.link-card[href*="/raw/Ahern"] .icon,
.link-card[href*="/raw/Liu-QX"] .icon,
.link-card[href*="/raw/liu-loon"] .icon,
.link-card[href*="/raw/Hu-sr"] .icon,
.link-card[href*="/raw/Li-SR"] .icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 0;
}
.link-card[href$="-config.yaml"] .icon {
  background-image: url("https://gh.vivo50.org/https://raw.githubusercontent.com/MetaCubeX/mihomo/Meta/docs/logo.png");
}
.link-card[href$="quantumult.conf"] .icon,
.link-card[href*="/raw/Ahern"] .icon,
.link-card[href*="/raw/Liu-QX"] .icon {
  background-image: url("https://gh.vivo50.org/https://raw.githubusercontent.com/crossutility/Quantumult-X/master/quantumult-x.png");
}
.link-card[href$="Loon.conf"] .icon,
.link-card[href*="/raw/liu-loon"] .icon {
  background-image: url("https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/fe/c4/5f/fec45fa1-1194-c944-7c5c-a939e1ee0dfe/AppIcon-0-1x_U007emarketing-0-8-0-85-220-0.png/512x512bb.jpg");
}
.link-card[href*="/raw/Hu-sr"] .icon,
.link-card[href*="/raw/Li-SR"] .icon {
  background-image: url("https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/44/d3/df/44d3df14-cf72-37d1-6e61-582f7023b90e/AppIcon-0-0-1x_U007epad-0-1-0-sRGB-85-220.png/512x512bb.jpg");
}
.link-copy { flex: 1; min-width: 0; }.link-title { display: block; font-weight: 600; }.link-description { display: block; overflow: hidden; color: var(--muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.arrow { color: var(--blue); font-size: 18px; }.footer { margin-top: 35px; color: var(--muted); font-size: 13px; }
.password-dialog { width: min(380px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 12px; color: var(--text); background: #fff; box-shadow: 0 18px 60px rgba(0, 0, 0, .2); }
.password-dialog::backdrop { background: rgba(17, 24, 39, .45); backdrop-filter: blur(2px); }
.password-form { padding: 24px; }
.password-form h2 { margin: 0; font-size: 20px; }
.password-form p { margin: 7px 0 18px; color: var(--muted); font-size: 14px; }
.password-form input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; outline: none; font: inherit; }
.password-form input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22, 119, 255, .12); }
.password-error { min-height: 21px; margin: 6px 0 0 !important; color: #dc2626 !important; font-size: 13px !important; }
.password-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.password-actions button { height: 38px; padding: 0 16px; border: 0; border-radius: 7px; cursor: pointer; font: inherit; }
.password-cancel { color: var(--text); background: #f3f4f6; }
.password-submit { color: #fff; background: var(--blue); }
@media (max-width: 500px) { .shell { width: min(100% - 24px, 900px); padding-top: 18px; } .hero { margin: 25px 0; } h1 { font-size: 24px; } }
