/* Orte-Baum */
.ptree{display:flex;flex-direction:column;gap:8px}
.prow{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
@media (max-width:760px){.prow{grid-template-columns:44px minmax(0,1fr)}.pacts{grid-column:1/-1}}
.pthumb{width:56px;height:42px;border-radius:7px;object-fit:cover;display:block;max-width:100%}
.pname{font-weight:700;font-size:15.5px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.kindtag{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
.pnotes{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pacts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* Karte */
.crumbs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:10px;font-size:15px}
.crumb{border:0;background:none;color:var(--teal);cursor:pointer;padding:2px 4px;font-weight:600;font-size:15px}
.mapgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
@media (max-width:900px){.mapgrid{grid-template-columns:1fr}}
.stage{position:relative;width:100%;max-height:78vh;border-radius:12px;overflow:hidden;border:1px solid var(--line);background-color:var(--map-bg);background-image:radial-gradient(var(--map-dot) 1px, transparent 1.4px);background-size:22px 22px;user-select:none;touch-action:none}
.stage.space{background-color:#0B1020;background-image:radial-gradient(rgba(255,255,255,.55) 1px, transparent 1.6px),radial-gradient(rgba(255,255,255,.28) 1px, transparent 1.2px);background-size:97px 97px,41px 41px;background-position:0 0,17px 23px}
.stage.mode-add,.stage.mode-mark,.stage.placing{cursor:copy}
.stage.mode-move .pin,.stage.mode-move .mark{cursor:grab}
.stagebg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.stagehint{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:var(--muted);font-size:13px;padding:0 20px;pointer-events:none}
.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.pins{position:absolute;inset:0}
.pin,.mark{position:absolute;transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px}
.pin .dot{width:18px;height:18px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.45);overflow:hidden;display:block}
.pin.body .dot{width:34px;height:34px;border-width:2px}
.pin.moon .dot{width:16px;height:16px;border-width:2px}
.pin.moon .lbl{font-size:10.5px;padding:0 4px;opacity:.9}
.pin .dot img{width:100%;height:100%;object-fit:cover;display:block}
.pin .lbl,.mark .lbl{font-size:12px;font-weight:700;color:#1B2238;background:rgba(255,255,255,.88);border-radius:5px;padding:1px 6px;white-space:nowrap}
.pin.sel .dot{outline:3px solid var(--sun);outline-offset:2px}
.mark{font-size:20px;line-height:1;color:#C8372D;text-shadow:0 0 3px #fff,0 0 6px #fff}
.mark.sel{color:#B07F00}
.walker{position:absolute;transform:translate(-50%,-100%);width:28px;height:28px;border-radius:50%;border:3px solid var(--c);background:var(--c);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.4);pointer-events:none}
.walker img{width:100%;height:100%;object-fit:cover}
.walker.moving{border-style:dashed}
.timebar{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.timebar input[type=range]{flex:1;min-width:220px;accent-color:var(--sun)}
.mapside{position:sticky;top:12px}
.selbox{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:10px;display:flex;flex-direction:column;gap:8px;background:var(--raised)}
.sidelist{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.sideitem{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0}
.sideitem .muted{font-size:13px;overflow:hidden;text-overflow:ellipsis}
