/*!
 * 橘子窝 UI 系统 v1 —— jzwo 站点家族统一外观
 * 基准站：admin.jzwo.cn（Tabler 浅色 + 品牌蓝 #1F5FCC）
 * 引入顺序：站点自身样式之后 → <link rel="stylesheet" href="/assets/jzwo-ui.css?v=1">
 * 站点标记：<body class="site-mi|site-tools|site-api|site-admin">
 *
 * 设计约定（改任何站点都按这套来，别再各改各的）：
 *   页面底 #f9fafb / 卡片 #fff / 描边 #e5e7eb / 正文 #374151 / 次要色 rgba(107,114,128,.75)
 *   主色 #1F5FCC（hover #17499E）/ 成功 #2fb344 / 危险 #d63939 / 警告 #f59f00
 *   圆角：控件 6px、卡片 8px；阴影只有 box-shadow-sm 一档
 *   壳层：左侧栏 238px（.layout > .side + .body），移动端 ≤820px 收成顶部 sticky 横滑导航
 */

/* ============ 1. 设计令牌 ============ */
:root{
  /* 品牌色 */
  --jz-primary:#1F5FCC; --jz-primary-rgb:31,95,204; --jz-primary-press:#17499E;
  --jz-ok:#2fb344; --jz-ok-rgb:47,179,68;
  --jz-dan:#d63939; --jz-dan-rgb:214,57,57;
  --jz-wrn:#f59f00; --jz-wrn-rgb:245,159,0;

  /* Tabler 兼容令牌（浅色固定值：不依赖 light-dark()，老浏览器也不会白屏） */
  --tblr-font-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --tblr-font-monospace:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  --tblr-primary:#1F5FCC; --tblr-primary-rgb:31,95,204;
  --tblr-body-bg:#f9fafb; --tblr-body-color:#374151;
  --tblr-emphasis-color:#374151;
  --tblr-secondary-color:rgba(107,114,128,.75);
  --tblr-tertiary-bg:#f3f4f6;
  --tblr-border-color:#e5e7eb;
  --tblr-border-color-translucent:rgba(31,41,55,.12);
  --tblr-bg-surface:#fff; --tblr-card-bg:#fff;
  --tblr-border-radius:6px; --tblr-border-radius-sm:4px; --tblr-border-radius-lg:8px;
  --tblr-card-border-radius:8px;
  --tblr-box-shadow-sm:0 1px 3px rgba(18,18,23,.10),0 1px 2px rgba(18,18,23,.06);
  --tblr-box-shadow-lg:0 4px 6px -2px rgba(18,18,23,.05),0 10px 15px -3px rgba(18,18,23,.08);
  --tblr-active-bg:rgba(31,95,204,.05);
  --tblr-link-color:#1F5FCC;

  /* 旧站点令牌别名 → 统一映射（老样式表只写 var(--x)，改这里即可全站换肤） */
  --bg:#f9fafb; --solid:#fff; --card-fill:#fff; --card-border:1px solid var(--tblr-border-color);
  --card-shadow:var(--tblr-box-shadow-sm); --card-blur:none;
  --nav-fill:#fff; --nav-border:1px solid var(--tblr-border-color); --nav-shadow:var(--tblr-box-shadow-sm); --nav-blur:none;
  --modal-fill:#fff;
  --text:#374151; --text-dim:rgba(107,114,128,.9);
  --line:#e5e7eb; --line-strong:#d1d5db;
  --primary:#1F5FCC; --primary-press:#17499E;
  --ok:#2fb344; --ok-rgb:47,179,68; --ok-bg:rgba(47,179,68,.13);
  --warn:#f59f00; --warn-rgb:245,159,0; --warn-bg:rgba(245,159,0,.16);
  --bad:#d63939; --bad-rgb:214,57,57; --bad-bg:rgba(214,57,57,.13);
  --gold:#b26a00; --gold-bg:rgba(245,159,0,.16);
  --get:#1a7f37; --post:#1F5FCC;
  --radius-surface:8px; --radius-control:6px; --r:8px; --rc:6px;
  --gap-xs:6px; --gap-sm:10px; --gap-md:12px; --gap-lg:16px;
  color-scheme:light;
}

/* ============ 2. 基础 ============ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
body{
  min-height:100vh;background:var(--tblr-body-bg);color:var(--tblr-body-color);
  font:14px/1.55 var(--tblr-font-sans-serif);
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}
a{color:var(--tblr-link-color);text-decoration:none}
a:hover{text-decoration:none;color:var(--jz-primary-press)}
:focus-visible{outline:2px solid var(--jz-primary);outline-offset:2px;border-radius:6px}
::selection{background:rgba(31,95,204,.18)}
h1,h2,h3,h4{margin:0;color:var(--tblr-emphasis-color)}
hr{border:0;border-top:1px solid var(--tblr-border-color);margin:14px 0}

/* ============ 3. 壳层：左侧栏 + 内容区 ============ */
.layout{display:flex;min-height:100vh;align-items:stretch}
.side{flex:0 0 238px;background:var(--tblr-bg-surface);border-right:1px solid var(--tblr-border-color);
  padding:14px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow:auto}
.side .brand{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:2px 8px 12px;margin-bottom:10px;border-bottom:1px solid var(--tblr-border-color)}
.side .brand .bname{font-size:15.5px;font-weight:700;color:var(--tblr-emphasis-color);line-height:1.25}
.side .brand small{display:block;font-size:11.5px;font-weight:400;color:var(--tblr-secondary-color);margin-top:2px}
.side .logout{flex:0 0 auto;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);
  color:var(--tblr-secondary-color);font-size:12px;padding:5px 10px;border-radius:var(--tblr-border-radius)}
.side .logout:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);background:var(--tblr-bg-surface)}
.navlist{display:block}
.side a.nav{display:flex;align-items:center;gap:9px;padding:9px 11px;margin-bottom:2px;
  border-radius:var(--tblr-border-radius);font-size:13.5px;color:var(--tblr-secondary-color);
  cursor:pointer;text-decoration:none;border:1px solid transparent}
.side a.nav .ico{width:18px;text-align:center;font-size:14px;flex:0 0 auto;filter:saturate(.9)}
.side a.nav:hover{background:var(--tblr-active-bg);color:var(--tblr-emphasis-color)}
.side a.nav.on{background:var(--tblr-primary);border-color:var(--tblr-primary);color:#fff;font-weight:600;
  box-shadow:var(--tblr-box-shadow-sm)}
.side .side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--tblr-border-color);
  font-size:11.5px;color:var(--tblr-secondary-color);line-height:1.9}
.side .side-foot a{color:var(--tblr-secondary-color)}
.side .side-foot a:hover{color:var(--tblr-primary)}
.body{flex:1;min-width:0;padding:20px 24px 48px}

/* 页标题栏 */
.topbar{display:flex;align-items:baseline;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.topbar h2,.topbar h1{margin:0;font-size:20px;font-weight:700;color:var(--tblr-emphasis-color)}
.topbar h1 span,.topbar h2 span{font-size:13px;font-weight:400;color:var(--tblr-secondary-color)}
.topbar .sub{font-size:12.5px;color:var(--tblr-secondary-color)}
.topbar .ep{flex:1 1 100%;font-size:12px;color:var(--tblr-secondary-color);
  font-family:var(--tblr-font-monospace);overflow-wrap:anywhere}

/* ============ 4. 组件 ============ */
.card{background:var(--tblr-card-bg);border:1px solid var(--tblr-border-color);
  border-radius:var(--tblr-card-border-radius);box-shadow:var(--tblr-box-shadow-sm);
  padding:16px 18px;margin-bottom:14px}
.card h3{margin:0 0 12px;font-size:14.5px;font-weight:600;color:var(--tblr-emphasis-color)}
.card.alert-bad{border-color:rgba(var(--jz-dan-rgb),.45);box-shadow:0 0 0 3px rgba(var(--jz-dan-rgb),.07)}
details.card summary{cursor:pointer;font-weight:600;outline:none;color:var(--tblr-emphasis-color)}
details.card[open] summary{margin-bottom:10px}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.tile{background:var(--tblr-card-bg);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-card-border-radius);
  box-shadow:var(--tblr-box-shadow-sm);padding:14px 16px}
.tile b{display:block;font-size:24px;font-weight:700;line-height:1.15;color:var(--tblr-emphasis-color);
  font-variant-numeric:tabular-nums}
.tile span{font-size:12px;color:var(--tblr-secondary-color)}
.tile.ok b{color:var(--jz-ok)}.tile.bad b,.tile.err b{color:var(--jz-dan)}.tile.amb b{color:var(--jz-wrn)}
.stat{background:var(--tblr-card-bg);border:1px solid var(--tblr-border-color);
  border-radius:var(--tblr-border-radius-lg);padding:13px 14px}
.stat.ok{border-color:rgba(var(--jz-ok-rgb),.4)}
.stat.bad{border-color:rgba(var(--jz-dan-rgb),.45);background:rgba(var(--jz-dan-rgb),.045)}
.stat b{display:block;font-size:14px;color:var(--tblr-emphasis-color)}
.stat span,.stat .dim{font-size:12px;color:var(--tblr-secondary-color)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(246px,1fr));gap:12px}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--tblr-border-color);vertical-align:middle}
th{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--tblr-secondary-color);
  background:var(--tblr-tertiary-bg);white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:hover td,.card tr:hover td{background:rgba(var(--jz-primary-rgb),.035)}

/* 表单 */
input:not([type=checkbox]):not([type=radio]),select,textarea{
  padding:7px 11px;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);
  font-size:13px;font-family:inherit;background:var(--tblr-bg-surface);color:var(--tblr-body-color);margin:4px 4px 4px 0}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{
  outline:0;border-color:var(--tblr-primary);box-shadow:0 0 0 3px rgba(var(--jz-primary-rgb),.14)}
input[type=checkbox]{accent-color:var(--tblr-primary);width:15px;height:15px;vertical-align:-2px}
label{color:var(--tblr-body-color)}
pre{background:var(--tblr-tertiary-bg);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);
  padding:11px 12px;font-size:12px;overflow:auto;max-height:360px;color:var(--tblr-body-color);
  font-family:var(--tblr-font-monospace)}
code{background:rgba(var(--jz-primary-rgb),.08);color:var(--tblr-primary);border-radius:4px;padding:1px 5px;
  font-size:12px;font-family:var(--tblr-font-monospace)}

/* 按钮 */
button{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:7px 14px;border:1px solid transparent;border-radius:var(--tblr-border-radius);
  background:var(--tblr-primary);color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;
  transition:background-color .12s ease-out,color .12s ease-out,border-color .12s ease-out}
button:hover{background:var(--jz-primary-press)}
button:active{transform:none}
button.sec,button.mini{background:var(--tblr-bg-surface);border-color:var(--tblr-border-color);color:var(--tblr-body-color)}
button.sec:hover,button.mini:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);background:var(--tblr-bg-surface)}
button.dng{background:var(--jz-dan);border-color:var(--jz-dan)}
button.dng:hover{background:#b02f2f}
button:disabled{opacity:.5;cursor:not-allowed}
button:disabled:hover{background:var(--tblr-primary)}
button.sec:disabled:hover{background:var(--tblr-bg-surface);border-color:var(--tblr-border-color);color:var(--tblr-body-color)}

/* 标签 */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;line-height:1.35;
  padding:3px 8px;border-radius:var(--tblr-border-radius-sm);background:var(--tblr-tertiary-bg);
  color:var(--tblr-secondary-color);white-space:nowrap;border:1px solid transparent}
.badge-ok,.b-ok{background:rgba(var(--jz-ok-rgb),.13);color:var(--jz-ok)}
.badge-bad,.badge-err,.b-bad,.b-err{background:rgba(var(--jz-dan-rgb),.13);color:var(--jz-dan)}
.badge-warn,.b-amb{background:rgba(var(--jz-wrn-rgb),.16);color:#b26a00}
.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;
  border-radius:var(--tblr-border-radius-sm);background:var(--tblr-tertiary-bg);color:var(--tblr-secondary-color)}
.tag.get,.tag.g{background:rgba(var(--jz-ok-rgb),.13);color:#1a7f37}
.tag.post,.tag.p{background:rgba(var(--jz-primary-rgb),.13);color:var(--jz-primary)}
.tag.method{font-family:var(--tblr-font-monospace)}

/* 提示条 */
.alert,.alert-err,.alert-ok,.alert-warn,.alert-info{
  padding:10px 12px;border-radius:var(--tblr-border-radius);font-size:13px;border:1px solid transparent;margin:8px 0}
.alert-err{background:rgba(var(--jz-dan-rgb),.08);border-color:rgba(var(--jz-dan-rgb),.30);color:#a32020}
.alert-ok{background:rgba(var(--jz-ok-rgb),.09);border-color:rgba(var(--jz-ok-rgb),.30);color:#1a7f37}
.alert-warn{background:rgba(var(--jz-wrn-rgb),.09);border-color:rgba(var(--jz-wrn-rgb),.30);color:#8a5714}
.alert-info{background:rgba(var(--jz-primary-rgb),.07);border-color:rgba(var(--jz-primary-rgb),.22);color:#2a5286}
.note{background:var(--tblr-tertiary-bg);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);
  padding:10px 12px;font-size:12.5px;color:var(--tblr-secondary-color);margin:10px 0}
.note.warn{background:rgba(var(--jz-wrn-rgb),.08);border-color:rgba(var(--jz-wrn-rgb),.28);color:#8a5714}
.note.ok{background:rgba(var(--jz-ok-rgb),.08);border-color:rgba(var(--jz-ok-rgb),.28);color:#1a7f37}

/* 杂项 */
.dim,small,.muted{color:var(--tblr-secondary-color);font-size:12.5px}
.hint{font-size:12.5px;color:var(--tblr-secondary-color);margin:0}
.mono{font-family:var(--tblr-font-monospace)}
.hidden,.filter-none{display:none}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.row>*{padding:0;width:auto}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}
.dot.ok{background:var(--jz-ok)}.dot.bad{background:var(--jz-dan)}
.spin,.ui-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(var(--jz-primary-rgb),.25);
  border-top-color:var(--jz-primary);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
.prog{height:8px;background:rgba(31,41,55,.08);border-radius:4px;overflow:hidden;margin:10px 0}
.prog i{display:block;height:100%;width:100%;background:var(--tblr-primary);transform:scaleX(0);
  transform-origin:left center;transition:transform .18s ease-out}
footer.jz-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--tblr-border-color);
  font-size:12.5px;color:var(--tblr-secondary-color);line-height:2}
footer.jz-foot a{color:var(--tblr-secondary-color);margin-right:14px}
footer.jz-foot a:hover{color:var(--tblr-primary)}

/* 弹窗 */
.ui-mask{position:fixed;inset:0;background:rgba(18,28,46,.45);
  display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.ui-box,.ushell{background:var(--tblr-card-bg);border-radius:var(--tblr-border-radius-lg);width:100%;max-width:480px;
  max-height:86vh;overflow:auto;box-shadow:0 18px 50px rgba(12,24,44,.28);border:1px solid var(--tblr-border-color);
  animation:uiIn .16s ease-out}
@keyframes uiIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.ui-head{display:flex;align-items:center;gap:10px;padding:16px 20px 0}
.ui-head h3{margin:0;font-size:15.5px;font-weight:700;line-height:1.35;color:var(--tblr-emphasis-color)}
.ui-body{padding:12px 20px 4px;font-size:13.5px;color:var(--tblr-body-color);line-height:1.72}
.ui-note{margin-top:10px;padding:10px 12px;border-radius:var(--tblr-border-radius);
  background:rgba(var(--jz-primary-rgb),.06);border:1px solid rgba(var(--jz-primary-rgb),.18);
  font-size:12.5px;color:var(--tblr-secondary-color)}
.ui-actions{display:flex;gap:9px;justify-content:flex-end;padding:16px 20px 18px}
.ui-actions button{min-width:92px}

/* ============ 5. 移动端 ============ */
@media(max-width:820px){
  .layout{flex-direction:column}
  .side{flex:none;height:auto;position:sticky;top:0;z-index:60;padding:10px 12px 8px;
    border-right:0;border-bottom:1px solid var(--tblr-border-color);box-shadow:var(--tblr-box-shadow-sm);overflow:visible}
  .side .brand{padding:0 2px 9px;margin-bottom:0;border-bottom:0}
  .side .brand .bname{font-size:15px}
  .navlist{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .navlist::-webkit-scrollbar{display:none}
  .side a.nav{flex:0 0 auto;white-space:nowrap;margin:0;padding:7px 12px;font-size:13px;
    border-color:var(--tblr-border-color);background:var(--tblr-bg-surface)}
  .side a.nav .ico{display:none}
  .side a.nav.on{box-shadow:none}
  .side .side-foot{display:none}
  .body{padding:14px 14px 40px}
  .topbar{margin-bottom:14px}
  .topbar h2,.topbar h1{font-size:18px}
  .card{padding:14px}
  .tiles{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
  .tile b{font-size:20px}
  .ui-box,.ushell{max-height:88vh}
}

/* ============ 6. 站点适配 ============ */

/* --- 6.1 旧壳层残留（已被 .layout 取代，若还有旧标记一并压掉） --- */
.glass-nav,.glass-card{background:var(--tblr-card-bg);border:1px solid var(--tblr-border-color);
  box-shadow:var(--tblr-box-shadow-sm);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:var(--tblr-card-border-radius)}
nav.sites{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
nav.sites a{font-size:12.5px;padding:5px 11px;border-radius:var(--tblr-border-radius);
  border:1px solid transparent;color:var(--tblr-secondary-color)}
nav.sites a:hover{background:var(--tblr-active-bg);color:var(--tblr-emphasis-color)}
nav.sites a.on{background:rgba(var(--jz-primary-rgb),.10);border-color:rgba(var(--jz-primary-rgb),.28);
  color:var(--tblr-primary);font-weight:600}

/* --- 6.2 api.jzwo.cn（接口文档 / 账号中心 / 服务状态） --- */
.site-api .layout>.wrap{flex:1;min-width:0;max-width:none;margin:0;padding:20px 24px 48px}
.site-api main{max-width:none;margin:0;padding:0}
.site-api .topbar-wrap{padding:0}
.site-api .topbar-wrap header{padding:0;border:0;margin:0 0 16px}
.site-api h2{font-size:16px;font-weight:700;margin:22px 0 10px;padding-left:0;border-left:0}
.site-api .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(246px,1fr));gap:12px}
.site-api .card{cursor:pointer}
.site-api .card:hover{border-color:rgba(var(--jz-primary-rgb),.5);box-shadow:0 4px 14px rgba(var(--jz-primary-rgb),.12)}
.site-api .cat{font-size:13px;font-weight:600;color:var(--tblr-secondary-color);margin:18px 0 8px}
.site-api .ep{font-family:var(--tblr-font-monospace);font-size:12px;color:var(--tblr-primary)}
.site-api .crumb{font-size:12.5px;color:var(--tblr-primary)}
.site-api .try{background:var(--tblr-tertiary-bg);border:1px solid var(--tblr-border-color);
  border-radius:var(--tblr-border-radius);padding:12px 14px;margin:12px 0}
.site-api .try label{font-size:12.5px;font-weight:600;color:var(--tblr-secondary-color)}
.site-api .try input,.site-api .try select{width:100%;margin:4px 0 0}
.site-api .out{display:none}
.site-api .out.show{display:block}
.site-api footer{border-top:1px solid var(--tblr-border-color);margin-top:24px;padding-top:14px;
  font-size:12.5px;color:var(--tblr-secondary-color)}
.site-api .badges{display:flex;gap:6px;flex-wrap:wrap}
.site-api .ident{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.site-api .avatar{width:46px;height:46px;border-radius:50%;background:rgba(var(--jz-primary-rgb),.12);
  color:var(--tblr-primary);display:grid;place-items:center;font-size:18px;font-weight:700;overflow:hidden}
.site-api .tabs{display:flex;gap:4px;border-bottom:1px solid var(--tblr-border-color);margin-bottom:14px;flex-wrap:wrap}
.site-api .tabs button{background:transparent;color:var(--tblr-secondary-color);border:0;
  border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;font-weight:500}
.site-api .tabs button:hover{color:var(--tblr-emphasis-color);background:transparent}
.site-api .tabs button[aria-selected="true"]{color:var(--tblr-primary);border-bottom-color:var(--tblr-primary);font-weight:600}
.site-api .panel{display:none}
.site-api .panel.show{display:block}
.site-api .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.site-api .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.site-api .tier{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.site-api .tier .t{border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius-lg);padding:14px}
.site-api .tier .t.cur{border-color:rgba(var(--jz-primary-rgb),.5);background:rgba(var(--jz-primary-rgb),.04)}
.site-api footer a{color:var(--tblr-secondary-color);margin-right:12px}
.site-api footer a:hover{color:var(--tblr-primary)}

/* --- 6.3 mi.jzwo.cn（域名批量查询） --- */
.site-mi .layout>.wrap{flex:1;min-width:0;max-width:none;margin:0;padding:20px 24px 48px}
.site-mi .card h2{font-size:14.5px;font-weight:600;margin:0 0 12px;color:var(--tblr-emphasis-color)}
.site-mi .labs a{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);
  color:var(--tblr-secondary-color);border-radius:var(--tblr-border-radius);padding:5px 11px;font-size:12.5px}
.site-mi .labs a:hover{background:var(--tblr-active-bg);color:var(--tblr-primary);border-color:rgba(var(--jz-primary-rgb),.3)}
.site-mi button{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);color:var(--tblr-body-color);font-weight:500}
.site-mi button:hover{border-color:var(--tblr-primary);color:var(--tblr-primary)}
.site-mi .btn-start,.site-mi .btn-reg{background:var(--tblr-primary);border-color:var(--tblr-primary);color:#fff;font-weight:600}
.site-mi .btn-start:hover,.site-mi .btn-reg:hover{background:var(--jz-primary-press);border-color:var(--jz-primary-press);color:#fff}
.site-mi .btn-clear{color:var(--jz-dan);border-color:rgba(var(--jz-dan-rgb),.4)}
.site-mi .btn-clear:hover{background:rgba(var(--jz-dan-rgb),.06);border-color:var(--jz-dan);color:var(--jz-dan)}
.site-mi .btn-recheck{border-color:rgba(var(--jz-wrn-rgb),.5);color:#8a5714}
.site-mi .btn-recheck:hover{background:rgba(var(--jz-wrn-rgb),.08)}
.site-mi .ext-grid label,.site-mi .ext-toggle{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);
  border-radius:var(--tblr-border-radius);color:var(--tblr-body-color);font-weight:400}
.site-mi .ext-grid label:has(input:checked){background:rgba(var(--jz-primary-rgb),.10);
  border-color:rgba(var(--jz-primary-rgb),.35);color:var(--tblr-primary);font-weight:600}
.site-mi .ext-gtoggle{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);color:var(--tblr-primary);
  border-radius:var(--tblr-border-radius);font-weight:600}
.site-mi .ext-group-title a{border-radius:var(--tblr-border-radius);background:rgba(var(--jz-primary-rgb),.06)}
.site-mi .stat-tabs a{background:var(--tblr-card-bg);border:1px solid var(--tblr-border-color);
  border-radius:var(--tblr-border-radius);color:var(--tblr-secondary-color);padding:11px}
.site-mi .stat-tabs a:hover{border-color:rgba(var(--jz-primary-rgb),.4)}
.site-mi .results div{border-radius:var(--tblr-border-radius)}
.site-mi #previewBox,#domModal>div{border-radius:var(--tblr-border-radius-lg)!important;border:1px solid var(--tblr-border-color)!important;
  box-shadow:0 18px 50px rgba(12,24,44,.28)!important;background:var(--tblr-card-bg)!important}
.site-mi .r-ok{background:rgba(var(--jz-ok-rgb),.13);color:#1a7f37;border-color:rgba(var(--jz-ok-rgb),.22)}
.site-mi .r-no{background:rgba(var(--jz-dan-rgb),.12);color:#a32020;border-color:rgba(var(--jz-dan-rgb),.2)}
.site-mi .r-fail{background:var(--tblr-tertiary-bg);color:var(--tblr-secondary-color);border-color:var(--tblr-border-color)}

/* --- 6.4 tools.jzwo.cn（在线工具箱） --- */
#pageBody{display:flex;flex-direction:column;gap:12px}
.site-tools .cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(246px,1fr))}
.site-tools .cards .card{margin-bottom:0;display:flex;flex-direction:column;gap:9px;padding:15px 16px;
  transition:border-color .15s ease-out,box-shadow .15s ease-out}
.site-tools .cards .card:hover{border-color:rgba(var(--jz-primary-rgb),.5);box-shadow:0 4px 14px rgba(var(--jz-primary-rgb),.12)}
.site-tools .card-head .ci{width:32px;height:32px;border-radius:var(--tblr-border-radius);
  background:rgba(var(--jz-primary-rgb),.12);color:var(--tblr-primary);display:grid;place-items:center}
.site-tools .card-head h3{margin:0;font-size:14px;font-weight:700;color:var(--tblr-emphasis-color)}
.site-tools .card-desc{font-size:12.5px;color:var(--tblr-secondary-color)}
.site-tools .card-meta{padding-top:8px;border-top:1px solid var(--tblr-border-color)}
.site-tools .btn{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);color:var(--tblr-body-color);
  border-radius:var(--tblr-border-radius);min-height:34px;padding:0 14px}
.site-tools .btn:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);background:var(--tblr-bg-surface)}
.site-tools .btn-primary{background:var(--tblr-primary);border-color:var(--tblr-primary);color:#fff;font-weight:600}
.site-tools .btn-primary:hover{background:var(--jz-primary-press);color:#fff}
.site-tools .field input,.site-tools .field select,.site-tools .field textarea{padding:8px 11px;font-size:13.5px}
.site-tools table.data{border-collapse:collapse}
.site-tools table.data th{font-size:11.5px;background:var(--tblr-tertiary-bg);padding:9px 12px;white-space:nowrap}
.site-tools table.data td{padding:9px 12px;vertical-align:middle}
.site-tools .kv{font-size:13px;gap:8px 12px}
.site-tools .kv dt{color:var(--tblr-secondary-color)}
.site-tools pre,pre.json{background:var(--tblr-tertiary-bg);border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}
.site-tools .txt-rec,.site-tools .txt-kv{border-color:var(--tblr-border-color)}
.site-tools details.fold summary{color:var(--tblr-emphasis-color)}
.site-tools .page-tip,.site-tools .tag{border-radius:var(--tblr-border-radius-sm)}

@media(max-width:820px){.site-mi .layout>.wrap{padding:14px 14px 40px}}

@media(max-width:820px){.site-api .layout>.wrap{padding:14px 14px 40px}}
