:root{--ui-bg-page:#f5f5f7;--ui-bg-elevated:#fff;--ui-bg-soft:#f2f2f4;--ui-bg-muted:#ececf0;--ui-bg-overlay:rgba(255,255,255,.8);--ui-bg-overlay-strong:rgba(255,255,255,.92);--ui-text-primary:#1d1d1f;--ui-text-secondary:#424245;--ui-text-muted:#6e6e73;--ui-border:rgba(0,0,0,.12);--ui-border-strong:rgba(0,0,0,.2);--ui-accent: #b4522f;--ui-accent-hover: #9e4628;--ui-accent-soft: rgba(180, 82, 47, 0.1);--ui-success:#2f8f6f;--ui-success-soft:rgba(47,143,111,.14);--ui-danger:#c9342f;--ui-danger-soft:rgba(201,52,47,.15);--ui-warning:#b06b00;--ui-warning-soft:rgba(176,107,0,.15);--ui-focus-ring:rgba(0,0,0,.1);--ui-radius-sm:.5rem;--ui-radius-md:.75rem;--ui-radius-lg:1rem;--ui-shadow-1:0 10px 24px -18px rgba(0,0,0,.12);--ui-shadow-2:0 18px 38px -24px rgba(0,0,0,.16);--ui-ease-out:cubic-bezier(0.16,1,0.3,1);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ui-bg-page:#000;--ui-bg-elevated:#1c1c1e;--ui-bg-soft:#2c2c2e;--ui-bg-muted:#242426;--ui-bg-overlay:rgba(28,28,30,.8);--ui-bg-overlay-strong:rgba(28,28,30,.92);--ui-text-primary:#f5f5f7;--ui-text-secondary:#d2d2d7;--ui-text-muted:#8e8e93;--ui-border:rgba(255,255,255,.14);--ui-border-strong:rgba(255,255,255,.24);--ui-accent:#df7d52;--ui-accent-hover:#e8926c;--ui-accent-soft:rgba(223,125,82,.14);--ui-success:#30d158;--ui-success-soft:rgba(48,209,88,.22);--ui-danger:#ff453a;--ui-danger-soft:rgba(255,69,58,.24);--ui-warning:#ffd60a;--ui-warning-soft:rgba(255,214,10,.24);--ui-focus-ring:rgba(255,255,255,.18);--ui-shadow-1:0 14px 30px -22px rgba(0,0,0,.72);--ui-shadow-2:0 24px 48px -28px rgba(0,0,0,.78)}}
:root[data-theme="dark"]{--ui-bg-page:#000;--ui-bg-elevated:#1c1c1e;--ui-bg-soft:#2c2c2e;--ui-bg-muted:#242426;--ui-bg-overlay:rgba(28,28,30,.8);--ui-bg-overlay-strong:rgba(28,28,30,.92);--ui-text-primary:#f5f5f7;--ui-text-secondary:#d2d2d7;--ui-text-muted:#8e8e93;--ui-border:rgba(255,255,255,.14);--ui-border-strong:rgba(255,255,255,.24);--ui-accent:#df7d52;--ui-accent-hover:#e8926c;--ui-accent-soft:rgba(223,125,82,.14);--ui-success:#30d158;--ui-success-soft:rgba(48,209,88,.22);--ui-danger:#ff453a;--ui-danger-soft:rgba(255,69,58,.24);--ui-warning:#ffd60a;--ui-warning-soft:rgba(255,214,10,.24);--ui-focus-ring:rgba(255,255,255,.18);--ui-shadow-1:0 14px 30px -22px rgba(0,0,0,.72);--ui-shadow-2:0 24px 48px -28px rgba(0,0,0,.78)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
*:focus{outline:none!important}
button,.btn,.page-btn,.theme-toggle,.menu-btn,.drawer-close,.api-card,.stat-item{-webkit-tap-highlight-color:transparent;outline:none!important}
*,*::before,*::after{transition:background-color .25s ease,border-color .25s ease,color .25s ease}
html,body{background:var(--ui-bg-page);color:var(--ui-text-primary);min-height:100vh}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
button:active{transform:scale(.97)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--ui-border-strong);border-radius:999px;border:2px solid transparent;background-clip:content-box}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes slide-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-in{animation:fade-in .4s var(--ui-ease-out) both}
.animate-slide-up{animation:slide-up .4s var(--ui-ease-out) both}
.container{max-width:48rem;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}

.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--ui-bg-overlay-strong);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--ui-border);height:3.5rem;display:flex;align-items:center}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:72rem;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.nav-inner{padding:0 1.5rem}}
.nav-brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ui-text-primary)}
.nav-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;overflow:hidden;flex-shrink:0}
.nav-brand-icon img{width:100%;height:100%;object-fit:cover;border-radius:.375rem}
.nav-brand-text{font-weight:700;font-size:.95rem;letter-spacing:-.02em}
.nav-right{display:flex;align-items:center;gap:.25rem}
.nav-links{display:flex;align-items:center;gap:.25rem}
.nav-link{display:inline-flex;align-items:center;border-radius:.5rem;border:1px solid transparent;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:var(--ui-text-muted);text-decoration:none;transition:color .2s var(--ui-ease-out),background-color .2s var(--ui-ease-out),border-color .2s var(--ui-ease-out)}
.nav-link:hover{color:var(--ui-text-primary);border-color:var(--ui-border);background:var(--ui-bg-soft)}
.nav-link.active{color:var(--ui-text-primary);border-color:var(--ui-border-strong);background:var(--ui-bg-soft)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-bg-elevated);color:var(--ui-text-secondary);cursor:pointer;padding:0;transition:all .3s var(--ui-ease-out);position:relative;overflow:hidden}
.theme-toggle::before{content:'';position:absolute;inset:0;background:var(--ui-accent-soft);opacity:0;transition:opacity .3s ease;border-radius:inherit}
.theme-toggle:hover{border-color:var(--ui-border-strong);color:var(--ui-text-primary)}
.theme-toggle:hover::before{opacity:1}
.theme-toggle:hover svg{transform:rotate(20deg) scale(1.1)}
.theme-toggle:active{transform:scale(.88)}
.theme-toggle:active svg{transform:rotate(180deg) scale(.9)}
.theme-toggle svg{width:1.125rem;height:1.125rem;transition:transform .5s var(--ui-ease-out);position:relative;z-index:1}
.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:block}:root[data-theme="dark"] .theme-toggle .icon-moon{display:none}
.menu-btn{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-bg-elevated);color:var(--ui-text-secondary);cursor:pointer;padding:0;transition:color .2s,background-color .2s,border-color .2s,transform .15s var(--ui-ease-out)}
.menu-btn:hover{border-color:var(--ui-border-strong);color:var(--ui-text-primary)}
.menu-btn svg{width:1.125rem;height:1.125rem}
@media(max-width:639px){.menu-btn{display:inline-flex}.nav-links{display:none}}
.drawer-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.drawer-overlay.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:16rem;max-width:80vw;background:var(--ui-bg-elevated);border-left:1px solid var(--ui-border);box-shadow:var(--ui-shadow-2);transform:translateX(100%);transition:transform .3s var(--ui-ease-out);display:flex;flex-direction:column}
.drawer.open{transform:translateX(0)}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--ui-border)}
.drawer-title{font-weight:700;font-size:.9375rem}
.drawer-close{width:2rem;height:2rem;border-radius:var(--ui-radius-sm);border:none;background:none;color:var(--ui-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}
.drawer-close:hover{color:var(--ui-text-primary);background:var(--ui-bg-soft)}
.drawer-close svg{width:1.125rem;height:1.125rem}
.drawer-nav{padding:.75rem;display:flex;flex-direction:column;gap:.25rem}
.drawer-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border-radius:var(--ui-radius-sm);font-size:.9375rem;font-weight:500;color:var(--ui-text-secondary);text-decoration:none;transition:color .2s var(--ui-ease-out),background-color .2s var(--ui-ease-out);border:1px solid transparent}
.drawer-link:hover{color:var(--ui-text-primary);background:var(--ui-bg-soft)}
.drawer-link.active{color:var(--ui-text-primary);background:var(--ui-bg-soft);border-color:var(--ui-border-strong);font-weight:600}
.drawer-link svg{width:1.125rem;height:1.125rem;flex-shrink:0}
.drawer-theme-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem .25rem;margin-top:.5rem;border-top:1px solid var(--ui-border);font-size:.8125rem;color:var(--ui-text-muted)}

.content{padding-top:5rem;padding-bottom:4rem}
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:2rem}
.stat-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:1.25rem;transition:border-color .2s var(--ui-ease-out),box-shadow .25s var(--ui-ease-out),transform .25s var(--ui-ease-out)}
.stat-card:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-shadow-1);transform:translateY(-2px)}
.stat-label{font-size:.75rem;color:var(--ui-text-muted);font-weight:500;margin-bottom:.25rem}
.stat-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat-value.accent{color:var(--ui-success)}
.section-title{font-size:1rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.02em}
.chart-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:1.25rem;margin-bottom:2rem;overflow:hidden;transition:border-color .2s var(--ui-ease-out),box-shadow .25s var(--ui-ease-out)}
.chart-card:hover{box-shadow:var(--ui-shadow-1)}
.chart-wrap{width:100%;height:12rem;position:relative}
.chart-wrap canvas{width:100%!important;height:100%!important}
.api-list{display:flex;flex-direction:column;gap:.5rem}
.api-card{display:flex;align-items:stretch;gap:0;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-bg-elevated);transition:border-color .2s var(--ui-ease-out),box-shadow .25s var(--ui-ease-out),transform .25s var(--ui-ease-out);cursor:pointer;text-decoration:none;color:inherit;overflow:hidden;position:relative}
.api-card:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-shadow-1);transform:translateY(-2px)}
.api-card:active{transform:translateY(0) scale(.99)}
.api-card-left{display:flex;align-items:center;justify-content:center;padding:0 .75rem;min-width:3rem;border-right:1px solid var(--ui-border)}
.api-card-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:var(--ui-bg-soft);flex-shrink:0}
.api-card-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;border-radius:.5rem;overflow:hidden}
.api-card-icon img{width:100%;height:100%;object-fit:cover}
.api-card-icon svg{width:1.25rem;height:1.25rem}
.api-card-status-dot{position:absolute;bottom:-2px;right:-2px;width:.625rem;height:.625rem;border-radius:9999px;border:2px solid var(--ui-bg-elevated);z-index:1}
.status-normal{background:var(--ui-success)}.status-maintain{background:var(--ui-warning)}.status-disabled{background:var(--ui-danger)}
.api-card-body{flex:1;padding:.75rem 1rem;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.25rem}
.api-card-name{font-size:.875rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:0;min-width:0}
.api-card-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.api-card-right{display:flex;align-items:center;gap:1rem;padding:0 1rem;flex-shrink:0}
.api-card-calls{font-size:.75rem;color:var(--ui-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,'SF Mono',Menlo,monospace}
.api-card-arrow{color:var(--ui-text-muted);flex-shrink:0;transition:transform .2s var(--ui-ease-out),color .2s var(--ui-ease-out)}
.api-card:hover .api-card-arrow{transform:translateX(4px);color:var(--ui-text-secondary)}
.api-card-rank{position:absolute;top:.375rem;left:.5rem;z-index:2}
.footer{border-top:1px solid var(--ui-border);padding:2rem 0;font-size:.8125rem;color:var(--ui-text-muted)}
.footer-inner{max-width:72rem;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
@media(min-width:640px){.footer-inner{padding:0 1.5rem}}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap}
.footer-link{color:var(--ui-text-muted);text-decoration:none;transition:color .2s}
.footer-link:hover{color:var(--ui-text-primary)}
@media(max-width:640px){.stats-row{grid-template-columns:1fr 1fr;gap:.5rem}.stat-card{padding:1rem}.stat-value{font-size:1.375rem}.api-card-left{min-width:2.75rem;padding:0 .5rem}.api-card-body{padding:.625rem .75rem}.api-card-right{padding:0 .75rem;gap:.625rem}.api-card-rank{top:.25rem;left:.375rem}}

/* ===== 动画增强（不影响日夜切换按钮动效与功能） ===== */
:root{--ease-spring:cubic-bezier(.34,1.56,.64,1)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes pulse-soft{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes glow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}50%{box-shadow:0 0 18px 3px var(--glow-c,rgba(0,0,0,0))}}
@keyframes shine-sweep{0%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(260%) skewX(-18deg)}}
@keyframes fade-down{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@keyframes zoom-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer-sweep{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.anim-float{animation:float 4s ease-in-out infinite;will-change:transform}
.anim-fade-down{animation:fade-down .5s var(--ui-ease-out) both}
.anim-zoom-in{animation:zoom-in .45s var(--ease-spring) both}
.nav{animation:fade-down .45s var(--ui-ease-out) both}
.section-title{animation:slide-up .45s var(--ui-ease-out) both}
.stat-card,.api-card{will-change:transform}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--ui-shadow-2);transition:border-color .2s var(--ui-ease-out),box-shadow .3s var(--ui-ease-out),transform .3s var(--ease-spring)}
.chart-card:hover{box-shadow:var(--ui-shadow-2)}
.stat-value.accent{--glow-c:var(--ui-success-soft);animation:glow-pulse 2.6s ease-in-out infinite}
.api-card-status-dot.status-maintain{animation:pulse-soft 1.8s ease-in-out infinite}
.skeleton{position:relative;overflow:hidden}
.skeleton::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--ui-bg-elevated),transparent);animation:shimmer-sweep 1.5s ease-in-out infinite;will-change:transform}

/* ===== 小组件与交互增强 ===== */
.ui-scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:999;pointer-events:none}
.ui-scroll-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--ui-accent),var(--ui-text-muted));border-radius:0 2px 2px 0;transition:width .12s linear;will-change:width}
.ui-back-top{
  position:fixed;right:1.25rem;bottom:1.5rem;z-index:200;
  width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--ui-border);
  background:transparent;color:var(--ui-text-secondary);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  display:flex;align-items:center;justify-content:center;box-shadow:none;
  opacity:0;visibility:hidden;transform:translateY(14px);cursor:pointer;padding:0;
  transition:opacity .3s var(--ui-ease-out),transform .3s var(--ui-ease-out),visibility .3s,border-color .3s var(--ui-ease-out),box-shadow .3s var(--ui-ease-out),color .3s var(--ui-ease-out);
}
.ui-back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.ui-back-top:hover{color:var(--ui-text-primary);border-color:var(--ui-border-strong)}
.ui-back-top:active{transform:translateY(0) scale(.9)}
.ui-back-top svg{width:1.125rem;height:1.125rem}

/* 热门接口卡片视口内弹性入场 */
.reveal-item{opacity:0!important;transform:translateY(18px)!important;animation:none!important;transition:opacity .55s var(--ui-ease-out),transform .55s var(--ease-spring)!important;will-change:opacity,transform}
.reveal-item.revealed{opacity:1!important}

/* 统计卡片悬浮更跟手 */
.stat-card{transition:border-color .2s var(--ui-ease-out),box-shadow .3s var(--ui-ease-out),transform .3s var(--ease-spring)}
.stat-card:active{transform:translateY(0) scale(.98);transition-duration:.08s}
.chart-card{transition:box-shadow .3s var(--ui-ease-out),transform .3s var(--ui-ease-out)}
.chart-card:hover{transform:translateY(-2px)}

/* 统计数字等宽防抖动 */
.stat-value{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .reveal-item{opacity:1!important;transform:none!important;transition:none!important}
  .ui-back-top{transition:none!important}
}
