/* Nigen Loot-Tracker – Oberfläche. Ausgelagert, damit die CSP ohne 'unsafe-inline' auskommt. */
:root{
  --ink:#0f1513; --panel:#161e1b; --panel-2:#1d2723; --line:#2c3a34;
  --fg:#e3e8df; --muted:#97a69c; --accent:#d9b44a; --accent-ink:#1a1505;
  --rot:#ef4b3c; --gelb:#f2c230; --gruen:#4fd16a; --grau:#7d8a84;
  --typ:#b57cff;
  --display:"Saira Condensed","Arial Narrow",sans-serif;
  --body:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
[hidden]{display:none!important}
html,body{height:100%;margin:0}
body{background:var(--ink);color:var(--fg);font:14px var(--body);overflow:hidden}
.app{display:grid;grid-template-columns:340px 1fr;height:100%}
.panel{background:var(--panel);border-right:1px solid var(--line);min-height:0;overflow-y:auto;overscroll-behavior:contain}
.sec{padding:14px 18px;border-bottom:1px solid var(--line);display:grid;gap:9px;min-width:0}
.eyebrow{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
h1{font:700 28px/1 var(--display);margin:0;letter-spacing:.02em}
h2{font:500 16px var(--display);letter-spacing:.06em;text-transform:uppercase;margin:0;color:var(--muted)}
h2.inline{display:inline}
.muted{color:var(--muted);font-size:12.5px;line-height:1.45}
.field{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:8px;font-size:13px}
input{background:var(--panel-2);border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:7px 9px;font:inherit;min-width:0}
input:disabled{opacity:.65}
input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}
input:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:5px;padding:7px 11px;font:600 13px var(--body);cursor:pointer}
button:disabled{opacity:.55;cursor:default}
button.ghost{background:var(--panel-2);color:var(--fg);border:1px solid var(--line)}
button.ghost:hover{border-color:var(--muted)}
button.klein{padding:4px 8px;font-size:12px}
a.knopf{display:inline-block;border-radius:5px;text-decoration:none;font:600 13px var(--body);line-height:1.2}
a.knopf.ghost{background:var(--panel-2);color:var(--fg);border:1px solid var(--line)}
a.knopf.ghost:hover{border-color:var(--muted)}
a.knopf.klein{padding:4px 8px;font-size:12px}
a.knopf:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
button.an{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row>input{flex:1}
.check{display:flex;align-items:center;gap:8px;cursor:pointer}
.check small{color:var(--muted);font:11.5px var(--mono)}
summary{cursor:pointer;list-style-position:inside}

/* Kopf */
.wer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.wer b{font-weight:600}
.wer .row{flex-wrap:nowrap;flex:none;gap:6px}
.nw{white-space:nowrap}
.rolle{font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-left:4px}

/* Suche und Kategorien */
.such{display:flex;align-items:center;gap:8px}
.such input{flex:1;width:100%;box-sizing:border-box}
.such .anzahl{font:11.5px var(--mono);color:var(--muted);white-space:nowrap}
.such .anzahl:empty{display:none}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{background:var(--panel-2);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:3px 9px;font:500 12px var(--body)}
.chip small{color:var(--muted);font:11px var(--mono);margin-left:3px}
.chip[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.chip[aria-pressed="true"] small{color:var(--accent-ink)}

/* Legende */
.legend{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px;font-size:12.5px}
.legend span{display:flex;align-items:center;gap:7px}
.dot{width:11px;height:11px;border-radius:50%;flex:none;border:1.5px solid rgba(0,0,0,.6);box-sizing:border-box;display:inline-block}
.dot.rot{background:var(--rot)} .dot.gelb{background:var(--gelb)} .dot.gruen{background:var(--gruen)}
.dot.unbekannt{background:var(--grau)}
.dot.aktiv{background:transparent;border:2.5px solid var(--rot)}
/* Mit Kategorie-Farben zeigt die Legende die Ampel als Ring */
.katfarben .legend .dot.rot,.katfarben .legend .dot.gelb,.katfarben .legend .dot.gruen{background:var(--grau);border:2.5px solid}
.katfarben .legend .dot.rot{border-color:var(--rot)} .katfarben .legend .dot.gelb{border-color:var(--gelb)} .katfarben .legend .dot.gruen{border-color:var(--gruen)}
.katfarben .legend .dot.unbekannt{border:1px solid #0b0f0d}
.katdot{display:none;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:0;border:1px solid rgba(0,0,0,.6);box-sizing:border-box}
.katfarben .katdot{display:inline-block}
.ringdemo{width:15px;height:15px;border-radius:50%;border:2.5px solid var(--typ);box-sizing:border-box;display:grid;place-items:center;flex:none}
.ringdemo i{width:5px;height:5px;border-radius:50%;background:var(--grau)}
.alter{display:flex;align-items:center;gap:6px;font:11px var(--mono);color:var(--muted)}
.alter .balken{display:flex;width:64px;height:4px;border-radius:2px;overflow:hidden}
.alter .balken i{flex:1;background:#3fd8ff}
.alter .balken i:nth-child(2){opacity:.7} .alter .balken i:nth-child(3){opacity:.45} .alter .balken i:nth-child(4){opacity:.22}

/* Listen */
.liste{display:grid;gap:1px;margin:0 -8px}
.item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 8px;border-radius:6px;cursor:pointer}
.item:hover{background:var(--panel-2)}
.item .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item small{display:block;color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}
.item .t{font:500 12.5px var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.item .aktionen{display:flex;gap:5px}
.item.statisch{cursor:default}
.item.statisch:hover{background:transparent}
.item.offline .n{color:var(--muted)}
.swatch{width:12px;height:12px;border-radius:3px;flex:none;display:inline-block;box-sizing:border-box}
.swatch.ring{border-radius:50%;background:transparent!important;border:2.5px solid}
.typitem{grid-template-columns:16px 12px minmax(0,1fr) auto}
.typitem.aus{opacity:.5}
.tag{display:inline-block;font:500 10.5px var(--mono);color:var(--fg);border-radius:4px;padding:0 5px;margin-left:5px;vertical-align:1px;border:1px solid}
.empty{color:var(--muted);font-size:12.5px;line-height:1.45}

/* Karte */
.mapwrap{position:relative;min-width:0;min-height:0}
#map{position:absolute;inset:0;background:#0b1a1f}
.badge{position:absolute;left:12px;bottom:12px;z-index:900;background:rgba(15,21,19,.9);border:1px solid var(--line);border-radius:6px;padding:7px 10px;font:12px var(--mono);max-width:calc(100% - 24px);box-sizing:border-box}
.erkennt{position:absolute;left:12px;bottom:52px;z-index:905;display:grid;gap:6px;width:min(320px,calc(100% - 24px))}
.erk-zeile{background:rgba(15,21,19,.94);border:1px solid var(--line);border-left:3px solid var(--rot);border-radius:6px;padding:7px 10px 8px;font-size:13px;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.erk-zeile.fertig{border-left-color:var(--gruen)}
.erk-zahl{font-family:var(--mono)}
.erk-balken{height:4px;margin-top:6px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.erk-balken i{display:block;height:100%;background:var(--rot);transition:width .5s linear}
.erk-zeile.fertig .erk-balken i{background:var(--gruen)}
.erk{margin:8px 0;display:grid;gap:3px}
.erk-form input{width:5.5em}
.folgechip{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:950;background:rgba(15,21,19,.94);border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;display:flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.folgechip .pdot{width:9px;height:9px;border-radius:50%;display:inline-block}
.folgechip button{padding:3px 9px;font-size:12px;border-radius:999px}
.toasts{position:absolute;right:12px;bottom:12px;z-index:960;display:grid;gap:8px;justify-items:end;max-width:min(340px,calc(100% - 24px))}
.toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--gruen);border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.4;box-shadow:0 4px 16px rgba(0,0,0,.45);cursor:pointer;animation:rein .25s ease-out}
.toast small{display:block;color:var(--muted);font-size:11.5px}
@keyframes rein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.leaflet-container{background:#0b1a1f;font-family:var(--body)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--fg);border:1px solid var(--line)}
.leaflet-popup-content{margin:12px 14px;font-size:13px;line-height:1.45}
.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}
.leaflet-tooltip{background:var(--panel);color:var(--fg);border:1px solid var(--line);font:500 12px var(--body);box-shadow:0 2px 8px rgba(0,0,0,.4)}
.leaflet-tooltip-top:before{border-top-color:var(--line)}
.kartenwahl{display:flex;gap:4px;background:rgba(15,21,19,.9);border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.kartenwahl .chip{cursor:pointer}
.kartenwahl .chip:disabled{opacity:.45;cursor:default}
.ort span{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}
.ort{color:#f4f1e6;font:600 12px var(--body);white-space:nowrap;text-shadow:0 0 3px #000,0 0 6px #000,0 1px 2px #000;letter-spacing:.02em}
.ort-hauptstadt{font:700 17px var(--display);letter-spacing:.08em;text-transform:uppercase}
.ort-stadt{font:700 15px var(--display);letter-spacing:.07em;text-transform:uppercase}
.ort-flughafen{font:600 13px var(--display);letter-spacing:.06em;text-transform:uppercase;color:#e8e0c8}
.ort-dorf{font-size:12.5px}
.ort-ort,.ort-wasser{font:italic 500 11.5px var(--body);color:#dfe6dc}
.ort-wasser{color:#bfe4ff}
.orte-weit .ort-ort,.orte-weit .ort-wasser,.orte-sehrweit .ort-dorf{display:none}
.leaflet-bar a{background:var(--panel);color:var(--fg);border-color:var(--line)}
.leaflet-bar a:hover{background:var(--panel-2)}

/* Haus-Popup */
.pop h3{font:700 19px var(--display);margin:0 0 2px;letter-spacing:.03em}
.pop .k{font:11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.pop .row{margin-top:8px}
.pop .markiert{display:flex;gap:7px;align-items:flex-start;margin:4px 0 6px;padding:6px 8px;border-radius:6px;background:var(--panel-2);border-left:3px solid}
.pop .markiert small{display:block;color:var(--muted);font-size:11.5px}
.typform{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.typform summary{font:500 13px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.typform .inhalt{display:grid;gap:7px;margin-top:8px}
.typform input{width:100%;box-sizing:border-box}
.farben{display:flex;gap:6px}
.farbe{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid rgba(0,0,0,.5)}
.farbe.an{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--fg)}
.typform .msg{min-height:1em}

/* Spieler auf der Karte */
.player-icon{background:none;border:0}
.player{position:relative;width:14px;height:14px}
.player .pdot{position:absolute;inset:0;border-radius:50%;border:2.5px solid #111;box-sizing:border-box;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.player .plabel{position:absolute;left:18px;top:50%;transform:translateY(-50%);background:rgba(15,21,19,.92);color:var(--fg);border:1.5px solid;border-radius:10px;padding:0 7px;font:600 12px/18px var(--body);white-space:nowrap}
.player.haendler .pdot{border-style:dashed}
.player.haendler .plabel{font-weight:500;font-style:italic}

/* Anmeldung */
.login{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px;box-sizing:border-box;background:radial-gradient(ellipse at 30% 20%,#1b2622 0,var(--ink) 70%)}
.login-card{width:min(360px,100%);box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px 22px;display:grid;gap:12px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lfield{display:grid;gap:5px;font-size:13px;color:var(--muted)}
.lfield input{font-size:15px;padding:9px 10px;color:var(--fg)}
.fehler{color:#ff8a7e;font-size:13px;min-height:1.2em}
.login-card button{padding:10px;font-size:14px}

/* Konto und Verwaltung */
.formular{display:grid;gap:8px;margin-top:8px}
.formular .lfield input{font-size:14px;padding:7px 9px}
h3.klein{font:500 13px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 0}
.nutzer{grid-template-columns:minmax(0,1fr) auto}
.nutzer .aktionen{flex-wrap:wrap;justify-content:flex-end}
.nutzer .pwzeile{grid-column:1/-1;display:flex;gap:6px}
.nutzer .pwzeile input{flex:1}
.ok{color:var(--gruen)} .warn{color:#ff8a7e}

/* Lootplaner: Item-Suche, Haus-Details, Routen */
select{background:var(--panel-2);border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:6px 8px;font:inherit}
.vorschlaege{display:grid;gap:1px;margin:0 -6px}
.vorschlaege:empty{display:none}
.vorschlag{display:flex;justify-content:space-between;gap:8px;align-items:baseline;background:transparent;color:var(--fg);border-radius:5px;padding:6px;font:500 13px var(--body);text-align:left}
.vorschlag:hover,.vorschlag:focus-visible{background:var(--panel-2)}
.vorschlag small{color:var(--muted);font:11px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chips:empty{display:none}
.hinweis summary{color:var(--muted);font-size:12px}
.hinweis div{margin-top:4px}
.ctab{width:100%;border-collapse:collapse;font-size:12px}
.ctab th{text-align:left;color:var(--muted);font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:2px 4px}
.ctab td{border-top:1px solid var(--line);padding:3px 4px;vertical-align:top}
.ctab td:nth-child(2),.ctab td:nth-child(3){font-family:var(--mono);text-align:right}
.itemliste{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;max-height:160px;overflow-y:auto}
.itemliste .chip{cursor:pointer;font-size:11.5px;padding:2px 7px}
.funde{display:grid;gap:3px}
.fund{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12.5px}
.rwahl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rwahl input[type=number]{width:56px;padding:5px 6px}
.rliste{list-style:none;margin:0 -8px;padding:0;display:grid;gap:1px}
.rliste:empty{display:none}
.rliste li{display:grid;grid-template-columns:22px 12px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;cursor:pointer}
.rliste li:hover{background:var(--panel-2)}
.rliste .nr{font:600 12px var(--mono);color:var(--accent);text-align:right}
.rliste .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rliste .n small{color:var(--muted)}
.rliste .t{font:500 12px var(--mono);color:var(--muted)}
.rliste li.erledigt .n{text-decoration:line-through;color:var(--muted)}
.rliste li.zurueck,.rliste li.summe{cursor:default}
.rliste li.zurueck:hover,.rliste li.summe:hover{background:transparent}
.rliste li.summe{border-top:1px solid var(--line);font-weight:600}
.stoppnr{background:none;border:0}
.stoppnr span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffd24a;color:#1a1505;font:700 11px var(--mono);border:2px solid #1a1505;box-sizing:border-box}
.legende-karte{background:rgba(15,21,19,.9);border:1px solid var(--line);border-radius:6px;padding:6px 8px;display:grid;grid-template-columns:repeat(3,auto);gap:3px 10px;font:11px var(--mono);color:var(--fg)}
.legende-karte b{grid-column:1/-1;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.legende-karte span{display:flex;align-items:center;gap:4px}
.legende-karte i{width:10px;height:10px;border-radius:2px;display:inline-block}
.waehlen,.waehlen .leaflet-interactive{cursor:crosshair!important}
#ebenen{margin-top:6px}

/* Tabs Karte | Einstellungen */
.tabs{display:flex;gap:2px;background:var(--ink);border:1px solid var(--line);border-radius:7px;padding:2px;justify-self:start}
.tab{background:transparent;color:var(--muted);border-radius:5px;padding:6px 14px;font:600 13px var(--body)}
.tab:hover{color:var(--fg)}
.tab.an{background:var(--panel-2);color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}
/* Einstellungsseite: deckt Karte und Seitenleiste ab */
.seite{position:fixed;inset:0;z-index:3000;background:var(--ink);overflow-y:auto;overscroll-behavior:contain;padding:22px clamp(16px,3vw,40px) 40px}
.seite-kopf{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1200px;margin:0 auto 18px}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px;max-width:1200px;margin:0 auto;align-items:start}
.karte-box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px;display:grid;gap:10px;min-width:0}
.karte-box.breit{grid-column:1/-1}
pre.protokoll{margin:0;max-height:420px;overflow:auto;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:12px/1.45 var(--mono);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
pre.protokoll .w{color:var(--gelb)}
pre.protokoll .f{color:#ff8a7e}
pre.protokoll .i{color:var(--fg)}
#p-absturz{border-color:var(--rot)}
dl.version{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}
dl.version dt{color:var(--muted)}
dl.version dd{margin:0;min-width:0;overflow-wrap:anywhere}
dl.version code,.tabelle code{font:12.5px var(--mono);color:var(--accent)}
.lern-filter input[type=search]{flex:1 1 220px}
.tabelle-wrap{overflow-x:auto;margin:0 -4px}
.tabelle{width:100%;border-collapse:collapse;font-size:13px}
.tabelle th{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none}
.tabelle th[aria-sort=descending]::after{content:" ▼";color:var(--accent)}
.tabelle th[aria-sort=ascending]::after{content:" ▲";color:var(--accent)}
.tabelle td{padding:5px 8px;border-bottom:1px solid rgba(44,58,52,.6);vertical-align:middle;white-space:nowrap}
.tabelle tbody tr:hover{background:var(--panel-2)}
.tabelle .z{text-align:right;font-family:var(--mono);font-size:12.5px}
.tabelle .quelle{display:inline-block;min-width:68px}
button.link{background:none;border:0;padding:0;color:var(--fg);font:500 13px var(--body);text-align:left;cursor:pointer}
button.link:hover{color:var(--accent);text-decoration:underline}
input.klein-zahl{width:64px;padding:3px 6px;font-size:12.5px;margin-left:6px}

@media (max-width:760px){
  .app{grid-template-columns:1fr;grid-template-rows:55vh minmax(0,1fr);height:100dvh}
  .panel{grid-row:2;border-right:0;border-top:1px solid var(--line)}
  .mapwrap{grid-row:1}
  .sec{padding:12px 16px}
  h1{font-size:24px}
  .badge{font-size:11px;padding:5px 8px;bottom:8px;left:8px}
  .erkennt{left:8px;bottom:40px;width:min(300px,calc(100% - 16px))}
  .toasts{bottom:40px;right:8px}
  .folgechip{top:10px;max-width:calc(100% - 110px);overflow:hidden}
  .kartenwahl .chip{padding:3px 8px;font-size:11.5px}
  .mapwrap:has(.folgechip:not([hidden])) .kartenwahl{margin-top:44px}
  .seite{padding:16px 12px 32px}
  .karte-box{padding:14px}
}

/* Auswertung: Heatmap, Zeitraffer, Statistik */
.app.ausw-an .panel>.sec:not(:first-child):not(.ausw){display:none!important}
.app:not(.ausw-an) .ausw{display:none!important}
.app.ausw-an .leaflet-routen-pane,.app.ausw-an .leaflet-treffer-pane,.app.ausw-an .leaflet-marker-pane,
.app.ausw-an .folgechip,.app.ausw-an .erkennt{display:none!important}
.app.ausw-an .leaflet-haeuser-pane,.app.ausw-an .leaflet-unter-pane{opacity:.3;pointer-events:none}
.app.ausw-zr .leaflet-haeuser-pane,.app.ausw-zr .leaflet-unter-pane{opacity:.18}
.seg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:3px;gap:3px}
.seg button{background:none;color:var(--muted);border:0;border-radius:5px;padding:6px 4px;font:600 12.5px var(--body)}
.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
.seg button:not([aria-pressed=true]):hover{color:var(--fg)}
.field select{min-width:0}
#a-wer-feld{grid-template-columns:auto 1fr}
.heat-legende{display:flex;align-items:center;gap:8px;font:11.5px var(--mono);color:var(--muted)}
.heat-legende i{flex:1;height:10px;border-radius:3px;background:linear-gradient(90deg,rgba(190,70,24,.45),rgba(232,124,36,.7),rgba(242,194,48,.85),rgb(255,243,196))}
.zr-uhr{display:flex;align-items:baseline;gap:10px}
.zr-uhr b{font:700 30px/1 var(--display);color:var(--accent);font-variant-numeric:tabular-nums}
#a-zr-regler{width:100%;accent-color:var(--accent);padding:0}
.zr-zeile{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;background:none;border:0;color:var(--fg);text-align:left;padding:4px 2px;font:13px var(--body);width:100%}
.zr-zeile small{color:var(--muted);font:11.5px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.zr-zeile.aus{opacity:.5}
.zr-zeile:not(:disabled):hover span{text-decoration:underline}
.statistik{position:absolute;inset:0;z-index:1001;background:var(--ink);overflow-y:auto;overscroll-behavior:contain;padding:20px clamp(14px,2.5vw,32px) 32px}
.st-kopf{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.st-kopf h2{font-size:20px;color:var(--fg)}
.st-zwei{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:14px;margin-bottom:14px}
.st-teil,.st-box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:grid;gap:10px;min-width:0;align-content:start}
.st-teil h3,.st-box h3{font:500 14px var(--display);letter-spacing:.06em;text-transform:uppercase;margin:0;color:var(--muted)}
.st-wer{display:flex;align-items:center;gap:8px}
.st-kacheln{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.st-kachel{background:var(--panel-2);border-radius:6px;padding:9px 10px;min-width:0}
.st-k-titel{font-size:11.5px;color:var(--muted)}
.st-k-wert{font:700 24px/1.15 var(--display);font-variant-numeric:tabular-nums;color:var(--fg);overflow-wrap:anywhere}
.st-k-unter{font:11px var(--mono);color:var(--muted);margin-top:2px}
.st-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:14px}
.st-box.breit{grid-column:1/-1}
.st-legende{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--fg)}
.st-legende span{display:flex;align-items:center;gap:6px}
.st-saeulen{display:grid;gap:3px;height:150px;align-items:end;padding-bottom:18px;border-bottom:1px solid var(--line);position:relative}
.st-spalte{position:relative;height:100%;display:flex;align-items:flex-end;cursor:default}
.st-spalte:hover{background:rgba(255,255,255,.04)}
.st-stapel{width:100%;display:flex;flex-direction:column-reverse;gap:2px;border-radius:4px 4px 0 0;overflow:hidden;min-height:0}
.st-stapel i{display:block;min-height:2px}
.st-achse{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font:10.5px var(--mono);color:var(--muted);white-space:nowrap}
.st-skala{font-size:11.5px;margin-top:4px}
.st-rang{display:grid;gap:6px}
.st-rang-zeile{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.st-rang-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-rang-balken{height:8px;background:var(--panel-2);border-radius:4px;overflow:hidden}
.st-rang-balken i{display:block;height:100%;background:var(--accent);border-radius:0 4px 4px 0}
.st-rang-zahl{font:12.5px var(--mono);white-space:nowrap}
.st-rang-zahl small{color:var(--muted)}
.st-tabelle td.zahl,.st-tabelle th.zahl{text-align:right;font-variant-numeric:tabular-nums}
.st-tabelle tr.ich td{color:var(--accent)}
.st-tabelle td{padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.st-leer{padding:30px 0}
.st-tip{position:fixed;z-index:4000;background:rgba(15,21,19,.96);border:1px solid var(--line);border-radius:6px;padding:6px 9px;font:12px var(--body);color:var(--fg);pointer-events:none;max-width:280px}
@media (max-width:760px){
  .st-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statistik{padding:14px 12px 24px}
}
/* Gebäude von Hand eintragen (eintragen.js) */
.eintragen{display:grid;gap:8px;margin-top:8px}
.eintragen .feld{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.eintragen .feld input:not([type=range]):not([type=number]){width:100%;box-sizing:border-box}
.eintragen input[type=range]{flex:1;min-width:120px}
.eintragen input[type=number]{width:64px;padding:5px 6px}
.eigen-info{border-left:3px solid #ff4fd8;padding:2px 0 2px 8px;display:grid;gap:4px}
/* Kisten, Händler und Dungeons (kisten.js) */
.seg.zwei{grid-template-columns:repeat(2,1fr)}
#kisten-sec textarea{background:var(--panel-2);border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:7px 9px;font:12.5px var(--mono);width:100%;box-sizing:border-box;resize:vertical;margin-top:6px}
#kisten-sec details>.muted,#kisten-sec details>.row,#kisten-sec details>.liste{margin-top:6px}
#kisten-sec details>summary{margin-bottom:4px}
#kisten-sec input[type=range]{width:100%;box-sizing:border-box;padding:0;margin:0}
#k-fokus-feld,.kisten-einst .field.regler{grid-template-columns:auto minmax(0,1fr);gap:12px}
.kisten-einst{display:grid;gap:7px}
.kisten-einst .field{grid-template-columns:1fr 80px;font-size:12.5px}
.kisten-einst .field input[type=number]{padding:5px 6px}
.zeile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;background:none;color:var(--fg);border:0;text-align:left;font:13px var(--body);cursor:pointer}
.zeile:hover{background:var(--panel-2)}
.zeile>span:not(.nr):not(.kiste){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zeile small{color:var(--muted);font:11.5px var(--mono)}
.zeile .nr{font:600 12px var(--mono);color:var(--accent);width:14px;text-align:right}
.zeile.aus{opacity:.55}
.kiste b{display:flex;align-items:center;justify-content:center;width:26px;height:18px;box-sizing:border-box;border-radius:4px;font:700 10.5px/1 var(--mono);letter-spacing:.02em}
.kiste-T b{background:#151b18;color:var(--accent);border:2px solid var(--accent)}
.kiste-DNA b{color:#111;border:2px solid #111;font-size:9px;background:#888}
.farbe-gelb b{background:#f2c230}.farbe-gruen b{background:#4fd16a}.farbe-blau b{background:#3f8cff}
.farbe-lila b{background:#b57cff}.farbe-rot b{background:#ef4b3c}
.kiste{filter:drop-shadow(0 1px 3px rgba(0,0,0,.7))}
.kiste.ehemalig{opacity:.5}
.kiste.ehemalig b{border-style:dashed}
.kiste.mini{display:inline-flex;filter:none}
.kiste.mini b{width:24px;height:16px;font-size:9.5px}
.kisten-haus{margin:6px 0 2px}
.poi{display:flex;align-items:center}
.poi i{flex:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;box-sizing:border-box;font:700 11px/1 var(--mono);font-style:normal;border:2px solid #0b0f0d;box-shadow:0 1px 4px rgba(0,0,0,.6)}
.poi-haendler i{background:#2fe0c0;color:#062a24}
.poi-dungeon i{background:#ef4b3c;color:#2a0805}
.poi-sonstiges i{background:#f4f4f4;color:#111}
.poi span{position:absolute;left:24px;top:50%;transform:translateY(-50%);white-space:nowrap;color:#f4f1e6;font:600 11.5px var(--body);text-shadow:0 0 3px #000,0 0 6px #000}
.kisten-weit .poi span{display:none}
.kisten-weit .kiste b{transform:scale(.8)}
.app.ausw-an .leaflet-kisten-pane,.app.ausw-an .leaflet-kistenheat-pane{display:none!important}
/* Live-Route zu den nächsten nie gelooteten Häusern (naechste.js) */
.stoppnr.naechst span{background:#4fe3ff;color:#04161b;border-color:#04161b}
#n-anzahl{width:120px;vertical-align:middle}
/* Kisten mit einem Klick melden (Popup) */
.lootungen{margin-top:6px;font-size:12.5px;line-height:1.5}
.lootungen:empty{display:none}
.lootung span{font-weight:600}
.kisten-melden{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.kisten-melden .chip{border-style:dashed}
/* High-Value-Loot */
.tag.hv{border-color:var(--gelb);color:var(--gelb)}
.chip.hv{border-color:var(--gelb);color:var(--gelb)}
.chip.hv[aria-pressed="true"]{background:rgba(242,194,48,.16)}
.fund.hv{color:var(--gelb)}
.toast.hv{border-left-color:var(--gelb)}
#item-schnell:empty{display:none}
