.sol{--sig: var(--accent);--sig-ink: var(--accent-ink)}.sol-hero{padding-bottom:clamp(40px,5vw,70px)}.sol-hero h1{margin-top:20px;font-size:clamp(2.6rem,5.4vw,5rem);font-weight:460;line-height:.96;letter-spacing:-.044em;max-width:16ch}.sol-lede{margin-top:22px;max-width:60ch;font-size:clamp(16px,1.35vw,19.5px);line-height:1.58}.sol-hero .art-meta{margin-top:18px}.sol-hero .hero-cta{margin-top:24px;align-items:center}.sol-pdf-note{color:var(--muted);font-size:10px}.sol-answer{margin-top:clamp(30px,3.6vw,46px);max-width:84ch;padding:clamp(22px,2.4vw,30px) clamp(22px,2.6vw,34px);border:1px solid var(--line-2);border-left:2px solid var(--accent);border-radius:16px;background:var(--glass)}.sol-answer>.mono{display:flex;align-items:center;gap:8px;color:var(--accent-ink);font-size:10px;margin-bottom:12px}.sol-answer p:last-child{margin:0;color:var(--ink);font-size:clamp(15px,1.15vw,16.5px);line-height:1.68}.sol-jump{margin-top:clamp(28px,3vw,40px);display:flex;flex-wrap:wrap;gap:8px}.sol-jump a{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);font-size:11px;line-height:1;transition:border-color .25s,color .25s,background .25s}.sol-jump a:hover{color:var(--ink);border-color:var(--accent);background:var(--glass-soft)}.sol-jump span{color:var(--faint)}.sol-sec+.sol-sec,.sol-tools{border-top:1px solid var(--line)}.sol-sec .pv-head h2{max-width:20ch}.sol-copy{margin-top:clamp(24px,2.6vw,34px);max-width:74ch;color:var(--ink-2);font-size:clamp(15.5px,1.2vw,17px);line-height:1.72}.sol-copy p+p{margin-top:20px}.sol-source-list{margin-top:28px;max-width:74ch;border-top:1px solid var(--line)}.sol-source-list li{border-bottom:1px solid var(--line)}.sol-source-list a{display:flex;justify-content:space-between;gap:24px;padding:16px 0;color:var(--ink);text-decoration:none}.sol-source-list a:hover,.sol-source-list a:focus-visible{color:var(--accent-ink)}.sol-points{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.sol-points li{padding:clamp(20px,2.2vw,28px);background:var(--bg)}.sol-points b{display:block;font-size:clamp(16px,1.5vw,19px);font-weight:500;letter-spacing:-.018em;color:var(--ink)}.sol-points em{display:block;margin-top:9px;font-style:normal;color:var(--ink-2);font-size:14px;line-height:1.6}@media (min-width: 860px){.sol-points{grid-template-columns:repeat(2,1fr)}}.sol-tool-list{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-2);border-left:1px solid var(--line)}.sol-tool-list li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sol-tool-list a{position:relative;display:flex;flex-direction:column;min-height:230px;padding:22px 22px 26px;transition:background .35s var(--ease)}.sol-tool-list a:before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--sig);transition:width .6s var(--ease)}.sol-tool-list a:hover{background:var(--glass)}.sol-tool-list a:hover:before{width:100%}.sol-tool-list .mono{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:9.5px;letter-spacing:.1em}.sol-tool-list .mono i{width:6px;height:6px;border-radius:50%;background:var(--sig)}.sol-tool-list b{margin-top:auto;padding-top:36px;font-size:27px;font-weight:500;letter-spacing:-.035em;color:var(--ink)}.sol-tool-list em{margin-top:9px;font-style:normal;font-size:13.5px;line-height:1.55;color:var(--ink-2)}.sol-go{position:absolute;right:20px;top:18px;font-style:normal;color:var(--muted);transition:transform .4s var(--ease),color .3s}.sol-tool-list a:hover .sol-go{transform:translate(3px);color:var(--sig-ink, var(--sig))}@media (max-width: 1000px){.sol-tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.sol-tool-list{grid-template-columns:1fr}.sol-tool-list a{min-height:0}.sol-tool-list b{padding-top:22px}}.sol-fig{margin-top:clamp(30px,3.6vw,44px)}.sol-fig--hero{margin-top:clamp(28px,3.2vw,40px);max-width:84ch}.sol-sec .sol-fig{max-width:80ch}.tfig .inst-body{padding:14px 16px 10px}.tf{display:block;width:100%;height:auto;overflow:visible}.tf-grid{stroke:var(--line);stroke-width:1}.tf-axis{stroke:var(--line-2);stroke-width:1}.tf-line{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.tf-lbl{fill:var(--ink);font:500 11px var(--f-mono);letter-spacing:.04em}.tf-lbl--sm{font-size:9.5px;letter-spacing:.02em}.tf-unit{fill:var(--muted);font:400 9.5px var(--f-mono);letter-spacing:.06em}.tf-idx{fill:var(--muted);font:400 9.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase}.tf-idx.is-bad{fill:var(--red-ink)}.tf-val{fill:var(--ink);font:500 11px var(--f-mono)}.tf-read{fill:var(--ink);font:500 15px var(--f-mono);letter-spacing:-.01em}.tf-note{fill:var(--muted);font:400 10px var(--f-mono);letter-spacing:.04em}.tf-cur{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.85}.tf-dot{fill:var(--accent);stroke:var(--bg);stroke-width:2}.tf-band{fill:var(--accent);opacity:.07}.tf-thr{stroke:var(--c-xhb);stroke-width:1.2;stroke-dasharray:5 4}.tf-thr--alt{stroke:var(--c-hexx)}.tf-tol{fill:var(--accent);opacity:.1}.tf-arrow{fill:none;stroke:var(--line-2);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.tf-pedal{stroke:var(--c-xhb);stroke-dasharray:4 3;opacity:.8}.tf-ref{stroke:var(--muted);stroke-dasharray:5 4}.tf-cal{stroke:var(--accent)}.tf-res{stroke:var(--c-xhb);stroke-width:1.3}.tf-ch0{stroke:var(--c-mdx)}.tf-ch1{stroke:var(--c-diag)}.tf-ch2{stroke:var(--c-xhb)}.tf-ch3{stroke:var(--c-hexx)}.tf-bar{fill:var(--accent)}.tf-bar--a{fill:var(--accent);opacity:.85}.tf-bar--b{fill:var(--c-mdx);opacity:.85}.tf-bar--good{fill:var(--c-diag);opacity:.9}.tf-bar--bad{fill:var(--c-xhb);opacity:.9}.tf-rng{fill:var(--accent);opacity:.35}.tf-rng--noise{fill:var(--c-xhb);opacity:.4}.tf-cell{fill:var(--accent)}.tf-key{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 2px 4px;color:var(--muted);font-size:10px}.tf-key span{display:inline-flex;align-items:center;gap:8px}.tf-sw{width:16px;height:2px;border-radius:2px;background:var(--muted)}.tf-sw--cal{background:var(--accent)}.tf-sw--ref{background:repeating-linear-gradient(90deg,var(--muted) 0 5px,transparent 5px 9px)}.tf-sw--pedal{background:repeating-linear-gradient(90deg,var(--c-xhb) 0 4px,transparent 4px 7px)}.tf-sw--a{background:var(--accent);height:9px;width:9px;border-radius:2px}.tf-sw--b{background:var(--c-mdx);height:9px;width:9px;border-radius:2px}.tf-sw--tol{background:color-mix(in srgb,var(--accent) 22%,transparent);height:10px;border-radius:2px}.tf-rows{list-style:none;margin:0;padding:0}.tf-rows li{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:6px 16px;align-items:baseline;padding:11px 2px;border-bottom:1px solid var(--line)}.tf-rows li:last-child{border-bottom:0}.tf-rows li.is-out{border-top:1px solid var(--line-2);margin-top:4px}.tf-rk{color:var(--ink);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.tf-rd{color:var(--ink-2);font-size:13px;line-height:1.45}.tf-rows b{color:var(--ink);font-size:15px}.tf-rows em{grid-column:2 / -1;font-style:normal;color:var(--muted);font-size:10px;letter-spacing:.06em}.tf-rows li.is-out em{color:var(--red-ink)}.tf-ev{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 14px}.tf-ev span{padding:5px 10px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);font-size:10px}.tf-rank{list-style:none;margin:0;padding:0;display:grid;gap:14px}.tf-rank-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.tf-rank-h b{font-size:14.5px;font-weight:500;color:var(--ink)}.tf-rank-h span{color:var(--sig-ink, var(--accent-ink));font-size:11px}.tf-rank-bar{height:4px;margin:7px 0 5px;border-radius:3px;background:var(--line);overflow:hidden}.tf-rank-bar i{display:block;height:100%;border-radius:3px;background:var(--sig, var(--accent))}.tf-rank .tf-idx{color:var(--muted);font-size:9.5px}@media (max-width: 600px){.tf-rows li{grid-template-columns:1fr auto}.tf-rk{grid-column:1 / -1}.tf-rd{grid-column:1}}.tf-out{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:4px;padding:12px 2px 4px;border-top:1px solid var(--line)}.tf-out span{display:inline-flex;align-items:baseline;gap:9px;color:var(--muted);font-size:10px;letter-spacing:.04em}.tf-out b{color:var(--ink);font-size:15px;font-weight:500;letter-spacing:-.01em}.tf-out .is-delta b{color:var(--accent-ink)}.tf-cellv{fill:var(--ink-2);font:400 9.5px var(--f-mono)}.tf-cellv.is-hi{fill:#fff;font-weight:500}
