.map-page{height:100dvh;overflow:hidden;background:var(--bg);font-family:Inter,sans-serif}.map-header{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--bg)}.map-brand{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--head);text-decoration:none;max-width:250px;min-height:44px;display:flex;align-items:center}.map-header nav{display:flex;gap:8px;align-items:center}.map-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;text-decoration:none;font-size:14px;color:var(--muted);border-radius:7px}.map-header nav a[aria-current]{background:var(--surface);color:var(--accent);font-weight:600}.map-main{height:calc(100dvh - 80px);min-height:0}.map-main>astro-island{display:block;height:100%}.map-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.landkarte{height:100%;display:flex;flex-direction:column;min-height:0;font-size:14px;line-height:1.5;color:var(--text)}.landkarte button,.landkarte summary,.landkarte input{font:inherit}.landkarte button{min-width:44px;min-height:44px;touch-action:manipulation}.map-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 32px;border-bottom:1px solid var(--line);z-index:12;background:var(--bg)}.map-filter{position:relative;width:190px;max-width:24%}.map-filter summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;height:44px;border:1px solid var(--line);border-radius:7px;background:var(--bg);padding:0 13px;cursor:pointer;color:var(--muted)}.map-filter summary::-webkit-details-marker{display:none}.map-filter summary span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.map-filter summary svg{width:16px;flex-shrink:0}.map-filter summary.is-active{color:var(--accent);border-color:var(--accent);background:#f0f4fa}.map-filter-menu{position:absolute;top:52px;left:0;width:max(100%,270px);max-width:calc(100vw - 32px);background:var(--bg);padding:8px;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 26px #17263718;z-index:40}.map-filter-options{max-height:min(360px,50dvh);overflow:auto;overscroll-behavior:contain}.map-filter-menu button{display:block;border:0;background:transparent;width:100%;text-align:left;padding:10px 12px;border-radius:5px;line-height:1.5}.map-filter-menu button:hover{background:var(--surface)}.map-filter-menu button[aria-pressed=true]{background:#e1e9f4;color:var(--accent);font-weight:600}.map-filter-menu input{height:44px;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:5px;margin-bottom:7px;background:var(--bg);color:var(--text)}.map-pending-filter{border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--bg);padding:0 14px;height:44px;white-space:nowrap;color:var(--pending)}.map-pending-filter[aria-pressed=true]{background:var(--pending-bg);border-color:var(--pending)}.map-pending-filter svg{width:19px}.map-workspace{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.map-canvas{flex:1;min-width:0;position:relative;background:#fafbfc;overflow:hidden}.map-canvas .react-flow{--xy-node-boxshadow-selected:0 0 0 2px var(--accent);--xy-edge-stroke:#8193aa}.map-canvas .react-flow__pane{cursor:grab}.map-canvas .react-flow__pane.dragging{cursor:grabbing}.map-canvas .react-flow__handle{width:1px;height:1px;min-width:0;min-height:0;background:transparent;border:0;opacity:0;pointer-events:none}.map-canvas .react-flow__node-band{pointer-events:none}.map-band{width:100%;height:100%;border:1px solid var(--line);border-radius:12px;background:#f2f5f8b8}.map-band h2{font-size:14px;letter-spacing:.01em;color:var(--muted);margin:0;padding:13px 18px;font-weight:600;line-height:1.3}.map-area,.map-point{width:100%;height:100%;background:var(--bg);border:1px solid #c5d0de;border-radius:9px;box-shadow:0 2px 4px #17263704;color:var(--head);position:relative}.map-area.is-expanded{background:#edf2f8;border-color:#a5b7cf}.map-area.is-finding{border-left:3px solid var(--pending);border-radius:2px 9px 9px 2px}.map-node-button{display:flex;align-items:center;gap:12px;width:100%;height:76px;padding:10px 13px;pointer-events:auto;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;cursor:pointer;line-height:1.4!important;position:relative}.map-node-button:hover{background:#eaf0f8}.map-node-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;z-index:5}.map-node-icon{color:var(--accent);display:flex;align-items:center;flex-shrink:0}.map-node-icon svg{width:24px;height:24px}.map-area-title{font-size:15px;font-weight:600;flex:1}.map-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.map-point-number{font-size:12px;flex:0 0 20px;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;align-items:center}.map-point-title{font-size:13px;line-height:1.4;flex:1;font-weight:500}.map-point.is-pending{border:1px solid var(--pending);border-left:4px solid var(--pending);border-radius:2px 9px 9px 2px;background:var(--pending-bg);color:var(--pending)}.map-point.is-pending .map-point-number{color:var(--pending)}.map-pending-number{font-size:11px;color:var(--pending);align-self:flex-start;position:absolute;left:17px;top:7px}.map-point.is-pending .map-point-number{padding-top:8px}.map-point.is-finding{border-radius:2px;border-left:3px double var(--muted)}.map-point.is-term{border-radius:24px;background:#f2f5fa;border-color:#afbed0}.map-point.is-term .map-point-number{color:var(--accent)}.map-area.is-dimmed,.map-point.is-dimmed{background:#e8edf2;color:#526173;border-color:#ccd5df;box-shadow:none}.is-dimmed .map-node-icon,.is-dimmed .map-point-number,.is-dimmed .map-pending-number{color:#526173}.map-area.is-match,.map-point.is-match{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.map-point.is-pending.is-match{border-color:var(--pending);box-shadow:0 0 0 1px var(--pending)}.map-area.is-selected,.map-point.is-selected{outline:2px solid var(--accent);outline-offset:3px}.map-controls{position:absolute;bottom:20px;left:20px;display:flex;border:1px solid #c5d0de;border-radius:9px;overflow:hidden;background:var(--bg);box-shadow:0 2px 8px #1726370d;z-index:6}.map-controls button{display:grid;place-items:center;width:46px;height:46px;border:0;border-right:1px solid var(--line);background:var(--bg);color:var(--muted)}.map-controls button:last-child{border-right:0}.map-controls button:hover,.map-controls button[aria-pressed=true]{color:var(--accent);background:#eaf0f8}.map-detail{width:360px;max-width:38%;flex-shrink:0;background:var(--bg);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;z-index:8}.map-detail-heading{display:flex;gap:12px;align-items:flex-start;padding:20px 16px 18px 24px;border-bottom:1px solid var(--line)}.map-detail-heading h2{font-size:19px;letter-spacing:-.025em;line-height:1.4;flex:1;margin:8px 0 0}.map-detail-heading button{width:44px;height:44px;border:0;border-radius:6px;background:transparent;flex-shrink:0;display:grid;place-items:center;color:var(--muted)}.map-detail-heading button:hover{background:var(--surface)}.map-detail-scroll{overflow:auto;overscroll-behavior:contain;padding:8px 24px 24px;min-height:0;flex:1}.map-description{font-size:15px;line-height:1.65;white-space:pre-line;margin:16px 0;color:var(--text);overflow-wrap:anywhere}.map-detail .scope{display:inline-block;font-size:12px}.map-status{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0;display:flex;gap:9px;align-items:flex-start;white-space:pre-line}.map-status svg{flex:0 0 18px;margin-top:2px}.map-status.is-pending{background:var(--pending-bg);border-left:3px solid var(--pending);padding:10px;color:var(--pending)}.map-text-link{display:flex;min-height:44px;align-items:center;justify-content:space-between;text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0;margin:12px 0 25px;font-size:14px}.map-detail h3{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:0;margin:0 0 10px}.map-connections{list-style:none;padding:0;margin:0}.map-connections li{border-top:1px solid var(--line);margin:0}.map-connections button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:0;padding:11px 0;min-height:48px;color:var(--head)}.map-connections button:hover{color:var(--accent)}.map-connections button>span:nth-child(2){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.map-connection-icon{display:flex;align-items:center;justify-content:center;flex:0 0 22px;font-size:11px;color:var(--muted)}.map-connections button>svg{width:16px;flex-shrink:0;color:var(--muted)}@media(min-width:2000px){.map-detail{width:420px}.map-description{font-size:16px}.map-header{padding:0 48px}.map-toolbar{padding-left:48px}.map-controls{bottom:32px;left:32px}}@media(max-width:900px){.map-header{padding:0 20px}.map-toolbar{padding:10px 20px;gap:8px}.map-filter{flex:1;min-width:0}.map-pending-filter{padding:0 10px}.map-detail{width:320px;max-width:43%}}@media(max-width:640px){.map-header{height:84px;padding:10px 16px;gap:10px}.map-brand{font-size:13px;max-width:170px}.map-header nav{gap:0}.map-header nav a{padding:0 11px;font-size:13px}.map-main{height:calc(100dvh - 84px)}.map-toolbar{display:grid;grid-template-columns:1fr 1fr;padding:10px 16px;gap:8px}.map-filter{width:100%;max-width:100%;min-width:0}.map-filter summary{height:44px;font-size:13px}.map-filter-menu{max-width:calc(100vw - 32px)}.map-filter:nth-child(2) .map-filter-menu{left:auto;right:0}.map-pending-filter{width:100%;font-size:13px;height:44px}.map-workspace{flex-direction:column}.map-canvas{min-height:210px}.map-controls{left:12px;bottom:12px}.map-controls button{width:44px;height:44px}.map-detail{width:100%;max-width:100%;height:46%;max-height:330px;border-left:0;border-top:1px solid #b5c2d2;border-radius:16px 16px 0 0;box-shadow:0 -4px 16px #17263708}.map-detail-heading{padding:8px 12px 8px 18px;gap:12px}.map-detail-heading h2{font-size:16px;margin-top:10px}.map-detail-scroll{padding:0 18px 20px}.map-description{font-size:15px;margin:12px 0}.map-text-link{margin:8px 0 20px}.map-filter-options{max-height:40dvh}}@media(prefers-reduced-motion:reduce){.landkarte *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.map-point .map-node-button{height:100%}@media(max-width:640px){.map-area>.map-node-button{height:88px}}
