/* AerIQ Regensimulation – interaktive Ansicht (2D-Karte + 3D). Dunkles Seitendesign, Akzent Kupfer. */
.rsv{--rsv-bg:#0b1220;--rsv-card:rgba(30,41,59,.92);--rsv-line:rgba(148,163,184,.22);--rsv-text:#cbd5e1;--rsv-head:#e2e8f0;--rsv-acc:#c9844f;--rsv-acc2:#f97316;
  color:var(--rsv-text);font-size:.95rem;line-height:1.5}
.rsv *{box-sizing:border-box}
.rsv-bar{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-bottom:.9rem}
.rsv-seg{display:inline-flex;border:1px solid var(--rsv-line);border-radius:999px;overflow:hidden;background:rgba(15,23,42,.6)}
.rsv-seg button{appearance:none;border:0;background:transparent;color:var(--rsv-text);font:inherit;font-size:.88rem;font-weight:600;padding:.45rem .95rem;cursor:pointer;min-height:40px}
.rsv-seg button+button{border-left:1px solid var(--rsv-line)}
.rsv-seg button[aria-pressed="true"]{background:linear-gradient(135deg,#a84d0e,#c9844f);color:#fff}
.rsv-seg button:focus-visible,.rsv-play:focus-visible,.rsv-range:focus-visible{outline:2px solid var(--rsv-acc2);outline-offset:2px}
.rsv-main{display:grid;grid-template-columns:minmax(0,auto) minmax(280px,440px);justify-content:center;gap:1.5rem;align-items:start}
@media(max-width:860px){.rsv-main{grid-template-columns:1fr}}
.rsv-stage{position:relative;background:var(--rsv-bg);border:1px solid var(--rsv-line);border-radius:12px;overflow:hidden;
  aspect-ratio:298/664;height:min(84vh,860px);max-width:100%;margin:0 auto;touch-action:pan-y}
@media(max-width:860px){.rsv-stage{height:min(78vh,860px);width:auto;max-width:100%}}
.rsv.rsv-3d .rsv-main{grid-template-columns:1fr;justify-content:stretch}
.rsv.rsv-3d .rsv-stage{aspect-ratio:16/10;height:auto;width:100%}
@media(max-width:860px){.rsv.rsv-3d .rsv-stage{aspect-ratio:1/1}}
.rsv.rsv-3d .rsv-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;align-items:start}
.rsv-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.rsv-stage .rsv-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.rsv-tip{position:absolute;pointer-events:none;background:rgba(15,23,42,.94);border:1px solid var(--rsv-line);color:var(--rsv-head);
  font-size:.82rem;padding:.35rem .55rem;border-radius:8px;white-space:nowrap;transform:translate(12px,-50%);display:none;z-index:3}
.rsv-badge{position:absolute;left:.6rem;top:.6rem;background:rgba(15,23,42,.85);border:1px solid var(--rsv-line);color:var(--rsv-head);
  font-size:.8rem;font-weight:700;padding:.3rem .6rem;border-radius:999px;z-index:2}
.rsv-hint3d{position:absolute;left:50%;bottom:.6rem;transform:translateX(-50%);background:rgba(15,23,42,.85);color:var(--rsv-text);
  font-size:.78rem;padding:.25rem .6rem;border-radius:999px;z-index:2;white-space:nowrap}
.rsv-panel{background:var(--rsv-card);border:1px solid var(--rsv-line);border-radius:12px;padding:1rem 1.1rem}
.rsv-time{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.rsv-play{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;color:#fff;font-size:1rem;
  background:linear-gradient(135deg,#a84d0e,#c9844f)}
.rsv-clock{font-size:1.5rem;font-weight:800;color:var(--rsv-head);font-variant-numeric:tabular-nums}
.rsv-clock small{font-size:.8rem;font-weight:600;color:var(--rsv-text)}
.rsv-range{width:100%;accent-color:#c9844f;margin:.2rem 0 .9rem;min-height:32px}
.rsv-kpi{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:0 0 .9rem}
.rsv-kpi div{background:rgba(15,23,42,.55);border:1px solid var(--rsv-line);border-radius:10px;padding:.55rem .65rem}
.rsv-kpi dt{font-size:.74rem;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8;margin:0 0 .15rem}
.rsv-kpi dd{margin:0;font-size:1.15rem;font-weight:800;color:var(--rsv-head);font-variant-numeric:tabular-nums}
.rsv-chart{width:100%;height:auto;max-height:170px;display:block;margin:.2rem 0 .8rem}
.rsv-legend{margin:.2rem 0 .6rem}
.rsv-legend .rsv-ramp{height:12px;border-radius:6px;background:linear-gradient(90deg,#bfe3ff 0%,#5aaef5 25%,#1d6fd8 50%,#0b3a8c 78%,#06163d 100%)}
.rsv-legend .rsv-ticks{display:flex;justify-content:space-between;font-size:.75rem;color:#94a3b8;margin-top:.2rem}
.rsv-note{font-size:.8rem;color:#94a3b8;margin:.5rem 0 0}
.rsv-ov3d{position:absolute;right:.6rem;top:.6rem;z-index:3;display:flex;align-items:center;gap:.6rem;background:rgba(15,23,42,.88);
  border:1px solid var(--rsv-line);border-radius:999px;padding:.3rem .8rem .3rem .3rem;color:var(--rsv-head);font-weight:700;font-size:.9rem}
.rsv-play.rsv-play-s{flex:0 0 38px;width:38px;height:38px;font-size:.85rem}
.rsv-ov-min{font-variant-numeric:tabular-nums;white-space:nowrap}
.rsv-zoom{width:34px;height:34px;border-radius:50%;border:1px solid var(--rsv-line);background:rgba(30,41,59,.95);color:var(--rsv-head);font:inherit;font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer}
.rsv-zoom:focus-visible{outline:2px solid var(--rsv-acc2);outline-offset:2px}
.rsv-hint3d.rsv-hint-an{background:rgba(168,77,14,.95);color:#fff}
.rsv-ov2d{position:absolute;right:.6rem;bottom:.6rem;z-index:3;display:flex;flex-direction:column;gap:.4rem}
.rsv.rsv-3d .rsv-ov2d{display:none}
.rsv-zoom:disabled{opacity:.4;cursor:default}
.rsv-stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.rsv-stage canvas.rsv-zoomed{cursor:grab}
.rsv-stage canvas.rsv-ziehen{cursor:grabbing}
.rsv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rsv.rsv-3d .rsv-badge{display:none}
