/* Shared top navigation for the Calxx tool sites. Everything is prefixed with sx- to stay out of each site's own styles.
   Colors come from --sx-* variables; each site gets a theme matching its own palette (data-theme on .sx-nav). */
:root{--sx-h:88px}
html.sx-on body{padding-top:var(--sx-h)}
.sx-nav,.sx-nav *{box-sizing:border-box}
.sx-nav{
  --sx-bg1:rgba(255,255,255,.88);--sx-bg2:rgba(246,248,252,.88);--sx-border:rgba(15,23,42,.08);--sx-shadow:rgba(15,23,42,.10);
  --sx-ink:#1f2937;--sx-muted:#64748b;--sx-icon:#94a3b8;--sx-hover:rgba(15,23,42,.05);
  --sx-accent:#2563eb;--sx-accent-ring:rgba(37,99,235,.18);--sx-active-bg:#fff;--sx-g1:#4f8cff;--sx-g2:#2563eb;
  position:fixed;top:12px;left:16px;right:16px;z-index:2147483000;pointer-events:none;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.3;-webkit-font-smoothing:antialiased}
/* 学籍：暖米白 + 鼠尾草绿 */
.sx-nav[data-theme="student"]{--sx-bg1:rgba(255,252,247,.92);--sx-bg2:rgba(242,248,242,.92);--sx-border:#efe5d6;--sx-shadow:rgba(107,79,42,.12);
  --sx-ink:#2f2a25;--sx-muted:#5d554c;--sx-icon:#b3a99c;--sx-hover:rgba(107,79,42,.06);--sx-accent:#24705e;--sx-accent-ring:rgba(47,138,116,.22);--sx-g1:#4aa58c;--sx-g2:#2f8a74}
/* VLOOKUP：蓝 */
.sx-nav[data-theme="vlookup"],.sx-nav[data-theme="vlookup-new"]{--sx-bg1:rgba(255,255,255,.92);--sx-bg2:rgba(240,246,255,.92);--sx-border:#d9e2f0;--sx-shadow:rgba(37,99,235,.12);
  --sx-ink:#1f2937;--sx-muted:#475467;--sx-icon:#98a2b3;--sx-hover:rgba(37,99,235,.06);--sx-accent:#1d4ed8;--sx-accent-ring:rgba(37,99,235,.2);--sx-g1:#4f8cff;--sx-g2:#2563eb}
.sx-bar{pointer-events:auto;display:flex;align-items:center;gap:6px;width:100%;height:64px;padding:0 10px 0 12px;border-radius:22px;
  background:linear-gradient(100deg,var(--sx-bg1) 0%,var(--sx-bg2) 100%);border:1px solid var(--sx-border);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 28px var(--sx-shadow),0 2px 6px var(--sx-shadow);
  -webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px)}
.sx-g1{stop-color:var(--sx-g1)}.sx-g2{stop-color:var(--sx-g2)}
.sx-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 4px;border-radius:16px;text-decoration:none;color:var(--sx-ink);flex:none}
.sx-brand svg{width:36px;height:36px;flex:none;filter:drop-shadow(0 4px 8px var(--sx-accent-ring))}
.sx-name{display:flex;flex-direction:column;font-size:17px;font-weight:800;letter-spacing:.2px}
.sx-name small{font-size:10.5px;font-weight:500;color:var(--sx-muted);letter-spacing:.5px;margin-top:1px;opacity:.85}
.sx-divider{width:1px;height:26px;background:var(--sx-border);margin:0 8px 0 4px;flex:none}
.sx-links{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:4px 2px}
.sx-links::-webkit-scrollbar{display:none}
.sx-link{position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:15px;color:var(--sx-muted);text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap;border:1px solid transparent;transition:background .18s,color .18s,box-shadow .18s,border-color .18s}
.sx-link svg{width:19px;height:19px;flex:none;color:var(--sx-icon);transition:color .18s}
.sx-link:hover{background:var(--sx-hover);color:var(--sx-ink)}
.sx-link:hover svg{color:var(--sx-accent)}
.sx-link.is-active{background:var(--sx-active-bg);color:var(--sx-accent);border-color:var(--sx-accent-ring);box-shadow:0 6px 16px var(--sx-shadow),0 1px 2px var(--sx-shadow)}
.sx-link.is-active svg{color:var(--sx-accent)}
.sx-link:focus-visible{outline:3px solid var(--sx-accent-ring);outline-offset:2px}
.sx-badge{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.6px;line-height:1;padding:4px 6px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#ff8a65,#f0567f);box-shadow:0 3px 8px rgba(240,86,127,.3)}
@media (max-width:760px){
  :root{--sx-h:72px}
  .sx-nav{top:8px;left:8px;right:8px}
  .sx-bar{height:56px;border-radius:18px;padding:0 6px 0 8px}
  .sx-name{display:none}
  .sx-brand{padding:4px}
  .sx-brand svg{width:32px;height:32px}
  .sx-divider{margin:0 4px}
  .sx-link{height:40px;padding:0 11px;font-size:14px;gap:5px}
  .sx-link svg{display:none}
  .sx-links{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);padding:4px 10px}
}
@media print{html.sx-on body{padding-top:0!important}.sx-nav{display:none!important}}
@media (prefers-reduced-motion:reduce){.sx-link,.sx-link svg{transition:none}}
