﻿
:root{
  --ak-black:#15191f;
  --ak-ink:#1f2329;
  --ak-muted:#626b79;
  --ak-soft:#8a94a6;
  --ak-blue:#0969ff;
  --ak-blue-2:#2f6bff;
  --ak-line:#e7eaf0;
  --ak-line-2:#dfe4ec;
  --ak-bg:#fbfcfe;
  --ak-card:#fff;
  --ak-radius:28px;
  --ak-shadow:0 24px 70px rgba(18,29,48,.10);
  --ak-shadow-soft:0 16px 46px rgba(18,29,48,.075);
}
html.apikey-newapi-theme,
html.apikey-newapi-theme body{
  min-height:100%;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ak-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
html.apikey-newapi-theme body.ak-landing-active{
  background:#fff!important;
  overflow-x:hidden;
}
html.apikey-newapi-theme body.ak-landing-active #app{display:none!important}
.ak-page,.ak-page *{box-sizing:border-box}
.ak-page{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  color:var(--ak-ink);
  background:
    radial-gradient(circle at 7% 14%, rgba(226,232,255,.62) 0, rgba(226,232,255,.32) 18%, transparent 35%),
    radial-gradient(circle at 94% 63%, rgba(218,250,246,.68) 0, rgba(218,250,246,.26) 18%, transparent 34%),
    linear-gradient(180deg,#fff 0%,#fbfcfe 52%,#fff 100%);
}
.ak-page:before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  opacity:.72;
  background-image:
    linear-gradient(rgba(33,43,62,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(33,43,62,.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.10) 44%,transparent 78%);
}
.ak-page:after{
  content:"";
  position:absolute;
  left:50%;top:78px;
  width:1180px;height:630px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 58%,rgba(9,105,255,.10),transparent 30%),
    radial-gradient(circle at 72% 32%,rgba(9,105,255,.075),transparent 28%),
    radial-gradient(circle at 84% 78%,rgba(41,208,177,.10),transparent 24%);
  filter:blur(16px);
  opacity:.85;
}
.ak-wrap{width:min(100% - 48px,1100px);margin:0 auto;position:relative;z-index:2}
.ak-header{
  width:min(100% - 48px,calc(100vw - 48px));
  max-width:calc(100vw - 48px);
  margin:0 auto;
  height:72px;
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.ak-brand{display:flex;align-items:center;gap:12px;color:#101318;text-decoration:none;font-size:20px;font-weight:850;letter-spacing:-.04em}
.ak-logo{width:40px;height:40px;border-radius:14px;background:#fff;border:1px solid rgba(17,24,39,.10);display:grid;place-items:center;box-shadow:0 10px 28px rgba(20,31,49,.08);overflow:hidden;flex:none}
.ak-logo img{width:27px;height:27px;object-fit:contain;display:block}
.ak-header-actions{display:flex;align-items:center;gap:8px}
.ak-mini-btn,.ak-pill-btn,.ak-copy-btn{border:0;text-decoration:none;cursor:pointer;font:inherit;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease,color .18s ease}
.ak-mini-btn{height:38px;padding:0 18px;border-radius:999px;background:#f4f6f8;color:#15191f;font-size:14px;font-weight:740;border:1px solid rgba(17,24,39,.06)}
.ak-mini-btn:hover{transform:translateY(-1px);background:#eef2f7}
.ak-pill-btn{height:44px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:850;gap:9px;white-space:nowrap}
.ak-btn-primary{background:#0969ff;color:#fff;box-shadow:0 12px 30px rgba(9,105,255,.22)}
.ak-btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(9,105,255,.26)}
.ak-btn-soft{background:#f4f7fb;color:#0969ff;border:1px solid rgba(9,105,255,.08)}
.ak-btn-soft:hover{transform:translateY(-1px);background:#eef5ff}
.ak-hero{position:relative;z-index:2;padding:108px 0 118px}
.ak-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:58px;align-items:center}
.ak-kicker{display:inline-flex;align-items:center;gap:10px;height:26px;border-radius:999px;padding:0 15px;background:rgba(239,244,255,.92);border:1px solid rgba(9,105,255,.28);color:#0969ff;font-weight:800;font-size:13px;letter-spacing:.01em;box-shadow:0 8px 26px rgba(9,105,255,.06)}
.ak-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#0969ff;box-shadow:0 0 0 5px rgba(9,105,255,.10)}
.ak-title{margin:28px 0 24px;color:#1b2028;font-size:clamp(52px,5.2vw,78px);line-height:.98;letter-spacing:-.075em;font-weight:920;text-wrap:balance}
.ak-title .ak-muted-word{display:inline-block;color:#b8bdc6;background:linear-gradient(90deg,#afb5c0,#eef1f5 46%,#9aa3b0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ak-title .ak-line{display:block}
.ak-desc{margin:0 0 28px;max-width:590px;color:#4f5868;font-size:18px;line-height:1.86;letter-spacing:-.01em}
.ak-endpoint-card{width:min(100%,580px);border-radius:26px;padding:22px 24px 24px;background:rgba(255,255,255,.88);border:1px solid rgba(19,28,43,.10);box-shadow:var(--ak-shadow-soft);backdrop-filter:blur(18px)}
.ak-endpoint-label{margin-bottom:12px;color:#747d8c;font-size:14px;font-weight:650}
.ak-url-row{height:42px;border-radius:18px;background:#f2f4f7;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 8px 0 14px;border:1px solid #edf0f4}
.ak-url-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#20252d;font-size:15px}
.ak-url-suffix{color:#0969ff;font-size:14px;font-weight:760;white-space:nowrap;padding-left:4px}
.ak-copy-btn{width:32px;height:32px;border-radius:12px;background:#e8edf3;color:#343b46}
.ak-copy-btn:hover{background:#dfe6ef;transform:translateY(-1px)}
.ak-hero-actions{margin-top:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ak-hero-metrics{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap}
.ak-metric{min-width:108px;padding:14px 18px;border-radius:18px;border:1px dashed rgba(9,105,255,.25);background:rgba(255,255,255,.72);box-shadow:0 12px 34px rgba(18,29,48,.055)}
.ak-metric strong{display:block;font-size:25px;line-height:1;font-weight:900;color:#252a32;letter-spacing:-.05em}
.ak-metric span{display:block;margin-top:8px;color:#7a8392;font-size:12px;font-weight:650}
.ak-hero-panel{position:relative;min-height:420px}
.ak-side-card{position:relative;margin-left:auto;width:min(100%,448px);border-radius:28px;background:rgba(255,255,255,.90);border:1px solid rgba(17,24,39,.10);box-shadow:0 28px 70px rgba(31,41,55,.13);padding:24px;backdrop-filter:blur(18px)}
.ak-side-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(145deg,rgba(9,105,255,.12),rgba(41,208,177,.08),rgba(255,255,255,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ak-route-map{height:230px;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid #edf0f5;position:relative;overflow:hidden;margin-bottom:16px}
.ak-route-map:before{content:"";position:absolute;inset:28px 24px;border-radius:999px;border:1px solid rgba(18,29,48,.10);box-shadow:0 0 0 36px rgba(18,29,48,.032),0 0 0 78px rgba(18,29,48,.022)}
.ak-node{position:absolute;width:54px;height:54px;border-radius:19px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 14px 34px rgba(18,29,48,.10);display:grid;place-items:center;font-weight:900;color:#1b2028}
.ak-node-main{left:calc(50% - 28px);top:87px;background:#0969ff;color:#fff;border-color:#0969ff;box-shadow:0 18px 42px rgba(9,105,255,.26)}
.ak-node-a{left:42px;top:62px}.ak-node-b{right:46px;top:50px}.ak-node-c{left:92px;bottom:36px}.ak-node-d{right:86px;bottom:40px}
.ak-route-line{position:absolute;height:2px;background:linear-gradient(90deg,rgba(9,105,255,0),rgba(9,105,255,.55),rgba(9,105,255,0));left:92px;right:92px;top:116px;transform-origin:center;opacity:.75}
.ak-route-line.one{transform:rotate(-18deg)}.ak-route-line.two{transform:rotate(19deg)}.ak-route-line.three{transform:rotate(51deg);opacity:.46}.ak-route-line.four{transform:rotate(-48deg);opacity:.46}
.ak-stack{display:grid;gap:14px}
.ak-capability{height:94px;border-radius:18px;background:#fff;border:1px solid #e8ebf1;box-shadow:0 10px 28px rgba(18,29,48,.055);display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;padding:0 18px}
.ak-cap-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;color:#0969ff;background:#edf3ff}
.ak-capability:nth-child(2) .ak-cap-icon{background:#ecfdf5;color:#16a36a}.ak-capability:nth-child(3) .ak-cap-icon{background:#eef2ff;color:#4f46e5}
.ak-capability b{display:block;color:#1d222a;font-size:15px;letter-spacing:-.02em}.ak-capability span{display:block;margin-top:7px;color:#697386;font-size:13px;line-height:1.45}
.ak-floating-note{position:absolute;right:-18px;bottom:46px;min-width:178px;height:62px;border-radius:20px;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 22px 50px rgba(18,29,48,.14);display:flex;align-items:center;gap:12px;padding:0 16px;color:#222831;font-weight:800;font-size:13px}
.ak-dot-ring{width:34px;height:34px;border-radius:13px;background:#ebf5ff;color:#0969ff;display:grid;place-items:center;flex:none}
.ak-section{position:relative;z-index:2;padding:106px 0}
.ak-section-head{max-width:760px;margin:0 auto 42px;text-align:center}.ak-section-label{display:block;margin-bottom:15px;color:#555d6d;font-size:14px;font-weight:760}.ak-section-title{margin:0;color:#1b2028;font-size:clamp(34px,3.1vw,48px);line-height:1.15;letter-spacing:-.055em;font-weight:900;text-wrap:balance}.ak-section-text{margin:16px auto 0;max-width:720px;color:#697386;font-size:16px;line-height:1.8}.ak-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ak-value-card{min-height:188px;border-radius:22px;background:#fff;border:1px solid #e6e9ef;box-shadow:0 18px 46px rgba(18,29,48,.055);padding:26px;position:relative;overflow:hidden}.ak-value-card:before{content:"";position:absolute;inset:0 0 auto 0;height:86px;background:linear-gradient(100deg,rgba(9,105,255,.10),rgba(231,242,255,.20) 46%,transparent);opacity:.75}.ak-value-card:nth-child(2):before{background:linear-gradient(100deg,rgba(34,197,94,.11),rgba(236,253,245,.34),transparent)}.ak-value-card:nth-child(3):before{background:linear-gradient(100deg,rgba(99,102,241,.14),rgba(239,246,255,.30),transparent)}.ak-value-card:nth-child(4):before{background:linear-gradient(100deg,rgba(14,165,233,.11),rgba(240,253,250,.32),transparent)}.ak-value-icon{position:relative;width:48px;height:48px;border-radius:16px;background:#eef3ff;color:#0969ff;display:grid;place-items:center;margin-bottom:28px}.ak-value-card:nth-child(2) .ak-value-icon{background:#eefaf5;color:#14a36a}.ak-value-card:nth-child(3) .ak-value-icon{background:#eef2ff;color:#4f46e5}.ak-value-card:nth-child(4) .ak-value-icon{background:#eaf9ff;color:#0284c7}.ak-value-card h3{position:relative;margin:0 0 16px;font-size:22px;letter-spacing:-.045em;color:#20252d}.ak-value-card p{position:relative;margin:0;color:#667085;line-height:1.8;font-size:15px}.ak-models{padding-top:118px;padding-bottom:104px}.ak-model-wall{width:min(100%,820px);margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ak-model-chip{height:66px;border-radius:18px;border:1px solid #e7eaf0;background:rgba(255,255,255,.86);box-shadow:0 12px 32px rgba(18,29,48,.052);display:flex;align-items:center;justify-content:center;gap:10px;color:#1f2329;font-weight:820}.ak-model-chip i{width:24px;height:24px;border-radius:9px;background:linear-gradient(135deg,#0969ff,#5eead4);display:block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.52)}.ak-model-chip:nth-child(2n) i{background:linear-gradient(135deg,#111827,#9ca3af)}.ak-model-chip:nth-child(3n) i{background:linear-gradient(135deg,#7c3aed,#60a5fa)}.ak-model-chip:nth-child(4n) i{background:linear-gradient(135deg,#f97316,#ef4444)}.ak-flow{padding-top:88px}.ak-flow-box{position:relative;overflow:hidden;border:1px solid #e4e8ef;border-radius:28px;background:#fff;box-shadow:0 18px 52px rgba(18,29,48,.06);padding:38px 44px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center}.ak-flow-box:before{content:"";position:absolute;left:-4%;top:0;width:62%;height:100%;background:linear-gradient(100deg,rgba(211,250,245,.75),rgba(239,246,255,.55) 50%,transparent);clip-path:polygon(0 0,100% 0,82% 100%,0 100%);opacity:.9}.ak-flow-content{position:relative}.ak-flow-box h2{margin:0;color:#1b2028;font-size:34px;line-height:1.2;letter-spacing:-.055em}.ak-flow-box p{margin:14px 0 0;color:#5d6676;font-size:15px;line-height:1.8}.ak-flow-actions{position:relative;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ak-footer{position:relative;z-index:2;padding:70px 0 42px;color:#6b7280}.ak-footer-line{height:1px;background:#e7eaf0;margin-bottom:28px}.ak-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:14px}.ak-footer-links{display:flex;gap:22px;align-items:center}.ak-footer a{color:#4f5868;text-decoration:none}.ak-footer a:hover{color:#0969ff}.ak-bg-word{position:absolute;z-index:1;left:50%;transform:translateX(-50%);bottom:-36px;color:transparent;-webkit-text-stroke:1px rgba(19,28,43,.075);font-size:min(12vw,180px);font-weight:950;letter-spacing:-.08em;white-space:nowrap;pointer-events:none}
html.apikey-newapi-theme:not(.ak-public-home) body{background:#fbfcfe!important;color:#15161a}html.apikey-newapi-theme:not(.ak-public-home) #app,html.apikey-newapi-theme main,html.apikey-newapi-theme .min-h-screen,html.apikey-newapi-theme [class*="min-h-screen"]{background:transparent!important}html.apikey-newapi-theme header:not(.sidebar-header),html.apikey-newapi-theme .sticky.top-0{background:rgba(255,255,255,.88)!important;border-color:rgba(15,23,42,.08)!important;backdrop-filter:blur(16px)!important;box-shadow:none!important}html.apikey-newapi-theme .sidebar{background:rgba(255,255,255,.94)!important;border-right:1px solid rgba(15,23,42,.08)!important;box-shadow:12px 0 36px rgba(15,23,42,.04)!important}html.apikey-newapi-theme .sidebar-link{border-radius:12px!important;margin:3px 0;color:#475467!important}html.apikey-newapi-theme .sidebar-link:hover{background:#f2f4f7!important;color:#101828!important}html.apikey-newapi-theme .sidebar-link-active,html.apikey-newapi-theme .router-link-active.sidebar-link{background:#eef5ff!important;color:#0969ff!important;box-shadow:none!important}html.apikey-newapi-theme .card,html.apikey-newapi-theme .card-glass,html.apikey-newapi-theme .stat-card,html.apikey-newapi-theme .table-wrapper,html.apikey-newapi-theme .modal-content,html.apikey-newapi-theme .dropdown{background:#fff!important;border:1px solid #e6e9ef!important;border-radius:20px!important;box-shadow:0 14px 36px rgba(15,23,42,.055)!important}html.apikey-newapi-theme .btn,html.apikey-newapi-theme button:not([class*="tox"]):not([class*="driver"]),html.apikey-newapi-theme a[role="button"]{border-radius:999px!important}html.apikey-newapi-theme .btn-primary,html.apikey-newapi-theme button[type="submit"],html.apikey-newapi-theme .bg-primary-500,html.apikey-newapi-theme .bg-teal-500,html.apikey-newapi-theme .bg-blue-500{background:#0969ff!important;color:#fff!important;border-color:#0969ff!important;box-shadow:0 10px 26px rgba(9,105,255,.18)!important}html.apikey-newapi-theme input,html.apikey-newapi-theme select,html.apikey-newapi-theme textarea,html.apikey-newapi-theme .input{border-radius:999px!important;border-color:#d7dae0!important;background:#fff!important}html.apikey-newapi-theme input:focus,html.apikey-newapi-theme select:focus,html.apikey-newapi-theme textarea:focus,html.apikey-newapi-theme .input:focus{border-color:#0969ff!important;box-shadow:0 0 0 4px rgba(9,105,255,.10)!important;outline:none!important}
@media (max-width:980px){.ak-hero{padding:72px 0 86px}.ak-hero-grid{grid-template-columns:1fr;gap:44px}.ak-title{font-size:clamp(48px,10vw,72px)}.ak-side-card{margin:0 auto}.ak-floating-note{right:12px}.ak-value-grid{grid-template-columns:1fr}.ak-model-wall{grid-template-columns:repeat(3,1fr)}.ak-flow-box{grid-template-columns:1fr}.ak-flow-actions{justify-content:flex-start}}
@media (max-width:640px){.ak-wrap,.ak-header{width:min(100% - 28px,1100px)}.ak-header{height:66px}.ak-brand span:last-child{font-size:18px}.ak-logo{width:36px;height:36px;border-radius:13px}.ak-logo img{width:24px;height:24px}.ak-header-actions .ak-mini-btn{display:none}.ak-header-actions .ak-pill-btn{height:40px;padding:0 15px}.ak-hero{padding:52px 0 74px}.ak-title{font-size:46px}.ak-desc{font-size:16px}.ak-endpoint-card{padding:18px;border-radius:22px}.ak-url-row{grid-template-columns:minmax(0,1fr) auto}.ak-url-suffix{display:none}.ak-hero-actions{align-items:stretch}.ak-hero-actions .ak-pill-btn{width:100%}.ak-hero-metrics{display:grid;grid-template-columns:1fr;gap:10px}.ak-hero-panel{min-height:auto}.ak-side-card{padding:18px;border-radius:24px}.ak-route-map{height:190px}.ak-capability{height:auto;min-height:88px}.ak-floating-note{position:relative;right:auto;bottom:auto;margin:14px auto 0;width:100%}.ak-section{padding:72px 0}.ak-value-card{min-height:auto}.ak-model-wall{grid-template-columns:1fr 1fr;gap:12px}.ak-model-chip{height:58px;font-size:14px}.ak-flow-box{padding:30px 22px;border-radius:24px}.ak-flow-box h2{font-size:28px}.ak-footer-inner{display:block;text-align:center}.ak-footer-links{margin-top:14px;justify-content:center;flex-wrap:wrap}.ak-bg-word{display:none}}


/* Motion refresh: subtle, product-grade motion, not decorative noise */
@keyframes ak-rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes ak-shine-sweep{0%{background-position:180% 0}100%{background-position:-180% 0}}
@keyframes ak-card-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes ak-note-drift{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.018)}}
@keyframes ak-icon-drift{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-7px) scale(1.025)}}
@keyframes ak-endpoint-pop{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes ak-line-flow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.ak-hero-copy{animation:ak-rise-in .72s cubic-bezier(.16,1,.3,1) both}.ak-side-card{animation:ak-rise-in .78s cubic-bezier(.16,1,.3,1) .08s both}.ak-endpoint-card{animation:ak-rise-in .74s cubic-bezier(.16,1,.3,1) .04s both}.ak-title .ak-muted-word{background:linear-gradient(90deg,#b4bbc7 0%,#edf1f6 32%,#7d8796 50%,#edf1f6 68%,#b4bbc7 100%)!important;background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:ak-shine-sweep 4.2s linear infinite}.ak-url-suffix{display:inline-block;min-width:142px;text-align:right}.ak-url-suffix.is-switching{animation:ak-endpoint-pop .38s cubic-bezier(.16,1,.3,1) both}.ak-route-line{background:linear-gradient(90deg,rgba(9,105,255,0),rgba(9,105,255,.18),rgba(9,105,255,.70),rgba(9,105,255,.18),rgba(9,105,255,0));background-size:200% 100%;animation:ak-line-flow 3.8s linear infinite}.ak-route-line.two{animation-delay:-1.2s}.ak-route-line.three{animation-delay:-2.1s}.ak-route-line.four{animation-delay:-3s}.ak-capability{animation:ak-card-drift 6.5s ease-in-out infinite}.ak-capability:nth-child(2){animation-delay:-1.3s}.ak-capability:nth-child(3){animation-delay:-2.6s}.ak-floating-note{animation:ak-note-drift 5.4s ease-in-out infinite}.ak-value-card{animation:ak-rise-in .7s cubic-bezier(.16,1,.3,1) both}.ak-value-card:nth-child(2){animation-delay:.04s}.ak-value-card:nth-child(3){animation-delay:.08s}.ak-value-card:nth-child(4){animation-delay:.12s}.ak-model-wall{width:min(100%,870px)!important;margin:38px auto 0!important;display:grid!important;grid-template-columns:repeat(7,112px)!important;justify-content:center!important;gap:22px 26px!important}.ak-model-chip{width:112px!important;height:66px!important;border-radius:18px!important;border:1px solid #e7eaf0!important;background:rgba(255,255,255,.90)!important;box-shadow:0 12px 32px rgba(18,29,48,.055)!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:hidden!important;animation:ak-icon-drift 5.6s ease-in-out infinite!important;animation-delay:calc(var(--i,0) * -0.22s)!important;transition:box-shadow .22s ease,border-color .22s ease,background .22s ease!important}.ak-model-chip:before{content:"";position:absolute;inset:-40% -30%;background:radial-gradient(circle at 50% 0%,rgba(9,105,255,.12),transparent 44%);opacity:0;transition:opacity .22s ease}.ak-model-chip:hover{border-color:rgba(9,105,255,.22)!important;box-shadow:0 18px 48px rgba(18,29,48,.11)!important;background:#fff!important}.ak-model-chip:hover:before{opacity:1}.ak-model-chip img{position:relative;z-index:1;width:34px;height:34px;object-fit:contain;display:block;transition:transform .22s ease,filter .22s ease}.ak-model-chip:hover img{transform:translateY(-2px) scale(1.08)}.ak-model-chip span{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);font-size:10px;line-height:1;color:#667085;font-weight:750;opacity:0;transition:opacity .2s ease}.ak-model-chip:hover span{opacity:1}.ak-model-chip.ak-more{font-size:18px;font-weight:900;color:#20252d}.ak-model-chip.ak-more span{position:static;transform:none;opacity:1;font-size:17px;color:#20252d}.ak-model-chip.ak-more:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;right:22px;top:19px;background:#0969ff;box-shadow:13px 0 0 rgba(9,105,255,.45),26px 0 0 rgba(9,105,255,.20)}
@media (prefers-reduced-motion:reduce){.ak-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:980px){.ak-model-wall{grid-template-columns:repeat(4,112px)!important;gap:16px!important}}
@media (max-width:640px){.ak-model-wall{grid-template-columns:repeat(2,112px)!important;gap:12px!important}.ak-url-suffix{min-width:auto;text-align:left}.ak-capability,.ak-floating-note{animation:none!important}}



@keyframes ak-endpoint-pop{0%{opacity:.28;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
.ak-workflow{padding-top:84px;padding-bottom:90px}.ak-workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ak-work-step{position:relative;min-height:230px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid #e6e9ef;box-shadow:0 18px 46px rgba(18,29,48,.055);padding:28px;overflow:hidden;animation:ak-rise-in .7s cubic-bezier(.16,1,.3,1) both}.ak-work-step:nth-child(2){animation-delay:.06s}.ak-work-step:nth-child(3){animation-delay:.12s}.ak-work-step:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,rgba(9,105,255,.55),rgba(45,212,191,.35),transparent);transform-origin:top;animation:ak-work-pulse 4.8s ease-in-out infinite}.ak-work-step:nth-child(2):before{animation-delay:-1.4s}.ak-work-step:nth-child(3):before{animation-delay:-2.8s}@keyframes ak-work-pulse{0%,100%{transform:scaleY(.24);opacity:.55}50%{transform:scaleY(1);opacity:1}}.ak-work-no{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:#f3f7ff;color:#0969ff;font-weight:920;font-size:18px;margin-bottom:34px}.ak-work-step:nth-child(2) .ak-work-no{background:#f0fdf4;color:#16a36a}.ak-work-step:nth-child(3) .ak-work-no{background:#eef2ff;color:#4f46e5}.ak-work-step h3{margin:0 0 14px;font-size:22px;color:#20252d;letter-spacing:-.04em}.ak-work-step p{margin:0;color:#667085;font-size:15px;line-height:1.8}.ak-work-step:hover{box-shadow:0 22px 58px rgba(18,29,48,.09);border-color:rgba(9,105,255,.18)}
@media (max-width:980px){.ak-workflow-grid{grid-template-columns:1fr}.ak-work-step{min-height:auto}}


/* Hero title sweep-light effect */
.ak-title.ak-title-shine{font-size:clamp(48px,4.55vw,68px)!important;line-height:1.04!important;letter-spacing:-.07em!important;overflow:visible}.ak-title-shine .ak-title-sweep{display:block;width:max-content;max-width:100%;color:transparent!important;-webkit-text-fill-color:transparent;background:linear-gradient(104deg,#1b2028 0%,#1b2028 33%,#555e6c 42%,#f8fbff 49%,#ffffff 51%,#798291 58%,#1b2028 68%,#1b2028 100%);background-size:260% 100%;background-position:160% 0;-webkit-background-clip:text;background-clip:text;animation:ak-title-light-sweep 4.6s cubic-bezier(.55,0,.2,1) infinite;filter:drop-shadow(0 14px 28px rgba(15,23,42,.08))}.ak-title-shine .ak-title-sweep-delay{animation-delay:.16s}.ak-title-shine .ak-title-sweep::selection{-webkit-text-fill-color:#fff;color:#fff;background:#0969ff}@keyframes ak-title-light-sweep{0%,12%{background-position:160% 0}55%{background-position:-80% 0}100%{background-position:-80% 0}}
@media (max-width:640px){.ak-title.ak-title-shine{font-size:42px!important}.ak-title-shine .ak-title-sweep{width:auto}}
@media (prefers-reduced-motion:reduce){.ak-title-shine .ak-title-sweep{animation:none!important;background-position:0 0!important}}


/* Hero title sweep tuning: narrower light band and Packy-like two-line scale */
.ak-title.ak-title-shine{font-size:clamp(42px,4.15vw,58px)!important;line-height:1.08!important;letter-spacing:-.065em!important}.ak-title-shine .ak-title-sweep{width:max-content;max-width:100%;background:linear-gradient(104deg,#1b2028 0%,#1b2028 43%,#5d6674 47.5%,#f8fbff 50%,#aeb6c2 52.5%,#1b2028 57%,#1b2028 100%)!important;background-size:320% 100%!important;background-position:145% 0;animation:ak-title-light-sweep 4.8s cubic-bezier(.55,0,.2,1) infinite!important;filter:drop-shadow(0 10px 22px rgba(15,23,42,.065))}@keyframes ak-title-light-sweep{0%,16%{background-position:145% 0}58%{background-position:-95% 0}100%{background-position:-95% 0}}@media (max-width:640px){.ak-title.ak-title-shine{font-size:40px!important}.ak-title-shine .ak-title-sweep{width:auto;max-width:100%}}


/* Fix Chrome background shorthand resetting text clip */
.ak-title-shine .ak-title-sweep{-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}


/* Packy-style text-only shine overlay: base stays black, light sweeps through the glyphs */
.ak-title-shine .ak-title-sweep{position:relative!important;color:#1b2028!important;-webkit-text-fill-color:#1b2028!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;filter:drop-shadow(0 10px 22px rgba(15,23,42,.065))!important}.ak-title-shine .ak-title-sweep:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(104deg,transparent 0%,transparent 39%,rgba(188,198,214,.38) 45%,#fff 49%,#f9fbff 51%,rgba(188,198,214,.48) 55%,transparent 61%,transparent 100%);background-size:300% 100%;background-position:150% 0;-webkit-background-clip:text;background-clip:text;animation:ak-title-light-overlay 4.4s cubic-bezier(.55,0,.2,1) infinite;filter:drop-shadow(0 0 12px rgba(255,255,255,.85))}.ak-title-shine .ak-title-sweep-delay:after{animation-delay:.18s}@keyframes ak-title-light-overlay{0%,14%{background-position:150% 0}56%{background-position:-100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.ak-title-shine .ak-title-sweep:after{display:none!important}}


/* =====================================================================
   APIKEY DASHBOARD + AUTH REDESIGN — round 1 (2026-04-30)
   Targets Sub2API's confirmed class names from frontend/src/style.css.
   Selectors all rooted at html.apikey-newapi-theme so the overlay never
   pollutes other contexts.
   ===================================================================== */

/* === A. PAGE BACKGROUND (logged-in app & auth pages) ================ */
html.apikey-newapi-theme:not(.ak-public-home) body{
  background:
    radial-gradient(circle at 6% 12%, rgba(226,232,255,.55) 0, rgba(226,232,255,.20) 18%, transparent 36%),
    radial-gradient(circle at 92% 70%, rgba(218,250,246,.55) 0, rgba(218,250,246,.18) 18%, transparent 34%),
    #fbfcfe!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) body{
  background:
    radial-gradient(circle at 8% 14%, rgba(36,52,98,.55) 0, transparent 40%),
    radial-gradient(circle at 88% 64%, rgba(20,76,84,.45) 0, transparent 36%),
    #0b1020!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .fixed.inset-0.bg-mesh-gradient{display:none!important}

/* === B. SIDEBAR ===================================================== */
html.apikey-newapi-theme .sidebar{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  border-right:1px solid rgba(15,23,42,.06)!important;
  box-shadow:14px 0 40px rgba(15,23,42,.04)!important;
  padding-top:14px!important;
}
html.apikey-newapi-theme.dark .sidebar{
  background:rgba(13,17,30,.85)!important;
  border-right-color:rgba(255,255,255,.05)!important;
}
html.apikey-newapi-theme .sidebar-header{
  padding:14px 18px 18px!important;
  border-bottom:1px solid rgba(15,23,42,.05)!important;
  margin-bottom:10px;
}
html.apikey-newapi-theme.dark .sidebar-header{border-bottom-color:rgba(255,255,255,.06)!important}
html.apikey-newapi-theme .sidebar-logo{
  width:36px!important;height:36px!important;min-width:36px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#fff,#f4f7ff)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 8px 22px rgba(9,105,255,.14)!important;
  flex:0 0 36px!important;
}
html.apikey-newapi-theme .sidebar-brand-title{
  font-size:17px!important;font-weight:850!important;letter-spacing:-.02em!important;
  color:#15191f!important;
}
html.apikey-newapi-theme.dark .sidebar-brand-title{color:#f4f7fb!important}
html.apikey-newapi-theme .sidebar-nav{padding:6px 12px!important;gap:2px!important}
html.apikey-newapi-theme .sidebar-section{margin-bottom:14px!important}
html.apikey-newapi-theme .sidebar-section-title-text{
  font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;
  color:#8a94a6!important;font-weight:700!important;padding:14px 14px 8px!important;
}
html.apikey-newapi-theme .sidebar-link{
  display:flex!important;align-items:center!important;gap:12px!important;
  padding:9px 12px!important;border-radius:12px!important;
  color:#475467!important;font-weight:600!important;font-size:14px!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
  position:relative;
}
html.apikey-newapi-theme.dark .sidebar-link{color:#94a3b8!important}
html.apikey-newapi-theme .sidebar-link:hover{
  background:#f2f5f9!important;color:#101828!important;transform:none!important;
}
html.apikey-newapi-theme.dark .sidebar-link:hover{background:rgba(255,255,255,.05)!important;color:#f4f7fb!important}
html.apikey-newapi-theme .sidebar-link-active,
html.apikey-newapi-theme .router-link-active.sidebar-link,
html.apikey-newapi-theme a.sidebar-link.router-link-exact-active{
  background:linear-gradient(180deg,#eef5ff,#e7f0ff)!important;
  color:#0969ff!important;font-weight:740!important;
  box-shadow:inset 0 0 0 1px rgba(9,105,255,.10)!important;
}
html.apikey-newapi-theme.dark .sidebar-link-active{
  background:rgba(9,105,255,.16)!important;color:#7eb6ff!important;
  box-shadow:inset 0 0 0 1px rgba(9,105,255,.22)!important;
}
html.apikey-newapi-theme .sidebar-link-active::before{
  content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);
  width:3px;height:18px;border-radius:0 3px 3px 0;background:#0969ff;
}
html.apikey-newapi-theme .sidebar-link-collapsed{
  justify-content:center!important;padding-left:0!important;padding-right:0!important;
}

/* === C. APP HEADER (top bar) ======================================== */
html.apikey-newapi-theme header.glass,
html.apikey-newapi-theme header.sticky.top-0{
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
  border-bottom:1px solid rgba(15,23,42,.06)!important;
  box-shadow:0 1px 0 rgba(15,23,42,.04)!important;
}
html.apikey-newapi-theme.dark header.glass,
html.apikey-newapi-theme.dark header.sticky.top-0{
  background:rgba(13,17,30,.78)!important;border-bottom-color:rgba(255,255,255,.06)!important;
}
html.apikey-newapi-theme header.glass h1{
  font-size:18px!important;font-weight:840!important;letter-spacing:-.025em!important;
  color:#101828!important;
}
html.apikey-newapi-theme.dark header.glass h1{color:#f4f7fb!important}
html.apikey-newapi-theme header.glass .bg-primary-50{
  background:linear-gradient(180deg,#eef5ff,#e7f0ff)!important;
  border:1px solid rgba(9,105,255,.16)!important;border-radius:999px!important;
  padding:6px 14px!important;
}
html.apikey-newapi-theme header.glass .text-primary-600,
html.apikey-newapi-theme header.glass .text-primary-700{color:#0969ff!important}
html.apikey-newapi-theme header.glass .bg-gradient-to-br.from-primary-500{
  background:linear-gradient(135deg,#0969ff,#5b8dff)!important;
  box-shadow:0 8px 22px rgba(9,105,255,.30)!important;
}

/* === D. DROPDOWN MENU =============================================== */
html.apikey-newapi-theme .dropdown{
  background:#fff!important;border:1px solid rgba(15,23,42,.06)!important;
  border-radius:18px!important;box-shadow:0 22px 60px rgba(15,23,42,.16)!important;
  padding:6px!important;overflow:hidden;
}
html.apikey-newapi-theme.dark .dropdown{
  background:#161b2c!important;border-color:rgba(255,255,255,.06)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.4)!important;
}
html.apikey-newapi-theme .dropdown-item{
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:9px 14px!important;border-radius:11px!important;font-size:14px!important;
  color:#374151!important;transition:background .15s ease,color .15s ease!important;
}
html.apikey-newapi-theme.dark .dropdown-item{color:#cbd5e1!important}
html.apikey-newapi-theme .dropdown-item:hover{background:#f3f5f9!important;color:#0969ff!important}
html.apikey-newapi-theme.dark .dropdown-item:hover{background:rgba(9,105,255,.14)!important;color:#7eb6ff!important}

/* === E. CARDS ======================================================= */
html.apikey-newapi-theme .card,
html.apikey-newapi-theme .card-glass,
html.apikey-newapi-theme .glass-card,
html.apikey-newapi-theme .glass:not(header):not(.sticky){
  background:#fff!important;
  border:1px solid #e6e9ef!important;border-radius:22px!important;
  box-shadow:0 12px 32px rgba(15,23,42,.045)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
html.apikey-newapi-theme.dark .card,
html.apikey-newapi-theme.dark .card-glass,
html.apikey-newapi-theme.dark .glass-card{
  background:#141a2a!important;border-color:rgba(255,255,255,.06)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.35)!important;
}
html.apikey-newapi-theme .card-hover:hover,
html.apikey-newapi-theme .card:hover{
  box-shadow:0 18px 50px rgba(15,23,42,.075)!important;border-color:rgba(9,105,255,.18)!important;
  transform:translateY(-1px)!important;transition:all .25s cubic-bezier(.16,1,.3,1)!important;
}
html.apikey-newapi-theme .card-header{
  padding:18px 22px!important;border-bottom:1px solid #eef0f4!important;font-weight:820!important;
}
html.apikey-newapi-theme.dark .card-header{border-bottom-color:rgba(255,255,255,.06)!important}
html.apikey-newapi-theme .card-body{padding:22px!important}
html.apikey-newapi-theme .card-footer{padding:16px 22px!important;border-top:1px solid #eef0f4!important}

/* === F. STAT CARDS ================================================== */
html.apikey-newapi-theme .stat-card{
  background:#fff!important;border:1px solid #e6e9ef!important;border-radius:22px!important;
  padding:22px!important;box-shadow:0 12px 32px rgba(15,23,42,.045)!important;
  position:relative;overflow:hidden;
}
html.apikey-newapi-theme .stat-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:80px;
  background:linear-gradient(100deg,rgba(9,105,255,.08),rgba(231,242,255,.18) 50%,transparent);
  pointer-events:none;
}
html.apikey-newapi-theme .stat-card:nth-child(2)::before{background:linear-gradient(100deg,rgba(34,197,94,.10),rgba(236,253,245,.30),transparent)}
html.apikey-newapi-theme .stat-card:nth-child(3)::before{background:linear-gradient(100deg,rgba(99,102,241,.12),rgba(239,246,255,.28),transparent)}
html.apikey-newapi-theme .stat-card:nth-child(4)::before{background:linear-gradient(100deg,rgba(14,165,233,.10),rgba(240,253,250,.30),transparent)}
html.apikey-newapi-theme.dark .stat-card{background:#141a2a!important;border-color:rgba(255,255,255,.06)!important}

/* === G. BUTTONS ===================================================== */
html.apikey-newapi-theme .btn,
html.apikey-newapi-theme button:not(.driver-popover-btn):not([class*="tox"]):not(.sidebar-link):not(.dropdown-item){
  border-radius:999px!important;font-weight:740!important;letter-spacing:-.005em!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease!important;
}
html.apikey-newapi-theme .btn-primary,
html.apikey-newapi-theme button[type="submit"]:not(.btn-ghost):not(.btn-secondary):not(.btn-danger){
  background:linear-gradient(180deg,#0969ff,#0a5fe6)!important;color:#fff!important;
  border:0!important;box-shadow:0 10px 26px rgba(9,105,255,.22)!important;
}
html.apikey-newapi-theme .btn-primary:hover,
html.apikey-newapi-theme button[type="submit"]:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):hover{
  background:linear-gradient(180deg,#0a72ff,#0a5fe6)!important;
  box-shadow:0 14px 36px rgba(9,105,255,.30)!important;transform:translateY(-1px)!important;
}
html.apikey-newapi-theme .btn-secondary{
  background:#f4f6f9!important;color:#15191f!important;border:1px solid rgba(15,23,42,.06)!important;
}
html.apikey-newapi-theme .btn-secondary:hover{background:#eef2f7!important;transform:translateY(-1px)!important}
html.apikey-newapi-theme .btn-ghost{
  background:transparent!important;color:#475467!important;border:1px solid transparent!important;
}
html.apikey-newapi-theme .btn-ghost:hover{background:#f2f4f8!important;color:#101828!important}
html.apikey-newapi-theme.dark .btn-ghost{color:#94a3b8!important}
html.apikey-newapi-theme.dark .btn-ghost:hover{background:rgba(255,255,255,.05)!important;color:#f4f7fb!important}
html.apikey-newapi-theme .btn-danger{
  background:linear-gradient(180deg,#ef4444,#dc2626)!important;color:#fff!important;
  box-shadow:0 8px 22px rgba(239,68,68,.22)!important;
}
html.apikey-newapi-theme .btn-success{
  background:linear-gradient(180deg,#16a36a,#11885a)!important;color:#fff!important;
  box-shadow:0 8px 22px rgba(22,163,106,.22)!important;
}
html.apikey-newapi-theme .btn-warning{
  background:linear-gradient(180deg,#f59e0b,#d97706)!important;color:#fff!important;
}
html.apikey-newapi-theme .btn-icon{padding:8px!important;width:38px!important;height:38px!important;border-radius:12px!important}
html.apikey-newapi-theme .btn-sm{padding:6px 14px!important;font-size:13px!important;height:34px!important}
html.apikey-newapi-theme .btn-md{padding:9px 18px!important;font-size:14px!important;height:40px!important}
html.apikey-newapi-theme .btn-lg{padding:12px 24px!important;font-size:15px!important;height:46px!important}

/* === H. INPUTS / FORMS ============================================== */
html.apikey-newapi-theme .input,
html.apikey-newapi-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
html.apikey-newapi-theme select,
html.apikey-newapi-theme textarea{
  border-radius:14px!important;border:1px solid #d7dae0!important;background:#fff!important;
  padding:10px 14px!important;font-size:14px!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
html.apikey-newapi-theme.dark .input,
html.apikey-newapi-theme.dark input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
html.apikey-newapi-theme.dark select,
html.apikey-newapi-theme.dark textarea{
  background:#1a2138!important;border-color:rgba(255,255,255,.10)!important;color:#e2e8f0!important;
}
html.apikey-newapi-theme .input:focus,
html.apikey-newapi-theme input:focus:not([type="checkbox"]):not([type="radio"]),
html.apikey-newapi-theme select:focus,
html.apikey-newapi-theme textarea:focus{
  border-color:#0969ff!important;
  box-shadow:0 0 0 4px rgba(9,105,255,.10)!important;
  outline:none!important;
}
html.apikey-newapi-theme .input-error{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.10)!important}
html.apikey-newapi-theme .input-label{
  display:block;margin-bottom:7px;font-size:13px;font-weight:680;color:#475467;letter-spacing:-.005em;
}
html.apikey-newapi-theme.dark .input-label{color:#94a3b8}
html.apikey-newapi-theme .input-error-text{color:#ef4444;font-size:12px;margin-top:6px}
html.apikey-newapi-theme .input-hint{color:#8a94a6;font-size:12px;margin-top:6px}
html.apikey-newapi-theme .input.pl-11{padding-left:42px!important}
html.apikey-newapi-theme .input.pr-11{padding-right:42px!important}

/* === I. TABLES ====================================================== */
html.apikey-newapi-theme .table-page-layout{gap:16px!important}
html.apikey-newapi-theme .table-scroll-container{
  background:#fff!important;border:1px solid #e6e9ef!important;border-radius:22px!important;
  box-shadow:0 12px 32px rgba(15,23,42,.045)!important;overflow:hidden!important;
}
html.apikey-newapi-theme.dark .table-scroll-container{background:#141a2a!important;border-color:rgba(255,255,255,.06)!important}
html.apikey-newapi-theme .table-wrapper{padding:0!important}
html.apikey-newapi-theme .table-wrapper table{width:100%!important;border-collapse:separate!important;border-spacing:0!important}
html.apikey-newapi-theme .table-wrapper thead{background:#fafbfd!important}
html.apikey-newapi-theme.dark .table-wrapper thead{background:rgba(255,255,255,.02)!important}
html.apikey-newapi-theme .table-wrapper thead th{
  padding:14px 18px!important;text-align:left!important;
  font-size:11px!important;font-weight:760!important;letter-spacing:.05em!important;
  text-transform:uppercase!important;color:#8a94a6!important;
  border-bottom:1px solid #eef0f4!important;white-space:nowrap;
}
html.apikey-newapi-theme.dark .table-wrapper thead th{color:#94a3b8!important;border-bottom-color:rgba(255,255,255,.06)!important}
html.apikey-newapi-theme .table-wrapper tbody td{
  padding:16px 18px!important;font-size:14px!important;color:#1f2329!important;
  border-bottom:1px solid #f1f3f6!important;vertical-align:middle;
}
html.apikey-newapi-theme.dark .table-wrapper tbody td{color:#cbd5e1!important;border-bottom-color:rgba(255,255,255,.04)!important}
html.apikey-newapi-theme .table-wrapper tbody tr{transition:background .15s ease!important}
html.apikey-newapi-theme .table-wrapper tbody tr:hover{background:#f7f9fc!important}
html.apikey-newapi-theme.dark .table-wrapper tbody tr:hover{background:rgba(255,255,255,.03)!important}
html.apikey-newapi-theme .table-wrapper tbody tr:last-child td{border-bottom:0!important}

/* === J. MODALS / DIALOGS ============================================ */
html.apikey-newapi-theme .modal-overlay,
html.apikey-newapi-theme .dialog-overlay{
  background:rgba(15,23,42,.45)!important;backdrop-filter:blur(6px)!important;
}
html.apikey-newapi-theme .modal-content,
html.apikey-newapi-theme .dialog-content,
html.apikey-newapi-theme .modal,
html.apikey-newapi-theme [role="dialog"]>div:not(.modal-overlay){
  background:#fff!important;border:1px solid #e6e9ef!important;border-radius:22px!important;
  box-shadow:0 32px 80px rgba(15,23,42,.18)!important;overflow:hidden!important;
}
html.apikey-newapi-theme.dark .modal-content,
html.apikey-newapi-theme.dark .dialog-content{
  background:#141a2a!important;border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 32px 80px rgba(0,0,0,.50)!important;
}
html.apikey-newapi-theme .modal-header,
html.apikey-newapi-theme .dialog-header{
  padding:20px 26px!important;border-bottom:1px solid #eef0f4!important;
  font-size:17px!important;font-weight:820!important;letter-spacing:-.02em!important;
}
html.apikey-newapi-theme.dark .modal-header,
html.apikey-newapi-theme.dark .dialog-header{border-bottom-color:rgba(255,255,255,.06)!important}
html.apikey-newapi-theme .modal-body,
html.apikey-newapi-theme .dialog-body{padding:22px 26px!important}
html.apikey-newapi-theme .modal-footer,
html.apikey-newapi-theme .dialog-footer{
  padding:16px 26px!important;border-top:1px solid #eef0f4!important;
  display:flex!important;justify-content:flex-end!important;gap:10px!important;background:#fafbfd!important;
}
html.apikey-newapi-theme.dark .modal-footer,
html.apikey-newapi-theme.dark .dialog-footer{
  border-top-color:rgba(255,255,255,.06)!important;background:rgba(255,255,255,.02)!important;
}

/* === K. BADGES ====================================================== */
html.apikey-newapi-theme .badge,
html.apikey-newapi-theme [class*="badge-"]{
  display:inline-flex!important;align-items:center!important;
  padding:3px 10px!important;border-radius:999px!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:.005em!important;
  border:1px solid transparent!important;
}
html.apikey-newapi-theme .badge-success{background:#ecfdf5!important;color:#15803d!important;border-color:rgba(34,197,94,.18)!important}
html.apikey-newapi-theme .badge-error,
html.apikey-newapi-theme .badge-danger{background:#fef2f2!important;color:#b91c1c!important;border-color:rgba(239,68,68,.18)!important}
html.apikey-newapi-theme .badge-warning{background:#fffbeb!important;color:#a16207!important;border-color:rgba(245,158,11,.20)!important}
html.apikey-newapi-theme .badge-info,
html.apikey-newapi-theme .badge-primary{background:#eef5ff!important;color:#0969ff!important;border-color:rgba(9,105,255,.18)!important}
html.apikey-newapi-theme .badge-gray,
html.apikey-newapi-theme .badge-default{background:#f3f4f6!important;color:#374151!important;border-color:rgba(15,23,42,.08)!important}

/* === L. TOASTS ====================================================== */
html.apikey-newapi-theme .toast,
html.apikey-newapi-theme [class*="toast-"]:not(td):not(th){
  border-radius:14px!important;padding:12px 16px!important;
  box-shadow:0 18px 46px rgba(15,23,42,.16)!important;border:1px solid transparent!important;
}
html.apikey-newapi-theme .toast-success{background:#ecfdf5!important;color:#15803d!important;border-color:rgba(34,197,94,.20)!important}
html.apikey-newapi-theme .toast-error{background:#fef2f2!important;color:#b91c1c!important;border-color:rgba(239,68,68,.20)!important}
html.apikey-newapi-theme .toast-warning{background:#fffbeb!important;color:#a16207!important;border-color:rgba(245,158,11,.22)!important}
html.apikey-newapi-theme .toast-info{background:#eef5ff!important;color:#0969ff!important;border-color:rgba(9,105,255,.20)!important}

/* === M. SPINNER / SKELETON ========================================== */
html.apikey-newapi-theme .spinner{
  border-color:rgba(9,105,255,.18)!important;border-top-color:#0969ff!important;
}
html.apikey-newapi-theme .skeleton{
  background:linear-gradient(90deg,#eef0f4 25%,#f6f8fb 50%,#eef0f4 75%)!important;
  background-size:200% 100%!important;animation:ak-shimmer 1.4s linear infinite!important;
  border-radius:10px!important;
}
@keyframes ak-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* === N. TABS ======================================================== */
html.apikey-newapi-theme .tabs{display:flex;gap:4px;padding:4px;background:#f4f6f9;border-radius:14px}
html.apikey-newapi-theme.dark .tabs{background:rgba(255,255,255,.04)}
html.apikey-newapi-theme .tabs button,
html.apikey-newapi-theme .tab{
  padding:8px 16px!important;border-radius:10px!important;font-size:13px!important;font-weight:680!important;
  background:transparent!important;color:#475467!important;border:0!important;transition:all .18s ease!important;
}
html.apikey-newapi-theme .tabs button.active,
html.apikey-newapi-theme .tab-active,
html.apikey-newapi-theme .tab.active{
  background:#fff!important;color:#0969ff!important;
  box-shadow:0 4px 12px rgba(15,23,42,.06)!important;
}
html.apikey-newapi-theme.dark .tabs button.active,
html.apikey-newapi-theme.dark .tab-active{background:#1a2138!important}

/* === O. PRIMARY/TEAL/BLUE COLOR OVERRIDES =========================== */
html.apikey-newapi-theme .text-primary-50{color:#eff6ff!important}
html.apikey-newapi-theme .text-primary-100{color:#dbeafe!important}
html.apikey-newapi-theme .text-primary-200{color:#bfdbfe!important}
html.apikey-newapi-theme .text-primary-300{color:#93c5fd!important}
html.apikey-newapi-theme .text-primary-400{color:#60a5fa!important}
html.apikey-newapi-theme .text-primary-500{color:#0969ff!important}
html.apikey-newapi-theme .text-primary-600{color:#0a5fe6!important}
html.apikey-newapi-theme .text-primary-700{color:#0951c2!important}
html.apikey-newapi-theme .text-primary-800{color:#1e3a8a!important}
html.apikey-newapi-theme .text-primary-900{color:#172554!important}
html.apikey-newapi-theme .bg-primary-50{background-color:#eff6ff!important}
html.apikey-newapi-theme .bg-primary-100{background-color:#dbeafe!important}
html.apikey-newapi-theme .bg-primary-500{background-color:#0969ff!important}
html.apikey-newapi-theme .bg-primary-600{background-color:#0a5fe6!important}
html.apikey-newapi-theme .bg-primary-700{background-color:#0951c2!important}
html.apikey-newapi-theme .border-primary-500,
html.apikey-newapi-theme .border-primary-600{border-color:#0969ff!important}
html.apikey-newapi-theme .ring-primary-500{--tw-ring-color:rgba(9,105,255,.5)!important}
html.apikey-newapi-theme .from-primary-500{--tw-gradient-from:#0969ff!important}
html.apikey-newapi-theme .to-primary-500{--tw-gradient-to:#0969ff!important}
html.apikey-newapi-theme .from-primary-600{--tw-gradient-from:#0a5fe6!important}
html.apikey-newapi-theme .to-primary-600{--tw-gradient-to:#0a5fe6!important}
html.apikey-newapi-theme.dark .dark\:bg-primary-900\/20{background-color:rgba(9,105,255,.18)!important}
html.apikey-newapi-theme.dark .dark\:text-primary-300,
html.apikey-newapi-theme.dark .dark\:text-primary-400{color:#7eb6ff!important}
html.apikey-newapi-theme .shadow-glow{box-shadow:0 0 24px rgba(9,105,255,.22)!important}
html.apikey-newapi-theme .shadow-glow-lg{box-shadow:0 0 40px rgba(9,105,255,.32)!important}

/* === P. AUTH PAGES (route-auth) ===================================== */
html.apikey-newapi-theme.apikey-route-auth body{
  background:
    radial-gradient(circle at 18% 22%, rgba(214,228,255,.55) 0, transparent 38%),
    radial-gradient(circle at 82% 78%, rgba(213,247,242,.55) 0, transparent 36%),
    #fbfcfe!important;
}
html.apikey-newapi-theme.dark.apikey-route-auth body{
  background:
    radial-gradient(circle at 18% 22%, rgba(36,52,98,.55) 0, transparent 40%),
    radial-gradient(circle at 82% 78%, rgba(20,76,84,.45) 0, transparent 36%),
    #0b1020!important;
}
html.apikey-newapi-theme.apikey-route-auth main,
html.apikey-newapi-theme.apikey-route-auth .min-h-screen{
  background:transparent!important;
}
html.apikey-newapi-theme.apikey-route-auth .card-glass,
html.apikey-newapi-theme.apikey-route-auth .glass-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(15,23,42,.06)!important;
  border-radius:28px!important;
  box-shadow:
    0 32px 90px rgba(15,23,42,.10),
    0 0 0 1px rgba(255,255,255,.6) inset!important;
  backdrop-filter:blur(20px) saturate(1.1)!important;
}
html.apikey-newapi-theme.dark.apikey-route-auth .card-glass{
  background:rgba(20,26,42,.86)!important;border-color:rgba(255,255,255,.08)!important;
}
html.apikey-newapi-theme.apikey-route-auth h1,
html.apikey-newapi-theme.apikey-route-auth h2{
  letter-spacing:-.04em!important;font-weight:900!important;
}
html.apikey-newapi-theme .text-gradient{
  background:linear-gradient(135deg,#0969ff 0%,#5b8dff 50%,#0969ff 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
}

/* === Q. SCROLLBARS ================================================== */
html.apikey-newapi-theme:not(.ak-public-home) ::-webkit-scrollbar{width:10px;height:10px}
html.apikey-newapi-theme:not(.ak-public-home) ::-webkit-scrollbar-track{background:transparent}
html.apikey-newapi-theme:not(.ak-public-home) ::-webkit-scrollbar-thumb{
  background:rgba(15,23,42,.12);border-radius:999px;border:2px solid transparent;background-clip:padding-box;
}
html.apikey-newapi-theme:not(.ak-public-home) ::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,.20);background-clip:padding-box;border:2px solid transparent}
html.apikey-newapi-theme.dark:not(.ak-public-home) ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10);background-clip:padding-box;border:2px solid transparent}

/* === R. MISC POLISH ================================================= */
html.apikey-newapi-theme .sidebar-header [class*="version"]{
  font-size:10px!important;font-weight:680!important;color:#8a94a6!important;
  background:#f4f6f9!important;padding:2px 8px!important;border-radius:6px!important;
  margin-left:6px;
}
html.apikey-newapi-theme.dark .sidebar-header [class*="version"]{background:rgba(255,255,255,.06)!important;color:#94a3b8!important}
html.apikey-newapi-theme .border-gray-200{border-color:#eef0f4!important}
html.apikey-newapi-theme.dark .dark\:border-dark-700{border-color:rgba(255,255,255,.06)!important}
html.apikey-newapi-theme a[href*="github.com/Wei-Shaw"]{display:none!important}

/* === S. CHARTS COLOR TINTING ======================================== */
html.apikey-newapi-theme [class*="chart"] canvas{filter:hue-rotate(168deg) saturate(.96)!important}
html.apikey-newapi-theme .charts canvas,
html.apikey-newapi-theme .chart-container canvas{filter:hue-rotate(168deg) saturate(.96)!important}

/* === END APIKEY DASHBOARD + AUTH REDESIGN ===========================*/


/* =====================================================================
   APIKEY MINIMAL LANDING — Round 2 (2026-04-30)
   极简化重构：hero + code demo + logo marquee + footer。
   旧的 .ak-route-map / .ak-side-card / .ak-value-card / .ak-workflow /
   .ak-flow-box / .ak-model-wall / .ak-bg-word 等保留在 CSS 中但不再被
   JS 注入到 DOM 里 → dormant，不影响渲染。
   ===================================================================== */

/* === A. PAGE BACKGROUND for minimal landing ========================= */
html.apikey-newapi-theme .ak-page-minimal{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  color:var(--ak-ink);
  background:
    radial-gradient(ellipse 1200px 720px at 50% -10%, rgba(231,239,255,.65) 0, transparent 60%),
    radial-gradient(ellipse 900px 600px at 12% 120%, rgba(218,250,246,.50) 0, transparent 55%),
    linear-gradient(180deg,#fff 0%,#fbfcfe 80%,#fff 100%);
}
html.apikey-newapi-theme .ak-page-minimal:before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(33,43,62,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(33,43,62,.06) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.15) 36%,transparent 70%);
}

/* === B. HERO (minimal, centered) ==================================== */
html.apikey-newapi-theme .ak-hero-min{
  position:relative;z-index:2;
  padding:88px 24px 72px;
  display:flex;justify-content:center;
  text-align:center;
}
html.apikey-newapi-theme .ak-hero-min-inner{
  width:min(100%, 920px);
  display:flex;flex-direction:column;align-items:center;
}
html.apikey-newapi-theme .ak-hero-min .ak-kicker{
  margin-bottom:28px;
  animation:ak-rise-in .8s cubic-bezier(.16,1,.3,1) both;
}
html.apikey-newapi-theme .ak-title-huge{
  margin:0 0 26px;
  color:#1b2028;
  font-size:clamp(48px, 6vw, 86px);
  line-height:1.02;
  letter-spacing:-.07em;
  font-weight:920;
  text-wrap:balance;
  animation:ak-rise-in .9s cubic-bezier(.16,1,.3,1) .04s both;
}
html.apikey-newapi-theme .ak-title-huge .ak-line{
  display:block;
}
html.apikey-newapi-theme .ak-desc-min{
  margin:0 0 36px;
  max-width:600px;
  color:#55606d;
  font-size:18px;line-height:1.78;
  letter-spacing:-.005em;
  animation:ak-rise-in .9s cubic-bezier(.16,1,.3,1) .12s both;
}
html.apikey-newapi-theme .ak-cta-row{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;
  margin-bottom:64px;
  animation:ak-rise-in .9s cubic-bezier(.16,1,.3,1) .18s both;
}

/* === C. CODE DEMO (terminal style) ================================== */
html.apikey-newapi-theme .ak-code-demo{
  width:min(100%, 760px);
  border-radius:18px;
  background:#0d1018;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:
    0 32px 70px rgba(15,23,42,.18),
    0 0 0 1px rgba(15,23,42,.04),
    inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
  text-align:left;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  animation:ak-rise-in 1s cubic-bezier(.16,1,.3,1) .26s both;
}
html.apikey-newapi-theme .ak-code-head{
  display:flex;align-items:center;gap:14px;
  padding:11px 14px;
  background:linear-gradient(180deg,#181d28,#13171f);
  border-bottom:1px solid rgba(255,255,255,.05);
  user-select:none;
}
html.apikey-newapi-theme .ak-code-dots{
  display:inline-flex;gap:6px;flex:none;
}
html.apikey-newapi-theme .ak-code-dots i{
  width:11px;height:11px;border-radius:50%;display:block;
  background:#3a4150;
}
html.apikey-newapi-theme .ak-code-dots i:nth-child(1){background:#fc615d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
html.apikey-newapi-theme .ak-code-dots i:nth-child(2){background:#fdbe40;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
html.apikey-newapi-theme .ak-code-dots i:nth-child(3){background:#34c84a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
html.apikey-newapi-theme .ak-code-title{
  flex:1;text-align:center;font-size:12.5px;font-weight:680;
  color:#8b94a6;letter-spacing:-.005em;
}
html.apikey-newapi-theme .ak-code-copy{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:8px;
  background:rgba(255,255,255,.04);
  color:#8b94a6;
  border:1px solid rgba(255,255,255,.06);
  font:inherit;font-size:12px;font-weight:680;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
html.apikey-newapi-theme .ak-code-copy:hover{
  background:rgba(9,105,255,.12);color:#a8c8ff;border-color:rgba(9,105,255,.24);
}
html.apikey-newapi-theme .ak-code-copy.is-copied{
  background:rgba(34,197,94,.14);color:#7eea9b;border-color:rgba(34,197,94,.30);
}
html.apikey-newapi-theme .ak-code-copy svg{flex:none}
html.apikey-newapi-theme .ak-code-body{
  margin:0;padding:18px 20px 22px;
  background:#0d1018;
  font-size:13px;line-height:1.78;
  color:#cdd6e3;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.16) transparent;
}
html.apikey-newapi-theme .ak-code-body::-webkit-scrollbar{height:6px}
html.apikey-newapi-theme .ak-code-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}
html.apikey-newapi-theme .ak-code-content{
  display:block;
  white-space:pre;
  font:inherit;color:inherit;
}
html.apikey-newapi-theme .ak-code-line{
  display:block;min-height:1.78em;
  animation:ak-code-line-in .32s cubic-bezier(.2,.7,.3,1) both;
}
html.apikey-newapi-theme .ak-code-line-cmd{color:#e7eaf0}
html.apikey-newapi-theme .ak-code-line-arg{color:#c8d3e1}
html.apikey-newapi-theme .ak-code-line-json{color:#a4d1ff}
html.apikey-newapi-theme .ak-code-line-resp{color:#7eea9b}
html.apikey-newapi-theme .ak-code-line-spacer{height:6px;min-height:0}
html.apikey-newapi-theme .ak-code-prompt{color:#5b8dff;font-weight:700}
html.apikey-newapi-theme .ak-code-flag{color:#ffb454;font-weight:600}
html.apikey-newapi-theme .ak-code-string{color:#7eea9b}
html.apikey-newapi-theme .ak-code-arrow{color:#5b8dff;font-weight:700}

@keyframes ak-code-line-in{
  from{opacity:0;transform:translateY(6px);filter:blur(2px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}

/* === D. LOGO STRIP (marquee) ======================================== */
html.apikey-newapi-theme .ak-strip-section{
  position:relative;z-index:2;
  padding:54px 0 80px;
  text-align:center;
}
html.apikey-newapi-theme .ak-strip-label{
  display:block;margin-bottom:28px;
  color:#8a94a6;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
html.apikey-newapi-theme .ak-logo-strip{
  position:relative;width:100%;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}
html.apikey-newapi-theme .ak-logo-track{
  display:flex;gap:54px;align-items:center;
  width:max-content;
  animation:ak-marquee 38s linear infinite;
  will-change:transform;
}
html.apikey-newapi-theme .ak-logo-track:hover{animation-play-state:paused}
html.apikey-newapi-theme .ak-logo-tile{
  width:110px;height:64px;flex:0 0 110px;
  border-radius:16px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 8px 22px rgba(15,23,42,.045);
  display:flex;align-items:center;justify-content:center;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
html.apikey-newapi-theme .ak-logo-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(9,105,255,.20);
  box-shadow:0 12px 32px rgba(15,23,42,.08);
}
html.apikey-newapi-theme .ak-logo-tile img{
  width:34px;height:34px;object-fit:contain;display:block;
  filter:saturate(.9);
  transition:filter .22s ease,transform .22s ease;
}
html.apikey-newapi-theme .ak-logo-tile:hover img{filter:saturate(1.05);transform:scale(1.06)}

@keyframes ak-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* === E. FOOTER (minimal one-liner) ================================== */
html.apikey-newapi-theme .ak-footer-min{
  position:relative;z-index:2;
  padding:40px 24px 48px;
  display:flex;align-items:center;justify-content:center;
  gap:18px;flex-wrap:wrap;
  border-top:1px solid rgba(15,23,42,.06);
  color:#7a8392;font-size:13px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(14px);
}
html.apikey-newapi-theme .ak-footer-min a{
  color:#475467;text-decoration:none;
  font-weight:680;
  transition:color .18s ease;
}
html.apikey-newapi-theme .ak-footer-min a:hover{color:#0969ff}
html.apikey-newapi-theme .ak-footer-divider{color:#cbd2dc}

/* === F. BUTTON polish for landing CTAs ============================= */
html.apikey-newapi-theme .ak-page-minimal .ak-pill-btn{
  height:48px;padding:0 26px;
  font-size:14.5px;font-weight:850;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
html.apikey-newapi-theme .ak-page-minimal .ak-btn-primary{
  background:linear-gradient(180deg,#0a72ff,#0a5fe6);color:#fff;
  box-shadow:0 14px 32px rgba(9,105,255,.26);
}
html.apikey-newapi-theme .ak-page-minimal .ak-btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(9,105,255,.34);
}
html.apikey-newapi-theme .ak-page-minimal .ak-btn-soft{
  background:rgba(255,255,255,.78);color:#1b2028;
  border:1px solid rgba(15,23,42,.10);
  backdrop-filter:blur(12px);
}
html.apikey-newapi-theme .ak-page-minimal .ak-btn-soft:hover{
  background:#fff;transform:translateY(-1px);
  border-color:rgba(9,105,255,.20);color:#0969ff;
}
html.apikey-newapi-theme .ak-page-minimal .ak-mini-btn{
  height:38px;padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.62);color:#15191f;
  border:1px solid rgba(15,23,42,.06);
  font-size:14px;font-weight:740;
  text-decoration:none;
  display:inline-flex;align-items:center;
  transition:background .18s ease,transform .18s ease;
}
html.apikey-newapi-theme .ak-page-minimal .ak-mini-btn:hover{
  background:#fff;transform:translateY(-1px);
}

/* === G. HEADER on minimal page ====================================== */
html.apikey-newapi-theme .ak-page-minimal .ak-header{
  width:min(100% - 48px, 1100px);
  margin:0 auto;
  height:74px;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:4;
}
html.apikey-newapi-theme .ak-page-minimal .ak-brand{
  display:flex;align-items:center;gap:11px;
  color:#101318;text-decoration:none;
  font-size:19px;font-weight:850;letter-spacing:-.03em;
}
html.apikey-newapi-theme .ak-page-minimal .ak-logo{
  width:38px;height:38px;border-radius:13px;
  background:#fff;border:1px solid rgba(17,24,39,.10);
  display:grid;place-items:center;
  box-shadow:0 8px 22px rgba(20,31,49,.08);
  overflow:hidden;flex:none;
}
html.apikey-newapi-theme .ak-page-minimal .ak-logo img{
  width:25px;height:25px;object-fit:contain;display:block;
}

/* === H. RESPONSIVE ================================================== */
@media (max-width: 760px){
  html.apikey-newapi-theme .ak-hero-min{padding:64px 20px 56px}
  html.apikey-newapi-theme .ak-title-huge{font-size:44px;letter-spacing:-.05em}
  html.apikey-newapi-theme .ak-desc-min{font-size:16px}
  html.apikey-newapi-theme .ak-cta-row{flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:340px;margin-left:auto;margin-right:auto}
  html.apikey-newapi-theme .ak-page-minimal .ak-pill-btn{width:100%;justify-content:center}
  html.apikey-newapi-theme .ak-code-demo{font-size:12px;border-radius:14px}
  html.apikey-newapi-theme .ak-code-body{padding:14px 16px;font-size:11.5px}
  html.apikey-newapi-theme .ak-code-title{display:none}
  html.apikey-newapi-theme .ak-strip-section{padding:32px 0 56px}
  html.apikey-newapi-theme .ak-logo-track{gap:36px;animation-duration:46s}
  html.apikey-newapi-theme .ak-logo-tile{width:84px;height:54px;flex:0 0 84px;border-radius:13px}
  html.apikey-newapi-theme .ak-logo-tile img{width:26px;height:26px}
  html.apikey-newapi-theme .ak-page-minimal .ak-header{width:calc(100% - 32px);height:64px}
  html.apikey-newapi-theme .ak-page-minimal .ak-mini-btn{display:none}
  html.apikey-newapi-theme .ak-footer-min{font-size:12px;padding:32px 20px 36px;gap:12px}
}
@media (max-width: 420px){
  html.apikey-newapi-theme .ak-title-huge{font-size:38px}
  html.apikey-newapi-theme .ak-code-body{padding:12px 14px;font-size:11px;line-height:1.65}
}

@media (prefers-reduced-motion: reduce){
  html.apikey-newapi-theme .ak-page-minimal *{
    animation:none!important;transition:none!important;
  }
  html.apikey-newapi-theme .ak-logo-track{animation:none!important}
  html.apikey-newapi-theme .ak-code-line{animation:none!important;opacity:1}
}

/* === I. KICKER (re-tune for minimal page) =========================== */
html.apikey-newapi-theme .ak-page-minimal .ak-kicker{
  height:30px;padding:0 16px;
  background:rgba(239,244,255,.92);
  border:1px solid rgba(9,105,255,.24);
  color:#0a5fe6;font-weight:760;font-size:12.5px;
  letter-spacing:.02em;
  border-radius:999px;
  display:inline-flex;align-items:center;gap:9px;
  box-shadow:0 8px 22px rgba(9,105,255,.06);
}
html.apikey-newapi-theme .ak-page-minimal .ak-kicker:before{
  content:"";width:6px;height:6px;border-radius:50%;background:#0969ff;
  box-shadow:0 0 0 4px rgba(9,105,255,.14);
  animation:ak-kicker-pulse 2.2s ease-in-out infinite;
}
@keyframes ak-kicker-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(9,105,255,.14)}
  50%{box-shadow:0 0 0 6px rgba(9,105,255,.06)}
}

/* === END APIKEY MINIMAL LANDING ===================================== */


/* === SHINE-KILL PATCH (2026-04-30 23:50) ============================
   User reported title-shine effect distracting on Chinese characters.
   Force the new minimal title to solid color regardless of any old
   .ak-title-shine / .ak-title-sweep rules that might still match.
   ==================================================================== */
html.apikey-newapi-theme .ak-title-huge,
html.apikey-newapi-theme .ak-title-huge .ak-line,
html.apikey-newapi-theme .ak-title-huge .ak-line *{
  color:#1b2028!important;
  -webkit-text-fill-color:#1b2028!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  animation:none!important;
  filter:none!important;
}
html.apikey-newapi-theme .ak-title-huge .ak-line::before,
html.apikey-newapi-theme .ak-title-huge .ak-line::after,
html.apikey-newapi-theme .ak-title-huge::before,
html.apikey-newapi-theme .ak-title-huge::after{
  content:none!important;display:none!important;
}
/* hierarchy via weight only (line 2 a touch lighter) */
html.apikey-newapi-theme .ak-title-huge .ak-line:nth-child(2){
  color:#2b3340!important;-webkit-text-fill-color:#2b3340!important;
}


/* === MOTION-PATCH: subtle landing animations (2026-04-30 23:55) =====
   User asked for some animation back, but kept the shine-kill in place.
   Added: gentle hero rise-in, blinking caret after title, slow grid pan,
   one-shot CTA ripple pulse. All respect prefers-reduced-motion.
   ==================================================================== */

/* 1) Title gentle rise-in (override SHINE-KILL animation:none) */
html.apikey-newapi-theme .ak-page-minimal .ak-title-huge{
  animation:ak-rise-in 0.85s cubic-bezier(.16,1,.3,1) both!important;
}
html.apikey-newapi-theme .ak-page-minimal .ak-title-huge .ak-line{
  display:inline-block;
}
html.apikey-newapi-theme .ak-page-minimal .ak-title-huge .ak-line:nth-child(2){
  position:relative;
}

/* 2) Blinking caret cursor at end of title (terminal-style) */
html.apikey-newapi-theme .ak-page-minimal .ak-title-huge .ak-line:nth-child(2)::after{
  content:'_'!important;
  display:inline-block!important;
  margin-left:8px!important;
  color:#0969ff!important;
  -webkit-text-fill-color:#0969ff!important;
  font-weight:920!important;
  animation:ak-caret-blink 1.05s ease-in-out infinite!important;
  vertical-align:baseline!important;
  transform:translateY(-.06em);
}
@keyframes ak-caret-blink{
  0%,50%{opacity:.95}
  50.1%,100%{opacity:0}
}

/* 3) Slow ambient grid pan (60s alternate, barely visible) */
html.apikey-newapi-theme .ak-page-minimal::before{
  animation:ak-grid-pan 70s linear infinite alternate!important;
}
@keyframes ak-grid-pan{
  from{transform:translate(0,0)}
  to{transform:translate(32px,20px)}
}

/* 4) One-shot CTA ripple pulse after 1.4s to gently draw the eye */
html.apikey-newapi-theme .ak-page-minimal .ak-cta-row .ak-btn-primary{
  animation:ak-cta-ripple 2.6s ease-out 1.6s 1 both;
}
@keyframes ak-cta-ripple{
  0%  {box-shadow:0 14px 32px rgba(9,105,255,.26), 0 0 0 0 rgba(9,105,255,.30)}
  60% {box-shadow:0 14px 32px rgba(9,105,255,.26), 0 0 0 16px rgba(9,105,255,0)}
  100%{box-shadow:0 14px 32px rgba(9,105,255,.26), 0 0 0 0 rgba(9,105,255,0)}
}

/* 5) Floating soft orb behind hero (very slow drift, parallax feel) */
html.apikey-newapi-theme .ak-page-minimal .ak-hero-min-inner::before{
  content:"";
  position:absolute;left:50%;top:18%;
  width:680px;height:380px;
  transform:translateX(-50%);
  background:
    radial-gradient(closest-side at 30% 50%, rgba(9,105,255,.10), transparent 70%),
    radial-gradient(closest-side at 75% 40%, rgba(45,212,191,.08), transparent 70%);
  filter:blur(40px);
  pointer-events:none;z-index:-1;
  animation:ak-orb-drift 22s cubic-bezier(.5,0,.5,1) infinite alternate;
}
html.apikey-newapi-theme .ak-page-minimal .ak-hero-min-inner{position:relative;z-index:1}
@keyframes ak-orb-drift{
  from{transform:translate(calc(-50% - 24px), -10px) scale(1)}
  to  {transform:translate(calc(-50% + 24px),  14px) scale(1.06)}
}

/* 6) reduce-motion: all of the above respect it */
@media (prefers-reduced-motion: reduce){
  html.apikey-newapi-theme .ak-page-minimal .ak-title-huge,
  html.apikey-newapi-theme .ak-page-minimal::before,
  html.apikey-newapi-theme .ak-page-minimal .ak-cta-row .ak-btn-primary,
  html.apikey-newapi-theme .ak-page-minimal .ak-hero-min-inner::before,
  html.apikey-newapi-theme .ak-page-minimal .ak-title-huge .ak-line:nth-child(2)::after{
    animation:none!important;
  }
  html.apikey-newapi-theme .ak-page-minimal .ak-title-huge .ak-line:nth-child(2)::after{
    display:none!important;
  }
}

/* === END MOTION-PATCH ============================================== */


/* =====================================================================
   ROUND 3 — NOTION / STRIPE PRESS EDITORIAL OVERRIDE  (2026-04-30 23:58)
   去 AI 模板感：白底 + 黑字 + 细灰线，零渐变零软阴影。
   作用范围：所有非公开落地页（控制台 + 鉴权 + 用户页）。
   落地页 .ak-public-home 仍保持 minimal-r3 蓝色风格。
   ===================================================================== */

/* === 1. PAGE BACKDROP (kill all radial gradients on logged-in side) === */
html.apikey-newapi-theme:not(.ak-public-home) body{
  background:#ffffff!important;
  background-image:none!important;
  color:#2a2c30!important;
  font-family:'Inter','PingFang SC','Microsoft YaHei',ui-sans-serif,system-ui,sans-serif!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) body{
  background:#0d0d0e!important;background-image:none!important;color:#e8e8ea!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .fixed.inset-0.bg-mesh-gradient,
html.apikey-newapi-theme:not(.ak-public-home) [class*="bg-mesh-gradient"]{display:none!important}

/* === 2. SIDEBAR (off-white, thin line, no shadow, no glass) ========== */
html.apikey-newapi-theme:not(.ak-public-home) .sidebar{
  background:#fafaf8!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-right:1px solid #ebebe7!important;
  box-shadow:none!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .sidebar{
  background:#141415!important;border-right-color:#26262a!important;
}
html.apikey-newapi-theme .sidebar-header{
  border-bottom:1px solid #efeeea!important;
}
html.apikey-newapi-theme.dark .sidebar-header{border-bottom-color:#26262a!important}
html.apikey-newapi-theme .sidebar-logo{
  background:#ffffff!important;
  border:1px solid #e6e6e3!important;
  box-shadow:none!important;
  border-radius:7px!important;
}
html.apikey-newapi-theme.dark .sidebar-logo{background:#1c1c1f!important;border-color:#2c2c31!important}
html.apikey-newapi-theme .sidebar-brand-title{
  color:#2a2c30!important;font-weight:700!important;letter-spacing:-.01em!important;
}
html.apikey-newapi-theme.dark .sidebar-brand-title{color:#e8e8ea!important}
html.apikey-newapi-theme .sidebar-link{
  border-radius:6px!important;
  color:#5a5d65!important;font-weight:500!important;
}
html.apikey-newapi-theme.dark .sidebar-link{color:#9b9ea4!important}
html.apikey-newapi-theme .sidebar-link:hover{
  background:#efeeea!important;color:#2a2c30!important;
}
html.apikey-newapi-theme.dark .sidebar-link:hover{background:#1f1f23!important;color:#e8e8ea!important}
html.apikey-newapi-theme .sidebar-link-active,
html.apikey-newapi-theme .router-link-active.sidebar-link,
html.apikey-newapi-theme a.sidebar-link.router-link-exact-active{
  background:#efeeea!important;
  color:#2a2c30!important;font-weight:700!important;
  box-shadow:none!important;
}
html.apikey-newapi-theme.dark .sidebar-link-active{
  background:#22232a!important;color:#fafaf8!important;
}
/* KILL the blue 3px stripe from Round 1 */
html.apikey-newapi-theme .sidebar-link-active::before{display:none!important;content:none!important}
html.apikey-newapi-theme .sidebar-section-title-text{
  color:#888a90!important;font-weight:600!important;
}

/* === 3. HEADER (white, thin line, no glass, no shadow) =============== */
html.apikey-newapi-theme:not(.ak-public-home) header.glass,
html.apikey-newapi-theme:not(.ak-public-home) header.sticky.top-0{
  background:#ffffff!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-bottom:1px solid #ebebe7!important;box-shadow:none!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) header.glass,
html.apikey-newapi-theme.dark:not(.ak-public-home) header.sticky.top-0{
  background:#0f0f10!important;border-bottom-color:#26262a!important;
}
html.apikey-newapi-theme header.glass h1{
  font-weight:700!important;font-size:17px!important;color:#2a2c30!important;
  letter-spacing:-.015em!important;
}
html.apikey-newapi-theme.dark header.glass h1{color:#e8e8ea!important}
/* Balance pill -> flat outlined number */
html.apikey-newapi-theme header.glass .bg-primary-50{
  background:transparent!important;
  border:1px solid #ebebe7!important;
  border-radius:6px!important;padding:4px 12px!important;
}
html.apikey-newapi-theme header.glass .text-primary-600,
html.apikey-newapi-theme header.glass .text-primary-700{color:#2a2c30!important;font-weight:600!important}
/* User avatar — flat black */
html.apikey-newapi-theme header.glass .bg-gradient-to-br.from-primary-500,
html.apikey-newapi-theme header.glass [class*="from-primary"]{
  background:#2a2c30!important;background-image:none!important;
  box-shadow:none!important;
}

/* === 4. CARDS (flat, just lines) ===================================== */
html.apikey-newapi-theme:not(.ak-public-home) .card,
html.apikey-newapi-theme:not(.ak-public-home) .card-glass,
html.apikey-newapi-theme:not(.ak-public-home) .glass-card,
html.apikey-newapi-theme:not(.ak-public-home) .stat-card,
html.apikey-newapi-theme:not(.ak-public-home) .glass:not(header):not(.sticky){
  background:#ffffff!important;
  border:1px solid #ebebe7!important;
  border-radius:8px!important;
  box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .card,
html.apikey-newapi-theme.dark:not(.ak-public-home) .card-glass,
html.apikey-newapi-theme.dark:not(.ak-public-home) .stat-card{
  background:#141415!important;border-color:#26262a!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .card:hover,
html.apikey-newapi-theme:not(.ak-public-home) .card-hover:hover{
  box-shadow:none!important;transform:none!important;
  border-color:#d4d4d0!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .card:hover{border-color:#3a3a3f!important}

/* Stat cards — kill the four-color gradient overlays from Round 1 */
html.apikey-newapi-theme:not(.ak-public-home) .stat-card::before,
html.apikey-newapi-theme:not(.ak-public-home) .stat-card:nth-child(2)::before,
html.apikey-newapi-theme:not(.ak-public-home) .stat-card:nth-child(3)::before,
html.apikey-newapi-theme:not(.ak-public-home) .stat-card:nth-child(4)::before{
  display:none!important;content:none!important;background:transparent!important;
}

/* === 5. BUTTONS (sharp 6px, no pills, mostly black/white) ============ */
html.apikey-newapi-theme:not(.ak-public-home) .btn,
html.apikey-newapi-theme:not(.ak-public-home) button:not(.driver-popover-btn):not([class*="tox"]):not(.sidebar-link):not(.dropdown-item):not(.ak-code-copy):not(.ak-pill-btn):not(.ak-mini-btn):not(.ak-copy-btn){
  border-radius:6px!important;
  font-weight:600!important;
  font-size:13.5px!important;
  letter-spacing:0!important;
  height:auto!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-primary,
html.apikey-newapi-theme:not(.ak-public-home) button[type="submit"]:not(.btn-ghost):not(.btn-secondary):not(.btn-danger){
  background:#1c1d20!important;background-image:none!important;
  color:#ffffff!important;
  border:1px solid #1c1d20!important;
  box-shadow:none!important;border-radius:6px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-primary:hover,
html.apikey-newapi-theme:not(.ak-public-home) button[type="submit"]:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):hover{
  background:#0a0a0c!important;background-image:none!important;
  transform:none!important;box-shadow:none!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-secondary{
  background:#ffffff!important;color:#2a2c30!important;
  border:1px solid #d6d6d3!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-secondary:hover{
  background:#fafaf8!important;border-color:#aeaea8!important;transform:none!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-ghost{
  background:transparent!important;color:#5a5d65!important;border:0!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-ghost:hover{
  background:#f0efeb!important;color:#1c1d20!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .btn-ghost{color:#9b9ea4!important}
html.apikey-newapi-theme.dark:not(.ak-public-home) .btn-ghost:hover{background:#1f1f23!important;color:#e8e8ea!important}
html.apikey-newapi-theme:not(.ak-public-home) .btn-danger{
  background:#ffffff!important;color:#b1262c!important;
  border:1px solid #e9a4a7!important;box-shadow:none!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-danger:hover{
  background:#fdf3f3!important;border-color:#b1262c!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-success{
  background:#ffffff!important;color:#1d6f37!important;
  border:1px solid #b6dabd!important;box-shadow:none!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .btn-icon{
  border-radius:6px!important;width:34px!important;height:34px!important;padding:6px!important;
}

/* === 6. INPUTS (thin 6px border, no rings) =========================== */
html.apikey-newapi-theme:not(.ak-public-home) .input,
html.apikey-newapi-theme:not(.ak-public-home) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
html.apikey-newapi-theme:not(.ak-public-home) select,
html.apikey-newapi-theme:not(.ak-public-home) textarea{
  border-radius:6px!important;
  border:1px solid #d6d6d3!important;
  background:#ffffff!important;
  font-size:13.5px!important;padding-top:8px!important;padding-bottom:8px!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .input,
html.apikey-newapi-theme.dark:not(.ak-public-home) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
html.apikey-newapi-theme.dark:not(.ak-public-home) select,
html.apikey-newapi-theme.dark:not(.ak-public-home) textarea{
  background:#1a1a1c!important;border-color:#2c2c31!important;color:#e8e8ea!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .input:focus,
html.apikey-newapi-theme:not(.ak-public-home) input:focus:not([type="checkbox"]):not([type="radio"]),
html.apikey-newapi-theme:not(.ak-public-home) select:focus,
html.apikey-newapi-theme:not(.ak-public-home) textarea:focus{
  border-color:#1c1d20!important;
  box-shadow:none!important;outline:none!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .input:focus,
html.apikey-newapi-theme.dark:not(.ak-public-home) input:focus,
html.apikey-newapi-theme.dark:not(.ak-public-home) select:focus,
html.apikey-newapi-theme.dark:not(.ak-public-home) textarea:focus{
  border-color:#fafaf8!important;
}

/* === 7. TABLES (just lines, generous spacing) ======================== */
html.apikey-newapi-theme:not(.ak-public-home) .table-scroll-container,
html.apikey-newapi-theme:not(.ak-public-home) [class*="table-scroll"]{
  background:#ffffff!important;
  border:1px solid #ebebe7!important;
  border-radius:8px!important;box-shadow:none!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .table-scroll-container{
  background:#141415!important;border-color:#26262a!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .table-wrapper thead{
  background:transparent!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .table-wrapper thead th{
  background:transparent!important;
  text-transform:none!important;letter-spacing:0!important;
  font-size:12px!important;font-weight:600!important;color:#888a90!important;
  padding:13px 18px!important;
  border-bottom:1px solid #ebebe7!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .table-wrapper thead th{color:#7a7d83!important;border-bottom-color:#26262a!important}
html.apikey-newapi-theme:not(.ak-public-home) .table-wrapper tbody td{
  padding:14px 18px!important;font-size:13.5px!important;color:#2a2c30!important;
  border-bottom:1px solid #f3f2ee!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .table-wrapper tbody td{color:#cbcdd2!important;border-bottom-color:#1f1f23!important}
html.apikey-newapi-theme:not(.ak-public-home) .table-wrapper tbody tr:hover{
  background:#fafaf8!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .table-wrapper tbody tr:hover{background:#1a1a1c!important}

/* === 8. MODALS (flat, slight depth shadow only) ====================== */
html.apikey-newapi-theme:not(.ak-public-home) .modal-overlay,
html.apikey-newapi-theme:not(.ak-public-home) .dialog-overlay{
  background:rgba(0,0,0,.32)!important;backdrop-filter:none!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .modal-content,
html.apikey-newapi-theme:not(.ak-public-home) .dialog-content,
html.apikey-newapi-theme:not(.ak-public-home) [role="dialog"]>div:not(.modal-overlay){
  background:#ffffff!important;
  border:1px solid #ebebe7!important;
  border-radius:10px!important;
  box-shadow:0 12px 40px rgba(0,0,0,.10)!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .modal-content,
html.apikey-newapi-theme.dark:not(.ak-public-home) .dialog-content{
  background:#141415!important;border-color:#26262a!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .modal-header,
html.apikey-newapi-theme:not(.ak-public-home) .dialog-header{
  border-bottom:1px solid #ebebe7!important;
  font-weight:700!important;font-size:15px!important;letter-spacing:-.01em!important;
  padding:18px 22px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .modal-body,
html.apikey-newapi-theme:not(.ak-public-home) .dialog-body{padding:20px 22px!important}
html.apikey-newapi-theme:not(.ak-public-home) .modal-footer,
html.apikey-newapi-theme:not(.ak-public-home) .dialog-footer{
  background:transparent!important;
  border-top:1px solid #ebebe7!important;
  padding:14px 22px!important;
}

/* === 9. DROPDOWN ====================================================== */
html.apikey-newapi-theme:not(.ak-public-home) .dropdown{
  background:#ffffff!important;
  border:1px solid #ebebe7!important;
  border-radius:8px!important;
  box-shadow:0 8px 28px rgba(0,0,0,.08)!important;
  padding:4px!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .dropdown{background:#141415!important;border-color:#26262a!important}
html.apikey-newapi-theme:not(.ak-public-home) .dropdown-item{
  border-radius:5px!important;color:#2a2c30!important;font-weight:500!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .dropdown-item:hover{
  background:#f3f2ee!important;color:#1c1d20!important;
}
html.apikey-newapi-theme.dark:not(.ak-public-home) .dropdown-item{color:#cbcdd2!important}
html.apikey-newapi-theme.dark:not(.ak-public-home) .dropdown-item:hover{background:#1f1f23!important;color:#fafaf8!important}

/* === 10. BADGES (thin label style) =================================== */
html.apikey-newapi-theme:not(.ak-public-home) .badge,
html.apikey-newapi-theme:not(.ak-public-home) [class*="badge-"]{
  background:transparent!important;
  border:1px solid #d6d6d3!important;
  color:#2a2c30!important;
  font-weight:600!important;letter-spacing:.04em!important;
  border-radius:4px!important;
  padding:2px 8px!important;font-size:11px!important;
  text-transform:uppercase!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .badge-success{
  border-color:#b6dabd!important;color:#1d6f37!important;background:transparent!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .badge-error,
html.apikey-newapi-theme:not(.ak-public-home) .badge-danger{
  border-color:#e9a4a7!important;color:#b1262c!important;background:transparent!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .badge-warning{
  border-color:#e5cc92!important;color:#876c1d!important;background:transparent!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .badge-info,
html.apikey-newapi-theme:not(.ak-public-home) .badge-primary{
  border-color:#cccecf!important;color:#3a3d44!important;background:transparent!important;
}

/* === 11. TABS (underline-style, no pill) ============================= */
html.apikey-newapi-theme:not(.ak-public-home) .tabs{
  background:transparent!important;border-radius:0!important;
  padding:0!important;gap:0!important;
  border-bottom:1px solid #ebebe7!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .tabs button,
html.apikey-newapi-theme:not(.ak-public-home) .tab{
  background:transparent!important;border-radius:0!important;
  border-bottom:2px solid transparent!important;margin-bottom:-1px!important;
  color:#5a5d65!important;font-weight:500!important;
  padding:10px 16px!important;font-size:13.5px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .tabs button.active,
html.apikey-newapi-theme:not(.ak-public-home) .tab.active,
html.apikey-newapi-theme:not(.ak-public-home) .tab-active{
  background:transparent!important;
  border-bottom-color:#1c1d20!important;
  color:#1c1d20!important;font-weight:700!important;box-shadow:none!important;
}

/* === 12. TOASTS (white card + side accent only) ====================== */
html.apikey-newapi-theme:not(.ak-public-home) .toast,
html.apikey-newapi-theme:not(.ak-public-home) [class*="toast-"]:not(td):not(th){
  background:#ffffff!important;
  border:1px solid #ebebe7!important;
  border-radius:8px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.10)!important;
  color:#2a2c30!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .toast-success{border-left:3px solid #2d9d4f!important}
html.apikey-newapi-theme:not(.ak-public-home) .toast-error{border-left:3px solid #c12128!important}
html.apikey-newapi-theme:not(.ak-public-home) .toast-warning{border-left:3px solid #c8821b!important}
html.apikey-newapi-theme:not(.ak-public-home) .toast-info{border-left:3px solid #1c1d20!important}

/* === 13. PRIMARY COLOR DESATURATE (black > blue on logged-in side) === */
html.apikey-newapi-theme:not(.ak-public-home) .text-primary-500,
html.apikey-newapi-theme:not(.ak-public-home) .text-primary-600,
html.apikey-newapi-theme:not(.ak-public-home) .text-primary-700{color:#2a2c30!important}
html.apikey-newapi-theme:not(.ak-public-home) .bg-primary-500{background-color:#1c1d20!important}
html.apikey-newapi-theme:not(.ak-public-home) .bg-primary-50,
html.apikey-newapi-theme:not(.ak-public-home) .bg-primary-100{background-color:transparent!important}
html.apikey-newapi-theme:not(.ak-public-home) .border-primary-500,
html.apikey-newapi-theme:not(.ak-public-home) .border-primary-600{border-color:#1c1d20!important}
html.apikey-newapi-theme:not(.ak-public-home) .ring-primary-500{--tw-ring-color:rgba(28,29,32,.18)!important}
html.apikey-newapi-theme:not(.ak-public-home) .from-primary-500,
html.apikey-newapi-theme:not(.ak-public-home) .from-primary-600{--tw-gradient-from:#1c1d20!important}
html.apikey-newapi-theme:not(.ak-public-home) .to-primary-500,
html.apikey-newapi-theme:not(.ak-public-home) .to-primary-600{--tw-gradient-to:#1c1d20!important}
html.apikey-newapi-theme:not(.ak-public-home) .shadow-glow,
html.apikey-newapi-theme:not(.ak-public-home) .shadow-glow-lg{box-shadow:none!important}

/* === 14. LINKS (text underline on hover, charcoal not blue) ========== */
html.apikey-newapi-theme:not(.ak-public-home) a:not(.sidebar-link):not(.dropdown-item):not(.btn):not([class*="ak-"]):not([class*="footer"]):not([class*="nav-"]):not([class*="ant-"]){
  color:#1c1d20!important;text-decoration:none;
}
html.apikey-newapi-theme:not(.ak-public-home) a:not(.sidebar-link):not(.dropdown-item):not(.btn):not([class*="ak-"]):not([class*="footer"]):not([class*="nav-"]):not([class*="ant-"]):hover{
  text-decoration:underline!important;text-underline-offset:3px!important;
}

/* === 15. SPINNER & SKELETON ========================================== */
html.apikey-newapi-theme:not(.ak-public-home) .spinner{
  border-color:#ebebe7!important;border-top-color:#1c1d20!important;
}
html.apikey-newapi-theme:not(.ak-public-home) .skeleton{
  background:linear-gradient(90deg,#f3f2ee 25%,#fafaf8 50%,#f3f2ee 75%)!important;
}

/* === 16. SCROLLBARS (inkpot) ========================================= */
html.apikey-newapi-theme:not(.ak-public-home) ::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.16)!important;
}
html.apikey-newapi-theme:not(.ak-public-home) ::-webkit-scrollbar-thumb:hover{
  background:rgba(0,0,0,.28)!important;
}

/* === 17. CHARTS (drop hue-rotate, let chart.js own its palette) ===== */
html.apikey-newapi-theme:not(.ak-public-home) [class*="chart"] canvas,
html.apikey-newapi-theme:not(.ak-public-home) .charts canvas,
html.apikey-newapi-theme:not(.ak-public-home) .chart-container canvas{
  filter:none!important;
}

/* === 18. AUTH PAGES (login / register) — same editorial flatness ==== */
html.apikey-newapi-theme.apikey-route-auth body{
  background:#ffffff!important;background-image:none!important;
}
html.apikey-newapi-theme.apikey-route-auth .card-glass,
html.apikey-newapi-theme.apikey-route-auth .glass-card{
  background:#ffffff!important;
  border:1px solid #ebebe7!important;
  border-radius:10px!important;
  box-shadow:0 8px 32px rgba(0,0,0,.06)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
html.apikey-newapi-theme.apikey-route-auth h1,
html.apikey-newapi-theme.apikey-route-auth h2{
  letter-spacing:-.02em!important;font-weight:700!important;color:#1c1d20!important;
}
html.apikey-newapi-theme.apikey-route-auth .text-gradient{
  background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
  color:#1c1d20!important;-webkit-text-fill-color:#1c1d20!important;
}

/* === 19. KILL THE Round-1 hover-lift on cards (editorial = no float) = */
html.apikey-newapi-theme:not(.ak-public-home) .card,
html.apikey-newapi-theme:not(.ak-public-home) .card-hover,
html.apikey-newapi-theme:not(.ak-public-home) .stat-card{
  transition:border-color .15s ease!important;transform:none!important;
}

/* === 20. TABLE PAGINATION + ACTIONS ROW (calmer) ==================== */
html.apikey-newapi-theme:not(.ak-public-home) .pagination,
html.apikey-newapi-theme:not(.ak-public-home) [class*="pagination"]{
  font-size:12.5px!important;color:#5a5d65!important;
}

/* === END EDITORIAL OVERRIDE ========================================= */


/* =====================================================================
   ROUND 4 — ARCHITECTURAL OVERLAY  (2026-05-01)
   4 个模块：top-nav / cmd+k / dashboard hero / page header
   ===================================================================== */

/* === HIDE SIDEBAR when our top-nav is active ========================= */
html.apikey-newapi-theme.apikey-route-app .sidebar,
html.apikey-newapi-theme.apikey-route-app aside.sidebar{
  display:none!important;
}
html.apikey-newapi-theme.apikey-route-app [class*="lg:ml-"]:not(.ak-topnav):not(.ak-topnav *):not(#ak-cmdk-root):not(#ak-cmdk-root *){
  margin-left:0!important;
}
/* ALSO push the original Sub2API header content to make room for our top nav */
html.apikey-newapi-theme.ak-topnav-active body{padding-top:60px!important}
html.apikey-newapi-theme.ak-topnav-active header.glass,
html.apikey-newapi-theme.ak-topnav-active header.sticky.top-0{
  /* 隐藏 Sub2API 默认 header 中重复的元素，但保留它（万一里面有 Vue 关键监听器） */
  position:relative!important;top:auto!important;
  border-bottom:0!important;
  height:auto!important;min-height:0!important;
  padding-top:0!important;padding-bottom:0!important;
}
html.apikey-newapi-theme.ak-topnav-active header.glass > div,
html.apikey-newapi-theme.ak-topnav-active header.sticky.top-0 > div{
  /* 隐藏 Sub2API 顶栏的 inner（避免重复显示标题/搜索） */
  display:none!important;
}

/* === 1. TOP NAV ===================================================== */
.ak-topnav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  height:56px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
  border-bottom:1px solid #ebebe7;
}
html.apikey-newapi-theme.dark .ak-topnav{
  background:rgba(13,13,14,.88);border-bottom-color:#26262a;
}
.ak-topnav-inner{
  height:100%;
  max-width:1480px;margin:0 auto;
  padding:0 22px;
  display:flex;align-items:center;gap:24px;
}
.ak-topnav-brand{
  display:flex;align-items:center;gap:9px;flex:none;
  text-decoration:none;color:#1c1d20;
  font-weight:800;letter-spacing:-.02em;font-size:15px;
}
html.apikey-newapi-theme.dark .ak-topnav-brand{color:#f0f0f1}
.ak-topnav-logo{
  width:28px;height:28px;border-radius:7px;
  background:#fff;border:1px solid #e6e6e3;
  display:grid;place-items:center;overflow:hidden;
}
html.apikey-newapi-theme.dark .ak-topnav-logo{background:#1a1a1c;border-color:#2c2c31}
.ak-topnav-logo img{width:20px;height:20px;object-fit:contain;display:block}
.ak-topnav-name{font-size:15px}
.ak-topnav-links{
  flex:1;display:flex;align-items:center;gap:2px;overflow-x:auto;
  scrollbar-width:none;
}
.ak-topnav-links::-webkit-scrollbar{display:none}
.ak-topnav-link{
  height:32px;padding:0 12px;border-radius:7px;
  display:inline-flex;align-items:center;
  text-decoration:none;color:#5a5d65;
  font-size:13.5px;font-weight:600;
  white-space:nowrap;
  transition:background .15s ease,color .15s ease;
}
html.apikey-newapi-theme.dark .ak-topnav-link{color:#9b9ea4}
.ak-topnav-link:hover{background:#f3f2ee;color:#1c1d20}
html.apikey-newapi-theme.dark .ak-topnav-link:hover{background:#1f1f23;color:#f0f0f1}
.ak-topnav-link-active{
  background:#efeeea!important;color:#1c1d20!important;font-weight:700!important;
}
html.apikey-newapi-theme.dark .ak-topnav-link-active{background:#22232a!important;color:#fafaf8!important}
.ak-topnav-right{
  display:flex;align-items:center;gap:10px;flex:none;
}
.ak-topnav-switch{
  font-size:13px;color:#5a5d65;text-decoration:none;
  padding:6px 10px;border-radius:6px;font-weight:600;
}
.ak-topnav-switch:hover{background:#f3f2ee;color:#1c1d20}
html.apikey-newapi-theme.dark .ak-topnav-switch{color:#9b9ea4}
html.apikey-newapi-theme.dark .ak-topnav-switch:hover{background:#1f1f23;color:#f0f0f1}
.ak-topnav-cmdk{
  display:inline-flex;align-items:center;gap:8px;
  height:32px;padding:0 10px 0 12px;border-radius:7px;
  background:#fafaf8;color:#888a90;
  border:1px solid #ebebe7;font:inherit;font-size:13px;font-weight:500;
  cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.ak-topnav-cmdk:hover{background:#fff;border-color:#d4d4d0;color:#1c1d20}
html.apikey-newapi-theme.dark .ak-topnav-cmdk{background:#1a1a1c;border-color:#2c2c31;color:#888a90}
html.apikey-newapi-theme.dark .ak-topnav-cmdk:hover{background:#1f1f23;color:#f0f0f1}
.ak-topnav-cmdk-l{font-weight:500}
.ak-topnav-kbd{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;padding:2px 6px;border-radius:4px;
  background:#fff;border:1px solid #ebebe7;color:#888a90;
}
html.apikey-newapi-theme.dark .ak-topnav-kbd{background:#0d0d0e;border-color:#2c2c31}
.ak-topnav-avatar{
  width:32px;height:32px;border-radius:7px;
  background:#1c1d20;color:#fff;border:0;
  font:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;
  cursor:pointer;display:grid;place-items:center;
  transition:opacity .15s ease;
}
.ak-topnav-avatar:hover{opacity:.85}

@media (max-width:760px){
  .ak-topnav-inner{padding:0 14px;gap:12px}
  .ak-topnav-name{display:none}
  .ak-topnav-cmdk-l{display:none}
  .ak-topnav-kbd{display:none}
  .ak-topnav-cmdk{padding:0 8px;width:32px;justify-content:center}
  .ak-topnav-switch{display:none}
}

/* === 2. CMD+K PALETTE =============================================== */
#ak-cmdk-root{display:none}
.ak-cmdk-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(15,17,22,.55);
  backdrop-filter:blur(4px);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:14vh;
  animation:ak-cmdk-fade .14s ease-out;
}
@keyframes ak-cmdk-fade{from{opacity:0}to{opacity:1}}
@keyframes ak-cmdk-pop{from{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.ak-cmdk-modal{
  width:min(580px, calc(100vw - 32px));
  background:#ffffff;
  border:1px solid #ebebe7;
  border-radius:12px;
  box-shadow:0 32px 80px rgba(0,0,0,.18);
  overflow:hidden;
  animation:ak-cmdk-pop .18s cubic-bezier(.16,1,.3,1);
}
html.apikey-newapi-theme.dark .ak-cmdk-modal{
  background:#141415;border-color:#2c2c31;box-shadow:0 32px 80px rgba(0,0,0,.50);
}
.ak-cmdk-input-wrap{
  display:flex;align-items:center;gap:11px;
  padding:14px 16px;border-bottom:1px solid #ebebe7;
}
html.apikey-newapi-theme.dark .ak-cmdk-input-wrap{border-bottom-color:#26262a}
.ak-cmdk-input-wrap svg{color:#888a90;flex:none}
.ak-cmdk-input{
  flex:1;border:0;outline:0;background:transparent;
  font:inherit;font-size:15px;color:#1c1d20;font-weight:500;
}
.ak-cmdk-input::placeholder{color:#9c9fa5}
html.apikey-newapi-theme.dark .ak-cmdk-input{color:#f0f0f1}
.ak-cmdk-input-kbd{
  font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;
  padding:2px 6px;border-radius:4px;background:#f3f2ee;border:1px solid #ebebe7;
  color:#888a90;flex:none;
}
html.apikey-newapi-theme.dark .ak-cmdk-input-kbd{background:#1f1f23;border-color:#2c2c31}
.ak-cmdk-list{
  max-height:46vh;overflow-y:auto;padding:6px;
  scrollbar-width:thin;scrollbar-color:#d4d4d0 transparent;
}
.ak-cmdk-list::-webkit-scrollbar{width:8px}
.ak-cmdk-list::-webkit-scrollbar-thumb{background:#d4d4d0;border-radius:999px}
.ak-cmdk-empty{
  padding:32px 16px;text-align:center;color:#9c9fa5;font-size:13.5px;
}
.ak-cmdk-item{
  display:flex;align-items:center;gap:11px;
  padding:9px 11px;border-radius:7px;cursor:pointer;
  transition:background .12s ease;
}
.ak-cmdk-item-active{background:#f3f2ee}
html.apikey-newapi-theme.dark .ak-cmdk-item-active{background:#1f1f23}
.ak-cmdk-ico{
  width:30px;height:30px;flex:none;
  background:#fff;border:1px solid #ebebe7;border-radius:7px;
  display:grid;place-items:center;
  color:#5a5d65;font-size:13px;
}
html.apikey-newapi-theme.dark .ak-cmdk-ico{background:#1a1a1c;border-color:#2c2c31;color:#9b9ea4}
.ak-cmdk-text{flex:1;min-width:0}
.ak-cmdk-l{font-size:13.5px;color:#1c1d20;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.ak-cmdk-h{font-size:12px;color:#888a90;line-height:1.4;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.apikey-newapi-theme.dark .ak-cmdk-l{color:#f0f0f1}
.ak-cmdk-tag{
  font-size:10.5px;color:#888a90;font-weight:600;
  padding:2px 7px;border-radius:4px;background:#f3f2ee;letter-spacing:.04em;
  flex:none;
}
html.apikey-newapi-theme.dark .ak-cmdk-tag{background:#1f1f23}
.ak-cmdk-foot{
  display:flex;align-items:center;gap:18px;
  padding:9px 16px;border-top:1px solid #ebebe7;
  font-size:11.5px;color:#888a90;
}
html.apikey-newapi-theme.dark .ak-cmdk-foot{border-top-color:#26262a}
.ak-cmdk-foot kbd{
  font-family:ui-monospace,SFMono-Regular,monospace;font-size:10.5px;
  padding:1px 5px;border-radius:3px;background:#f3f2ee;border:1px solid #ebebe7;
  margin-right:4px;color:#5a5d65;
}
html.apikey-newapi-theme.dark .ak-cmdk-foot kbd{background:#1f1f23;border-color:#2c2c31}
body.ak-cmdk-locked{overflow:hidden}

/* === 3. DASHBOARD HERO ============================================== */
.ak-dash-hero{
  margin:0 0 28px;
  padding:0;
}
.ak-dash-hero-row{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-bottom:20px;
}
.ak-dash-hero-greet{
  display:flex;align-items:center;gap:18px;
}
.ak-dash-hero-emoji{
  font-size:42px;line-height:1;flex:none;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.06));
}
.ak-dash-hero-h{
  font-size:26px;font-weight:800;color:#1c1d20;line-height:1.2;
  letter-spacing:-.025em;margin:0;
}
html.apikey-newapi-theme.dark .ak-dash-hero-h{color:#f0f0f1}
.ak-dash-hero-d{
  margin-top:6px;font-size:13.5px;color:#5a5d65;line-height:1.55;
}
html.apikey-newapi-theme.dark .ak-dash-hero-d{color:#9b9ea4}
.ak-dash-hero-cmdk{
  display:inline-flex;align-items:center;gap:10px;flex:none;
  padding:8px 12px 8px 14px;border-radius:8px;
  background:#fafaf8;color:#5a5d65;
  border:1px solid #ebebe7;font:inherit;font-size:13px;font-weight:600;
  cursor:pointer;transition:all .15s ease;
}
.ak-dash-hero-cmdk > span{display:inline-flex;align-items:center;gap:7px}
.ak-dash-hero-cmdk > span > svg{color:#888a90}
.ak-dash-hero-cmdk:hover{background:#fff;border-color:#1c1d20;color:#1c1d20}
.ak-dash-hero-cmdk kbd{
  font-family:ui-monospace,monospace;font-size:11px;
  padding:2px 6px;border-radius:4px;background:#fff;border:1px solid #ebebe7;color:#888a90;
}
html.apikey-newapi-theme.dark .ak-dash-hero-cmdk{background:#1a1a1c;border-color:#2c2c31;color:#9b9ea4}
html.apikey-newapi-theme.dark .ak-dash-hero-cmdk:hover{background:#1f1f23;color:#f0f0f1;border-color:#fafaf8}
html.apikey-newapi-theme.dark .ak-dash-hero-cmdk kbd{background:#0d0d0e;border-color:#2c2c31}

.ak-dash-quick{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:12px;
  margin-bottom:32px;
}
.ak-dash-quick-card{
  display:block;text-decoration:none;
  background:#ffffff;
  border:1px solid #ebebe7;border-radius:8px;
  padding:18px 20px;
  transition:border-color .15s ease,transform .15s ease;
  position:relative;
}
.ak-dash-quick-card::after{
  content:'→';position:absolute;right:18px;top:18px;
  font-size:16px;color:#9c9fa5;transition:transform .15s ease,color .15s ease;
}
.ak-dash-quick-card:hover{border-color:#1c1d20;transform:translateY(-1px)}
.ak-dash-quick-card:hover::after{color:#1c1d20;transform:translateX(3px)}
html.apikey-newapi-theme.dark .ak-dash-quick-card{background:#141415;border-color:#26262a}
html.apikey-newapi-theme.dark .ak-dash-quick-card:hover{border-color:#fafaf8}
.ak-dash-quick-ico{font-size:22px;margin-bottom:10px;line-height:1}
.ak-dash-quick-t{font-size:14.5px;font-weight:700;color:#1c1d20;margin-bottom:4px;letter-spacing:-.01em}
html.apikey-newapi-theme.dark .ak-dash-quick-t{color:#f0f0f1}
.ak-dash-quick-h{font-size:12.5px;color:#5a5d65;line-height:1.5}
html.apikey-newapi-theme.dark .ak-dash-quick-h{color:#9b9ea4}

@media (max-width:720px){
  .ak-dash-hero-row{flex-direction:column;align-items:flex-start;gap:14px}
  .ak-dash-hero-cmdk{align-self:stretch;justify-content:center}
  .ak-dash-hero-h{font-size:22px}
  .ak-dash-hero-emoji{font-size:34px}
  .ak-dash-quick{grid-template-columns:1fr 1fr;gap:10px}
  .ak-dash-quick-card{padding:14px 16px}
}

/* === 4. PAGE HEADER ================================================= */
.ak-page-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  margin:0 0 28px;padding:0 0 18px;
  border-bottom:1px solid #ebebe7;
}
html.apikey-newapi-theme.dark .ak-page-head{border-bottom-color:#26262a}
.ak-page-head-text{flex:1;min-width:0}
.ak-page-head-title{
  margin:0;font-size:22px;font-weight:800;color:#1c1d20;
  letter-spacing:-.025em;line-height:1.2;
}
html.apikey-newapi-theme.dark .ak-page-head-title{color:#f0f0f1}
.ak-page-head-desc{
  margin:6px 0 0;font-size:13px;color:#5a5d65;line-height:1.5;
}
html.apikey-newapi-theme.dark .ak-page-head-desc{color:#9b9ea4}
.ak-page-head-action{
  flex:none;
  display:inline-flex;align-items:center;
  height:34px;padding:0 14px;border-radius:6px;
  background:#1c1d20;color:#fff;font-weight:600;font-size:13px;
  text-decoration:none;letter-spacing:-.005em;
  transition:background .15s ease;
}
.ak-page-head-action:hover{background:#0a0a0c}

/* hide Sub2API original page H1 (we replace with our own) */
html.apikey-newapi-theme.apikey-route-app header.glass h1,
html.apikey-newapi-theme.apikey-route-app header.glass p{display:none!important}
/* Also hide Sub2API's per-page title duplications inside main containers if any */
html.apikey-newapi-theme.apikey-route-app main h1.text-2xl:first-child,
html.apikey-newapi-theme.apikey-route-app main h1.text-3xl:first-child{display:none!important}

@media (max-width:720px){
  .ak-page-head{flex-direction:column;gap:12px;padding-bottom:14px;margin-bottom:20px}
  .ak-page-head-action{align-self:flex-start}
  .ak-page-head-title{font-size:19px}
}

/* === Main content margin reset (full width when sidebar gone) ====== */
html.apikey-newapi-theme.apikey-route-app #app > .min-h-screen,
html.apikey-newapi-theme.apikey-route-app #app > div{
  /* clean any sidebar-induced offsets */
}
html.apikey-newapi-theme.apikey-route-app main{
  max-width:1480px;margin:0 auto;padding:24px 22px 60px!important;
}
@media (max-width:720px){
  html.apikey-newapi-theme.apikey-route-app main{padding:18px 14px 48px!important}
}

/* === END ARCHITECTURAL OVERLAY ===================================== */


/* =====================================================================
   ROUND 4.1 — top-nav fix (more dropdown + avatar popover)  2026-05-01
   修两个紧急 bug：① auth_user key 读对了头像 ② admin 菜单大幅扩充
   ===================================================================== */

/* "更多 ▾" trigger button - looks like other links */
.ak-topnav-more-trigger{
  font:inherit;font-size:13.5px;font-weight:600;
  background:transparent;border:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:4px;
}
.ak-topnav-more-trigger svg{opacity:.7}

/* More dropdown popover */
.ak-topnav-more-pop{
  position:absolute;top:50px;right:50%;transform:translateX(40%);
  min-width:200px;
  background:#fff;border:1px solid #ebebe7;border-radius:10px;
  box-shadow:0 12px 40px rgba(0,0,0,.10);
  padding:5px;z-index:60;
  display:flex;flex-direction:column;gap:1px;
}
.ak-topnav-more-pop[hidden]{display:none}
.ak-topnav-more-item{
  padding:8px 12px;border-radius:6px;
  font-size:13px;font-weight:500;color:#2a2c30;text-decoration:none;
  transition:background .12s ease;
}
.ak-topnav-more-item:hover{background:#f3f2ee;color:#1c1d20}
.ak-topnav-more-item-active{background:#efeeea!important;color:#1c1d20!important;font-weight:700!important}
html.apikey-newapi-theme.dark .ak-topnav-more-pop{background:#141415;border-color:#2c2c31;box-shadow:0 12px 40px rgba(0,0,0,.5)}
html.apikey-newapi-theme.dark .ak-topnav-more-item{color:#cbcdd2}
html.apikey-newapi-theme.dark .ak-topnav-more-item:hover{background:#1f1f23;color:#fafaf8}
html.apikey-newapi-theme.dark .ak-topnav-more-item-active{background:#22232a!important;color:#fafaf8!important}

/* Avatar popover */
.ak-topnav-avatar-pop{
  position:absolute;top:50px;right:18px;
  min-width:240px;
  background:#fff;border:1px solid #ebebe7;border-radius:10px;
  box-shadow:0 16px 48px rgba(0,0,0,.12);
  z-index:60;overflow:hidden;
}
.ak-topnav-avatar-pop[hidden]{display:none}
html.apikey-newapi-theme.dark .ak-topnav-avatar-pop{background:#141415;border-color:#2c2c31;box-shadow:0 16px 48px rgba(0,0,0,.55)}
.ak-topnav-avatar-head{
  padding:14px 16px 12px;border-bottom:1px solid #ebebe7;
}
html.apikey-newapi-theme.dark .ak-topnav-avatar-head{border-bottom-color:#26262a}
.ak-topnav-avatar-name{font-size:14px;font-weight:700;color:#1c1d20;letter-spacing:-.01em}
.ak-topnav-avatar-email{font-size:12px;color:#888a90;margin-top:3px;word-break:break-all}
.ak-topnav-avatar-role{
  display:inline-block;margin-top:6px;
  font-size:10.5px;font-weight:600;letter-spacing:.04em;
  padding:1px 7px;border-radius:4px;
  background:#f3f2ee;color:#5a5d65;text-transform:uppercase;
}
html.apikey-newapi-theme.dark .ak-topnav-avatar-name{color:#f0f0f1}
html.apikey-newapi-theme.dark .ak-topnav-avatar-role{background:#1f1f23;color:#9b9ea4}
.ak-topnav-avatar-list{padding:5px;display:flex;flex-direction:column;gap:1px}
.ak-topnav-avatar-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:6px;
  font:inherit;font-size:13px;font-weight:500;color:#2a2c30;
  background:transparent;border:0;cursor:pointer;text-decoration:none;
  transition:background .12s ease;
  text-align:left;
}
.ak-topnav-avatar-item:hover{background:#f3f2ee;color:#1c1d20}
.ak-topnav-avatar-item svg{flex:none}
html.apikey-newapi-theme.dark .ak-topnav-avatar-item{color:#cbcdd2}
html.apikey-newapi-theme.dark .ak-topnav-avatar-item:hover{background:#1f1f23;color:#fafaf8}
.ak-topnav-avatar-logout{color:#b1262c!important}
.ak-topnav-avatar-logout:hover{background:#fdf3f3!important;color:#b1262c!important}
html.apikey-newapi-theme.dark .ak-topnav-avatar-logout{color:#f87171!important}
html.apikey-newapi-theme.dark .ak-topnav-avatar-logout:hover{background:rgba(248,113,113,.14)!important}

/* Make sure the topnav is the popover anchor */
.ak-topnav{position:fixed!important}

/* Avatar SVG fallback (when initials are empty) */
.ak-topnav-avatar svg{color:#fff;width:14px;height:14px}

/* Ensure avatar popovers/more-popovers don't get cut off by topnav inner overflow */
.ak-topnav-inner{position:relative}

@media (max-width:760px){
  .ak-topnav-more-pop{right:16px;transform:none}
  .ak-topnav-avatar-pop{right:14px;min-width:240px}
}

/* === END ROUND 4.1 PATCH ============================================ */


/* =====================================================================
   ROUND 4.2 - input padding for leading/trailing icons  (2026-05-01)
   Fix: Editorial padding 8px 12px important kills Tailwind pl-11/pr-11
   spacing for icon overlays. Restore room for the icon.
   ===================================================================== */

html.apikey-newapi-theme:not(.ak-public-home) input.pl-8,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-9,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-10,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-11,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-12,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-8,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-9,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-10,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-11,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-12{
  padding-left:40px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) input.pr-8,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-9,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-10,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-11,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-12,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-8,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-9,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-10,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-11,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-12{
  padding-right:40px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) select.pl-9,
html.apikey-newapi-theme:not(.ak-public-home) select.pl-10,
html.apikey-newapi-theme:not(.ak-public-home) select.pl-11,
html.apikey-newapi-theme:not(.ak-public-home) textarea.pl-9,
html.apikey-newapi-theme:not(.ak-public-home) textarea.pl-10,
html.apikey-newapi-theme:not(.ak-public-home) textarea.pl-11{
  padding-left:40px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) select.pr-9,
html.apikey-newapi-theme:not(.ak-public-home) select.pr-10,
html.apikey-newapi-theme:not(.ak-public-home) select.pr-11{
  padding-right:40px!important;
}

/* === END R4.2 PATCH ================================================ */


/* === ROUND 4.5 - emoji to SVG icon styling (2026-05-01) ============ */
.ak-dash-quick-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;margin-bottom:14px;
  background:#fafaf8;border:1px solid #ebebe7;border-radius:8px;
  color:#1c1d20;font-size:0;
}
.ak-dash-quick-ico svg{width:20px;height:20px}
html.apikey-newapi-theme.dark .ak-dash-quick-ico{
  background:#1a1a1c;border-color:#2c2c31;color:#f0f0f1;
}
.ak-dash-hero-emoji{
  display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;flex:none;
  color:#1c1d20;font-size:0;filter:none;
}
.ak-dash-hero-emoji svg{width:32px;height:32px}
html.apikey-newapi-theme.dark .ak-dash-hero-emoji{color:#f0f0f1}
.ak-topnav-avatar-item svg{flex:none;width:14px;height:14px;color:#5a5d65}
html.apikey-newapi-theme.dark .ak-topnav-avatar-item svg{color:#9b9ea4}
.ak-topnav-avatar-logout svg{color:#b1262c!important}
.ak-cmdk-ico svg{width:13px;height:13px}
.ak-cmdk-ico{color:#5a5d65;font-size:0}
html.apikey-newapi-theme.dark .ak-cmdk-ico{color:#9b9ea4}
/* === END R4.5 ====================================================== */


/* === ROUND 4.6 - landing polish (2026-05-01) ============================
   Trust signal under CTAs + 3-step "how to" section + multi-column footer
   ====================================================================== */

/* Trust signal */
.ak-trust-signal{
  display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;
  margin:-14px auto 36px;
  font-size:12.5px;color:#7a8392;font-weight:500;letter-spacing:.01em;
  animation:ak-rise-in .9s cubic-bezier(.16,1,.3,1) .28s both;
}
.ak-trust-dot{
  display:inline-block;width:3px;height:3px;border-radius:50%;
  background:#cbcfd5;
}

/* How-to section */
.ak-howto-section{
  padding:64px 24px 36px;
  display:flex;justify-content:center;
  position:relative;z-index:2;
}
.ak-howto-inner{width:min(100%, 1000px);text-align:center}
.ak-howto-label{
  display:inline-block;margin-bottom:32px;
  font-size:12.5px;color:#7a8392;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
}
.ak-howto-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:16px;text-align:left;
}
.ak-howto-step{
  padding:24px 22px;
  background:rgba(255,255,255,.78);
  border:1px solid #e6e9ef;border-radius:14px;
  backdrop-filter:blur(8px);
  transition:border-color .2s ease, transform .2s ease;
}
.ak-howto-step:hover{
  border-color:#1c1d20;
  transform:translateY(-1px);
}
.ak-howto-step-num{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:12px;font-weight:700;letter-spacing:.06em;
  color:#0969ff;
  margin-bottom:14px;
}
.ak-howto-step-t{
  margin:0 0 8px;font-size:16px;font-weight:800;
  color:#1b2028;letter-spacing:-.02em;line-height:1.3;
}
.ak-howto-step-d{
  margin:0;font-size:13.5px;color:#5d6676;line-height:1.65;
}
@media (max-width:760px){
  .ak-howto-section{padding:36px 20px 12px}
  .ak-howto-grid{grid-template-columns:1fr;gap:12px}
  .ak-howto-step{padding:20px 18px}
}

/* Multi-column footer */
.ak-footer-grid{
  position:relative;z-index:2;
  padding:64px 24px 36px;
  border-top:1px solid #e7eaf0;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(14px);
}
.ak-footer-inner{
  width:min(100%, 1100px);margin:0 auto;
  display:grid;grid-template-columns:300px 1fr;gap:64px;
  margin-bottom:48px;
}
.ak-footer-brand{}
.ak-footer-brand-link{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;color:#1b2028;
  font-size:18px;font-weight:850;letter-spacing:-.025em;
  margin-bottom:14px;
}
.ak-footer-logo{
  width:32px;height:32px;border-radius:9px;
  background:#fff;border:1px solid rgba(17,24,39,.10);
  display:grid;place-items:center;overflow:hidden;
  box-shadow:0 6px 16px rgba(20,31,49,.06);
}
.ak-footer-logo img{width:22px;height:22px;object-fit:contain}
.ak-footer-tagline{
  margin:0;font-size:13px;color:#7a8392;line-height:1.65;
  max-width:240px;
}
.ak-footer-cols{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:32px;
}
.ak-footer-col{display:flex;flex-direction:column;gap:9px}
.ak-footer-col-title{
  font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#1b2028;
  margin-bottom:8px;
}
.ak-footer-col a{
  font-size:13.5px;color:#5d6676;text-decoration:none;font-weight:500;
  transition:color .15s ease;line-height:1.4;
}
.ak-footer-col a:hover{color:#0969ff}
.ak-footer-bottom{
  width:min(100%, 1100px);margin:0 auto;
  padding-top:24px;border-top:1px solid #e7eaf0;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  font-size:12.5px;color:#8a94a6;
}
.ak-footer-meta{font-size:12px;color:#a0a8b3}

@media (max-width:880px){
  .ak-footer-inner{grid-template-columns:1fr;gap:36px}
  .ak-footer-cols{grid-template-columns:repeat(2, 1fr);gap:28px}
  .ak-footer-grid{padding:48px 22px 28px}
}
@media (max-width:480px){
  .ak-footer-cols{grid-template-columns:1fr;gap:24px}
  .ak-footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .ak-footer-tagline{max-width:none}
}

/* === END R4.6 ========================================================= */


/* === ROUND 4.7 - hero / page-head at body level (out of Vue tree) ===
   Fix: dashboard hero and per-page header now inject OUTSIDE #app so Vue
   doesn't wipe them on re-render. They need explicit width+padding now
   that they're no longer inside <main>'s container.
   ===================================================================== */

#ak-dash-hero,
#ak-page-head{
  max-width:1480px;
  margin:0 auto;
  padding:24px 22px 0;
  position:relative;
  z-index:1;
}
/* Ensure the gap between hero/page-head and Vue main below */
#ak-dash-hero{margin-bottom:0;padding-bottom:8px}
#ak-page-head{
  margin-bottom:0;padding-bottom:18px;
  border-bottom:0!important;  /* border was for in-main version */
}
/* When page-head is at body-level, separator becomes a soft top-of-main hint */
#ak-page-head + #app main,
#ak-page-head ~ #app main{padding-top:14px!important}
#ak-dash-hero + #app main,
#ak-dash-hero ~ #app main{padding-top:14px!important}

/* Re-add bottom border for page header in its new location */
.ak-page-head{
  border-bottom:1px solid #ebebe7!important;
  margin-bottom:0!important;
  padding-bottom:18px!important;
}
html.apikey-newapi-theme.dark .ak-page-head{border-bottom-color:#26262a!important}

@media (max-width:720px){
  #ak-dash-hero,#ak-page-head{padding:18px 14px 0}
}

/* === END R4.7 ======================================================= */


/* === ROUND 4.9 - input icon padding final hardening (2026-05-01) ====
   Editorial padding shorthand changed to padding-top/bottom only, so
   horizontal padding falls through to Sub2API .input + Tailwind .pl-X.
   This block adds belt-and-suspenders explicit values matching Tailwind
   exactly (pl-9=36, pl-10=40, pl-11=44, pl-12=48), with very high
   specificity to win over any conflicting rule.
   ====================================================================== */

html.apikey-newapi-theme:not(.ak-public-home) input.input.pl-9,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-9{padding-left:2.25rem!important}
html.apikey-newapi-theme:not(.ak-public-home) input.input.pl-10,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-10{padding-left:2.5rem!important}
html.apikey-newapi-theme:not(.ak-public-home) input.input.pl-11,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-11,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-11{padding-left:2.75rem!important}
html.apikey-newapi-theme:not(.ak-public-home) input.input.pl-12,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-12{padding-left:3rem!important}

html.apikey-newapi-theme:not(.ak-public-home) input.input.pr-9,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-9{padding-right:2.25rem!important}
html.apikey-newapi-theme:not(.ak-public-home) input.input.pr-10,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-10{padding-right:2.5rem!important}
html.apikey-newapi-theme:not(.ak-public-home) input.input.pr-11,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-11,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-11{padding-right:2.75rem!important}
html.apikey-newapi-theme:not(.ak-public-home) input.input.pr-12,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-12{padding-right:3rem!important}

/* select / textarea same treatment */
html.apikey-newapi-theme:not(.ak-public-home) select.pl-9{padding-left:2.25rem!important}
html.apikey-newapi-theme:not(.ak-public-home) select.pl-10{padding-left:2.5rem!important}
html.apikey-newapi-theme:not(.ak-public-home) select.pl-11{padding-left:2.75rem!important}
html.apikey-newapi-theme:not(.ak-public-home) select.pr-9{padding-right:2.25rem!important}
html.apikey-newapi-theme:not(.ak-public-home) select.pr-10{padding-right:2.5rem!important}
html.apikey-newapi-theme:not(.ak-public-home) select.pr-11{padding-right:2.75rem!important}
html.apikey-newapi-theme:not(.ak-public-home) textarea.pl-11{padding-left:2.75rem!important}

/* === END R4.9 ======================================================== */


/* =====================================================================
   ROUND 4.9 — fix two real bugs (2026-05-03)
   1) ak-topnav-active is on BODY, not html. Old selector never matched.
   2) Sub2API uses pl-6 / pr-6 on some inputs (login email/password fields).
   ===================================================================== */

/* === FIX 1: hide Sub2API native header — selector now matches reality === */
html.apikey-newapi-theme body.ak-topnav-active{padding-top:60px!important}
html.apikey-newapi-theme body.ak-topnav-active header.glass,
html.apikey-newapi-theme body.ak-topnav-active header.sticky.top-0{
  position:relative!important;top:auto!important;
  border-bottom:0!important;
  height:auto!important;min-height:0!important;
  padding-top:0!important;padding-bottom:0!important;
}
html.apikey-newapi-theme body.ak-topnav-active header.glass > div,
html.apikey-newapi-theme body.ak-topnav-active header.sticky.top-0 > div{
  display:none!important;
}
/* defense-in-depth: any FIXED/STICKY top-0 element that is sibling of <main> */
html.apikey-newapi-theme body.ak-topnav-active header,
html.apikey-newapi-theme body.ak-topnav-active #app > header,
html.apikey-newapi-theme body.ak-topnav-active #app > div > header{
  display:none!important;
}

/* === FIX 2: pl-6 / pr-6 / pl-7 / pr-7 for icon-equipped inputs === */
html.apikey-newapi-theme:not(.ak-public-home) input.pl-6,
html.apikey-newapi-theme:not(.ak-public-home) input.pl-7,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-6,
html.apikey-newapi-theme:not(.ak-public-home) .input.pl-7{
  padding-left:34px!important;
}
html.apikey-newapi-theme:not(.ak-public-home) input.pr-6,
html.apikey-newapi-theme:not(.ak-public-home) input.pr-7,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-6,
html.apikey-newapi-theme:not(.ak-public-home) .input.pr-7{
  padding-right:34px!important;
}
/* auth pages also need this — :not(.ak-public-home) catches /login etc. */
html.apikey-newapi-theme.apikey-route-auth input.pl-6,
html.apikey-newapi-theme.apikey-route-auth .input.pl-6{
  padding-left:34px!important;
}
html.apikey-newapi-theme.apikey-route-auth input.pr-6,
html.apikey-newapi-theme.apikey-route-auth .input.pr-6{
  padding-right:34px!important;
}

/* === END R4.9 ====================================================== */


/* =====================================================================
   ROUND 4.10 — eliminate double-title (2026-05-03)
   User chose to keep my injected #ak-page-head over Sub2API native H1.
   Strengthened hide rule covers multiple Sub2API rendering patterns,
   while preserving section H1/H2 inside modals/cards.
   ===================================================================== */

/* --- Hide Sub2API page-level H1 anywhere inside main (any nesting depth) --- */
html.apikey-newapi-theme.apikey-route-app #app main h1.text-xl,
html.apikey-newapi-theme.apikey-route-app #app main h1.text-2xl,
html.apikey-newapi-theme.apikey-route-app #app main h1.text-3xl,
html.apikey-newapi-theme.apikey-route-app #app main h1.text-4xl{
  display:none!important;
}

/* --- Hide H2 acting as page header (font-semibold/bold + large size) --- */
html.apikey-newapi-theme.apikey-route-app #app main > h2.text-2xl,
html.apikey-newapi-theme.apikey-route-app #app main > h2.text-xl,
html.apikey-newapi-theme.apikey-route-app #app main > div > h2.text-2xl,
html.apikey-newapi-theme.apikey-route-app #app main > div > h2.text-xl,
html.apikey-newapi-theme.apikey-route-app #app main > div > div > h2.text-2xl{
  display:none!important;
}

/* --- Hide common Sub2API page-header wrapper class patterns --- */
html.apikey-newapi-theme.apikey-route-app #app main > [class*="page-header"]:first-child,
html.apikey-newapi-theme.apikey-route-app #app main > [class*="page-title"]:first-child,
html.apikey-newapi-theme.apikey-route-app #app main > [class*="PageHeader"]:first-child{
  display:none!important;
}

/* --- Hide direct H1 child of main (no class qualification) --- */
html.apikey-newapi-theme.apikey-route-app #app main > h1,
html.apikey-newapi-theme.apikey-route-app #app main > div > h1{
  display:none!important;
}

/* --- Hide page-level subtitle <p> that sits right after the H1 --- */
html.apikey-newapi-theme.apikey-route-app #app main > p.text-sm:first-of-type,
html.apikey-newapi-theme.apikey-route-app #app main > div > p.text-sm.text-gray-500:first-of-type{
  /* page subtitle ("管理用户账号与权限" etc.) — leave unchanged for safety */
}

/* --- SAFETY: revert hiding inside modals/cards/dialogs (those are section titles) --- */
html.apikey-newapi-theme.apikey-route-app .modal h1,
html.apikey-newapi-theme.apikey-route-app .modal h2,
html.apikey-newapi-theme.apikey-route-app .modal-content h1,
html.apikey-newapi-theme.apikey-route-app .modal-content h2,
html.apikey-newapi-theme.apikey-route-app .modal-body h1,
html.apikey-newapi-theme.apikey-route-app .modal-body h2,
html.apikey-newapi-theme.apikey-route-app .card h1,
html.apikey-newapi-theme.apikey-route-app .card h2,
html.apikey-newapi-theme.apikey-route-app .card-glass h1,
html.apikey-newapi-theme.apikey-route-app .card-glass h2,
html.apikey-newapi-theme.apikey-route-app .card-body h1,
html.apikey-newapi-theme.apikey-route-app .card-body h2,
html.apikey-newapi-theme.apikey-route-app .card-header h1,
html.apikey-newapi-theme.apikey-route-app .card-header h2,
html.apikey-newapi-theme.apikey-route-app [role="dialog"] h1,
html.apikey-newapi-theme.apikey-route-app [role="dialog"] h2,
html.apikey-newapi-theme.apikey-route-app .stat-card h1,
html.apikey-newapi-theme.apikey-route-app .stat-card h2{
  display:revert!important;
}

/* === END R4.10 ====================================================== */
