.ontology-map{--map-paper:#f3f5f7;--map-surface:#fff;--map-ink:#232a31;--map-muted:#6b7683;--map-line:#d4dae0;--map-line-strong:#8b98a8;--map-accent:#0e6e64;--map-accent-dark:#0b5952;--map-accent-soft:#e0edeb;--map-warm:#b5762f;--map-warm-soft:#f7eede;--map-mono:"SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;isolation:isolate;border:1px solid var(--map-line);background:linear-gradient(#23324707 1px, transparent 1px), linear-gradient(90deg, #23324707 1px, transparent 1px), var(--map-paper);width:min(900px,100% - 24px);height:760px;color:var(--map-ink);background-size:24px 24px,24px 24px,auto;border-radius:2px;margin:0 auto 40px;position:relative;overflow:hidden}.ontology-map:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(#0000,#f3f5f7e6);height:170px;position:absolute;inset:auto 0 0}.ontology-map__heading{z-index:5;pointer-events:none;max-width:370px;position:absolute;top:24px;left:28px}.ontology-map__heading>span{color:var(--map-accent-dark);font-family:var(--map-mono);letter-spacing:.12em;font-size:10px;font-weight:600}.ontology-map__heading h2{color:#223247;letter-spacing:-.015em;margin:7px 0 0;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(14px,1.4vw,17px);font-weight:600;line-height:1.55}.ontology-section{max-width:900px;margin:0 auto;padding:8px 32px 0}.ontology-section h2{color:#223247;border-bottom:1px solid #223247;margin:0 0 14px;padding-bottom:10px;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:21px;font-weight:600;line-height:1.5}.ontology-section p{color:#232a31;margin:0 0 22px;font-size:15px;line-height:1.95}.ontology-map__hint{z-index:5;max-width:350px;color:var(--map-muted);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#f8fafce0;border:1px solid #8290a68c;border-radius:999px;margin:0;padding:8px 12px;font-size:10px;line-height:1.5;position:absolute;top:25px;right:26px}.ontology-map__canvas{z-index:1;position:absolute;inset:0}.ontology-map__canvas canvas{cursor:grab;display:block}.ontology-map__canvas canvas:active{cursor:grabbing}.ontology-map__task{min-width:150px;color:var(--map-muted);text-align:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafce6;border:1px solid #8290a69e;border-radius:7px;padding:7px 10px;font-family:inherit;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:0 7px 18px #17243a14}.ontology-map__task:hover{border-color:var(--map-accent);transform:translateY(-2px)}.ontology-map__task:focus-visible{outline-offset:2px;outline:3px solid #0e6e6459}.ontology-map__task>span,.ontology-map__task>strong{white-space:nowrap;display:block}.ontology-map__task>span{font-size:8px}.ontology-map__task>strong{color:var(--map-ink);margin-top:2px;font-size:12px;font-weight:600}.ontology-map__task--active{color:var(--map-accent-dark);background:#e8f1eff2;border-color:#0e6e64bd;box-shadow:0 8px 22px #0e6e642e}.ontology-map__task--related{color:#8c5a1d;background:#f7eedef2;border-color:#b5762fb8;box-shadow:0 8px 20px #b5762f24}.ontology-map__model-mark{opacity:.86;background:#ffffffa8;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;display:flex}.ontology-map__model-mark strong,.ontology-map__model-mark span{font-family:var(--map-mono);white-space:nowrap}.ontology-map__model-mark strong{color:var(--map-ink);letter-spacing:.08em;font-size:8px}.ontology-map__model-mark span{color:var(--map-accent-dark);letter-spacing:.12em;font-size:7px}.ontology-map__layer-label{min-width:150px;color:var(--map-accent-dark);text-align:center;white-space:nowrap;background:#f8fafce0;border-radius:5px;padding:5px 8px}.ontology-map__layer-label span,.ontology-map__layer-label small{display:block}.ontology-map__layer-label span{font-size:10px;font-weight:600}.ontology-map__layer-label small{color:var(--map-muted);margin-top:1px;font-size:7px}.ontology-map__layer-label--warm span{color:#934718}.ontology-map__token{color:#4f5e76;text-overflow:ellipsis;white-space:nowrap;background:#f8fafce0;border-radius:3px;max-width:102px;padding:2px 4px;font-size:8px;line-height:1.2;display:block;overflow:hidden}.ontology-map__token small{color:#8a6b46;margin-top:1px;font-size:6px;font-weight:400;display:block}.ontology-map__token--active{color:var(--map-ink);background:#fffffff5;font-weight:600}.ontology-map__node{min-width:88px;color:var(--map-ink);text-align:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffed;border:1px solid #8290a6bf;border-radius:7px;padding:5px 8px;font-family:inherit;transition:transform .16s,border-color .16s,background .16s;box-shadow:0 7px 18px #17243a1f}.ontology-map__node:hover{border-color:var(--map-accent);transform:translateY(-2px)}.ontology-map__node:focus-visible{outline-offset:2px;outline:3px solid #0e6e6459}.ontology-map__node strong,.ontology-map__node span{white-space:nowrap;display:block}.ontology-map__node strong{font-size:10px;font-weight:600}.ontology-map__node span{color:var(--map-muted);font-family:var(--map-mono);margin-top:1px;font-size:7px}.ontology-map__node--selected{border-color:var(--map-accent-dark);background:var(--map-accent-dark);color:#fff;box-shadow:0 10px 26px #0b59524d}.ontology-map__node--selected span{color:#d6e8e4}.ontology-map__relation-label{color:var(--map-accent-dark);white-space:nowrap;background:#f7f9faf2;border:1px solid #0e6e648a;border-radius:999px;padding:3px 7px;font-size:8px;display:block;box-shadow:0 4px 12px #17243a1f}.ontology-map__relation-label--recorded{color:#3a4a5e;border-color:#44566b8c}.ontology-map__relation-label--derived{color:var(--map-accent-dark);border-color:#0e6e648c}.ontology-map__relation-label--expected{color:#8c471f;border-color:#a8552f94}.ontology-map__legend{z-index:5;max-width:420px;color:var(--map-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafce6;border:1px solid #8290a694;border-radius:8px;flex-wrap:wrap;align-items:center;gap:7px 13px;padding:9px 11px;font-size:9px;display:flex;position:absolute;bottom:22px;left:22px}.ontology-map__legend span{white-space:nowrap;align-items:center;gap:5px;display:flex}.ontology-map__legend i{border-radius:999px;width:14px;height:3px;display:block}.ontology-map__legend-source{background:var(--map-accent)}.ontology-map__legend-rule{background:var(--map-warm)}.ontology-map__legend-recorded{background:#44566b}.ontology-map__legend-derived{background:#0e6e64}.ontology-map__legend-expected{background:repeating-linear-gradient(90deg,#a8552f 0 4px,#0000 4px 7px);border-radius:0}.ontology-map__inspector{z-index:6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fafced;border:1px solid #8290a6cc;border-radius:11px;width:360px;max-height:calc(100% - 44px);padding:15px;position:absolute;bottom:22px;right:22px;overflow-y:auto;box-shadow:0 20px 50px #17243a2e}.ontology-map__inspector-head{border-bottom:1px solid var(--map-line);padding-bottom:10px}.ontology-map__inspector-head span,.ontology-map__inspector-head strong,.ontology-map__inspector-head code{display:inline-block}.ontology-map__inspector-head span{width:100%;color:var(--map-accent-dark);font-family:var(--map-mono);letter-spacing:.1em;font-size:8px}.ontology-map__inspector-head strong{margin-top:2px;font-size:17px;font-weight:600}.ontology-map__inspector-head code{color:var(--map-muted);margin-left:8px;font-size:8px}.ontology-map__inspector>p{color:#44536a;margin:10px 0;font-size:10px;line-height:1.65}.ontology-map__inspector dl{gap:6px;margin:0;display:grid}.ontology-map__inspector dl>div{grid-template-columns:78px 1fr;gap:7px;display:grid}.ontology-map__inspector dt{color:#6e7c92;font-size:8px}.ontology-map__inspector dd{color:#26344d;margin:0;font-size:9px;line-height:1.45}.ontology-map__connection{border-top:1px solid var(--map-line);margin-top:11px;padding-top:11px}.ontology-map__connection-head span{color:var(--map-accent-dark);font-family:var(--map-mono);letter-spacing:.1em;font-size:8px;display:block}.ontology-map__source-order{flex-wrap:wrap;align-items:center;gap:4px;margin:9px 0 0;padding:0;list-style:none;display:flex}.ontology-map__source-order li{align-items:center;gap:4px;display:flex}.ontology-map__source-order span{border:1px solid var(--map-line);color:#223247;background:#fff;border-radius:4px;padding:3px 5px;font-size:8px}.ontology-map__source-order i{color:var(--map-accent);font-size:8px;font-style:normal}.ontology-map__connection-text{margin-top:8px}.ontology-map__connection-text p{color:#44536a;margin:0;font-size:9px;line-height:1.6}.ontology-map__connection-text p+p{margin-top:6px}.ontology-map__empty{color:#8a3f10;text-align:center;max-width:1180px;margin:24px auto;padding:20px;font-size:14px}@media (max-width:1020px){.ontology-map__hint{display:none}.ontology-map__heading{max-width:340px}}@media (max-width:720px){.ontology-map{border-radius:12px;width:calc(100% - 16px);height:940px}.ontology-map__heading{top:18px;left:18px;right:18px}.ontology-map__heading h2{font-size:15px}.ontology-map__legend{justify-content:center;gap:9px;bottom:270px;left:14px;right:14px}.ontology-map__inspector{width:auto;max-height:300px;bottom:14px;left:14px;right:14px}.ontology-map__task{min-width:128px}}@media (prefers-reduced-motion:reduce){.ontology-map__node{transition:none}}
