/* === CE Tools Hub · tool_style_base.css · v2 === */

[data-theme="dark"]{
  --bg:#0a0c10;--bg2:#0f1218;--bg3:#161b24;
  --border:#1e2a3a;--text:#c8d8e8;--text2:#6a8aaa;
  --card:#0d1219;--hbg:rgba(10,12,16,0.96);
  --logo:#fff;--ttl:#fff;--inp:#fff;
  --shadow:none;--grid:rgba(0,212,255,0.03);
}
[data-theme="light"]{
  --bg:#f0f4f8;--bg2:#e2eaf4;--bg3:#d4e0ee;
  --border:#b0c8e0;--text:#1a2a3a;--text2:#4a6080;
  --card:#fff;--hbg:rgba(240,244,248,0.97);
  --logo:#0a1520;--ttl:#0a1520;--inp:#0a1520;
  --shadow:0 2px 12px rgba(0,0,0,0.08);
  --grid:rgba(0,150,200,0.04);
}
:root{
  --accent:#00d4ff;
  --fs-base:14px;
  --fs-sm:14px;
  --fs-xs:14px;
  --fs-mono:14px;
  --fs-mono-sm:14px;
  --fs-mono-xs:14px;
  --fs-label:14px;
  --fs-input:14px;
  --fs-btn:14px;
  --fs-result:14px;
  --fs-tut:14px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--text);font-family:'Rajdhani',sans-serif;font-size:var(--fs-base);min-height:100vh;overflow-x:hidden;transition:background .25s,color .25s;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0;}
.wrap{max-width:1100px;margin:0 auto;padding:0 28px;position:relative;z-index:1;}
header{border-bottom:1px solid var(--border);padding:14px 0;position:sticky;top:0;background:var(--hbg);backdrop-filter:blur(12px);z-index:100;transition:background .25s,border-color .25s;}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.nav-home{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-sm);color:var(--text2);text-decoration:none;letter-spacing:1px;transition:color .2s;flex-shrink:0;}
.nav-home:hover{color:var(--accent);}
.badge{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-xs);color:var(--accent);border:1px solid rgba(0,212,255,0.3);padding:4px 12px;letter-spacing:2px;flex-shrink:0;}
.controls{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ctrl-sep{width:1px;height:20px;background:var(--border);}
.lang-toggle{display:flex;}
.lang-btn{background:transparent;border:1px solid var(--border);color:var(--text2);padding:6px 14px;font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-sm);cursor:pointer;letter-spacing:1px;transition:all .2s;white-space:nowrap;}
.lang-toggle .lang-btn:first-child{border-right:none;}
.lang-btn:hover,.lang-btn.active{border-color:var(--accent);color:var(--accent);}
.theme-btn{background:transparent;border:1px solid var(--border);color:var(--text2);width:36px;height:36px;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.theme-btn:hover{border-color:var(--accent);color:var(--accent);}
.page-title{padding:36px 0 26px;}
.page-title h1{font-size:clamp(26px,4vw,42px);font-weight:700;letter-spacing:2px;color:var(--ttl);margin-bottom:8px;transition:color .25s;}
.page-title p{font-size:var(--fs-base);color:var(--text2);line-height:1.6;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.field label{font-family:'Share Tech Mono',monospace;font-size:var(--fs-label);color:var(--text2);letter-spacing:1px;}
.field input,.field textarea,.field select{background:var(--bg2);border:1px solid var(--border);color:var(--inp);padding:11px 15px;font-family:'Share Tech Mono',monospace;font-size:var(--fs-input);outline:none;transition:border-color .2s,background .25s;resize:vertical;width:100%;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);}
.field textarea{min-height:100px;line-height:1.6;}
.field small{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-xs);color:var(--text2);opacity:.7;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.full{grid-column:1/-1;}
.radio-row{display:flex;gap:22px;margin-bottom:16px;font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-sm);color:var(--text2);flex-wrap:wrap;align-items:center;}
.radio-row label{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;}
.radio-row input[type=radio]{accent-color:var(--accent);}
.btn-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.btn{padding:12px 28px;font-family:'Share Tech Mono',monospace;font-size:var(--fs-btn);letter-spacing:2px;cursor:pointer;border:none;font-weight:700;transition:all .2s;}
.btn-primary{background:var(--accent);color:#000;}
.btn-primary:hover{filter:brightness(1.1);}
.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text2);}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);}
.btn-action{background:transparent;border:1px solid var(--accent);color:var(--accent);display:none;}
.btn-action:hover{background:var(--accent);color:#000;}
.result-panel{background:var(--card);border:1px solid var(--border);margin-bottom:16px;box-shadow:var(--shadow);transition:background .25s,border-color .25s;}
.result-hdr{padding:14px 18px;border-bottom:1px solid var(--border);font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-sm);color:var(--text2);letter-spacing:2px;}
.result-body{min-height:100px;overflow-x:auto;}
.result-ph{padding:26px;color:var(--text2);font-family:'Share Tech Mono',monospace;font-size:var(--fs-result);line-height:1.7;}
.tutorial{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);margin-bottom:24px;box-shadow:var(--shadow);transition:background .25s,border-color .25s;}
.tutorial-hdr{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;padding:16px 20px;}
.tutorial-hdr h3{font-size:var(--fs-mono-sm);font-weight:700;letter-spacing:2px;color:var(--accent);font-family:'Share Tech Mono',monospace;}
.tut-tog{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-sm);color:var(--text2);}
.tutorial-body{padding:0 22px 22px;font-size:var(--fs-tut);line-height:1.85;color:var(--text2);display:none;}
.tutorial-body.open{display:block;}
.tutorial-body h4{color:var(--ttl);font-size:var(--fs-mono-sm);letter-spacing:1px;margin:16px 0 8px;font-family:'Share Tech Mono',monospace;transition:color .25s;}
.tutorial-body p{margin-bottom:10px;}
.tutorial-body ol,.tutorial-body ul{padding-left:22px;margin-bottom:10px;}
.tutorial-body li{margin-bottom:6px;}
.tutorial-body code{background:var(--bg3);color:var(--accent);padding:2px 8px;font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-xs);}
.tutorial-body strong{color:var(--ttl);}
.related{margin-bottom:16px;}
.related-title{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-xs);color:var(--text2);letter-spacing:2px;margin-bottom:12px;}
.related-list{display:flex;gap:10px;flex-wrap:wrap;}
.related-item{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-xs);color:var(--text2);border:1px solid var(--border);padding:6px 14px;text-decoration:none;transition:all .2s;letter-spacing:1px;}
.related-item:hover{border-color:var(--accent);color:var(--accent);}
footer{border-top:1px solid var(--border);padding:24px 0;text-align:center;}
.footer-brand{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono);color:var(--accent);letter-spacing:2px;}
.footer-sub{font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-xs);color:var(--text2);letter-spacing:1px;margin-top:6px;opacity:.6;}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--accent);color:#000;padding:9px 22px;font-family:'Share Tech Mono',monospace;font-size:var(--fs-mono-sm);opacity:0;transition:all .3s;pointer-events:none;z-index:9999;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
select option{background:var(--bg2);}
@media(max-width:640px){.wrap{padding:0 16px;}.form-grid{grid-template-columns:1fr;}.full{grid-column:1;}.btn-row{flex-direction:column;}.btn{width:100%;text-align:center;}}

/* 广告位空时不占空间 */
.adsbygoogle:not([data-ad-status]){min-height:0!important;}
ins.adsbygoogle{margin:12px 0!important;}

/* CT分析器表格字体继承CSS变量 */
.ct-table td{font-size:var(--fs-mono-sm);font-family:'Share Tech Mono',monospace;}
.ct-table th{font-size:var(--fs-mono-xs);}
