:root{--bg:#02070c;--panel:#071019f2;--line:#284b60;--cyan:#78ddff;--cyan2:#27a9e8;--gold:#d8b667;--text:#eaf4f8;--muted:#94aab6;--danger:#ff765f}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}
#explorer{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 20%,#0b2635,#02070c 60%)}
.topbar{position:absolute;z-index:100;left:0;right:0;top:0;height:64px;display:flex;align-items:center;gap:10px;padding:8px 10px;background:linear-gradient(180deg,rgba(2,9,15,.97),rgba(2,8,13,.90));border-bottom:1px solid rgba(77,157,193,.34);box-shadow:0 8px 28px #000b;backdrop-filter:blur(8px)}
.icon-btn{width:36px;height:36px;display:grid;place-items:center;border:1px solid #315568;border-radius:9px;background:#08131d;color:#d9f4ff;box-shadow:inset 0 0 14px #3aa9dd0d;transition:.16s}.icon-btn:hover,.icon-btn:focus-visible{border-color:#69cbee;background:#0c1b28;outline:none;box-shadow:0 0 12px #3cbef044}.icon-btn.back{font-size:21px;color:#f0d392;border-color:#6a5630;background:#151107}
.brand{min-width:205px;display:grid;line-height:1}.brand strong{font:700 22px/1 Georgia,serif;letter-spacing:.14em;color:#dff7ff;text-shadow:0 0 12px #51cfff44}.brand span{margin-top:4px;color:#7fa6b9;font-size:9px;text-transform:uppercase;letter-spacing:.16em}
.search-wrap{position:relative;flex:1;max-width:380px}.search-wrap input{width:100%;height:38px;padding:0 12px;border:1px solid #28495a;border-radius:9px;background:#061018;color:#eaf7fc;outline:none}.search-wrap input:focus{border-color:#63c7eb;box-shadow:0 0 0 2px #54bce61b}.search-wrap input::placeholder{color:#6d8997}.search-results{position:absolute;top:44px;left:0;right:0;z-index:150;padding:6px;border:1px solid #2e5364;border-radius:10px;background:#061019f7;box-shadow:0 16px 30px #000b}.search-results button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#dff2f8;text-align:left}.search-results button:hover{background:#123142}
.counter{height:36px;display:flex;align-items:center;padding:0 10px;border:1px solid #28495a;border-radius:999px;background:#07131c;color:#acd8e9;font-size:11px;white-space:nowrap}.player-badge{height:36px;max-width:145px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #335567;border-radius:999px;background:#07131c;color:#d4eef7;white-space:nowrap;overflow:hidden}.player-badge .dot{width:8px;height:8px;border-radius:50%;background:#6ee3a2;box-shadow:0 0 8px #6ee3a277}.player-badge.guest{color:#78909b}.player-badge.guest .dot{background:#667985;box-shadow:none}.player-badge span:last-child{overflow:hidden;text-overflow:ellipsis}.controls{margin-left:auto;display:flex;gap:6px}
.map-viewport{position:absolute;inset:64px 0 0;overflow:hidden;touch-action:none;background:#02080d;cursor:grab}.map-viewport.dragging{cursor:grabbing}.map-transform{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.base-art{position:absolute;left:0;top:0;width:1254px;height:1254px;display:block;user-select:none;pointer-events:none}.marker-layer{position:absolute;left:0;top:0;width:1254px;height:1254px;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:0;background:transparent;padding:0;filter:drop-shadow(0 3px 5px #000b);transition:transform .16s ease,opacity .16s ease,filter .16s ease}.marker:hover,.marker:focus-visible{transform:translate(-50%,-50%) scale(1.12);outline:none;z-index:15}.marker.filtered{display:none}.marker.visited{filter:drop-shadow(0 3px 5px #000a) drop-shadow(0 0 8px #79dfff88)}
.marker.place{width:28px;height:28px;border-radius:50%;border:2px solid #bcefff;background:radial-gradient(circle,#d9f8ff 0 17%,#5bd4ff 18% 29%,#0a6f9e 30% 43%,transparent 44%);box-shadow:0 0 9px #4ec7f7aa,0 0 18px #2ba0dd66}.marker.place::after{content:"";position:absolute;inset:-9px;border:1px solid #70dcff66;border-radius:50%;animation:pulse 2.2s ease-out infinite}.marker img{display:block;width:38px;height:38px;object-fit:contain}.marker.threat img{width:46px;height:46px;filter:drop-shadow(0 0 8px #ff5e4d99)}.marker.find img{width:40px;height:40px;filter:drop-shadow(0 0 8px #ffcf6d88)}.marker.data img{width:38px;height:38px;filter:drop-shadow(0 0 8px #4dc8ff88)}.marker.secret img{width:38px;height:38px;filter:drop-shadow(0 0 8px #89dfff88)}
.marker-label{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);min-width:max-content;max-width:210px;padding:5px 8px;border:1px solid #386276;border-radius:7px;background:#041018eF;color:#e8f7fb;font:600 11px/1.2 system-ui;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;box-shadow:0 5px 15px #000a}.marker:hover .marker-label,.marker:focus-visible .marker-label{opacity:1}
@keyframes pulse{0%{opacity:.85;transform:scale(.75)}75%,100%{opacity:0;transform:scale(1.5)}}
.filterbar,.legend-mini{position:absolute;z-index:80;top:12px;border:1px solid #284c5e;border-radius:10px;background:#061018e9;box-shadow:0 8px 18px #0008;backdrop-filter:blur(5px)}.filterbar{left:12px;padding:7px 9px;display:flex;align-items:center;gap:8px}.filterbar label{color:#7fa0ae;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.filterbar select{border:0;background:#0a1924;color:#dff4fb;border-radius:7px;padding:5px 8px;outline:none}.legend-mini{right:12px;display:flex;gap:10px;padding:7px 9px;color:#9eb9c5;font-size:10px}.legend-mini span{display:flex;align-items:center;gap:4px}.legend-mini img{width:20px;height:20px;object-fit:contain}.place-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#7fdfff;box-shadow:0 0 7px #53cfff}.map-hint{position:absolute;z-index:75;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 10px;border:1px solid #244556;border-radius:999px;background:#031019cc;color:#6f93a3;font-size:10px;pointer-events:none}
.side-panel{position:absolute;z-index:140;top:76px;right:12px;bottom:12px;width:min(460px,94vw);padding:20px 18px 24px;border:1px solid #315568;border-radius:16px;background:linear-gradient(180deg,#07121bf8,#040a10f6);box-shadow:-18px 0 36px #000b;backdrop-filter:blur(8px);overflow:auto;transform:translateX(108%);transition:transform .28s ease}.side-panel.open{transform:translateX(0)}.panel-close{position:sticky;z-index:3;top:0;float:right;width:34px;height:34px;border:1px solid #36586b;border-radius:50%;background:#07131d;color:#dff5fc;font-size:22px}.eyebrow{color:#58c9f1;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.side-panel h2{margin:7px 0 10px;font:700 29px/1.05 Georgia,serif;color:#f1f7f8}.side-panel p{color:#b7c8d0;font-size:13px;line-height:1.58}.panel-art{display:block;width:100%;max-height:290px;object-fit:cover;margin:0 0 14px;border:1px solid #294b5b;border-radius:12px;background:#02070c;cursor:zoom-in;box-shadow:0 12px 26px #0008}.panel-art.contain{object-fit:contain}.facts{display:grid;gap:7px;margin:15px 0}.fact{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 9px;border:1px solid #243f4c;border-radius:8px;background:#ffffff05}.fact strong{color:#6fbfde;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.fact span{color:#d6e2e7;font-size:12px}.panel-kind{display:inline-flex;align-items:center;gap:6px;margin-bottom:4px;padding:4px 7px;border:1px solid #315668;border-radius:999px;color:#8ecbe1;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.panel-kind.brut{border-color:#77433b;color:#ff9d8b;background:#4f1e1718}.panel-kind.fund{border-color:#6e5730;color:#e9c57a}
.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.help-grid div{padding:10px;border:1px solid #243f4c;border-radius:9px;background:#ffffff04}.help-grid strong{display:block;color:#d6f1fb}.help-grid span{display:block;margin-top:4px;color:#8fa8b3;font-size:11px;line-height:1.45}.source-note{padding:10px 12px;border-left:2px solid #3bb7e8;background:#3ab1e80c;border-radius:0 8px 8px 0}
.journal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.journal-stat{padding:9px;border:1px solid #294958;border-radius:9px;text-align:center;background:#ffffff04}.journal-stat strong{display:block;font-size:22px;color:#bdefff}.journal-stat span{display:block;color:#7695a3;font-size:9px;text-transform:uppercase}.journal-list{display:grid;gap:6px}.journal-item{width:100%;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #243f4c;border-radius:8px;background:#ffffff04;color:#c6d6dd;text-align:left}.journal-item:hover{border-color:#4daed2}.journal-item small{color:#678795}.journal-item .state{color:#5f7781}.journal-item.visited .state{color:#7de7ac}
.toast{position:absolute;z-index:180;left:50%;bottom:28px;transform:translate(-50%,18px);padding:8px 12px;border:1px solid #31596c;border-radius:999px;background:#06131dea;color:#dff6ff;font-size:11px;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
.viewer{position:absolute;z-index:220;inset:0;display:none;background:#000d;backdrop-filter:blur(6px)}.viewer.open{display:block}.viewer-toolbar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#031018;color:#dff5fc;border-bottom:1px solid #274757}.viewer-stage{position:absolute;inset:54px 0 0;display:grid;place-items:center;padding:18px;overflow:auto}.viewer-stage img{display:block;max-width:96vw;max-height:calc(100vh - 90px);object-fit:contain;border-radius:10px;box-shadow:0 22px 50px #000}
@media(max-width:1000px){.brand{min-width:150px}.brand span{display:none}.counter{display:none}.search-wrap{max-width:260px}.controls{gap:3px}.icon-btn{width:32px;height:32px}.legend-mini{display:none}}
@media(max-width:720px){.topbar{height:56px;padding:6px}.map-viewport{inset:56px 0 0}.brand{min-width:64px}.brand strong{font-size:16px}.search-wrap{max-width:none}.search-wrap input{height:34px;font-size:12px}.player-badge{display:none}.controls .icon-btn:nth-of-type(2),.controls .icon-btn:nth-of-type(4){display:none}.filterbar{top:7px;left:7px}.map-hint{display:none}.side-panel{top:64px;right:7px;bottom:7px;width:calc(100vw - 14px);padding:16px 14px 20px}.side-panel h2{font-size:25px}.help-grid{grid-template-columns:1fr}.marker img{width:34px;height:34px}.marker.threat img{width:41px;height:41px}.marker.place{width:25px;height:25px}.marker-label{font-size:9px}}


/* =====================================================================
   E.O.S. 1.63.1 — Explorer fit, identity, tiny secrets & Discovery report
   ===================================================================== */
.map-viewport,.map-transform,.base-art,.marker-layer{cursor:grab!important}
.map-viewport.dragging,.map-viewport.dragging .map-transform,.map-viewport.dragging .base-art,.map-viewport.dragging .marker-layer{cursor:grabbing!important}
.marker,.marker *{cursor:pointer!important}

/* The player identity is context, not the headline. */
.player-badge{height:26px;max-width:112px;gap:5px;padding:0 7px;font-size:10px;border-color:#29495a;background:#061019b8;opacity:.86}
.player-badge:hover{opacity:1}
.player-badge .dot{width:6px;height:6px;flex:0 0 6px}

/* Tiny secret points: 22px hit area, only a ~6px dot is visible. */
.marker.secret.secret-dot{width:22px;height:22px;border-radius:50%;filter:none}
.marker.secret.secret-dot .secret-dot-core{position:absolute;left:50%;top:50%;width:6px;height:6px;transform:translate(-50%,-50%);border-radius:50%;background:#8ee9ff;border:1px solid #d8f8ff;box-shadow:0 0 5px #49cfff,0 0 10px #49cfff66;transition:.16s}
.marker.secret.secret-dot:hover .secret-dot-core,.marker.secret.secret-dot:focus-visible .secret-dot-core{width:9px;height:9px;background:#fff0ab;border-color:#fff1b8;box-shadow:0 0 7px #ffd570,0 0 15px #ffd57088}
.marker.secret.secret-dot.visited .secret-dot-core{background:#76e5aa;border-color:#baffd4;box-shadow:0 0 7px #62e6a0,0 0 12px #62e6a066}
.marker.secret.secret-dot .marker-label{left:16px;top:50%;bottom:auto;transform:translateY(-50%);opacity:0;visibility:hidden;white-space:nowrap;transition:opacity .15s;pointer-events:none}
.marker.secret.secret-dot:hover .marker-label,.marker.secret.secret-dot:focus-visible .marker-label{opacity:1;visibility:visible}

.report-box{margin:18px 0 2px;padding:14px;border:1px solid #315568;border-radius:12px;background:linear-gradient(180deg,#081720,#061019);box-shadow:inset 0 0 26px #3aa9dd08}
.report-heading{color:#f2d489;font:700 12px/1 Georgia,serif;text-transform:uppercase;letter-spacing:.12em}
.report-intro{margin:7px 0 10px!important;color:#9db6c2!important;font-size:11px!important}
.recipient-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0 12px}
.recipient-choice{display:block;min-width:0;cursor:pointer}
.recipient-choice input{position:absolute;opacity:0;pointer-events:none}
.recipient-card{display:grid;gap:5px;place-items:center;padding:6px 4px;border:1px solid #294b5b;border-radius:10px;background:#ffffff04;transition:.16s}
.recipient-card img{display:block;width:48px;height:48px;object-fit:cover;border-radius:50%;border:1px solid #426b7c;box-shadow:0 3px 10px #0008}
.recipient-card b{font-size:10px;color:#bcd3dc;white-space:nowrap}
.recipient-choice:hover .recipient-card{border-color:#5dbbdb;background:#0a2230}
.recipient-choice input:checked + .recipient-card{border-color:#e0bb66;background:#20190d;box-shadow:0 0 0 1px #d5aa4e33,0 0 18px #d5aa4e1f}
.recipient-choice input:checked + .recipient-card img{border-color:#e6c26e;box-shadow:0 0 12px #e3b85f55}
.recipient-choice input:checked + .recipient-card b{color:#f4d789}
.report-note-label{display:block;margin:3px 0 5px;color:#8fb2c1;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.report-note-label span{text-transform:none;color:#607d8a;letter-spacing:0}
.report-note{display:block;width:100%;min-height:64px;resize:vertical;padding:9px 10px;border:1px solid #294b5b;border-radius:8px;background:#020a10;color:#e4f3f8;outline:none;font-size:12px;line-height:1.45}.report-note:focus{border-color:#55bddd;box-shadow:0 0 0 2px #50bde51a}
.report-btn{display:block;width:100%;margin-top:8px;padding:9px 10px;border:1px solid #a68139;border-radius:8px;background:linear-gradient(180deg,#3a2a0e,#1c1509);color:#f2d486;font-weight:700}.report-btn:hover:not(:disabled){border-color:#e0b75a;background:#473313}.report-btn:disabled{opacity:.42;cursor:not-allowed!important}
.report-message,.report-done{margin-top:9px;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.45}.report-message.sent,.report-done{border:1px solid #296a4b;background:#12362555;color:#8ce9b4}.report-message.error{border:1px solid #754035;background:#451b1855;color:#ffad9b}
.report-complete{padding:12px}.report-complete .report-done{margin-top:8px}

@media(max-width:720px){.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipient-card img{width:44px;height:44px}}


/* 7R 1.64.2 — Standard-Mauszeiger auf allen Karten
   Verhindert grab/grabbing/custom cursor auf der Kartenfläche.
   Klickbare Marker/Buttons behalten den normalen Browser-Pointer. */
html, body, #explorer,
.map-viewport, .map-transform, .base-art, .marker-layer, .ambient-layer {
  cursor: default !important;
}
.map-viewport.dragging,
.map-viewport.dragging .map-transform,
.map-viewport.dragging .base-art,
.map-viewport.dragging .marker-layer,
.map-viewport.dragging .ambient-layer {
  cursor: default !important;
}
