:root{--bg:#f7f8fa;--card:#fff;--fg:#171a20;--muted:#5b6472;--accent:#2563eb;--accent-soft:#eaf0fe;--border:#e2e6ec;--shadow:0 1px 2px #171a200d, 0 4px 14px #171a200a;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#0d1017;--card:#151a23;--fg:#e6e9ef;--muted:#97a1b1;--accent:#6ea8ff;--accent-soft:#1a2437;--border:#262d3a;--shadow:0 1px 2px #0006}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{max-width:800px;margin:0 auto;padding-inline:1.1rem}main.shell{padding-block:1.6rem 3.5rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:.4em 0 .5em;font-size:clamp(1.6rem,4vw,2.05rem);line-height:1.2}h2{letter-spacing:-.01em;margin:1.6em 0 .6em;font-size:1.25rem}.muted{color:var(--muted);font-size:.9rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.site-header{border-bottom:1px solid var(--border);background:var(--card)}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:.7rem;display:flex}.brand{color:var(--fg);letter-spacing:-.02em;align-items:center;gap:.4rem;font-size:1.1rem;font-weight:800;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{color:var(--accent);font-size:1.15em}.site-nav{gap:.2rem;max-width:100%;display:flex;overflow-x:auto}.site-nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:.35rem .65rem;font-size:.88rem}.site-nav a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.site-footer{border-top:1px solid var(--border);background:var(--card);margin-top:2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding-block:1.6rem .6rem;display:flex}.footer-links{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.footer-links a{color:var(--muted);font-size:.9rem}.copyright{padding-block:.4rem 1.4rem;font-size:.8rem}.hero{text-align:center;padding-block:1.6rem .4rem}.hero p{max-width:34rem;color:var(--muted);margin:0 auto}.tool-search{border:1.5px solid var(--border);background:var(--card);width:100%;max-width:26rem;color:var(--fg);box-shadow:var(--shadow);border-radius:999px;margin:1.2rem auto 0;padding:.7rem 1rem;font-size:1rem;display:block}.tool-search:focus{border-color:var(--accent);outline:none}.type-section{margin-top:2.2rem}.type-head{align-items:baseline;gap:.6rem;margin-bottom:.9rem;display:flex}.type-head h2{margin:0}.type-head .muted{font-size:.85rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.tool-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);box-shadow:var(--shadow);flex-direction:column;gap:.3rem;padding:1rem 1.05rem;transition:border-color .12s,translate .12s;display:flex}.tool-card:hover{border-color:var(--accent);text-decoration:none;translate:0 -2px}.tool-card strong{letter-spacing:-.01em}.tool-card .muted{font-size:.82rem;line-height:1.45}.breadcrumbs{color:var(--muted);margin-bottom:.2rem;font-size:.82rem}.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:var(--accent)}.intro{color:var(--muted);max-width:40rem}.intro p{margin-top:0}.related{margin-top:2.5rem}.related h2{font-size:1.05rem}.tool{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);margin:1.3rem 0;padding:1.3rem 1.25rem}.field{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.field label{font-size:.88rem;font-weight:600}.field input,.field select,.row .field input,.row .field select{border:1.5px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;width:100%;padding:.6rem .7rem;font-size:1rem}.field input:focus,.field select:focus{border-color:var(--accent);outline:none}.hint{color:var(--muted);font-size:.78rem}.group{margin:1rem 0}.group-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.55rem;font-size:.85rem;font-weight:700}.rows{gap:.55rem;display:grid}.row{align-items:end;gap:.6rem;display:flex}.row .field{flex:1;margin-bottom:0}.row .field label{color:var(--muted);font-size:.74rem;font-weight:500}.remove-row{border:1.5px solid var(--border);background:var(--bg);width:2.1rem;height:2.55rem;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;font-size:1.1rem;line-height:1}.remove-row:hover{border-color:var(--accent);color:var(--accent)}.add-row{border:1.5px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;margin-top:.7rem;padding:.5rem .95rem;font-size:.9rem}.add-row:hover{border-color:var(--accent)}.outputs{gap:.55rem;margin-top:1.1rem;display:grid}.output{background:var(--accent-soft);border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .85rem;display:flex}.output-label{flex-direction:column;display:flex}.output-label>span:first-child{font-size:.9rem;font-weight:600}.output .val{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.convert-row{gap:.6rem;margin-bottom:.6rem;display:flex}.cv-input{border:1.5px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;flex:1;min-width:0;padding:.65rem .7rem;font-size:1.15rem}.cv-input:focus{border-color:var(--accent);outline:none}output.cv-input{color:var(--accent);background:var(--accent-soft);border-color:#0000;align-items:center;font-weight:800;display:flex}.convert-row select{border:1.5px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;flex:1;min-width:0;padding:.65rem .7rem;font-size:.95rem}.cv-swap{cursor:pointer;border:1.5px solid var(--border);background:var(--card);color:var(--fg);border-radius:999px;margin:.3rem auto .7rem;padding:.4rem 1rem;font-size:.88rem;display:block}.cv-swap:hover{border-color:var(--accent);color:var(--accent)}.cv-equals{margin:.5rem 0 1.1rem;font-size:.95rem}.cv-ref-list{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.35rem .9rem;margin:.45rem 0 0;padding:0;list-style:none;display:grid}.cv-ref-list .val-sm{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .65rem}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{margin-inline:-.25rem;overflow-x:auto}thead th{background:var(--card);white-space:nowrap;font-size:.85rem;position:sticky;top:0}th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--accent)}.sort-ind{color:var(--accent);font-size:.85em}td.best{background:color-mix(in srgb, var(--accent) 13%, transparent);font-weight:700}.cmp-search{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--fg);border-radius:8px;margin-bottom:.8rem;padding:.6rem .75rem;font-size:1rem}.cmp-search:focus{border-color:var(--accent);outline:none}.ref-controls{align-items:center;gap:.8rem;display:flex}.ref-controls .cmp-search{flex:1;margin-bottom:.8rem}.ref-controls .muted{white-space:nowrap;margin-bottom:.8rem}tr.ref-section th{background:var(--bg);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:1rem;font-size:.78rem;position:static}td code{background:var(--accent-soft);color:var(--accent);border-radius:5px;padding:.12rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;font-weight:600}.faq dt{margin-top:1.1rem;font-weight:700}.faq dd{color:var(--muted);margin-inline-start:0}.ad-slot{border-radius:var(--radius);background:var(--card);border:1px dashed var(--border);flex-direction:column;justify-content:center;align-items:center;margin:1.4rem 0;display:flex}.ad-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.3rem;font-size:.68rem}.disclosure{color:var(--muted);border-left:3px solid var(--border);padding-left:.8rem;font-size:.8rem}.prose{max-width:42rem}.prose h2{margin-top:1.8em}.prose li{margin-bottom:.35em}
