/* Compact permission labels use the effective chapter rule, independent of login. */
.kx-book-toc>a{align-items:center;gap:14px}
.kx-directory-title{min-width:0;flex:1}
.kx-access-label{flex:none;display:inline-flex;align-items:center;white-space:nowrap;font-size:12px;font-weight:400;line-height:1.5;padding:3px 8px;border-radius:4px;letter-spacing:0}
.kx-access-label--public{color:#286842;background:#eaf4eb}
.kx-access-label--registered{color:#326797;background:#eaf1f9}
.kx-access-label--book{color:#946018;background:#fbf0dd}
.kx-access-label--member{color:#7651a0;background:#f1ebf7}
.kx-book-nav .kx-access-label{font-size:10px;padding:2px 5px;align-self:center}
.kx-book-nav details>div>a{align-items:center}
.kx-book-nav .kx-directory-title{flex:1}
.kx-registration-dialog{width:min(460px,calc(100vw - 32px));padding:18px 26px 26px}
.kx-registration-actions{display:flex;justify-content:flex-end;margin-bottom:26px}
.kx-registration-close{position:static;font:inherit;font-size:13px;line-height:1.5;border:1px solid #cbd7cb;border-radius:5px;background:#edf3ec;color:#3d5b47;padding:6px 13px;min-height:34px;min-width:58px}
.kx-registration-message{margin:0!important;text-align:center;font-size:17px}
.kx-registration-thanks{margin:13px 0 0!important;text-align:center;font-size:15px;color:#e9670b}
.kx-registration-login{text-align:center}
.kx-access-notice .kx-registration-message,.kx-access-notice .kx-registration-thanks{text-align:center}
.kx-account-dialog{position:fixed;inset:12px auto auto 50%;transform:translateX(-50%);margin:0;padding:0;width:min(460px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 24px);border:1px solid #d5ded3;border-radius:12px;background:var(--paper,#f9faf6);color:var(--ink,#253b36);box-shadow:0 18px 70px #172c2538;overscroll-behavior:contain}
.kx-account-dialog[open]{display:flex;flex-direction:column}
.kx-account-dialog::backdrop{background:#172e2661}
.kx-account-dialog .kx-panel-header{position:relative;flex:none;margin:0;padding:17px 22px;border-bottom:1px solid #e0e7dc;background:#f1f5ee}
.kx-account-dialog .kx-panel-header h2{font-size:19px;line-height:1.5;margin:0;font-weight:600}
.kx-account-dialog .kx-panel-header button{font-size:13px;border:1px solid #cbd7cb;border-radius:5px;background:#fff;padding:5px 12px;min-height:34px}
.kx-account-body{padding:22px 26px 26px;min-height:0;overflow:auto;overscroll-behavior:contain;font-size:14px;line-height:1.75}
.kx-account-body .kx-account-form{margin:0;max-width:none;gap:15px}
.kx-account-form label:not(.kx-check){display:flex;flex-direction:column;gap:7px;font-size:14px}
.kx-account-form input{box-sizing:border-box;width:100%}
.kx-account-form .kx-check input{width:auto;flex:none}
.kx-account-form .kx-check{align-items:center;font-size:13px;line-height:1.6}
.kx-account-form .kx-account-submit{width:auto;justify-self:start;justify-content:center;min-width:104px;gap:0;margin:4px 0 0;padding:10px 24px;background:#548562;color:#fff;line-height:1.6}
.kx-account-form .kx-account-submit:hover{background:#42734f}
.kx-account-form .kx-account-submit:disabled{opacity:.65;cursor:wait}
.kx-account-view .kx-error,.kx-account-view .kx-notice{font-size:13px;padding:10px 12px;margin:0 0 16px}
.kx-account-view [hidden]{display:none!important}
.kx-field-error{font-size:12px;line-height:1.5;color:#aa443e}
.kx-field-error:empty{display:none}
.kx-account-form [aria-invalid=true]{border-color:#b9695f}
.kx-signup-hint{margin:17px 0 0;font-size:13px;color:#6a776d}
.kx-account-view a{color:#3f7753;text-underline-offset:3px}
.kx-signup-hint a{text-decoration:underline;margin-left:3px}
.kx-account-view .kx-account-links{margin-top:15px;font-size:13px;gap:20px}
.kx-account-view .kx-account-email{font-weight:500;overflow-wrap:anywhere}
.kx-verification-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:22px 0}
.kx-verification-actions form{margin:0}
.kx-verification-actions a{font-size:13px}
@media(max-width:600px){.kx-book-toc>a{gap:9px}.kx-access-label{font-size:11px;padding:3px 6px}.kx-book-toc>a>b{display:none}.kx-registration-dialog{padding:16px 20px 24px}.kx-registration-message{font-size:16px}.kx-account-body{padding:20px}.kx-account-form input{font-size:16px}.kx-account-dialog .kx-panel-header{padding:10px 20px}.kx-account-dialog .kx-panel-header button{min-width:60px;min-height:44px}}
