.ctnav{background:var(--surface,#fcfbf8);border-bottom:1px solid var(--line,#d3d1c6);position:relative;z-index:40;font-family:"Archivo",system-ui,sans-serif;}
.ctnav-in{max-width:var(--maxw,1060px);margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.ctnav-logo{font-weight:800;font-size:17px;letter-spacing:-.01em;color:var(--ink,#15181b)!important;text-decoration:none;white-space:nowrap;}
.ctnav-logo b{color:var(--accent,#2c5642);font-weight:800;}
.ctnav-links{display:flex;gap:4px 16px;flex-wrap:wrap;font-size:14.5px;font-weight:600;}
.ctnav-links a{color:var(--ink,#15181b);text-decoration:none;padding:6px 0;white-space:nowrap;}
.ctnav-links a:hover{color:var(--accent,#2c5642);text-decoration:underline;}
.ctnav-s{position:relative;margin-left:auto;flex:0 1 260px;}
.ct-search{width:100%;font:15px/1.2 "Archivo",system-ui,sans-serif;padding:9px 12px;border:1px solid var(--line-strong,#b9b7ab);border-radius:8px;background:var(--paper,#e8e6df);color:var(--ink,#15181b);}
.ct-res{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface,#fcfbf8);border:1px solid var(--line-strong,#b9b7ab);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);max-height:60vh;overflow:auto;z-index:60;min-width:260px;}
.ct-res a{display:block;padding:9px 12px;border-bottom:1px solid var(--line,#d3d1c6);text-decoration:none;color:var(--ink,#15181b);font:600 14.5px/1.3 "Archivo",system-ui,sans-serif;}
.ct-res a:hover,.ct-res a:focus{background:var(--plate,#dedcd3);}
.ct-res small{display:block;font:400 12.5px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:var(--ink-soft,#41463f);margin-top:2px;}
.ct-res p{margin:0;padding:10px 12px;font:14px/1.4 "Archivo",system-ui,sans-serif;color:var(--ink-soft,#41463f);}
.brandtag{display:none!important;}
@media (max-width:720px){.completeness{flex-wrap:wrap;row-gap:6px;}}
.ct-tw,.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
main img{max-width:100%;}
main p,main li,main h1,main h2,main h3,main dd{overflow-wrap:break-word;}
.hbanner{position:relative;width:100%;margin:0;max-height:340px;overflow:hidden;border-bottom:1px solid var(--line-strong);background:var(--plate);}
.hbanner img{width:100%;height:340px;object-fit:cover;display:block;}
.hbanner figcaption{position:absolute;right:8px;bottom:6px;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.02em;color:#fff;background:rgba(10,14,12,.55);padding:3px 8px;border-radius:4px;}
.hbanner figcaption a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
@media (max-width:720px){.hbanner img{height:210px;}.hbanner{max-height:210px;}}
.ctfoot{background:var(--surface,#fcfbf8);border-top:1px solid var(--line,#d3d1c6);margin-top:40px;font-family:"Archivo",system-ui,sans-serif;}
.ctfoot-in{max-width:var(--maxw,1060px);margin:0 auto;padding:36px 24px 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px 28px;}
.ctfoot h2{font:700 12px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft,#41463f);margin:0 0 10px;}
.ctfoot ul{list-style:none;margin:0;padding:0;}
.ctfoot li{margin:0 0 7px;font-size:14.5px;line-height:1.35;}
.ctfoot a{color:var(--ink,#15181b);text-decoration:none;}
.ctfoot a:hover{color:var(--accent,#2c5642);text-decoration:underline;}
.ctfoot-legal{grid-column:1/-1;border-top:1px solid var(--line,#d3d1c6);padding-top:18px;font-size:13px;color:var(--ink-soft,#41463f);line-height:1.5;margin:0;}
.yrrecs{margin-top:22px;}
.yrrecs-h{font:700 1rem/1.3 "Archivo",system-ui,sans-serif;margin:0 0 10px;}
.yrd{border:1px solid var(--line,#d3d1c6);border-radius:8px;background:var(--surface,#fcfbf8);margin:0 0 10px;}
.yrd>summary{cursor:pointer;padding:12px 16px;font:600 15.5px/1.35 "Archivo",system-ui,sans-serif;list-style-position:inside;}
.yrd-y{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:700;color:var(--accent,#2c5642);margin-right:6px;}
.yrd-k{display:inline-block;margin-left:8px;font:400 13px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:var(--ink-soft,#41463f);}
.yrd-b{padding:4px 16px 16px;}
.yrd-h{font:700 .95rem/1.3 "Archivo",system-ui,sans-serif;margin:18px 0 8px;}
.yrd-src{font-size:.9rem;}
@media (max-width:720px){.ctnav-in{padding:8px 16px;gap:8px 12px;}.ctnav-s{flex:1 1 100%;order:3;margin-left:0;}.ctnav-links{order:2;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;gap:18px;font-size:14px;}.ctfoot-in{padding:28px 16px 36px;grid-template-columns:1fr 1fr;}}
