:root{
  --ink:#20242a;
  --muted:#69717d;
  --line:#dfe3e8;
  --soft:#f3f5f7;
  --paper:#fff;
  --blue:#2563eb;
  --blue-dark:#1d4ed8;
  --gain:#d0342c;
  --loss:#0f8a50;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--soft);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--blue-dark)}
button,input{font:inherit}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 15px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-weight:650;text-decoration:none;cursor:pointer}
button:hover,.button:hover{border-color:#b9c4d0;color:var(--ink)}
.button.primary,button.primary{border-color:var(--blue);background:var(--blue);color:#fff}
.button.primary:hover,button.primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
:focus-visible{outline:3px solid #93b8ff;outline-offset:3px}
.shell{width:min(960px,calc(100% - 32px));margin:0 auto}
.site-head{background:#fff;border-bottom:1px solid var(--line)}
.site-head .shell{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:62px}
.brand{color:var(--ink);font-size:16px;font-weight:760;text-decoration:none;white-space:nowrap}
.nav{display:flex;align-items:center;gap:18px;overflow-x:auto;white-space:nowrap;font-size:13px}
.nav a{color:#4b5563;text-decoration:none}
.nav a[aria-current="page"]{color:var(--blue);font-weight:700}
.hero{padding:64px 0 34px}
.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--blue);font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--blue)}
h1,h2,h3{line-height:1.3;letter-spacing:-.02em}
h1{max-width:780px;margin:0;font-size:clamp(32px,6vw,54px)}
h2{margin:0 0 16px;font-size:clamp(22px,3.5vw,30px)}
h3{margin:0 0 7px;font-size:17px}
.lead{max-width:720px;margin:18px 0 0;color:#4b5563;font-size:17px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.trust-line{display:flex;gap:8px 20px;flex-wrap:wrap;margin:25px 0 0;padding:16px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.trust-line span::before{content:"✓";margin-right:6px;color:var(--loss);font-weight:800}
main section{margin:28px 0}
.paper{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,4vw,34px)}
.ledger-label{margin:0 0 6px;color:var(--muted);font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.item{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}
.item p{margin:7px 0 0;color:var(--muted)}
.item a.stretched{display:inline-block;margin-top:11px;font-weight:700}
.steps{display:grid;gap:0;margin-top:18px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}
.step b:first-child{color:var(--blue);font:700 12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}
.step p{margin:3px 0 0;color:var(--muted)}
.formula{padding:17px 19px;border-left:3px solid var(--blue);background:#f7f9fc;font:650 15px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.note{padding:13px 15px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#1e3a5f;font-size:13px}
.warning{border-color:#fed7aa;background:#fff7ed;color:#8a3d12}
.data-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.data-list li{display:grid;grid-template-columns:minmax(120px,.55fr) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.data-list b{font-size:13px}.data-list span{color:var(--muted)}
.tool{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:6px}
.field label{font-size:13px;font-weight:700}
.field input{width:100%;min-height:44px;padding:8px 11px;border:1px solid #cfd5dc;border-radius:7px;color:var(--ink);background:#fff}
.field input:focus{border-color:var(--blue);outline:3px solid #dbe8ff}
.tool-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;grid-column:1/-1}
.result{grid-column:1/-1;display:none;margin-top:3px;padding:20px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
.result.show{display:block}
.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.result small,.result strong{display:block}.result small{color:var(--muted)}.result strong{font-size:25px;font-variant-numeric:tabular-nums}
.status{min-height:24px;color:var(--muted);font-size:13px}
.status.error{color:#b42318}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:#f7f8fa;color:#4b5563}
tr:last-child td{border-bottom:0}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:700;cursor:pointer}
.faq p{margin:8px 0 0;color:var(--muted)}
.site-foot{margin-top:56px;padding:26px 0 38px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.foot-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.foot-links{display:flex;gap:14px;flex-wrap:wrap}
.site-foot a{color:#4b5563}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:680px){
  .shell{width:min(100% - 24px,960px)}
  .site-head .shell{display:block;padding:12px 0}
  .nav{margin-top:9px;padding-bottom:2px;gap:15px}
  .hero{padding:40px 0 22px}
  h1{font-size:34px}
  .lead{font-size:16px}
  .grid,.tool{grid-template-columns:1fr}
  .tool-actions,.result{grid-column:1}
  .data-list li{grid-template-columns:1fr;gap:3px}
  .result-grid{gap:10px}.result strong{font-size:21px}
  .paper{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
