:root{--ink:#1e2b40;--muted:#778397;--line:#e3e8ef;--blue:#2963ea;--paper:#f5f7fb;--white:#fff;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#edf1f6;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #2963ea88;outline-offset:3px}[hidden]{display:none!important}.shell{max-width:1560px;min-height:100svh;margin:auto;display:flex;flex-direction:column}.masthead{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none!important}.mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--blue);color:white;font-size:16px;font-weight:800;letter-spacing:-.5px;box-shadow:0 5px 15px #2963ea25}.brand strong{display:block;font-size:17px;font-weight:650;letter-spacing:.03em}.brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.13em;color:var(--muted)}.header-right{display:flex;gap:28px;align-items:center;font-size:12px}.header-right>a{color:var(--muted)}.local{display:flex;gap:7px;align-items:center;color:var(--muted)}.local i,footer i{width:6px;height:6px;background:#21aa79;border-radius:50%;display:inline-block}.tab-strip{padding:0 32px;display:flex;align-items:end;gap:4px;overflow:auto;border-bottom:1px solid var(--line)}.tab-strip button{flex:none;display:flex;gap:11px;align-items:center;border:1px solid transparent;border-bottom:none;background:transparent;color:#7a8799;padding:16px 24px 17px;position:relative;border-radius:12px 12px 0 0;font-size:13px;white-space:nowrap}.tab-strip button>span{font-size:19px;line-height:1;color:#8693a6}.tab-strip button[aria-selected=true]{background:var(--paper);color:var(--ink);border-color:var(--line);font-weight:650}.tab-strip button[aria-selected=true]:before{content:"";position:absolute;top:0;left:21px;right:21px;height:3px;background:var(--blue);border-radius:0 0 4px 4px}.tab-strip button[aria-selected=true]>span{color:var(--blue)}.tab-strip button:hover{color:var(--blue)}.tab-tail{margin:0 0 18px auto;color:#97a0af;font:10px var(--mono);white-space:nowrap;padding-left:24px}main{flex:1;background:var(--paper);padding:30px 32px 40px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font:10px var(--mono);letter-spacing:.12em;color:var(--blue);margin:0 0 9px}h1{font-size:26px;font-weight:650;letter-spacing:-.03em;margin:0 0 10px}.intro{color:var(--muted);font-size:13px;line-height:1.7;margin:0;max-width:770px}.actions{display:flex;gap:8px;flex-shrink:0}.small-btn{border:1px solid var(--line);background:white;color:#53637a;border-radius:7px;padding:9px 12px;font-size:12px}.small-btn:hover{border-color:#a6bdeb;color:var(--blue)}.layout{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid var(--line)}h2{font-size:14px;font-weight:650;margin:0}.card-head .caps{font:10px var(--mono);color:#97a3b3;letter-spacing:.07em}.fields{padding:23px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 24px}.field{display:block;min-width:0}.field>span{display:block;color:#58677d;font-size:12px;margin:0 0 9px}.field input,.field select{width:100%;height:42px;border:1px solid #dfe5ed;border-radius:7px;background:#fcfdff;padding:0 12px;color:var(--ink);outline:none;min-width:0}.field input{font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2963ea12}.input-unit{position:relative}.input-unit input{padding-right:92px}.input-unit .unit{position:absolute;top:0;right:12px;max-width:78px;height:42px;display:flex;align-items:center;pointer-events:none;font-size:11px;color:#96a0af}.field small{display:block;line-height:1.6;color:#97a0af;margin-top:6px;font-size:10px}.form-note{background:#f8faff;border-top:1px solid #edf1f6;padding:14px 22px;color:#78869b;line-height:1.7;font-size:11px}.results{padding:22px}.result-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-top>span{font:10px var(--mono);color:#96a3b6;letter-spacing:.1em}.badge{padding:5px 8px;font-size:10px;border-radius:5px;font-weight:500;background:#edf7f3;color:#208967}.badge.warn{background:#fff3e6;color:#ae711c}.badge.error{background:#fff0f1;color:#bb405b}.metric-primary{padding:22px 0 24px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:7px 10px;border-bottom:1px solid var(--line)}.metric-primary small{grid-column:1/-1;color:#7a889c;font-size:12px}.metric-primary strong{font:500 42px var(--mono);letter-spacing:-.045em;color:var(--blue);overflow-wrap:anywhere}.metric-primary>span{font-size:13px;color:#95a0b1}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:21px 0}.metric small{display:block;color:#8090a4;font-size:11px;margin-bottom:9px}.metric strong{font:500 21px var(--mono);color:#34465e;overflow-wrap:anywhere}.metric>span{font-size:10px;color:#a0abba;margin-left:5px}.messages{border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:#8c97a8;line-height:1.8}.messages p{margin:7px 0}.messages .error-text{color:#b53a52}.diagram{border-top:1px solid var(--line);background:#fafcff;padding:10px 22px}.diagram svg{width:100%;height:115px;display:block}.method{margin-top:22px;border:1px solid var(--line);background:white;border-radius:10px}.method summary{cursor:pointer;padding:16px 20px;font-size:12px;color:#6e7c90}.method-content{padding:0 20px 20px;color:#7c899c;font-size:12px;line-height:1.9}.formula{font-family:var(--mono);color:#4b648a;background:#f7f9fd;border-radius:6px;padding:11px 14px;margin:8px 0;overflow-wrap:anywhere}.method-content h3{font-size:12px;color:#52657e;margin:17px 0 6px}.method-content p{margin:7px 0}.converter{max-width:1050px;margin:auto}.converter .card{padding:26px}.converter .category{max-width:270px;margin-bottom:26px}.convert-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center}.convert-side{background:#f8fafd;border:1px solid var(--line);border-radius:10px;padding:23px}.convert-side input{height:60px;font-size:28px;background:transparent}.convert-side select{margin-top:14px;background:white}.output{background:#f3f7ff;border-color:#d9e4fa}.output .big-output{min-height:60px;display:flex;align-items:center;font:500 28px var(--mono);color:var(--blue);overflow-wrap:anywhere;word-break:break-word}.swap{width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:50%;font-size:20px;color:var(--blue)}.conversion-note{padding-top:20px;color:#8090a7;font-size:12px;line-height:1.8}.quick{margin-top:22px}.quick .reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:17px;color:#7d8ba0;font-size:11px;font-family:var(--mono)}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 32px;border-top:1px solid var(--line);font-size:10px;color:#929faf}footer>span:first-child{display:flex;align-items:center;gap:7px}.notice{padding:25px}.toast{position:fixed;right:25px;bottom:45px;background:#223651;color:white;padding:11px 17px;border-radius:8px;box-shadow:0 6px 25px #20355633;font-size:12px;z-index:20}@media(min-width:1100px){.result-card{position:sticky;top:20px}}@media(max-width:1000px){.layout{grid-template-columns:1fr 1fr}.fields{gap:18px 14px}.tab-tail{display:none}.heading{align-items:start}.actions{flex-direction:column}}@media(max-width:800px){.masthead{padding:17px 20px}.tab-strip{padding:0 15px}.tab-strip button{padding:15px 17px}.header-right .local{display:none}main{padding:24px 20px}.layout{grid-template-columns:1fr}.actions{flex-direction:row}.heading{flex-wrap:wrap}.quick .reference-grid{grid-template-columns:1fr 1fr}.result-card{position:static}.convert-grid{gap:12px}footer{padding:13px 20px;flex-wrap:wrap}footer>span:nth-child(2){display:none}}@media(max-width:520px){h1{font-size:23px}.fields{gap:17px 13px;padding:20px 17px}.card-head{padding:17px}.results{padding:19px}.metric-primary strong{font-size:36px}.convert-grid{grid-template-columns:1fr}.swap{justify-self:center;transform:rotate(90deg)}.converter .card{padding:18px}.quick .reference-grid{grid-template-columns:1fr}.header-right{gap:0}.header-right a{font-size:11px}.tab-strip button{font-size:12px;gap:7px}.brand strong{font-size:16px}.metric strong{font-size:19px}.actions .small-btn{padding:8px 10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.tab-strip,.header-right,.actions,footer{display:none!important}.masthead{padding:0 0 15px}.shell{min-height:0}main{padding:0}.layout{grid-template-columns:1fr 1fr}.card{break-inside:avoid}.method{break-inside:avoid}.result-card{position:static}body{background:white}.diagram{display:none}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.auth-gate{flex:1;display:grid;place-items:center;padding:40px 20px;background:var(--paper)}.auth-card{width:100%;max-width:430px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px}.auth-card form{display:grid;gap:20px;margin-top:26px}.auth-card input{font-family:inherit}.auth-submit{border:0;border-radius:8px;background:var(--blue);color:white;padding:13px;font-weight:600}.auth-submit:disabled{opacity:.5;cursor:wait}#auth-error{color:#b53a52;font-size:12px;line-height:1.7;min-height:20px;margin:18px 0 5px}.auth-footnote{font-size:11px;color:var(--muted);line-height:1.6}.account-name{font-size:12px;color:var(--muted)}#account-controls{display:flex;gap:8px;align-items:center}@media(max-width:800px){.header-right{gap:12px}.header-right>a{display:none}}@media(max-width:520px){.masthead{flex-wrap:wrap}.header-right{margin-left:auto}.auth-card{padding:26px}}
