/* THEME: warm — cream paper, serif headings, warm amber accent, soft pill shapes */
:root { --bg:#fbf7ef; --fg:#3d3229; --muted:#7d6f5f; --accent:#c2660a; --card:#fffdf8; --line:#eadfce; --radius:22px; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Segoe UI",system-ui,sans-serif; background:var(--bg); color:var(--fg); line-height:1.65; }
a { color:var(--accent); text-decoration:none; }
h1,h2,h3,.brand { font-family:Georgia,"Times New Roman",serif; }
.site-header { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; align-items:center; padding:1.1rem 1.4rem; background:var(--card); border-bottom:2px solid var(--line); }
.brand { font-weight:700; font-size:1.3rem; color:var(--accent); }
.site-header nav { display:flex; flex-wrap:wrap; gap:.2rem .85rem; font-size:.93rem; }
.site-header nav a { color:var(--muted); padding:.3rem .7rem; border-radius:999px; }
.site-header nav a[aria-current], .site-header nav a:hover { color:#fff; background:var(--accent); }
main { max-width:920px; margin:0 auto; padding:1.75rem 1.25rem 3rem; }
.hero { padding:2.4rem 0 1.4rem; text-align:center; }
.hero h1 { font-size:clamp(1.8rem,4vw,2.6rem); margin:0 0 .5rem; color:#332a20; }
.hero-split { text-align:left; display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; }
@media (max-width:760px){ .hero-split{grid-template-columns:1fr;} }
.lede { color:var(--muted); font-size:1.08rem; margin:.25rem 0 0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; margin:1.25rem 0; box-shadow:0 6px 18px rgba(120,90,40,.08); }
.card h2 { margin-top:0; }
.content h2 { margin-top:2.1rem; color:#332a20; }
label { display:block; font-weight:600; margin:.75rem 0 .25rem; }
input, select { width:100%; padding:.65rem .9rem; border:1px solid var(--line); border-radius:999px; font:inherit; background:#fff; }
input:focus, select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(194,102,10,.14); }
button.btn { margin-top:1rem; background:var(--accent); color:#fff; border:0; padding:.7rem 1.4rem; border-radius:999px; font:inherit; font-weight:700; cursor:pointer; }
.calc-result { margin-top:1rem; background:#f7ecdb; border-radius:16px; padding:1rem 1.2rem; font-size:1.25rem; font-weight:800; color:#7a4a08; min-height:1em; }
.tools-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1rem; margin-top:1rem; }
.tool-card { display:block; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.15rem; color:var(--fg); transition:transform .12s ease; }
.tool-card:hover { transform:translateY(-3px); border-color:var(--accent); }
.tool-card h3 { margin:.35rem 0 .25rem; font-size:1.05rem; }
.tool-card p { margin:0; color:var(--muted); font-size:.9rem; }
.tool-icon { font-size:1.5rem; }
.tool-tag { display:inline-block; margin-top:.5rem; font-size:.8rem; color:var(--accent); font-weight:700; }
details { border:1px solid var(--line); border-radius:16px; padding:.7rem 1rem; margin:.5rem 0; background:var(--card); }
summary { font-weight:700; cursor:pointer; }
.ad-slot { margin:1.5rem auto; max-width:920px; text-align:center; }
.ad-slot:empty { display:none; }
/* 未填充的广告位整块折叠：AdSense 只在填充时给 <ins> 写 data-ad-status="filled"，
   否则空广告位会在内容之间撑出几百像素空白。 */
.ad-slot:has(ins.adsbygoogle:not([data-ad-status="filled"])) { display:none; }
.ad-slot ins.adsbygoogle[data-ad-status="unfilled"] { display:none !important; }
.ad-slot ins.adsbygoogle { min-height:0; }
.site-footer { border-top:2px solid var(--line); padding:1.25rem; text-align:center; color:var(--muted); font-size:.9rem; }

/* ---------- 深度内容元素：技术参考资料所需的表格 / 公式 / 引用块 ---------- */
.content table { width:100%; border-collapse:collapse; margin:1.3rem 0; font-family:"Segoe UI",system-ui,sans-serif; font-size:.92rem; }
.content th, .content td { text-align:left; padding:.55rem .7rem; border-bottom:1px solid var(--line); }
.content th { color:var(--muted); font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.content td:last-child, .content th:last-child { text-align:right; }
.content tbody tr:hover { background:rgba(194,102,10,.05); }
.content ul, .content ol { padding-left:1.35rem; }
.content li { margin:.45rem 0; }
.content code { background:rgba(61,50,41,.07); padding:.1rem .35rem; border-radius:5px; font-size:.9em; }
/* 计算器正下方的规范提示块 —— 本站独有的结构元素 */
.nec-note { border-left:4px solid var(--accent); background:var(--card); border:1px solid var(--line);
  border-left-width:4px; border-radius:var(--radius); padding:1rem 1.25rem; margin:1.5rem 0; font-size:.98rem; }
.nec-note strong { color:var(--accent); }
/* 公式块 */
.formula { font-family:ui-monospace,Consolas,"Courier New",monospace; background:var(--card);
  border:1px solid var(--line); border-radius:var(--radius); padding:.85rem 1.1rem; margin:1.1rem 0;
  font-size:.95rem; overflow-x:auto; }
/* 权威来源与最后核对日期 */
.sources { border:1px solid var(--line); border-radius:var(--radius); background:var(--card);
  padding:1.1rem 1.35rem; margin:1.6rem 0; font-size:.95rem; }
.sources h3 { margin:0 0 .5rem; font-size:1.02rem; font-family:Georgia,serif; }
.sources ul { margin:.5rem 0 0; }
.sources li { color:var(--muted); }
.last-updated { color:var(--muted); font-size:.86rem; margin:.8rem 0 0; }
/* 表单辅助类（引擎共用） */
.hint { color:var(--muted); font-size:.92rem; margin:0 0 .3rem; }
button.btn.ghost { background:transparent; color:var(--accent); border:1px solid var(--accent); margin-left:.5rem; }
/* 电阻色环表：多列并排 */
.rc-row { display:flex; flex-wrap:wrap; gap:.8rem; }
.rc-row .rc-cell { flex:1 1 128px; min-width:0; }
