.search-trigger[data-astro-cid-7yy3665x]{min-width:116px;height:38px;color:var(--ink-soft);background:var(--canvas);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.search-trigger[data-astro-cid-7yy3665x]:hover{color:var(--ink);border-color:var(--line-strong)}.search-dialog[data-astro-cid-7yy3665x]{border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:min(100% - 24px,680px);max-height:min(76vh,640px);padding:0;overflow:hidden;box-shadow:0 24px 80px #0f1c173d}.search-dialog[data-astro-cid-7yy3665x]::backdrop{background:#121b1894}.search-dialog-head[data-astro-cid-7yy3665x]{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.search-dialog-head[data-astro-cid-7yy3665x] input[data-astro-cid-7yy3665x]{background:0 0;border:0;outline:0;min-width:0;height:44px;font-size:1.02rem}.search-results[data-astro-cid-7yy3665x]{scrollbar-gutter:stable;max-height:520px;padding:10px 12px 14px;overflow-y:auto}.search-results[data-astro-cid-7yy3665x] .search-summary{color:var(--ink-soft);text-transform:uppercase;padding:4px 6px 9px;font-size:.72rem;font-weight:780}.search-results[data-astro-cid-7yy3665x] .search-result-list{gap:4px;display:grid}.search-results[data-astro-cid-7yy3665x] .search-result{min-height:68px;color:var(--ink);border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:11px 12px;text-decoration:none;display:grid}.search-results[data-astro-cid-7yy3665x] .search-result:hover,.search-results[data-astro-cid-7yy3665x] .search-result:focus-visible{color:var(--ink);background:var(--canvas);border-color:var(--line);outline:0}.search-results[data-astro-cid-7yy3665x] .search-result span{min-width:0}.search-results[data-astro-cid-7yy3665x] .search-result strong,.search-results[data-astro-cid-7yy3665x] .search-result small{display:block}.search-results[data-astro-cid-7yy3665x] .search-result strong{font-size:.91rem;line-height:1.35}.search-results[data-astro-cid-7yy3665x] .search-result small{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:.78rem;line-height:1.42;display:-webkit-box;overflow:hidden}.search-results[data-astro-cid-7yy3665x] .search-result em{color:var(--brand-strong);text-transform:uppercase;white-space:nowrap;align-self:start;padding-top:2px;font-size:.68rem;font-style:normal;font-weight:780}.search-results[data-astro-cid-7yy3665x] .search-empty{color:var(--ink-soft);text-align:center;margin:0;padding:34px 20px}@media (width<=760px){.search-trigger[data-astro-cid-7yy3665x]{background:0 0;justify-content:center;width:42px;min-width:42px;padding:0}.search-trigger[data-astro-cid-7yy3665x] span[data-astro-cid-7yy3665x]{display:none}.search-dialog[data-astro-cid-7yy3665x]{max-height:min(82vh,680px)}.search-dialog-head[data-astro-cid-7yy3665x]{gap:7px;padding:9px 8px 9px 11px}.search-results[data-astro-cid-7yy3665x]{padding:8px}.search-results[data-astro-cid-7yy3665x] .search-summary{padding-inline:8px}.search-results[data-astro-cid-7yy3665x] .search-result{gap:10px;min-height:72px;padding:10px}.search-results[data-astro-cid-7yy3665x] .search-result em{font-size:.63rem}}.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:202px;height:40px;display:block}.site-header[data-astro-cid-nen7h5rs]{z-index:50;border-bottom:1px solid var(--line);background:#fffffffa;position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{align-items:center;gap:24px;min-height:62px;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--ink);flex:none;align-items:center;gap:9px;font-size:1.18rem;font-weight:820;text-decoration:none;display:inline-flex}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--brand-strong)}.brand-mark[data-astro-cid-nen7h5rs]{color:#fff;background:var(--brand);border-radius:6px;place-items:center;width:35px;height:35px;display:grid}.desktop-nav[data-astro-cid-nen7h5rs]{align-self:stretch;gap:1px;display:flex}.nav-item[data-astro-cid-nen7h5rs]{display:flex}.nav-toggle[data-astro-cid-nen7h5rs]{color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:5px;padding:0 10px;font-size:.88rem;font-weight:720;display:flex}.nav-toggle[data-astro-cid-nen7h5rs]:hover,.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true]{color:var(--ink);background:var(--canvas)}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] svg{transform:rotate(180deg)}.mega-panel[data-astro-cid-nen7h5rs]{z-index:60;border-block:1px solid var(--line);background:#fff;max-height:calc(100vh - 62px);position:fixed;top:62px;left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #121b1824}.mega-inner[data-astro-cid-nen7h5rs]{padding-block:22px 28px}.mega-heading[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding-bottom:17px;display:flex}.mega-heading[data-astro-cid-nen7h5rs] div[data-astro-cid-nen7h5rs]{display:grid}.mega-heading[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{font-size:1.05rem}.mega-heading[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{color:var(--ink-soft);font-size:.82rem}.mega-heading[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{align-items:center;gap:6px;font-size:.84rem;font-weight:750;text-decoration:none;display:inline-flex}.mega-columns[data-astro-cid-nen7h5rs]{gap:28px;padding-top:20px;display:grid}.unit-columns[data-astro-cid-nen7h5rs]{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-columns[data-astro-cid-nen7h5rs],.time-columns[data-astro-cid-nen7h5rs],.developer-columns[data-astro-cid-nen7h5rs]{grid-template-columns:repeat(3,minmax(0,1fr))}.mega-columns[data-astro-cid-nen7h5rs] section[data-astro-cid-nen7h5rs]{align-content:start;gap:2px;min-width:0;display:grid}.mega-columns[data-astro-cid-nen7h5rs] h2[data-astro-cid-nen7h5rs]{color:var(--ink-soft);text-transform:uppercase;margin:0 0 7px;font-size:.72rem}.mega-columns[data-astro-cid-nen7h5rs] h2[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:inherit;text-decoration:none}.mega-columns[data-astro-cid-nen7h5rs] section[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{min-height:31px;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:.84rem;text-decoration:none;display:flex}.mega-columns[data-astro-cid-nen7h5rs] section[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]:hover{color:var(--brand-strong);text-decoration:underline}.mega-columns[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{color:var(--ink-soft);font-size:.7rem}.mega-columns[data-astro-cid-nen7h5rs] .view-group[data-astro-cid-nen7h5rs]{color:var(--brand-strong);font-size:.76rem;font-weight:750}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:8px;margin-left:auto;display:flex}.menu-button[data-astro-cid-nen7h5rs]{display:none}.mobile-menu[data-astro-cid-nen7h5rs]{z-index:80;background:#fff;width:min(92vw,410px);height:100dvh;padding:14px 14px 36px;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-16px 0 42px #101b172e}.mobile-menu-head[data-astro-cid-nen7h5rs]{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:68px;padding:10px 4px 12px;display:flex;position:sticky;top:-14px}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs]{display:grid}.mobile-primary-link[data-astro-cid-nen7h5rs],.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{min-height:52px;color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:0 8px;font-weight:750;text-decoration:none;display:flex}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{cursor:pointer;list-style:none}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.mobile-menu[data-astro-cid-nen7h5rs] details[data-astro-cid-nen7h5rs][open]>summary[data-astro-cid-nen7h5rs] svg{transform:rotate(180deg)}.mobile-detail-content[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line);padding:10px 8px 18px}.mobile-detail-content[data-astro-cid-nen7h5rs] section[data-astro-cid-nen7h5rs]{gap:3px;margin-bottom:16px;display:grid}.mobile-detail-content[data-astro-cid-nen7h5rs] section[data-astro-cid-nen7h5rs]:last-child{margin-bottom:0}.mobile-detail-content[data-astro-cid-nen7h5rs] h2[data-astro-cid-nen7h5rs]{color:var(--ink-soft);text-transform:uppercase;margin:0 0 5px;font-size:.72rem}.mobile-detail-content[data-astro-cid-nen7h5rs] h2[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:inherit;text-decoration:none}.mobile-detail-content[data-astro-cid-nen7h5rs] section[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{color:var(--ink);padding:6px 0;font-size:.86rem;text-decoration:none}.mobile-detail-content[data-astro-cid-nen7h5rs] .view-group[data-astro-cid-nen7h5rs]{color:var(--brand-strong);font-weight:750}.menu-backdrop[data-astro-cid-nen7h5rs]{z-index:70;background:#121b1885;position:fixed;inset:0}@media (width<=1100px){.header-inner[data-astro-cid-nen7h5rs]{gap:14px}.nav-toggle[data-astro-cid-nen7h5rs]{padding-inline:7px;font-size:.82rem}}@media (width<=979px){.desktop-nav[data-astro-cid-nen7h5rs]{display:none}.menu-button[data-astro-cid-nen7h5rs]{display:inline-grid}.header-inner[data-astro-cid-nen7h5rs]{min-height:58px}.mega-panel[data-astro-cid-nen7h5rs]{display:none}.mobile-menu[data-astro-cid-nen7h5rs]{display:block}}@media (width<=420px){.brand[data-astro-cid-nen7h5rs]{font-size:1.05rem}.brand-mark[data-astro-cid-nen7h5rs]{width:32px;height:32px}}.developer-columns[data-astro-cid-nen7h5rs]{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=420px){.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:148px;height:auto}}.site-footer[data-astro-cid-jo6i4kqk]{color:#dce6e1;border-top:4px solid var(--accent);background:#1b2923}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.45fr repeat(4,1fr);gap:34px;padding-block:44px 34px;display:grid}.footer-brand[data-astro-cid-jo6i4kqk]{color:#fff;margin-bottom:10px;font-size:1.25rem;font-weight:820;text-decoration:none;display:inline-block}.footer-grid[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:#b9c8c1;max-width:360px}.footer-grid[data-astro-cid-jo6i4kqk] nav[data-astro-cid-jo6i4kqk]{align-content:start;gap:8px;display:grid}.footer-grid[data-astro-cid-jo6i4kqk] strong[data-astro-cid-jo6i4kqk]{color:#fff;margin-bottom:3px;font-size:.84rem}.footer-grid[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#c7d4ce;font-size:.88rem;text-decoration:none}.footer-grid[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff;text-decoration:underline}.footer-bottom[data-astro-cid-jo6i4kqk]{color:#9fb0a8;border-top:1px solid #35463e;justify-content:space-between;gap:20px;padding-block:16px 24px;font-size:.8rem;display:flex}@media (width<=900px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid[data-astro-cid-jo6i4kqk]>div[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width<=440px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.footer-grid[data-astro-cid-jo6i4kqk]>div[data-astro-cid-jo6i4kqk]{grid-column:auto}}:root{color-scheme:light;--ink:#18231f;--ink-soft:#4d5c56;--paper:#fff;--canvas:#f5f7f4;--canvas-strong:#edf1ed;--line:#d7ded9;--line-strong:#b7c2bb;--brand:#0b6b57;--brand-strong:#075444;--brand-soft:#dff2ec;--blue:#265f88;--blue-soft:#e4eff6;--accent:#e7a51b;--accent-soft:#fff2d2;--danger:#b42318;--shadow:0 12px 30px #18231f14;--radius:8px;--content:1180px;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--canvas);margin:0;line-height:1.55}body.menu-open,body.dialog-open{overflow:hidden}a{color:var(--brand-strong);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--brand)}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline-offset:2px;outline:3px solid #265f8861}::selection{color:var(--ink);background:var(--accent-soft)}.skip-link{z-index:1000;color:#fff;background:var(--ink);border-radius:4px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 32px), var(--content));margin-inline:auto}.page-main{min-height:68vh;padding-block:28px 64px}.eyebrow{color:var(--brand-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:750}h1,h2,h3{color:var(--ink);letter-spacing:0;margin-top:0;line-height:1.18}h1{margin-bottom:12px;font-size:2.6rem}h2{margin-bottom:16px;font-size:1.75rem}h3{margin-bottom:8px;font-size:1.05rem}p{margin-top:0}.lede{max-width:760px;color:var(--ink-soft);margin-bottom:24px;font-size:1.08rem}.section{padding-block:44px}.section+.section{border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.muted{color:var(--ink-soft)}.surface{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.tool-surface{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3vw,30px)}.tool-surface h2{font-size:1.12rem}.button{min-height:42px;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.button:hover{color:var(--ink);background:var(--canvas-strong)}.button-primary{color:#fff;background:var(--brand);border-color:var(--brand)}.button-primary:hover{color:#fff;background:var(--brand-strong)}.icon-button{width:42px;height:42px;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;flex:0 0 42px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--canvas-strong)}.field-label{color:var(--ink-soft);margin-bottom:7px;font-size:.82rem;font-weight:750;display:block}.input,.select{width:100%;min-height:48px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:10px 12px}.input:hover,.select:hover{border-color:#8e9e94}.input-lg{font-variant-numeric:tabular-nums;min-height:58px;font-size:1.35rem}.result-input{color:var(--brand-strong);background:#f7fbf9;font-weight:780}.field-help,.form-error{min-height:20px;margin:6px 0 0;font-size:.82rem}.field-help{color:var(--ink-soft)}.form-error{color:var(--danger)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:34px;color:var(--ink-soft);background:var(--canvas);border:1px solid var(--line);border-radius:5px;align-items:center;padding:6px 10px;font-size:.86rem;font-weight:650;text-decoration:none;display:inline-flex}.chip:hover{color:var(--brand-strong);background:var(--brand-soft);border-color:#a8d4c7}.link-grid,.category-grid,.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.link-tile{min-height:58px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;font-weight:700;text-decoration:none;display:flex}.link-tile:hover{color:var(--brand-strong);border-color:#98b9ad;box-shadow:0 5px 14px #18231f0f}.link-tile small{color:var(--ink-soft);margin-top:3px;font-weight:550;line-height:1.4;display:block}.category-card,.tool-card{min-height:150px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:18px;text-decoration:none;display:flex}.category-card:hover,.tool-card:hover{color:var(--ink);border-color:#93afa4;box-shadow:0 7px 18px #18231f12}.card-icon{width:36px;height:36px;color:var(--brand-strong);background:var(--brand-soft);border-radius:6px;place-items:center;margin-bottom:18px;display:grid}.category-card h3,.tool-card h3{margin-bottom:5px}.category-card p,.tool-card p{color:var(--ink-soft);margin-bottom:0;font-size:.9rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 14px}th{color:var(--ink-soft);text-transform:uppercase;font-size:.78rem;font-weight:800}tr:last-child td{border-bottom:0}.prose{max-width:800px}.prose h2{margin-top:38px}.prose h3{margin-top:26px}.prose p,.prose li{color:#34443d}.formula{overflow-wrap:anywhere;color:var(--ink);background:var(--accent-soft);border-left:4px solid var(--accent);padding:16px 18px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:1.02rem}.segmented{background:var(--canvas-strong);border:1px solid var(--line);border-radius:7px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented button{white-space:nowrap;background:0 0;border:0;border-radius:4px;min-height:36px;padding:7px 12px}.segmented button[aria-selected=true]{color:var(--brand-strong);background:#fff;font-weight:750;box-shadow:0 1px 3px #18231f21}.notice{color:#30483e;background:var(--brand-soft);border-left:4px solid var(--brand);padding:14px 16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (width<=820px){.link-grid,.category-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-direction:column;align-items:flex-start}}@media (width<=560px){.container{width:min(calc(100% - 24px), var(--content))}.page-main{padding-top:20px}h1{font-size:2rem}h2{font-size:1.45rem}.tool-surface h2{font-size:1.08rem}.link-grid,.category-grid,.tool-grid{grid-template-columns:1fr}.category-card,.tool-card{min-height:126px}.tool-surface{padding:16px}.table-wrap table{table-layout:fixed}.table-wrap th,.table-wrap td{overflow-wrap:anywhere;padding-inline:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
