html.explanation-open{overflow:hidden;scrollbar-gutter:stable}
.explanation-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #dce4d6;border-radius:17px;background:#fff;color:#243832;box-shadow:0 28px 100px #102f3040;overflow:hidden}
.explanation-dialog[open]{display:flex;flex-direction:column}
.explanation-dialog::backdrop{background:rgb(22 43 38 / .52);backdrop-filter:blur(3px)}
.explanation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 28px 18px;border-bottom:1px solid #e3e9dc;flex-shrink:0}
.explanation-header h2{display:flex;align-items:center;gap:12px;font-size:24px;margin:10px 0 0;flex-wrap:wrap;line-height:1.5}
.explanation-header h2 small{font-size:12px;color:#8a9781;font-weight:400}
.dialog-number{display:inline-grid;place-items:center;width:55px;height:62px;border-radius:10px;background:#eaf2eb;color:#1d7469;font-size:32px;font-weight:500}
.explanation-close{width:36px;height:36px;flex-shrink:0;border:1px solid #d9e3d1;border-radius:50%;background:#f5f8f0;color:#496347;font-size:26px;line-height:1;cursor:pointer}
.explanation-content{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:18px 28px 24px}
.explanation-content h3{font-size:17px;margin:24px 0 8px}
.explanation-context{padding:10px 13px;border-radius:7px;background:#f4f7ef;font-size:13px;color:#57714e;margin-top:0}
.explanation-content .book-text{font-size:15px;line-height:1.95}
.explanation-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;border-top:1px solid #e3e9dc;flex-shrink:0}
.explanation-footer span{font-size:11px;color:#829174}
.explanation-done{border:0;border-radius:7px;background:#1d7469;color:#fff;padding:8px 24px;cursor:pointer}
@media(max-width:600px){.explanation-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:12px}.explanation-header{padding:17px}.explanation-header h2{font-size:21px;gap:9px}.dialog-number{width:44px;height:51px;font-size:27px}.explanation-content{padding:16px 18px}.explanation-footer{padding:12px 17px}.explanation-footer span{font-size:10px}}
