/* Scoped publication UI. Existing theme, reader and CBT rules are not changed. */
.kbpub{color:#193c46;font-family:inherit;font-size:15px;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}
.kbpub *{box-sizing:border-box}.kbpub a{text-decoration:none;color:#245968}.kbpub a:focus-visible{outline:3px solid #168c91;outline-offset:4px}.kbpub a:hover{text-decoration:underline}.kbpub img{max-width:100%}.kbpub h1,.kbpub h2,.kbpub h3,.kbpub p,.kbpub dl,.kbpub dd{margin:0}.kbpub h2,.kbpub h3{color:#173b48}
.kbpub-page{max-width:1180px;margin:auto;padding:32px 18px 72px}.kbpub-crumb{font-size:13px;color:#5b7279;margin-bottom:22px}.kbpub-hero{padding:40px;border:1px solid #dbe6e8;background:#f5f9fa;border-radius:14px}.kbpub-kicker{display:block;color:#14686d;font-size:11px;font-weight:850;letter-spacing:.12em}.kbpub-hero h1{margin:12px 0 16px;font-size:clamp(30px,4.2vw,46px);line-height:1.3;letter-spacing:-.035em}.kbpub-hero p{max-width:800px;color:#4a656f}.kbpub-counters{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}.kbpub-counters span{padding:10px 15px;background:#fff;border:1px solid #dce6e8;border-radius:8px;color:#4f676e}.kbpub-counters b{font-size:22px;margin-right:6px;color:#163b46}.kbpub-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.kbpub-nav a{min-height:44px;display:inline-flex;align-items:center;padding:8px 16px;border:1px solid #ccdddf;border-radius:7px;background:#fff;font-weight:750}
.kbpub-section{margin:40px auto 0;max-width:1180px;scroll-margin-top:100px}.kbpub-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.kbpub-section-head h2{font-size:clamp(24px,3vw,32px);line-height:1.4;margin:7px 0}.kbpub-section-head>a{min-height:44px;display:inline-flex;align-items:center;flex-shrink:0;font-size:14px}.kbpub-note{font-size:13px;color:#526b74;line-height:1.8;margin:12px 0 18px!important}
.kbpub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kbpub-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.kbpub-card{border:1px solid #dce5e7;border-radius:12px;padding:24px 21px;background:#fff;display:flex;flex-direction:column;min-width:0;scroll-margin-top:100px}.kbpub-cover{display:block;margin:0 auto 23px!important;width:150px;flex:0 0 auto}.kbpub-cover img{display:block;width:100%;height:auto;aspect-ratio:335/500;object-fit:contain;box-shadow:0 12px 25px #1738491f}.kbpub-text-cover{display:flex;flex-direction:column;min-height:220px;justify-content:space-between;padding:18px;background:#eaf2f4;border:1px solid #d4e1e4}.kbpub-text-cover strong{font-size:20px;line-height:1.5}.kbpub-text-cover small,.kbpub-text-cover>span{font-size:11px}.kbpub-card-copy{display:flex;flex-direction:column;flex:1;min-width:0}.kbpub-label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#546c75;letter-spacing:.04em}.kbpub-label b{font-size:11px;padding:3px 8px;border-radius:4px;background:#e4f3ed;color:#245c46}.kbpub-card h3{font-size:20px;line-height:1.5;letter-spacing:-.025em;margin:11px 0 10px}.kbpub-subtitle{font-size:13px;color:#526a74;line-height:1.8;min-height:46px}.kbpub-price{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:17px 0 13px}.kbpub-price span{font-size:12px;color:#5d757c}.kbpub-price strong{font-size:23px;color:#174c59}.kbpub-facts{display:grid;gap:5px;font-size:13px;line-height:1.7}.kbpub-facts>div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:9px}.kbpub-facts dt{color:#5c737b}.kbpub-facts dd{font-variant-numeric:tabular-nums;color:#203f49;overflow-wrap:anywhere}.kbpub-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.kbpub-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #cddde1;border-radius:6px;background:#fff;color:#214c59;font-size:13px;font-weight:750;line-height:1.6}.kbpub-actions .kbpub-buy{background:#173e4d;color:#fff;border-color:#173e4d}.kbpub-card .kbpub-actions{margin-top:auto;padding-top:22px}.kbpub-card .kbpub-actions a{flex:1 1 125px}.kbpub-card .kbpub-detail{flex:1 1 100%;border:0;min-height:36px;padding:4px}
.kbpub-compact{border:1px solid #cfe0e3;border-radius:10px;background:#f5f9f9;padding:23px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0}.kbpub-compact h2{font-size:22px;line-height:1.5;margin:7px 0 10px}.kbpub-compact-spec{font-weight:750;font-size:15px}.kbpub-compact-id{font-size:13px;margin-top:8px!important;color:#526a74}.kbpub-compact .kbpub-actions{min-width:170px;flex:0 0 180px;margin:0}.kbpub-compact .kbpub-actions a{width:100%}.kbpub-compact .kbpub-note{margin-bottom:0!important}.kbpub-policy{margin-top:40px;padding:28px;background:#173849;border-radius:12px;color:#dbe9ec}.kbpub-policy h2{color:#fff;font-size:23px;margin-bottom:10px}.kbpub-policy p{color:#d2e1e7;font-size:14px}.kbpub-policy a{color:#fff}
.kbpub-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.kbpub-pair .kbpub-cover{width:185px}.kbpub-anchor{scroll-margin-top:100px}.kbpub-page .kbpub-reading{padding:25px 0}.kbpub-reading h2{font-size:23px}.kbpub-reading p{color:#526b74;font-size:14px;margin-top:10px}
@media(max-width:1000px){.kbpub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kbpub-card{padding:22px 18px}}
@media(max-width:650px){.kbpub-page{padding:22px 14px 52px}.kbpub-hero{padding:25px 20px}.kbpub-hero h1{font-size:30px}.kbpub-grid,.kbpub-grid-four,.kbpub-pair{grid-template-columns:1fr}.kbpub-section-head{align-items:start;flex-wrap:wrap}.kbpub-section-head h2{font-size:25px}.kbpub-card{padding:23px 20px}.kbpub-cover{width:145px}.kbpub-compact{display:block;padding:20px}.kbpub-compact .kbpub-actions{margin-top:18px;display:grid;grid-template-columns:1fr}.kbpub-counters{gap:8px}.kbpub-counters span{padding:8px 11px}.kbpub-facts{font-size:13px}.kbpub-nav a{flex:1 1 100px;justify-content:center}.kbpub-compact-id{overflow-wrap:anywhere}.kbpub-policy{padding:23px 20px}}

/* FIX2 2026-10-20: explicit button foreground on the dark policy panel.
 * Ordinary inline policy links remain white; button backgrounds are white.
 * No global anchor overrides and no !important. */
.kbpub-policy .kbpub-actions a,
.kbpub-policy .kbpub-actions a:link,
.kbpub-policy .kbpub-actions a:visited{background:#fff;color:#173849;border-color:#cddde1}
.kbpub-policy .kbpub-actions a:hover{background:#eaf3f5;color:#173849;border-color:#8fb4be;text-decoration:underline}
.kbpub-policy .kbpub-actions a:focus-visible{background:#fff;color:#173849;outline:3px solid #7ee3e0;outline-offset:3px}
.kbpub-policy .kbpub-actions a:active{background:#dcecef;color:#173849}
.kbpub-policy .kbpub-actions a.kbpub-buy,
.kbpub-policy .kbpub-actions a.kbpub-buy:visited{background:#173e4d;color:#fff;border-color:#aecad1}
.kbpub-policy .kbpub-actions a.kbpub-buy:hover{background:#214c59;color:#fff}
@media(max-width:650px){.kbpub-policy .kbpub-actions a{flex:1 1 180px;white-space:normal}}
