* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Microsoft YaHei", "Malgun Gothic", "Hiragino Sans", sans-serif; color:#1f2733; background:#f4f6f9; }
#topbar { background:#0f2942; color:#fff; display:flex; align-items:center; gap:12px; padding:10px 16px; flex-wrap:wrap; position:sticky; top:0; z-index:10; }
#topbar .brand { font-weight:700; font-size:16px; margin-right:auto; letter-spacing:.2px; }
#topbar a.btn { color:#fff; background:#1d6fb8; text-decoration:none; padding:7px 12px; border-radius:6px; font-size:13px; white-space:nowrap; }
#topbar a.btn:hover { background:#2780d0; }
#topbar select { padding:6px 8px; border-radius:6px; border:none; font-size:13px; }
.container { max-width:1040px; margin:0 auto; padding:22px 16px 48px; }
h1 { font-size:24px; margin:6px 0 4px; }
.subtitle { color:#5a6677; margin:0 0 22px; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; }
.card { background:#fff; border:1px solid #e2e7ee; border-radius:10px; padding:16px; text-decoration:none; color:inherit; display:block; transition:box-shadow .15s, transform .15s; }
.card:hover { box-shadow:0 4px 16px rgba(20,40,70,.12); transform:translateY(-2px); }
.card .ic { font-size:26px; }
.card h3 { margin:8px 0 4px; font-size:16px; }
.card p { margin:0; color:#5a6677; font-size:13px; line-height:1.45; }
.calc-wrap { background:#fff; border:1px solid #e2e7ee; border-radius:10px; padding:18px; }
.calc-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.calc-head .ic { font-size:26px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media(max-width:760px){ .grid2 { grid-template-columns:1fr; } }
.panel h2 { font-size:15px; margin:0 0 12px; color:#0f2942; border-bottom:2px solid #eaf1f8; padding-bottom:6px; }
.field { display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.field label { flex:1 1 180px; font-size:14px; }
.field input { width:130px; padding:7px 9px; border:1px solid #c9d3df; border-radius:6px; font-size:14px; }
.field .u { color:#7a869a; font-size:12px; min-width:54px; }
.actions { margin:6px 0 14px; }
button.calc-btn { background:#1d6fb8; color:#fff; border:none; padding:9px 18px; border-radius:7px; font-size:14px; cursor:pointer; }
button.calc-btn:hover { background:#2780d0; }
button.reset-btn { background:#eef2f7; color:#33414f; border:1px solid #c9d3df; padding:9px 16px; border-radius:7px; font-size:14px; cursor:pointer; margin-left:8px; }
.out-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed #eef1f5; font-size:14px; }
.out-row .k { color:#33414f; }
.out-row .val { font-weight:700; color:#0f2942; }
.formulas { margin-top:18px; background:#f8fafc; border:1px solid #e6ebf2; border-radius:8px; padding:12px 14px; font-size:12.5px; color:#46535f; line-height:1.6; }
.formulas h2 { margin:0 0 8px; font-size:13px; color:#0f2942; }
.formulas code { background:#eef2f7; padding:1px 4px; border-radius:4px; }
.note { font-size:12px; color:#7a869a; margin-top:8px; }
.backlink { display:inline-block; margin:4px 0 16px; color:#1d6fb8; text-decoration:none; font-size:13px; }
