/* Shared top navigation for the Calxx tool sites (student.calxx.com is home). 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-nav[data-theme="docx"]{--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,252,247,.92);--sx-bg2:rgba(240,245,252,.92);--sx-border:#efe5d6;--sx-shadow:rgba(107,79,42,.12);
  --sx-ink:#2f2a25;--sx-muted:#5d554c;--sx-icon:#b3a99c;--sx-hover:rgba(47,111,176,.07);--sx-accent:#245a91;--sx-accent-ring:rgba(47,111,176,.22);--sx-g1:#4f8ccf;--sx-g2:#2f6fb0}
.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)}
/* 全部工具 */
.sx-more{pointer-events:auto;margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:14px;border:1px solid var(--sx-border);background:var(--sx-active-bg);color:var(--sx-muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.sx-more svg{width:18px;height:18px;color:var(--sx-icon)}
.sx-more:hover,.sx-more.is-open{color:var(--sx-accent);border-color:var(--sx-accent-ring)}
.sx-more:hover svg,.sx-more.is-open svg{color:var(--sx-accent)}
.sx-more:focus-visible,.sx-card:focus-visible{outline:3px solid var(--sx-accent-ring);outline-offset:2px}
.sx-panel{pointer-events:auto;position:absolute;top:72px;right:0;width:min(600px,100%);padding:16px;border-radius:22px;background:var(--sx-active-bg);border:1px solid var(--sx-border);box-shadow:0 18px 44px var(--sx-shadow),0 2px 6px var(--sx-shadow)}
.sx-panel[hidden]{display:none}
.sx-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 4px 12px}
.sx-panel-head strong{font-size:15px;color:var(--sx-ink)}
.sx-panel-head span{font-size:12px;color:var(--sx-muted)}
.sx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sx-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;border:1px solid var(--sx-border);text-decoration:none;color:var(--sx-ink);transition:background .18s,border-color .18s,transform .18s}
.sx-card:hover{background:var(--sx-hover);border-color:var(--sx-accent-ring);transform:translateY(-1px)}
.sx-card.is-active{border-color:var(--sx-accent-ring);background:var(--sx-hover)}
.sx-card-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(135deg,var(--sx-g1),var(--sx-g2))}
.sx-card-icon svg{width:20px;height:20px}
.sx-card-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.sx-card-text b{display:flex;align-items:center;gap:6px;font-size:14px}
.sx-card-text small{font-size:12px;line-height:1.55;color:var(--sx-muted)}
.sx-card-text code{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--sx-icon)}
.sx-home{font-style:normal;font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;color:var(--sx-accent);background:var(--sx-hover);border:1px solid var(--sx-accent-ring)}
@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-more{height:40px;padding:0 10px}
  .sx-more span{display:none}
  .sx-panel{top:64px;padding:12px}
  .sx-grid{grid-template-columns:1fr}
  .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,.sx-more,.sx-card{transition:none}}
