/* 查有效平台 v2.4.8.31.31.47.1 — 纯视觉层；不包含业务逻辑。 */
:root {
  --primary:#2563eb; --primary-deep:#1d4ed8; --primary-soft:#eff5ff;
  --ink:#162238; --ink-2:#34445d; --muted:#667891; --line:#e2e8f0;
  --surface:#fff; --surface-soft:#f8faff; --page:#f5f7fb;
  --shadow-main:0 12px 36px rgba(22,41,76,.065);
  --shadow-card:0 5px 20px rgba(22,41,76,.045);
  --radius-main:18px; --radius-card:12px; --radius-control:10px;
}
html {scroll-behavior:smooth}
body {color:var(--ink);background:#f5f7fb;font-size:14px}
.page-noise {background:#f5f7fb}
button, a, input, textarea { -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid rgba(37,99,235,.23);outline-offset:2px;
}
.app-topbar {height:70px;background:#fff;border-bottom:1px solid #e7ecf4;display:flex;align-items:center;position:relative;z-index:4}
.app-topbar-inner {width:min(1080px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.app-brand {display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:18px;font-weight:800;letter-spacing:-.025em;color:#192b47}
.app-brand-mark {width:38px;height:38px;border-radius:11px;background:#2563eb;color:#fff;display:grid;place-items:center;box-shadow:0 5px 12px rgba(37,99,235,.13)}
.app-brand-mark svg {width:21px;height:21px}
.app-nav {display:flex;align-items:center;gap:10px}
.app-nav a {display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#63758e;font-size:13px;font-weight:650;min-height:36px;padding:0 12px;border-radius:8px}
.app-nav a:hover {color:#2059c4;background:#edf3ff}
.hero {padding:36px 0 0}
.hero-grid,.content-shell {width:min(1016px,calc(100% - 40px));max-width:1016px}
.query-card {padding:28px 30px 26px;background:#fff;border:1px solid #e2e8f1;border-radius:18px;box-shadow:0 8px 32px rgba(24,49,92,.055)}
.query-card::before {display:none}
.query-mode-grid {gap:6px;margin-bottom:24px;padding:6px;background:#f3f6fb;border:1px solid #e9edf4;border-radius:12px}
.query-mode {min-height:58px;border-radius:9px;padding:10px 9px;gap:10px;color:#60728b;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.query-mode:hover {background:#e9f0fc;color:#2d5fae}
.query-mode.active {background:#fff;border-color:#dae5f6;color:#205cce;box-shadow:0 2px 6px rgba(30,56,95,.045)}
.query-mode-icon {width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:#e6ecf6;color:#6b7f9b}
.query-mode-icon svg {width:18px;height:18px}
.query-mode.active .query-mode-icon {background:#e7f0ff;color:#2563eb;box-shadow:none}
.query-mode strong {font-size:14px;font-weight:730;letter-spacing:0}
.consent-box {margin:0 0 25px;padding:13px 15px;background:#fafcff;border:1px solid #e5eaf3;border-radius:11px;box-shadow:none}
.consent-top {gap:14px;align-items:center}
.consent-choice {gap:10px}
.consent-check {width:17px;height:17px;accent-color:#2563eb}
.consent-title {font-size:13px;font-weight:650;color:#31425d}
.consent-subtitle {display:none}
.consent-docs {gap:10px}
.consent-docs a {font-size:12px;color:#2563eb;text-decoration:none;font-weight:630;white-space:nowrap}
.consent-docs a:hover {text-decoration:underline}
.consent-bottom {margin-top:7px;padding-top:0;border:0}
.consent-info-icon,.consent-note {display:none}
.consent-status {font-size:11.5px;color:#8190a5}
.consent-withdraw {color:#687a94;font-size:12px}
.query-head {margin-bottom:13px}
.query-head h2 {font-size:20px;color:#1c2d45;font-weight:780;letter-spacing:-.025em;line-height:1.4}
.query-head h2:before {display:none}
.counter {font-size:12px;color:#7a8aa0;background:#f3f6fb;border-radius:7px;padding:5px 9px;white-space:nowrap}
.textarea-wrap {position:relative}
.query-input {height:114px;min-height:114px;max-height:250px;padding:17px 18px;background:#fbfcff;border:1px solid #d6e0ec;border-radius:11px;font-size:15px;line-height:1.6;color:#1e3049;box-shadow:none}
.query-input:hover:not(:disabled){border-color:#bccde2;background:#fbfcff}
.query-input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.09)}
body.single-query-mode .query-input,.virtual-query-single .query-input{height:62px;min-height:62px;max-height:110px;resize:vertical}
.input-empty-helper{left:18px;top:17px;right:18px;color:#8d9cb0;font-size:13px;line-height:1.6}
.input-empty-helper strong{font-size:13.5px;font-weight:510;color:#8897ab}
.input-tip {min-height:0;margin:0;padding:8px 2px 16px;display:flex;justify-content:flex-end;gap:8px}
.input-tip > span{display:none}
.input-tip-meta,.input-tip-meta.no-interval{margin-left:auto;justify-content:flex-end;gap:10px;font-size:11.5px;color:#7b8ba2}
.actions {gap:10px;grid-template-columns:108px minmax(0,1fr)}
.primary-btn,.ghost-btn {height:46px;border-radius:10px;font-size:14px;font-weight:680}
.primary-btn {background:#2563eb;color:#fff;box-shadow:none;border:1px solid #2563eb}
.primary-btn:hover {background:#1d4ed8;border-color:#1d4ed8;box-shadow:none;transform:none}
.primary-btn:active {background:#1e40af;transform:none}
.ghost-btn {border:1px solid #dae2ed;background:#fff;color:#536781}
.ghost-btn:hover {background:#f5f8fe;border-color:#bfcee4;color:#2857a3}
.primary-btn svg{width:16px;height:16px;flex-basis:16px}
.auth-actions {grid-template-columns:108px repeat(2,minmax(0,1fr));gap:10px}
.auth-actions .ghost-btn {grid-column:auto;order:0}
.auth-actions .primary-btn{order:0}
.announcement-wrap {margin-top:20px}
.announcement {border:1px solid #e3e9f2;border-radius:11px;background:#fbfcff;box-shadow:none}
.content-shell{padding-top:22px;padding-bottom:34px}
.result-card {border:1px solid #e1e8f0;border-radius:15px;box-shadow:0 5px 20px rgba(27,49,82,.04)}
.result-top {background:#fff;border-bottom:1px solid #edf1f6}
.result-body,.account-result-card .result-body {padding:20px 22px}
.profile-card {padding-bottom:16px}
.profile-nickname{color:#192940;font-size:17px;font-weight:730}
.metric-grid{gap:10px}
.metric{background:#f9fbff!important;border:1px solid #e6ecf4!important;border-radius:10px!important;box-shadow:none}
.metric-label{font-size:12.5px;color:#65748a}
.metric-value{font-variant-numeric:tabular-nums}
.status{font-weight:650}
.copy-result-btn{border-radius:8px}
.permission-panel{border-radius:12px}
.site-footer {padding:16px 0 30px;margin-top:4px;text-align:center;color:#8491a4}
.site-footer a{font-size:12px;color:#74849b}
.modal-card {border-radius:15px;box-shadow:0 15px 48px rgba(20,40,75,.14)}
@media (min-width:761px) {
  .metric-grid.fan-grid,.metric-grid.video-grid,.metric-grid.virtual-grid,.metric-grid.auth-grid{gap:10px;border:0;background:transparent;overflow:visible}
  .metric-grid.fan-grid .metric,.metric-grid.video-grid .metric,.metric-grid.virtual-grid .metric,.metric-grid.auth-grid .metric{border:1px solid #e6ecf4!important;border-radius:10px!important;background:#f9fbff!important;min-height:100px}
  .metric-grid.fan-grid .metric-label,.metric-grid.video-grid .metric-label,.metric-grid.virtual-grid .metric-label{color:#65748a!important;font-size:13px;font-weight:650}
  .metric-grid.fan-grid .metric-value,.metric-grid.video-grid .metric-value,.metric-grid.virtual-grid .metric-value{font-size:25px;font-weight:790}
}
@media (max-width:760px) {
  .app-topbar {height:60px}
  .app-topbar-inner {width:calc(100% - 26px)}
  .app-brand {font-size:16px;gap:9px}
  .app-brand-mark {width:33px;height:33px;border-radius:9px}
  .app-brand-mark svg {width:19px;height:19px}
  .app-nav a {font-size:12px;min-height:32px;padding:0 7px}
  .hero {padding:16px 0 0}
  .hero-grid,.content-shell{width:calc(100% - 22px)}
  .query-card {padding:16px;border-radius:14px;box-shadow:0 4px 16px rgba(24,49,92,.04)}
  .query-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;gap:4px;margin-bottom:18px}
  .query-mode {min-height:60px;padding:7px 2px;gap:4px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .query-mode-icon {position:static;left:auto;top:auto;transform:none;width:24px;height:24px;min-width:24px;flex-basis:24px;border-radius:7px}
  .query-mode-icon svg{width:16px;height:16px}
  .query-mode strong{font-size:12px;line-height:1.25;white-space:nowrap}
  .consent-box{margin-bottom:20px;padding:12px}
  .consent-top{align-items:flex-start;gap:9px}
  .consent-docs{gap:5px 11px}
  .consent-docs a{font-size:11px;color:#2563eb}
  .consent-title{font-size:12px}
  .consent-bottom{margin-top:6px}
  .query-head h2{font-size:18px}
  .query-input{height:108px;min-height:108px;padding:14px 13px;font-size:16px}
  body.single-query-mode .query-input,.virtual-query-single .query-input{height:58px;min-height:58px}
  .input-empty-helper{left:13px;right:13px;top:15px}
  .input-empty-helper strong{font-size:12.5px}
  .actions{grid-template-columns:86px minmax(0,1fr);gap:8px}
  .primary-btn,.ghost-btn{height:44px;font-size:13px}
  .auth-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .auth-actions .ghost-btn {grid-column:1/-1;order:2}
  .auth-actions .primary-btn{order:1}
  .content-shell{padding-top:13px}
  .result-body,.account-result-card .result-body{padding:14px}
}
@media (max-width:420px) {
  .hero-grid,.content-shell{width:calc(100% - 16px)}
  .query-card{padding:13px}
  .query-mode{padding:7px 2px;min-height:60px}
  .query-mode-grid{gap:3px}
  .query-mode strong{font-size:11.5px}
  .consent-docs{gap:5px 8px}
  .consent-docs a{font-size:10.5px}
  .query-head h2{font-size:17px}
  .counter{font-size:11px;padding:4px 6px}
  .actions{grid-template-columns:75px minmax(0,1fr)}
  .auth-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .primary-btn,.ghost-btn{font-size:12.3px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
