/* 沿用处方页的浅绿、细线与紧凑按钮，只作用于个人学习层。 */
.rxp-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rxp-tools{position:relative;z-index:42}
.rxp-tools-trigger{display:flex;align-items:center;gap:7px;min-height:36px;padding:8px 12px;box-sizing:border-box;list-style:none;border:1px solid var(--border-color,#dce7db);border-radius:9px;background:var(--panel-bg,#fff);color:var(--primary-color,#335f2f);font:inherit;font-size:12px;font-weight:600;line-height:1.35;cursor:pointer;box-shadow:0 1px 2px #253d2510;white-space:nowrap}
.rxp-tools-trigger::-webkit-details-marker{display:none}
.rxp-tools-trigger::before,.rxp-tools-menu .rxp-button::before{content:"";display:inline-block;flex:none;width:15px;height:15px;background:currentColor;mask:var(--rxp-icon) center/contain no-repeat;-webkit-mask:var(--rxp-icon) center/contain no-repeat}
.rxp-tools-trigger{--rxp-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 7h9m4 0h3M4 17h3m4 0h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E")}
.rxp-tools-trigger::after{content:"";width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);margin-left:4px;transition:transform .15s}
.rxp-tools[open] .rxp-tools-trigger::after{transform:translateY(1px) rotate(225deg)}
.rxp-tools-trigger:hover,.rxp-tools[open] .rxp-tools-trigger,.rxp-tools.is-active .rxp-tools-trigger{background:var(--primary-light,#edf3eb);border-color:#bdd0b9}
.rxp-tools-trigger:focus-visible{outline:2px solid #64865e;outline-offset:3px}
.rxp-tools-menu{position:absolute;right:0;top:calc(100% + 7px);min-width:164px;padding:6px;border:1px solid var(--border-color,#dce7db);border-radius:12px;background:var(--panel-bg,#fff);box-shadow:0 8px 28px #203b2024;display:flex;flex-direction:column;gap:3px}
.rxp-tools-menu .rxp-button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;border:0;border-radius:7px;padding:9px 11px;text-align:left;background:transparent;font-size:13px;color:var(--text-main,#334331)}
.rxp-tools-menu .rxp-button:hover{background:var(--primary-light,#edf3eb)}
.rxp-tools-menu .rxp-tool-restore{border-top:1px solid var(--border-color,#dce7db);border-radius:0 0 7px 7px;margin-top:3px;padding-top:12px;color:var(--text-muted,#6e806c);font-size:12px}
.rxp-tool-edit{--rxp-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 5 4 4M4 20l5-1L20 8a3 3 0 0 0-4-4L5 15z'/%3E%3C/svg%3E")}
.rxp-tool-ink{--rxp-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 16c0-3 4-6 8-10 2-2 4 0 2 2-4 4-7 8-10 8zm0 0c-5-1-1 7-6 5 0 0 8 3 6-5z'/%3E%3C/svg%3E")}
.rxp-tool-restore{--rxp-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10a9 9 0 1 1 2 9M3 4v6h6'/%3E%3C/svg%3E")}
.rxp-button{border:1px solid var(--border-color,#dce7db);border-radius:6px;background:var(--panel-bg,#fff);color:var(--text-main,#334331);padding:6px 10px;font:inherit;font-size:12px;line-height:1.35;cursor:pointer;white-space:nowrap}
.rxp-button:hover{background:var(--primary-light,#edf3eb)}
.rxp-button:focus-visible{outline:2px solid #64865e;outline-offset:2px}
.rxp-button:disabled{opacity:.45;cursor:default}
.rxp-button.is-active,.rxp-button.rxp-primary{color:var(--primary-color,#335f2f);background:var(--primary-light,#eaf3e7);border-color:#b9d0b1}
.rxp-button.rxp-muted{font-size:11px;color:var(--text-muted,#6e806c)}
.rxp-personal-badge{font-size:11px;color:#7b642f;padding:3px 6px;border-radius:4px;background:#f8f1df}
.rxp-status{font-size:11px;line-height:1.7;color:var(--text-muted,#6b8067);margin:8px 0 0}
.rxp-status.is-error{color:#a0442f;background:#fff2ec;padding:7px 9px;border-radius:5px}
#prescription-scroll.rxp-scroller-editing{scroll-padding-top:92px;scroll-padding-bottom:30px}
#learn-workbench.rxp-editing [data-rx-edit]{scroll-margin-top:92px;scroll-margin-bottom:30px}
#learn-workbench.rxp-editing [data-rx-edit]{outline:1px dashed #aac5a2;outline-offset:3px;background:rgba(216,235,207,.22);border-radius:2px;cursor:text;min-width:1em}
#learn-workbench.rxp-editing [data-rx-edit]:focus{outline:2px solid #6d9862;background:rgba(216,235,207,.4)}
.rxp-toolbar{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:120;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;max-width:calc(100vw - 28px);width:max-content;padding:9px 11px;border:1px solid var(--border-color,#d8e5d3);border-radius:10px;background:var(--panel-bg,#fff);box-shadow:0 4px 23px #20391c25;color:var(--text-main,#334331)}
.rxp-edit-bar{box-sizing:border-box;position:sticky;top:0;bottom:auto;left:auto;transform:none;z-index:8;width:100%;max-width:none;justify-content:flex-start;margin:8px 0 16px;box-shadow:0 2px 9px #20391c14}
.rxp-toolbar>span{font-size:12px;margin-right:7px}
.rxp-toolbar input[type=color]{width:27px;height:28px;padding:1px;border:1px solid #c8d8c3;background:transparent;border-radius:5px;cursor:pointer}
.rxp-annotatable{box-sizing:border-box;display:block;min-height:1.6em;position:relative;isolation:isolate;padding-right:22px}
.rxp-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:3;pointer-events:none;touch-action:none;user-select:none;border-radius:inherit}
.rxp-block-note{position:absolute;right:1px;top:1px;z-index:4;width:20px;height:20px;border-radius:50%;padding:0;font-size:10px;background:#f3f6e9;color:#45673c;border-color:#b8cda8;box-shadow:0 1px 4px #26451c18}
.rxp-page-note{display:block;max-width:100%;margin:12px 0 0;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:12px;color:#6b612e;background:#fbf8e9}
.rxp-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 32px));padding:22px;border:1px solid var(--border-color,#d7e4d1);border-radius:12px;color:var(--text-main,#334331);background:var(--panel-bg,#fff);box-shadow:0 12px 42px #122b1530}
.rxp-dialog::backdrop{background:#15271365}
.rxp-dialog h3{font-size:17px;margin:0 0 10px;line-height:1.6}
.rxp-dialog p{font-size:12px;line-height:1.8;color:var(--text-muted,#6c7c67);margin:0 0 12px}
.rxp-dialog textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:130px;border:1px solid #bdd0b5;border-radius:6px;padding:10px;background:var(--panel-bg,#fff);color:inherit;font:inherit;font-size:14px;line-height:1.8}
.rxp-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.rxp-actions[hidden],.rxp-status[hidden],.rxp-toolbar[hidden],.rxp-personal-badge[hidden],.rxp-page-note[hidden],.rxp-button[hidden],.rxp-canvas[hidden],.rxp-dialog textarea[hidden]{display:none!important}
@media(max-width:640px){.rxp-actions{gap:4px}.rxp-button{padding:6px 8px}.rxp-toolbar{bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:4px;padding:8px;max-width:calc(100vw - 20px)}.rxp-edit-bar{bottom:auto;max-width:none}.rxp-toolbar>span{font-size:11px;flex:1 1 100%;text-align:center;margin:0 0 3px}.rxp-ink-bar .rxp-button{font-size:11px;padding:6px 7px}.rxp-status{margin-top:7px}}
