/* Cesium-spezifisch + Key-Overlay (ergänzt styles.css) */
#cesiumContainer{position:fixed;inset:0;width:100vw;height:100vh}
#enterFade{position:fixed;inset:0;z-index:55;background:#04060c;opacity:0;display:none;pointer-events:none}
#cesiumContainer .cesium-widget,#cesiumContainer .cesium-widget canvas{width:100%;height:100%}

/* Cesium-Credits dezent, aber sichtbar (Google verlangt Attribution) */
.cesium-widget-credits,.cesium-credit-lightbox-overlay{font-size:10px !important;color:rgba(220,230,245,.7) !important}
.cesium-viewer-bottom{right:14px;bottom:6px}

/* Lade-Hinweis */
#boot{position:fixed;left:50%;bottom:64px;transform:translateX(-50%);z-index:18;
  display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);
  padding:9px 16px;border-radius:999px;backdrop-filter:blur(12px);font-size:12.5px;color:var(--text);
  box-shadow:var(--shadow);transition:opacity .5s ease}
#boot.hidden{opacity:0;pointer-events:none}
.boot-inner{display:flex;align-items:center;gap:10px}
.boot-spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.2);
  border-top-color:var(--accent);animation:bootspin .8s linear infinite}
@keyframes bootspin{to{transform:rotate(360deg)}}

/* Key-Overlay */
#keyOverlay{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 35%,#0b1424 0%,#04060c 75%);padding:20px}
#keyOverlay.show{display:flex}
.key-card{max-width:480px;width:100%;background:var(--panel-solid);border:1px solid var(--border-strong);
  border-radius:20px;padding:30px 30px 24px;box-shadow:var(--shadow);text-align:left}
.key-globe{font-size:40px;text-align:center;filter:drop-shadow(0 0 22px rgba(70,150,255,.55))}
.key-card h1{font-size:21px;font-weight:700;text-align:center;margin:8px 0 14px;letter-spacing:.01em}
.key-lead{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:16px}
.key-lead b{color:var(--text)}
.key-steps{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:5px}
.key-steps b{color:var(--accent-2)}
.key-steps a{color:var(--accent);text-decoration:none}
.key-steps a:hover{text-decoration:underline}
.key-input-row{display:flex;gap:8px}
#keyInput{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:11px;
  color:var(--text);padding:12px 14px;font-size:14px;font-family:var(--font);outline:none}
#keyInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(92,198,255,.15)}
#keySubmit{background:var(--accent);border:none;border-radius:11px;color:#04121f;font-weight:700;
  padding:12px 20px;font-size:14px;font-family:var(--font);cursor:pointer;transition:.16s}
#keySubmit:hover{filter:brightness(1.08)}
.key-error{color:#ff8a8a;font-size:12.5px;margin-top:10px;display:none;line-height:1.5}
.key-note{font-size:11.5px;color:var(--muted);margin-top:16px;line-height:1.6}
.key-note a{color:var(--accent);text-decoration:none}
.key-note a:hover{text-decoration:underline}

/* Panel-Fuß (Links) */
.panel-foot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding-top:10px}
.linkbtn{background:none;border:none;color:var(--muted);font-size:11.5px;font-family:var(--font);
  cursor:pointer;text-decoration:none;transition:.14s;padding:0}
.linkbtn:hover{color:var(--accent)}
