/* Reading layouts: three columns, two columns, then a single touch-friendly page. */
:root{--kx-sticky-top:108px;--kx-bar-height:52px}
:root{--kx-chrome-bg:#eef2eb;--kx-chrome-line:#d5decf}
/* Fill short pages without pinning the footer over longer reading content. */
body{display:flex;flex-direction:column;min-height:calc(100vh - var(--kx-footer-admin-space,0px));min-height:calc(100svh - var(--kx-footer-admin-space,0px));min-height:calc(100dvh - var(--kx-footer-admin-space,0px))}
body.admin-bar{--kx-footer-admin-space:32px}
body>.kx-header,body>.kx-footer{flex:0 0 auto}
body>main#main{flex:1 0 auto;min-width:0}
body>main#main:not(.home-stage),body>.kx-footer{width:100%}
@media(max-width:782px){body.admin-bar{--kx-footer-admin-space:46px}}
.kx-header{background:var(--kx-chrome-bg);border-bottom-color:var(--kx-chrome-line)}
.kx-footer{max-width:none;padding:24px max(22px,calc((100% - 1132px)/2)) 28px;background:var(--kx-chrome-bg);border-top-color:var(--kx-chrome-line)}
.kx-footer-links{color:#607157}
.kx-mobile-reader-bar{background:var(--kx-chrome-bg)!important;border-top-color:var(--kx-chrome-line)!important}
.kx-comments{margin-top:24px;padding-top:0;border-top:1px solid var(--line);font-size:14px}
.kx-comments-fold>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;min-height:44px;padding:9px 0;line-height:1.5;color:#5c7052;font-size:13px}
.kx-comments-fold>summary::-webkit-details-marker{display:none}
.kx-comments-fold>summary::after{content:'＋';margin-left:4px;color:#829176}
.kx-comments-fold[open]>summary::after{content:'−'}
.kx-comments-fold>summary strong{font-size:14px;font-weight:500;color:var(--ink)}
.kx-comment-count{font-size:12px;color:#7b8870}
.kx-comment-fold-label{margin-left:auto;font-size:12px}
.kx-comments-fold:not([open]) .kx-comment-hide,.kx-comments-fold[open] .kx-comment-show{display:none}
.kx-comments-body{padding:2px 0 6px}
.kx-comments .kx-comments-note{margin:0 0 9px;font-size:12px;line-height:1.6}
.kx-comments-body>p{margin:9px 0;font-size:13px;line-height:1.65}
.kx-comment{padding:13px 0}
.kx-comment header{gap:12px;line-height:1.6}
.kx-comment p{margin:7px 0;line-height:1.75}
.kx-comment-submit{margin:10px 0;gap:10px}
.kx-comments #kx-comment-form{margin-top:17px}
.kx-comments #kx-comment-text{min-height:88px;font-size:14px;padding:9px 11px}
@media(max-width:979px){.kx-comments{margin-top:20px}.kx-comments-fold>summary{min-height:44px;padding:9px 0}.kx-comment{padding:11px 0}.kx-comments #kx-comment-text{min-height:82px}.kx-footer{padding:22px 22px 25px}.kx-footer-links{margin-top:14px;gap:16px}}
html{scroll-padding-top:var(--kx-sticky-top)}
.kx-prose{line-height:1.76;line-break:strict;word-break:normal;overflow-wrap:break-word}
.kx-prose p{margin-bottom:.9em}
.kx-prose h2{line-height:1.5;margin:1.55em 0 .65em}
.kx-prose h3{line-height:1.55;margin:1.25em 0 .6em}
.kx-prose li{margin-bottom:.3em}
.kx-prose blockquote,.kx-prose .wp-block-details{margin:20px 0}
.kx-book-toc{padding-top:30px}
.kx-book-toc>h2{margin-bottom:17px}
.kx-book-toc>a{padding:7px 2px;min-height:40px;line-height:1.6;font-size:15px;align-items:center}
.kx-book-toc .kx-directory-group{margin:18px 0 5px;font-size:12px;letter-spacing:0}
.kx-book-toc .kx-directory-group:first-of-type{margin-top:10px}
.kx-cover strong{max-width:none;line-height:1.5;letter-spacing:0}
.kx-cover-title-main,.kx-cover-title-part{display:block}
.kx-cover .kx-cover-title-main{font-size:.83em}
.kx-cover .kx-cover-title-part{font-size:.9em;margin-top:.4em}
.kx-book-hero .kx-cover strong{max-width:none;font-size:30px}
.kx-reader-shell{max-width:1480px;padding:28px 28px 64px;grid-template-columns:290px minmax(0,760px) 240px;gap:24px;align-items:start}
.kx-book-nav,.kx-page-nav{top:var(--kx-sticky-top);max-height:calc(100dvh - var(--kx-sticky-top) - 20px);font-size:14px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable}
.kx-book-nav{height:calc(100dvh - var(--kx-sticky-top) - 20px);overflow:hidden;display:flex;flex-direction:column;min-height:160px}
.kx-book-nav .kx-return{font-size:12px;line-height:1.5;margin-bottom:12px;flex-shrink:0}
.kx-nav-heading{font-size:13px;line-height:1.6;margin:0 0 8px;padding:0 0 9px;border-bottom:1px solid var(--line);font-weight:500;flex-shrink:0;letter-spacing:0}
.kx-directory-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:7px}
.kx-directory-scroll>a{display:flex;align-items:center;gap:8px;padding:6px 9px;margin:0 0 2px;font-size:14px;line-height:1.55;color:#5f7257;border-radius:3px}
.kx-directory-scroll>a>b{display:none}
.kx-directory-scroll>a[aria-current=page]{background:#e8efe2;color:#35562e;box-shadow:inset 2px 0 #749464}
.kx-directory-scroll>a:hover{background:#eef2e9;color:#35562e}
.kx-book-nav .kx-directory-group{font-size:11px;line-height:1.55;margin:15px 8px 5px;letter-spacing:0;color:#84927a}
.kx-book-nav .kx-directory-group:first-child{margin-top:3px}
.kx-nav-search{flex-shrink:0;border-top:1px solid var(--line);padding-top:10px;margin-top:8px;background:var(--paper)}
.kx-book-nav .kx-search-form{margin:0;font-size:12px}
.kx-book-nav .kx-search-form>label{margin-bottom:5px}
.kx-book-nav .kx-search-row input{padding:7px 8px;font-size:12px}
.kx-book-nav .kx-search-row button{padding:7px 11px}
.kx-book-nav .kx-search-form small{font-size:10px}
.kx-page-nav{grid-column:auto;padding-left:14px;overflow:auto}
.kx-page-nav nav{display:block}
.kx-page-nav nav>a{font-size:13px;line-height:1.6;margin:0;padding:7px 2px;color:#647a58}
.kx-page-nav nav>a.kx-toc-level-3{font-size:12px;padding-left:10px}
.kx-page-nav nav>a[aria-current]{color:#2f5c30;font-weight:500}
.kx-page-nav>p{margin-top:22px}
.kx-reader>h1{font-size:31px;line-height:1.5;margin-bottom:20px}
.kx-reader-toolbar{padding:7px 0;margin-bottom:23px;min-height:43px}
.kx-reader-toolbar>span{font-size:11px}
.kx-toolbar-actions{display:flex;align-items:center;gap:12px}
.kx-page-toggle{display:none;border:0;background:transparent;color:#55714e;font-size:12px;min-height:34px;padding:4px 8px}
.kx-font-tools button{font-size:13px;color:#526d48}
.kx-font-tools output{font-size:11px;color:#6b7e61}
.kx-font-tools button:disabled{opacity:.4;cursor:default}
.kx-standalone-shell{max-width:1100px;grid-template-columns:minmax(0,760px) 240px;gap:28px}
.kx-mobile-reader-bar,.kx-reader-fallback{display:none}
.kx-term-link{cursor:pointer;text-decoration-style:dotted!important;text-decoration-color:#75936a!important;text-decoration-thickness:1px!important;text-underline-offset:4px}
.kx-figure-label{display:block;color:#7a8771;font-size:11px;line-height:1.5;margin-top:7px}
.kx-prose figcaption .kx-figure-number{margin-right:.75em;white-space:nowrap}

/* All reading panels have one close/back/focus model. */
body.kx-panels-open{overscroll-behavior:none}
.kx-reader-dialog{color:var(--ink);background:var(--paper);border:1px solid #d6e0d1;padding:0;border-radius:8px;max-width:94vw;max-height:84dvh;overflow:hidden}
.kx-reader-dialog[open]{display:flex;flex-direction:column}
.kx-reader-dialog::backdrop{background:rgba(25,40,33,.4)}
.kx-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.kx-panel-header h2{font-size:18px;line-height:1.5;margin:0;letter-spacing:0}
.kx-panel-header>a{font-size:13px;color:#526e49}
.kx-panel-header button,.kx-panel-tabs button,.kx-reader-reset,.kx-term-expand{border:1px solid #d5dfce;background:#f2f6ee;border-radius:4px;color:#44623c;font-size:13px;min-height:40px;padding:6px 12px}
.kx-panel-header button{flex-shrink:0}
.kx-panel-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;padding:16px 20px 24px;flex:1}
.kx-directory-dialog{position:fixed;inset:0 auto 0 0;margin:0;border-radius:0 10px 10px 0;width:min(90vw,420px);max-width:none;height:100dvh;max-height:100dvh;border-left:0}
.kx-directory-dialog>h2{font-size:17px;margin:16px 20px 12px;line-height:1.5;letter-spacing:0;flex-shrink:0}
.kx-panel-tabs{display:flex;gap:8px;padding:0 20px 12px;border-bottom:1px solid var(--line);flex-shrink:0}
.kx-panel-tabs button{flex:1}
.kx-panel-tabs button[aria-pressed=true]{background:#e5eddf;border-color:#aabc9d;color:#35582b}
.kx-directory-dialog .kx-panel-scroll{padding-top:8px}
.kx-directory-dialog .kx-book-nav,.kx-directory-dialog .kx-page-nav{display:block;position:static;width:100%;height:auto;min-height:0;max-height:none;padding:0;border:0;overflow:visible;scrollbar-gutter:auto}
.kx-directory-dialog .kx-return,.kx-directory-dialog .kx-nav-heading,.kx-directory-dialog .kx-page-nav>p{display:none}
.kx-directory-dialog .kx-directory-scroll{overflow:visible;padding:0}
.kx-directory-dialog .kx-directory-scroll>a{min-height:44px;padding:9px 8px;font-size:14px;line-height:1.65}
.kx-directory-dialog .kx-page-nav nav>a{min-height:44px;padding:9px 0;font-size:14px}
.kx-directory-dialog .kx-book-nav .kx-directory-group{font-size:12px;margin-top:17px}
.kx-directory-dialog .kx-nav-search{margin-top:16px;padding-top:16px}
.kx-directory-dialog .kx-search-row input{min-height:42px;font-size:14px}
.kx-reader-recommendations{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}
.kx-reader-recommendations h3{font-size:14px;margin:0 0 9px;color:#75846d}
.kx-reader-recommendations>a{display:flex;gap:10px;align-items:baseline;border:1px solid var(--line);border-radius:4px;background:#f1f4ec;padding:11px 12px;margin:8px 0;font-size:14px;line-height:1.6}
.kx-reader-recommendations small{font-size:10px;color:#87927c;flex-shrink:0}
.kx-reader-recommendations span{flex:1}
.kx-reader-recommendations b{font-weight:400;color:#7d9071}
.kx-more-dialog{width:420px}
.kx-more-dialog .kx-panel-scroll>a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.kx-reader-reset{width:100%;margin-bottom:7px;min-height:44px}
.kx-more-dialog .kx-search-form{margin-bottom:0}
.kx-term-dialog{width:640px}
.kx-term-dialog .kx-panel-header h2{font-size:19px}
.kx-term-body{padding:18px 22px 10px;overflow:auto;overscroll-behavior:contain;min-height:0;font-size:var(--reader-size);flex:1}
.kx-term-body p:last-child{margin-bottom:.4em}
.kx-term-footer{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 20px 14px;border-top:1px solid var(--line);font-size:12px;flex-shrink:0}
.kx-term-footer a{color:#55744b;text-decoration:underline;text-underline-offset:3px}
.kx-term-expand{display:none}
.kx-term-error{font-size:14px;padding:10px 0;color:#885d40}
.kx-panels-open .kx-mobile-reader-bar{visibility:hidden}
.kx-image-dialog{max-height:92dvh}
.kx-image-dialog .kx-zoom-stage{max-height:calc(92dvh - 115px)}

@media(max-width:1379px){
 .kx-reader-shell{max-width:1150px;grid-template-columns:280px minmax(0,760px);gap:24px;padding-left:24px;padding-right:24px}
 .kx-reader-shell>.kx-page-nav{display:none}
 .kx-page-toggle{display:inline-block}
 .kx-standalone-shell{display:block;max-width:840px}
}
@media(max-width:979px){
 :root{--reader-size:17px;--kx-sticky-top:110px}
 .kx-reader-shell,.kx-standalone-shell{display:block;max-width:808px;padding:22px 24px 45px}
 .kx-reader-shell>.kx-book-nav,.kx-reader-shell>.kx-page-nav{display:none}
 .kx-reader-toolbar{display:none}
 .kx-reader>h1{font-size:27px;margin-bottom:23px}
 .kx-reading-view .kx-header{transition:transform .18s ease;will-change:transform}
 .kx-reading-view.kx-header-hidden .kx-header{transform:translateY(calc(-100% - 1px))}
 .kx-reading-view .kx-header-inner{padding:9px 22px;gap:8px;min-height:62px;flex-wrap:wrap}
 .kx-reading-view .kx-brand img{width:62px;height:42px}
 .kx-reading-view .kx-brand strong{font-size:18px}
 .kx-reading-view .kx-brand small{font-size:8px}
 .kx-reading-view .kx-header nav{order:3;width:100%;justify-content:space-between;font-size:12px;gap:6px;padding:5px 0 0}
 .kx-reading-view .kx-header-actions{gap:15px}
 .kx-reading-view .kx-account,.kx-reading-view .kx-search-link{font-size:12px}
 .kx-reading-view{padding-bottom:calc(var(--kx-bar-height) + env(safe-area-inset-bottom))}
 .kx-mobile-reader-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;min-height:var(--kx-bar-height);padding:0 max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left));background:rgba(250,251,248,.98);border-top:1px solid #d9e2d3;box-shadow:0 -3px 14px #20372b08}
 .kx-mobile-reader-bar>button{border:0;background:transparent;color:#365a31;font-size:14px;min-height:50px;min-width:52px;padding:4px 8px}
 .kx-mobile-reader-bar .kx-font-tools{gap:5px}
 .kx-mobile-reader-bar .kx-font-tools button{min-height:48px;min-width:38px;padding:0 5px;font-size:15px}
 .kx-mobile-reader-bar .kx-font-tools output{font-size:12px;min-width:24px}
 .kx-reading-view.kx-keyboard-open .kx-mobile-reader-bar{display:none}
 .kx-prose{line-height:1.76}
 .kx-prose h2{font-size:1.24em;margin-top:1.55em}
 .kx-prose h3{font-size:1.1em}
 .kx-prose .wp-block-details{padding:12px 15px}
 .kx-prev-next{flex-direction:column;gap:16px}
 .kx-term-dialog,.kx-more-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;border:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0;max-height:58dvh;padding-bottom:env(safe-area-inset-bottom)}
 .kx-term-dialog.is-expanded{max-height:88dvh}
 .kx-term-expand{display:inline-block;white-space:nowrap;font-size:12px;min-height:40px}
 .kx-term-body{padding:15px 20px 9px}
 .kx-term-dialog .kx-panel-header h2{font-size:18px}
 .kx-panel-header button{min-height:44px}
 .kx-more-dialog{max-height:82dvh}
 .kx-reader-fallback{display:block;padding:0 24px;font-size:14px}
 .kx-book-toc>a{min-height:44px}
}
@media(max-width:390px){
 .kx-reader-shell,.kx-standalone-shell{padding-left:18px;padding-right:18px}
 .kx-reader>h1{font-size:25px}
 .kx-reading-view .kx-header-inner{padding-left:16px;padding-right:16px}
 .kx-reading-view .kx-header-actions{gap:10px}
 .kx-mobile-reader-bar{padding-left:10px;padding-right:10px}
 .kx-term-footer{padding-left:16px;padding-right:16px;gap:8px}
 .kx-term-body{padding-left:17px;padding-right:17px}
}
@media(max-height:480px){.kx-book-nav{min-height:90px}.kx-nav-search{padding-top:5px;margin-top:5px}.kx-book-nav .kx-search-form>label,.kx-book-nav .kx-search-form small{display:none}.kx-reader-dialog{max-height:96dvh}.kx-term-dialog{max-height:85dvh}.kx-image-dialog .kx-zoom-stage{max-height:calc(96dvh - 110px)}}
@media(prefers-reduced-motion:reduce){.kx-reading-view .kx-header{transition:none}}
