.lmap{padding:10px clamp(12px,3vw,26px) 44px}.lmap-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 9px}.lmap-head h1{font-size:clamp(16px,1.9vw,20px);margin:0;letter-spacing:.01em}.lmap-tag{font-family:var(--font-body);font-size:12px;color:var(--faint);max-width:74ch;margin:0;align-self:baseline}.lmap-app{display:grid;grid-template-columns:minmax(0,1fr);height:min(88vh,940px);min-height:520px}@media (max-width:820px){.lmap-app{height:min(76svh,640px);min-height:420px}}.lmap-toggle{gap:7px;color:var(--muted);cursor:pointer}.lmap-toggle input{accent-color:var(--ox);margin:0}.lmap-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.lmap-legend button{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:0;color:var(--muted);font-family:var(--font-mono);font-size:11px;padding:3px 5px;border-radius:4px;cursor:pointer;text-align:left}.lmap-legend button:hover{background:var(--ox-soft);color:var(--ink)}.lmap-legend .sw{width:10px;height:10px;border-radius:3px;flex:none}.lmap-legend button[aria-pressed=false]{text-decoration:line-through}.lmap-legend button[aria-pressed=false] .sw{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--faint)}.lmap-legend .ct{margin-left:auto;color:var(--faint);font-size:11px}.lmap-stage{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--paper),var(--bg));border:1px solid var(--rule);border-radius:12px;overflow:hidden;min-height:0;container-type:inline-size}.lmap-stage svg{flex:1;width:100%;height:100%;min-height:0;display:block;touch-action:none;cursor:grab}.lmap-stage svg.grabbing{cursor:grabbing}.lmap-toolbar{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:3}.lmap-toolbar button{width:33px;height:33px;font-family:var(--font-mono);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center}.lmap-toolbar button:hover{border-color:var(--ox);color:var(--ox)}.lmap-toolbar .fit{font-size:11px;letter-spacing:0}.lmap-bar{flex:none;border-top:1px solid var(--rule);padding:8px 14px;font-family:var(--font-mono);font-size:11px;color:var(--faint);background:var(--paper)}.lmap-bar b{color:var(--muted);font-weight:600}.lmap-bar a{color:var(--ox);text-decoration:none}.lmap .edge{stroke:var(--ox);fill:none;stroke-opacity:0;pointer-events:none;transition:stroke-opacity .22s ease}.lmap .edge.faint{stroke:var(--rule);stroke-opacity:.15}.lmap .node{cursor:pointer}.lmap .node.gone{opacity:0;pointer-events:none}.lmap .dot{transition:fill-opacity .4s ease,stroke-opacity .4s ease}.lmap .node.off:not(.sel){opacity:.72}.lmap .node.off:not(.sel) .dot{stroke:var(--faint);stroke-width:.6;stroke-dasharray:1.6 1.4;fill:color-mix(in oklab,var(--c) 55%,var(--faint))}.lmap .node.dimc .dot{fill-opacity:.18;stroke-opacity:.18;fill:color-mix(in oklab,var(--c) 35%,var(--faint))}.lmap .node.ruled{pointer-events:none}.lmap .node.ruled .dot{fill:color-mix(in oklab,var(--c) 15%,var(--faint));stroke:var(--muted);stroke-width:.6;fill-opacity:.12!important;stroke-opacity:.12!important}.lmap .node.ruled.dimc .dot{fill-opacity:.09!important;stroke-opacity:.09!important}.lmap .node.ruled .halo{opacity:0!important}.lmap .halo{opacity:0}.lmap .lbl{fill-opacity:0;stroke-opacity:0;pointer-events:none;transition:fill-opacity .12s ease,stroke-opacity .12s ease}.lmap .lbl.show{fill-opacity:1;stroke-opacity:1}.lmap .lbl.show.clash{fill-opacity:0;stroke-opacity:0;pointer-events:none}.lmap .nlabel{font-family:var(--font-mono);fill:var(--ink)}.lmap .nlabel-bg{fill:color-mix(in oklab,var(--c) 13%,var(--paper));stroke:color-mix(in oklab,var(--c) 45%,var(--paper));stroke-width:1}.lmap .lbl.lm .nlabel{fill:var(--muted)}.lmap .node:focus{outline:none}.lmap .node:focus-visible .dot{stroke:var(--ox);stroke-width:3}.lmap .node:focus-visible .halo{opacity:.5!important}.lmap .node.dimc .halo{opacity:0!important}.lmap .node.sel .dot{stroke:var(--ox);stroke-width:2}.lmap-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lmap-find{position:absolute;top:12px;left:12px;z-index:5;width:300px;max-width:calc(100% - 70px)}.lmap-find input{width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:9px;padding:9px 36px 9px 12px}.lmap-find input::placeholder{color:var(--faint)}.lmap-find input:focus{outline:none;border-color:var(--ox);box-shadow:0 0 0 3px var(--ox-soft)}.lmap-find-key{position:absolute;right:9px;top:8px;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--faint);border:1px solid var(--rule);border-radius:4px;padding:0 6px;pointer-events:none}.lmap-find input:focus~.lmap-find-key,.lmap-find input:not(:placeholder-shown)~.lmap-find-key{display:none}.lmap-find-list{list-style:none;margin:6px 0 0;padding:5px;background:var(--paper);border:1px solid var(--rule);border-radius:9px;box-shadow:var(--shadow-2);max-height:min(320px,60vh);overflow:auto}.lmap-find-list[hidden]{display:none}.lmap-find-list li{display:flex;align-items:baseline;gap:8px;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1.3;color:var(--ink)}.lmap-find-list li[aria-selected=true],.lmap-find-list li:hover{background:var(--ox-soft)}.lmap-find-list .dd{width:8px;height:8px;border-radius:50%;flex:none;align-self:center}.lmap-find-list .aka{color:var(--faint);font-size:11.5px}.lmap-find-list li.none{color:var(--faint);cursor:default;background:none}.lmap-atlas{position:absolute;top:60px;left:12px;width:300px;max-height:calc(100% - 124px);overflow-y:auto;max-width:calc(100% - 24px);background:var(--paper);border:1px solid var(--rule);border-radius:11px;padding:14px 15px;transform:translate(-14px);opacity:0;pointer-events:none;transition:opacity .26s ease,transform .26s ease;z-index:4;box-shadow:var(--shadow-2)}.lmap-atlas.on{transform:none;opacity:1;pointer-events:auto}.lmap-atlas .ac-ghost{position:absolute;top:0;left:0;right:0;padding:inherit;overflow:hidden;background:var(--paper);pointer-events:none;z-index:1}@container (max-width:640px){.lmap-atlas{inset:auto 0 0;width:auto;max-width:none;max-height:52%;border-width:1px 0 0;border-radius:14px 14px 0 0;transform:translateY(16px);padding-bottom:18px}.lmap-atlas.on{transform:none}.lmap-find{right:56px;width:auto;max-width:none}}.lmap-atlas .x{position:absolute;top:10px;right:12px;background:none;border:0;color:var(--faint);font-size:15px;cursor:pointer;line-height:1}.lmap-atlas .x:hover{color:var(--ink)}.lmap-atlas .ac-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.lmap-atlas .ac-name{font-family:var(--font-mono);font-size:15px;font-weight:600;letter-spacing:0;color:var(--ink);margin:3px 0 2px;line-height:1.24}.lmap-atlas .ac-name:focus{outline:none}.lmap-atlas .ac-name:focus-visible{outline:2px solid var(--ox);outline-offset:2px;border-radius:3px}.lmap-atlas .ac-prev{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-bottom:11px}.lmap-atlas .ac-prev b{color:var(--ox)}.lmap-atlas .sig-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:8px;margin-bottom:6px}.lmap-atlas .sig-k{font-family:var(--font-mono);font-size:11px;color:var(--faint);text-transform:uppercase}.lmap-atlas .sig-k.gate{color:var(--danger)}.lmap-atlas .sig-v{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lmap-atlas .sig-m{display:flex;gap:2px}.lmap-atlas .sig-m i{width:7px;height:7px;border-radius:2px;background:var(--bg);border:1px solid var(--rule)}.lmap-atlas .sig-m i.on{background:var(--ox);border-color:var(--ox)}.lmap-atlas .ac-dh{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--faint);margin:9px 0 6px;padding-top:9px;border-top:1px solid var(--rule)}.lmap-atlas .ac-diff button{display:flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--muted);font-family:var(--font-body);font-size:11.5px;cursor:pointer;padding:2px 0;text-align:left;width:100%}.lmap-atlas .ac-diff button:hover{color:var(--ox)}.lmap-atlas .ac-diff .dd{width:7px;height:7px;border-radius:50%;flex:none}.lmap-atlas .ac-diff .ds{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:11px;color:var(--faint)}.lmap-atlas .ac-diff .ds.b0{color:var(--ox);font-weight:600}.lmap-atlas .ac-diff .ds.b1{color:var(--muted)}.lmap-atlas .ac-open{display:block;margin-top:9px;font-family:var(--font-mono);font-size:11px;color:var(--on-ox);background:var(--ox);border-radius:5px;padding:7px 12px;text-decoration:none;text-align:center}.lmap-atlas .ac-open:hover{filter:brightness(1.08)}.lmap-fallback{margin-top:2rem;border-top:1px solid var(--rule);padding-top:1.2rem}.lmap-fallback>h2{font-size:15px}.lmap-fallback section{margin:1rem 0}.lmap-fallback section h3{font-family:var(--font-mono);font-size:12px;font-weight:600;margin:0 0 .4rem;display:flex;gap:8px;align-items:baseline}.lmap-fallback section h3 a{color:var(--ink);text-decoration:none}.lmap-fallback section h3 a:hover{color:var(--ox)}.lmap-fallback section h3 span{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.lmap-fallback ul{list-style:none;margin:0;padding:0;columns:220px;column-gap:2rem}.lmap-fallback li{break-inside:avoid;padding:.28rem 0;border-bottom:1px solid var(--rule)}.lmap-fallback a{color:var(--ink);text-decoration:none;font-size:.95rem}.lmap-fallback a:hover{color:var(--ox)}.lmap-controls{position:absolute;left:12px;bottom:52px;z-index:3;display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:calc(100% - 24px)}.lmap-cbtn{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:7px;padding:7px 11px;cursor:pointer}.lmap-cbtn:hover,.lmap-cbtn[aria-expanded=true]{border-color:var(--ox);color:var(--ox)}.lmap-cbtn:has(input:checked){border-color:var(--ox);color:var(--ox)}.lmap-catpanel{position:absolute;left:12px;bottom:88px;z-index:5;width:250px;max-height:calc(100% - 130px);overflow-y:auto;background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:10px 11px;box-shadow:var(--shadow-2)}.lmap-catpanel[hidden]{display:none}.lmap-catpanel-h{font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:0 0 8px;display:flex;justify-content:space-between;align-items:center}.lmap-catpanel-h button{background:none;border:0;color:var(--faint);font-size:15px;cursor:pointer;line-height:1}.lmap-catpanel-h button:hover{color:var(--ink)}.lmap-keymodal{padding:0;border:0;background:transparent;max-width:calc(100vw - 32px)}.lmap-keymodal::backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent);backdrop-filter:blur(2px)}.lmap-keycard{width:400px;max-width:100%;background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:15px 17px;box-shadow:var(--shadow-2)}.lmap-keyrow{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;font-family:var(--font-body);font-size:12px;line-height:1.42;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--rule)}.lmap-keyrow:last-child{border-bottom:0}.lmap-keyrow b{color:var(--ink);font-weight:600}.lmap-keyrow .rm{color:var(--muted)}.lmap-keyrow .fd{color:var(--blue)}.lmap-keydots{display:flex;align-items:center;gap:3px;justify-content:center}.lmap-keydots i{border-radius:50%;background:var(--ox);display:block}.lmap-keythread{height:2px;background:var(--ox);border-radius:2px}.lmap-keyswatches{height:14px;border-radius:3px;background:linear-gradient(90deg,var(--cat-benign-odontogenic-tumors),var(--cat-malignant-tumors-non-odontogenic),var(--cat-odontogenic-cysts),var(--cat-metabolic-endocrine-bone-disease))}.lmap-keydim{height:14px;border-radius:50%;width:14px;margin:0 auto;background:var(--ox);opacity:.14;border:1px solid var(--ox)}@media (prefers-reduced-motion:reduce){.lmap .node,.lmap-atlas,.lmap .lbl,.lmap .edge,.lmap .dot{transition:none}}
