.tool{max-width:1040px}.calc{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.calc-rows{display:grid;gap:12px}.calc-row{margin:0;padding:20px;border:0;border-radius:var(--radius-card);background:var(--c-card);box-shadow:var(--shadow-card);display:grid;gap:14px;min-width:0}.calc-title{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:12px;padding:0;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--c-ink);float:left}.calc-title+*{clear:both}.calc-score{font-size:20px;font-weight:700;color:var(--c-brand-deep)}.calc-score small,.calc-total-v small{font-size:.6em;font-weight:500;color:var(--c-faint)}.calc-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}.calc-label{font-size:14px;color:var(--c-sub);line-height:1.4}.calc-input{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--c-faint)}.calc-input input{width:64px;height:44px;padding:0 10px;border-radius:8px;border:1px solid var(--c-border);background:var(--c-bg);font:inherit;font-size:16px;font-weight:600;color:var(--c-ink);text-align:center;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.calc-input input:focus{outline:0;border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.calc-field input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--c-brand);margin:0;height:24px}.calc-total{position:sticky;top:calc(var(--nav-off, var(--topbar-h)) + 12px);transition:top .52s var(--ease-out)}.calc-total-in{padding:22px;border-radius:14px;background:var(--c-brand-soft);box-shadow:inset 0 0 0 1px var(--c-brand-line);display:grid;gap:16px}.calc-total-row{display:flex;align-items:center;gap:18px}.calc-total-v{font-size:44px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--c-ink)}.calc-break{list-style:none;margin:0;padding:0;display:grid}.calc-break li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--c-brand-line);font-size:14px;color:var(--c-text)}.calc-break li:last-child{border-bottom:0}.calc-reset{justify-self:start;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--c-sub);font:inherit;font-size:14px;cursor:pointer}.calc-reset:hover{color:var(--c-ink);background:#ffffffb3}.pairs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--c-brand)}.pair{display:flex;align-items:center;gap:16px;padding:16px 2px;border-bottom:1px solid var(--c-border)}.pair-n{flex-shrink:0;width:28px;font-size:13px;font-weight:600;color:var(--c-brand)}.pair-subjects{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:16.5px;font-weight:500}.pair-subjects a{color:var(--c-ink);text-decoration:none;border-bottom:1px solid var(--c-border-strong);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.pair-subjects a:hover{color:var(--c-brand-deep);border-color:var(--c-brand)}.pair-plus{color:var(--c-faint);font-weight:400}.tool-text{margin-top:56px;max-width:760px;color:var(--c-text);font-size:16px;line-height:1.75}.tool-text h2{font-size:clamp(22px,3.4vw,28px);line-height:1.2;margin:40px 0 12px;color:var(--c-ink)}.tool-text h2:first-child{margin-top:0}.tool-text p{margin:0 0 14px}.tool-text a:not(.link-btn){color:var(--c-brand-deep);text-decoration:underline;text-decoration-color:var(--c-brand-line);text-underline-offset:3px}.tool-text a:not(.link-btn):hover{text-decoration-color:var(--c-brand)}.tool-text table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:14.5px;background:var(--c-card);border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--c-border)}.tool-text th,.tool-text td{padding:11px 14px;border-bottom:1px solid var(--c-border);text-align:left}.tool-text th{background:var(--c-brand-soft);font-size:13px;font-weight:600;color:var(--c-ink)}.tool-text tr:last-child td{border-bottom:0}.tool-text .tr-total td{font-weight:600;color:var(--c-ink)}.tool-faq{border-top:1px solid var(--c-brand)}.tool-faq details{border-bottom:1px solid var(--c-border)}.tool-faq summary{cursor:pointer;padding:18px 0;font-size:16px;font-weight:600;color:var(--c-ink);list-style:none}.tool-faq summary::-webkit-details-marker{display:none}.tool-faq summary:after{content:"+";float:right;color:var(--c-brand);font-weight:500}.tool-faq details[open] summary:after{content:"−"}.tool-faq details p{margin:-4px 0 18px;color:var(--c-sub)}@media(min-width:900px){.calc{grid-template-columns:minmax(0,1fr) 340px;gap:28px}.calc-total{top:92px}.pairs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}@media(max-width:899.98px){.calc-total{position:static}}.prose{color:var(--c-text);font-size:16px;line-height:1.75;max-width:72ch}.prose h1{font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.12;margin:0 0 16px;color:var(--c-ink)}.prose h2{font-size:24px;font-weight:650;line-height:1.25;margin:40px 0 12px;color:var(--c-ink)}.prose h3{font-size:17px;font-weight:600;margin:26px 0 8px;color:var(--c-ink)}.prose p,.prose ul,.prose ol{margin:0 0 14px}.prose ul,.prose ol{padding-left:22px}.prose li::marker{color:var(--c-faint)}.prose strong{color:var(--c-ink);font-weight:600}.prose blockquote{margin:18px 0;padding:14px 18px;border-left:2px solid var(--c-brand);background:var(--c-brand-soft);border-radius:0 8px 8px 0}.prose blockquote p{margin:0}.prose hr{border:0;border-top:1px solid var(--c-border);margin:32px 0}.prose table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:14px;background:var(--c-card);border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--c-border)}.prose th,.prose td{padding:10px 14px;border-bottom:1px solid var(--c-border);text-align:left}.prose th{background:var(--c-paper);font-weight:600;color:var(--c-ink);font-size:13px}.spec-prose{max-width:760px}.spec-prose h1{letter-spacing:-.04em}.spec-prose h2{letter-spacing:-.03em;padding-top:28px;border-top:1px solid var(--c-border);margin-top:48px}.spec-prose h3{letter-spacing:-.015em}.spec-prose a{color:var(--c-brand-deep);text-underline-offset:3px;text-decoration-color:var(--c-brand-line)}.spec-prose code{font-size:.92em;padding:1px 6px;border-radius:5px;background:var(--c-paper)}.spec-prose table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;font-variant-numeric:tabular-nums}.spec-prose th,.spec-prose td{white-space:normal;min-width:72px;padding:10px 12px;line-height:1.45;vertical-align:top}.spec-prose th{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-sub)}.spec-cta{display:flex;flex-direction:column;gap:10px;margin-top:48px;padding-top:28px;border-top:1px solid var(--c-border);max-width:760px}@media(min-width:640px){.spec-cta{flex-direction:row}.spec-cta>a{width:auto;padding-inline:22px}}@media(min-width:900px){.spec-prose table{display:table}}.legal-body{max-width:720px;padding-top:28px;border-top:1px solid var(--c-border)}.legal-body p{margin:0 0 16px;font-size:16px;line-height:1.75;color:var(--c-text)}.legal-body p:first-child{font-size:17.5px;line-height:1.7;color:var(--c-ink)}.legal-body h2{margin:40px 0 12px;font-size:21px;font-weight:650;letter-spacing:-.03em;line-height:1.25;color:var(--c-ink)}.legal-body a{color:var(--c-brand-deep);text-decoration:underline;text-decoration-color:var(--c-brand-line);text-underline-offset:4px;overflow-wrap:anywhere}.legal-body a:hover{text-decoration-color:currentColor}.price-table{display:grid;grid-template-columns:minmax(0,1fr);border-radius:18px;background:var(--c-card);box-shadow:var(--shadow-card);position:relative}.price-col{position:relative;display:flex;flex-direction:column;padding:28px 24px}.price-col+.price-col{box-shadow:inset 0 1px 0 var(--c-border)}.price-table .price-col.is-feat{z-index:1;border-radius:18px;margin:-1px;background:linear-gradient(180deg,var(--c-brand-soft) 0%,rgba(238,240,253,.35) 55%,var(--c-card) 100%);box-shadow:0 0 0 1.5px var(--c-brand),0 24px 48px -28px #4f5bd559}.price-col.is-feat+.price-col{box-shadow:none}.price-spacer{flex:1}.price-name{color:var(--c-sub)}.price-col.is-feat .price-name{color:var(--c-brand-deep)}.price-v{margin-top:18px;font-size:clamp(38px,8vw,48px);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--c-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.price-per{margin-top:10px;font-size:13.5px;color:var(--c-sub);font-variant-numeric:tabular-nums;min-height:1.45em}.price-desc{margin:18px 0 0;padding-top:18px;border-top:1px solid var(--c-border);font-size:14.5px;line-height:1.6;color:var(--c-text)}.price-col.is-feat .price-desc{border-top-color:var(--c-brand-line)}.price-cta{margin-top:28px!important}.price-feats{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--c-border)}.price-feats li{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--c-border);font-size:15px;line-height:1.5;color:var(--c-text)}.price-feats li svg{color:var(--c-brand);flex-shrink:0;margin-top:3px}@media(min-width:760px){.price-table{grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}.price-col{padding:36px 32px 32px}.price-col+.price-col{box-shadow:inset 1px 0 0 var(--c-border)}.price-table .price-col.is-feat{margin:-10px -1px;padding-top:46px;padding-bottom:42px}.price-col.is-feat+.price-col{box-shadow:none}.price-feats{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}.err{min-height:56vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 0 24px}.err-code{font-size:clamp(88px,22vw,152px);font-weight:700;letter-spacing:-.06em;line-height:.9;font-variant-numeric:tabular-nums;color:var(--c-brand-line);-webkit-user-select:none;user-select:none}.err-h1{margin:22px 0 0;font-size:clamp(28px,6vw,40px);font-weight:700;letter-spacing:-.04em;line-height:1.1;color:var(--c-ink)}.err-p{margin:12px auto 0;max-width:40ch;font-size:16px;line-height:1.6;color:var(--c-sub)}.err-cta{margin-top:32px;width:auto!important;min-width:200px}.price-table .price-col.is-feat:before{content:"";position:absolute;inset:-6px;border-radius:22px;pointer-events:none;z-index:-1;box-shadow:0 0 0 1px #4f5bd559,0 0 36px 2px #4f5bd547;opacity:0;animation:featGlow 3.2s var(--ease-in-out) infinite}@keyframes featGlow{0%,to{opacity:.15}50%{opacity:1}}
