/* Navigation follows a visitor's task. Details controls work without hover or JS. */
:root body .header{gap:20px}
:root body .header #main-navigation{gap:24px;align-items:center}
:root body #main-navigation>details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:600}
:root body #main-navigation summary::-webkit-details-marker{display:none}
:root body #main-navigation summary:focus-visible{outline:3px solid #a37629;outline-offset:4px}
:root body #main-navigation>details[open]>summary{color:#047857}
:root body .kyh-menu-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(860px,calc(100vw - 48px));background:#fffef8;border:1px solid #d8e1d9;border-radius:0 0 18px 18px;padding:32px;box-shadow:0 22px 40px #173a2926;display:grid;grid-template-columns:1fr 1fr;gap:40px;font-weight:400}
:root body .kyh-menu-panel a{display:block;min-height:44px;padding:10px 0;font-size:14px;color:#183c31}
:root body .kyh-menu-panel a:hover{text-decoration:underline;text-underline-offset:4px}
:root body .kyh-menu-panel b{font-weight:600;display:block}
:root body .kyh-menu-panel small{display:block;font-size:12px;line-height:1.6;color:#586575;margin-top:4px}
:root body .kyh-menu-panel .menu-label{font-size:10px;letter-spacing:.14em;font-weight:650;color:#5b6b62;margin:0 0 12px}
:root body .kyh-menu-panel .menu-feature{background:#edf4ec;padding:22px;border-radius:12px}
:root body .kyh-menu-panel .menu-feature>p:not(.menu-label){font-size:12px;margin:12px 0}
:root body .kit-comparison{padding-top:64px;padding-bottom:64px;scroll-margin-top:130px}
:root body .kit-comparison h2{margin-bottom:20px}
:root body .kit-compare-wrap{overflow:auto;border:1px solid #d8e1d9;border-radius:12px;background:white;margin-top:24px}
:root body .kit-compare-wrap table{width:100%;min-width:570px;border-collapse:collapse;font-size:14px;line-height:1.65}
:root body .kit-compare-wrap :is(th,td){padding:17px 22px;text-align:left;vertical-align:top;border-bottom:1px solid #e3e8e3;width:33.33%}
:root body .kit-compare-wrap thead{background:#edf4ec}
:root body .kit-compare-wrap a{color:#047857;text-decoration:underline;text-underline-offset:4px}
:root body .library-reset{border:1px solid #bdcfc2;background:#fff;min-height:44px;border-radius:24px;padding:8px 18px;margin:16px 0;font-size:13px;color:#214c3d}
:root body [hidden]{display:none!important}
@media(max-width:1100px){
 :root body .header{position:sticky;padding:16px 24px}
 :root body .header .navtools{gap:16px}
 :root body .header .navtools>.button{display:none}
 :root body .header .menu-toggle{display:block;min-width:44px;min-height:44px;font-size:25px}
 :root body .header #main-navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 120px);overflow:auto;background:#fffef8;box-shadow:0 20px 40px #183e2926;padding:16px 24px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #d8e1d9}
 :root body .header #main-navigation.open{display:flex}
 :root body #main-navigation>a,:root body #main-navigation>details>summary{padding:12px 0;min-height:48px;font-size:15px}
 :root body #main-navigation>details{border-top:1px solid #d8e1d9}
 :root body #main-navigation>details>summary{justify-content:space-between}
 :root body .kyh-menu-panel{position:static;transform:none;width:auto;box-shadow:none;border:0;border-radius:0;padding:12px 0 24px;gap:24px}
}
@media(max-width:600px){:root body .kyh-menu-panel{grid-template-columns:1fr}:root body .header{padding:12px 16px}:root body .header .navtools{gap:8px}:root body .kit-comparison{padding-block:40px}}
@media(prefers-reduced-motion:reduce){:root body #main-navigation *{scroll-behavior:auto;transition:none}}
