:root{--lm-paper:#d2bd91;--lm-red:#6f251f;--lm-ink:#382b20}
.lm-course-tools,.lm-archive-dialog,.lm-map-dialog,.lm-ink-controls{box-sizing:border-box;font-family:"Noto Serif SC","Songti SC","SimSun",serif}
.lm-course-tools *,.lm-archive-dialog *,.lm-map-dialog *{box-sizing:border-box}
.lm-course-tools{position:fixed;z-index:20000;left:18px;bottom:18px;display:flex;align-items:center;gap:7px;max-width:calc(100vw - 36px);padding:8px;border:1px solid #a78a5d88;border-radius:8px;background:#211d17ed;box-shadow:0 8px 30px #0008;color:#f1e1c3;font-size:14px}
.lm-course-tools button,.lm-course-tools select,.lm-course-tools a,.lm-ink-controls button{font:inherit;line-height:1.3;color:inherit;background:#ffffff0c;border:1px solid #d8bb8744;border-radius:4px;padding:8px 11px;cursor:pointer;text-decoration:none;white-space:nowrap}
.lm-course-tools button:hover,.lm-course-tools a:hover,.lm-course-tools button[aria-pressed=true]{background:#79372c;color:#fff5dd}
.lm-course-tools select{max-width:180px;background:#29241c;color:#f1e1c3}
.lm-course-tools .lm-mode-label{color:#dcb677;font-size:12px;padding:0 5px;white-space:nowrap}
.lm-course-tools button:focus-visible,.lm-archive-dialog button:focus-visible,.lm-map-dialog button:focus-visible,.lm-archive-dialog a:focus-visible{outline:3px solid #d69238;outline-offset:2px}
.lm-course-keyword{display:inline;margin:0;padding:0 .06em .02em;border:0;border-bottom:1px dotted #cfa968;color:inherit;background:linear-gradient(180deg,transparent 65%,#b9853433 65%);font:inherit;line-height:inherit;cursor:pointer;white-space:normal}
.lm-course-keyword:after{content:'档';display:inline-block;margin-left:.2em;font:10px/1.2 serif;color:#c49a51;vertical-align:super}
.lm-course-keyword:hover{color:#d4a456}.lm-course-keyword:focus-visible{outline:2px solid #c49a51}
.lm-archive-dialog,.lm-map-dialog{position:fixed;inset:0;z-index:21000;display:none;color:var(--lm-ink)}
.lm-archive-dialog.is-open,.lm-map-dialog.is-open{display:block}
.lm-course-backdrop{position:absolute;inset:0;background:#080604a8;backdrop-filter:blur(4px)}
.lm-archive-sheet{position:absolute;right:0;top:0;bottom:0;width:min(520px,94vw);display:flex;flex-direction:column;background:linear-gradient(90deg,#4a2c1b14,transparent 12%),repeating-linear-gradient(0deg,#4f382304 0 1px,transparent 1px 5px),var(--lm-paper);box-shadow:-24px 0 70px #0008}
.lm-archive-dialog.is-expanded .lm-archive-sheet{width:min(1000px,96vw)}
.lm-archive-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:16px 24px;color:#ead8b4;background:linear-gradient(110deg,#3c1715,#611f1d 58%,#351513);border-bottom:1px solid #d8b06277}
.lm-archive-head p{margin:0;font:22px/1.3 "STKaiti","KaiTi",serif;letter-spacing:.12em}
.lm-archive-head small{display:block;font:12px/1.5 sans-serif;letter-spacing:0;color:#cab99a}
.lm-archive-head button,.lm-map-head button{font:14px/1.4 inherit;padding:7px 9px;border:1px solid #d9c39b66;border-radius:3px;color:inherit;background:transparent;cursor:pointer}
.lm-archive-actions{display:flex;gap:6px;align-items:center}
.lm-archive-body{overflow:auto;padding:28px 36px 100px;overscroll-behavior:contain;scrollbar-color:#785d39 #c7af80}
.lm-archive-body h2{margin:8px 0 24px;font:600 34px/1.3 "STKaiti","KaiTi",serif;color:#3b2519}
.lm-archive-body h2:after{content:'';display:block;width:72px;height:2px;margin-top:18px;background:linear-gradient(90deg,#8f2f25,transparent)}
.lm-archive-body h3{margin:24px 0 8px;color:var(--lm-red);font:600 18px/1.5 "STKaiti","KaiTi",serif}
.lm-archive-body p{font-size:16px;line-height:1.95;margin:0 0 12px;white-space:pre-line}
.lm-archive-body .lm-archive-kicker{font-size:12px;letter-spacing:.1em;color:#875326}
.lm-archive-body .lm-archive-summary{font-size:18px;line-height:1.8;padding-bottom:18px;border-bottom:1px solid #70513244}
.lm-archive-dialog.is-expanded .lm-archive-body{padding:34px 64px 110px}
.lm-archive-dialog.is-expanded .lm-archive-body p{font-size:22px}.lm-archive-dialog.is-expanded .lm-archive-body h3{font-size:24px}
.lm-archive-body .lm-sources{font:13px/1.7 sans-serif;padding-left:20px}.lm-sources li{margin:8px 0}.lm-sources a{color:#643f22;text-decoration:underline;text-underline-offset:3px}.lm-sources small{display:block;color:#766043}
.lm-archive-body img{display:block;max-width:100%;height:auto;cursor:zoom-in}.lm-archive-body figure{margin:24px 0}.lm-archive-body figcaption{margin-top:8px;font-size:12px;color:#715a3d}
.lm-archive-search{width:100%;font:16px/1.5 inherit;padding:10px 12px;background:#fff4d780;border:1px solid #80623c66;border-radius:3px;color:#382b20}
.lm-archive-filter{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px}.lm-archive-filter button,.lm-archive-list button,.lm-related button{font:inherit;text-align:left;color:inherit;cursor:pointer;background:#fff7df33;border:1px solid #70513244;border-radius:3px;padding:9px 12px}.lm-archive-filter button[aria-pressed=true]{color:#fff1d5;background:#6f251f}
.lm-archive-list{display:grid;gap:9px}.lm-archive-list button{display:block;width:100%;font-size:17px}.lm-archive-list small{display:block;font-size:12px;color:#80623c;margin-top:5px}.lm-archive-list button:hover,.lm-related button:hover{background:#fff3d57a}.lm-related{display:flex;gap:7px;flex-wrap:wrap}
.lm-map-frame{position:absolute;inset:4vh 4vw 95px;display:flex;flex-direction:column;background:#e6d8b9;box-shadow:0 20px 80px #000a;border:1px solid #b99b68}
.lm-map-head{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:16px 24px;background:#34271e;color:#ead8b4}.lm-map-head h2{font-size:20px;margin:0}.lm-map-stage{overflow:auto;flex:1;display:grid;place-items:center;padding:12px;background:#e9ddc4}.lm-map-stage img{max-width:100%;max-height:100%;object-fit:contain;width:100%;height:100%}.lm-map-foot{padding:9px 24px;font-size:12px;color:#735f42;line-height:1.6}
#lm-ink{position:fixed;inset:0;width:100vw;height:100vh;z-index:22000;pointer-events:none;touch-action:none;cursor:crosshair}
#lm-ink.is-drawing{pointer-events:auto}.lm-course-tools{z-index:23000}.lm-ink-controls{display:flex;gap:5px}.lm-ink-controls[hidden]{display:none}
.lm-ink-tip{position:fixed;z-index:23000;top:12px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:4px;background:#5d211eea;color:#fff2d2;font:14px/1.4 sans-serif;pointer-events:none}
.lm-scene-paused body>:not(.lm-course-tools):not(.lm-archive-dialog):not(.lm-map-dialog):not(#lm-ink):not(.lm-ink-tip),.lm-scene-paused body>:not(.lm-course-tools):not(.lm-archive-dialog):not(.lm-map-dialog) *{animation-play-state:paused!important}
.lm-teacher-entry .lm-chapter-titlecard,.lm-teacher-entry #resumeChoice,.lm-teacher-entry #resumePrompt{display:none!important}
.lm-teacher-mode body{visibility:visible!important}.lm-teacher-mode body.lm-titlecard-pending{opacity:1!important}
.lm-catalog-note{font-size:13px!important;color:#70583b}
.lm-map-stage{min-height:0;overflow:hidden;display:block;text-align:center}
.lm-course-modal .lm-unified-topbar{visibility:hidden!important;pointer-events:none!important}
.lm-archive-body h2 .lm-course-keyword{border:0;background:none;pointer-events:none}
.lm-archive-body h2 .lm-course-keyword:after{display:none}
@media(max-width:1000px){.lm-course-tools{gap:5px;padding:6px;flex-wrap:wrap;bottom:8px;left:8px;max-width:calc(100vw - 16px)}.lm-course-tools button,.lm-course-tools a,.lm-course-tools select{padding:7px;font-size:12px}.lm-course-tools select{max-width:155px}.lm-mode-label{display:none}.lm-map-frame{inset:2vh 2vw 135px}.lm-archive-body{padding:24px 24px 150px}}
@media(max-width:600px){.lm-archive-dialog.is-expanded .lm-archive-body{padding:24px 22px 160px}.lm-archive-dialog.is-expanded .lm-archive-body p{font-size:19px}.lm-archive-head{padding:12px 16px}.lm-archive-head p{font-size:18px}.lm-course-tools select{max-width:135px}}

/* The collapse control stays in place; scene state and drawing state are preserved. */
.lm-course-tools__content{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}
.lm-course-tools__content[hidden]{display:none}
.lm-course-tools.is-collapsed{width:max-content}
.lm-course-tools--map{bottom:74px}
body.lm-scene-frame-open>.lm-course-tools--map,body.lm-scene-frame-open>#lm-ink{display:none}
.lm-course-tools .lm-teacher-collapse{color:#e4c68e}
.lm-teacher-collapse:after{content:'⌄';margin-left:7px;display:inline-block}
.lm-teacher-collapse[aria-expanded=true]:after{transform:rotate(180deg)}
