.library nav{max-height:66vh;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}#mobile-book{display:none}@media(max-width:760px){.library nav{display:none}#mobile-book{display:block;width:100%;max-width:100%;border:1px solid #cdd9c7;border-radius:7px;background:white;color:#2d503c;padding:12px 9px;font-size:13px}.library{margin-bottom:16px}.review-link{font-size:11px}}
.account-backup{max-width:1500px;margin:0 auto 22px;padding:0 4vw;font-size:12px;color:#71806b}.account-backup a{color:#42664d}body.present .account-backup{display:none}@media print{.account-backup{display:none}}
.auth-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d6dfd2;border-radius:18px;padding:28px 30px;background:#fafbf7;color:#233d30;box-shadow:0 24px 80px #16332630}.auth-dialog::backdrop{background:#18382dcc;backdrop-filter:blur(4px)}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-top .eyebrow{font-size:10px;margin:0}.auth-top button{border:0;background:transparent;font-size:26px;line-height:1;padding:8px;margin:-6px -8px 0 0}.auth-dialog h2{font-family:QingmiBookSerif,'Noto Serif SC',serif;font-size:30px;line-height:1.3;margin:23px 0 12px;letter-spacing:-.5px}.auth-dialog #auth-description{font-size:13px;color:#667663;margin-bottom:24px}.auth-dialog label{display:block;font-size:12px;font-weight:600;margin:15px 0 6px}.auth-dialog input{display:block;width:100%;min-height:46px;border:1px solid #cbd7c5;border-radius:7px;background:#fff;color:#243e30;padding:10px 12px;font-size:16px}.auth-dialog input:disabled{background:#f0f3ec}.auth-message{min-height:22px;font-size:12px;line-height:1.7;color:#984c2f;margin:12px 0 14px;overflow-wrap:anywhere}.auth-dialog #auth-submit{width:100%;min-height:46px}.auth-note{font-size:11px;line-height:1.8;color:#79846e;margin:18px 0 14px}.auth-member{font-size:12px;color:#446b51}.text-button{padding:0;border:0;border-radius:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:inherit;font-weight:600}.text-button:hover{background:none}.auth-dialog[open]{animation:auth-enter .16s ease-out}@keyframes auth-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.auth-dialog{padding:22px}.auth-dialog h2{font-size:27px}header nav{gap:8px}.auth-top button{min-width:40px;min-height:40px}}@media(prefers-reduced-motion:reduce){.auth-dialog[open]{animation:none}}@media print{.auth-dialog{display:none!important}}
