/* 4-Welten Preview Master — Header & Shell */ html, body { margin: 0; height: 100%; overflow: hidden; font-family: "Space Grotesk", system-ui, sans-serif; } :root { --bar-h: 56px; } .mv4-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 2147483647 !important; pointer-events: auto !important; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; padding-top: calc(10px + env(safe-area-inset-top, 0px)); transition: background 0.35s ease, border-color 0.35s ease; } .mv4-logo { border: none; background: transparent; cursor: pointer; padding: 2px 4px; border-radius: 10px; line-height: 0; flex-shrink: 0; } .mv4-logo img { width: clamp(120px, 22vw, 200px); height: auto; max-height: 52px; object-fit: contain; object-position: left center; display: block; filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35)); } .mv4-worlds { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; justify-content: center; width: 100%; } .mv4-worlds [data-iframe] { font: inherit; cursor: pointer; padding: 9px 14px; border-radius: 999px; border: 1px solid transparent; transition: 0.25s ease; font-weight: 700; font-size: 12px; letter-spacing: 0.04em; pointer-events: auto !important; touch-action: manipulation; text-decoration: none; color: inherit; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; -webkit-tap-highlight-color: transparent; } .mv4-worlds [data-iframe]:focus-visible { outline: 2px solid rgba(125, 211, 252, 0.85); outline-offset: 2px; } .mv4-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; } .mv4-fx, .mv4-flag, .sound-toggle { font: inherit; cursor: pointer; border-radius: 999px; border: 1px solid transparent; transition: 0.2s ease; } .mv4-fx.is-on { opacity: 1; } .mv4-fx[aria-pressed="true"] { opacity: 1; } .mv4-fx { padding: 8px 13px; font-weight: 700; font-size: 12px; white-space: nowrap; opacity: 0.72; } .mv4-flags { display: flex; gap: 6px; } .mv4-flag { width: 40px; height: 28px; min-width: 40px; min-height: 28px; padding: 2px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.06); touch-action: manipulation; -webkit-tap-highlight-color: transparent; cursor: pointer; position: relative; z-index: 2; border: 1px solid transparent; box-sizing: border-box; } .mv4-flag.is-active, .mv4-flag[aria-pressed="true"] { z-index: 4; } .mv4-flag img { width: 30px; height: 20px; object-fit: cover; border-radius: 4px; display: block; pointer-events: none; background: #012169; flex-shrink: 0; } .mv4-flag[data-lang="en"] img { background: #012169; } .mv4-frame { position: fixed; left: 0; right: 0; bottom: 0; top: var(--bar-h, 56px); width: 100%; height: calc(100dvh - var(--bar-h, 56px)); border: 0; background: #02030b; opacity: 0; visibility: hidden; pointer-events: none; z-index: 1 !important; max-height: calc(100dvh - var(--bar-h, 56px)); } html.welten-world-switch-lock .mv4-frame:not(.is-active) { content-visibility: hidden !important; pointer-events: none !important; } /* Während des Wechsels (Cover aktiv) ALLE Welt-Frames hart ausblenden — auch das aktive/Ziel-Frame. Das Overlay deckt die UX ab, daher darf hier kein Frame durchscheinen (v.a. Multiversum-Frame 0, das sonst hinter dem halbtransparenten Cover mitmischt). Sichtbar wird das Ziel-Frame erst, sobald die Lock-Klasse entfernt wird (siehe finishTransition). */ html.welten-world-switch-lock .mv4-frame, html.welten-world-switch-lock .mv4-frame.is-active { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; clip-path: inset(100%) !important; } /* Multiversum-Frame nur sichtbar wenn wirklich Multiversum aktiv */ body:not([data-master-world="general"]) .mv4-frame[src*="MULTIVERSUM.html"], body:not([data-master-world="general"]) .mv4-frame[data-world="general"] { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; clip-path: inset(100%) !important; z-index: 0 !important; } .mv4-frame:not(.is-active) { /* Volle Geometrie für korrekte svh-Heroes, aber komplett ausgeblendet (keine doppelten Bars) */ display: block !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; position: fixed !important; left: 0 !important; top: var(--bar-h, 56px) !important; width: 100% !important; height: calc(100dvh - var(--bar-h, 56px)) !important; max-height: calc(100dvh - var(--bar-h, 56px)) !important; overflow: hidden !important; z-index: 0 !important; clip-path: inset(100%) !important; } .mv4-frame.is-active { display: block !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; z-index: 1 !important; left: 0 !important; top: var(--bar-h, 56px) !important; width: 100% !important; height: calc(100dvh - var(--bar-h, 56px)) !important; clip-path: none !important; } /* Nur die erste Shell-Bar darf sichtbar sein */ body > .mv4-bar ~ .mv4-bar { display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; pointer-events: none !important; } /* MULTIVERSUM (general) */ body[data-master-world="general"] { background: #05070d; } body[data-master-world="general"] .mv4-bar { background: rgba(5, 7, 13, 0.94); border-bottom: 1px solid rgba(255, 89, 178, 0.2); backdrop-filter: blur(12px); } body[data-master-world="general"] .mv4-worlds [data-iframe] { color: rgba(238, 243, 255, 0.78); border-color: rgba(255, 89, 178, 0.22); background: rgba(16, 22, 34, 0.55); border-radius: 999px 28px 999px 28px / 999px 34px 999px 34px; } body[data-master-world="general"] .mv4-worlds [data-iframe].is-active { color: #fff; border-color: transparent; background: linear-gradient(135deg, #5ec4ff 0%, #9b6bff 24%, #ff59b2 50%, #ff9b37 76%, #ffd86a 100%); box-shadow: 0 10px 28px rgba(255, 89, 178, 0.24); } body[data-master-world="general"] .mv4-worlds [data-iframe][data-iframe="0"] { font-weight: 800; letter-spacing: 0.06em; } body[data-master-world="general"] .mv4-fx, body[data-master-world="general"] .mv4-flag, body[data-master-world="general"] .sound-toggle { color: rgba(238, 243, 255, 0.85); border-color: rgba(255, 89, 178, 0.28); background: rgba(16, 22, 34, 0.55); } body[data-master-world="general"] .sound-toggle.is-on { border-color: rgba(94, 196, 255, 0.45); color: #5ec4ff; } body[data-master-world="general"] .mv4-fx[aria-pressed="true"], body[data-master-world="general"] .mv4-fx.is-on { border-color: rgba(255, 89, 178, 0.45); color: #ff59b2; } body[data-master-world="general"] .mv4-flags .mv4-flag.is-active, body[data-master-world="general"] .mv4-flags .mv4-flag[aria-pressed="true"] { border: 2px solid #ff59b2 !important; box-shadow: 0 0 0 1px rgba(255, 89, 178, 0.55), 0 0 20px rgba(255, 89, 178, 0.48) !important; background: rgba(16, 22, 34, 0.88) !important; } body[data-master-world="general"] .mv4-flags .mv4-flag:not(.is-active):not([aria-pressed="true"]) { box-shadow: none; } /* NEXORA */ body[data-master-world="nexora"] { background: #050810; } body[data-master-world="nexora"] .mv4-bar { background: rgba(5, 8, 16, 0.92); border-bottom: 1px solid rgba(142, 197, 255, 0.15); backdrop-filter: blur(12px); } body[data-master-world="nexora"] .mv4-worlds [data-iframe] { color: rgba(232, 238, 248, 0.78); border-color: rgba(142, 197, 255, 0.22); background: rgba(18, 32, 56, 0.55); } body[data-master-world="nexora"] .mv4-worlds [data-iframe].is-active { color: #fff; border-color: #65d9ff; background: rgba(0, 140, 255, 0.22); box-shadow: 0 0 28px rgba(0, 194, 255, 0.22); } body[data-master-world="nexora"] .mv4-fx, body[data-master-world="nexora"] .mv4-flag, body[data-master-world="nexora"] .sound-toggle { color: rgba(232, 238, 248, 0.85); border-color: rgba(142, 197, 255, 0.28); background: rgba(18, 32, 56, 0.55); } body[data-master-world="nexora"] .mv4-fx[aria-pressed="true"], body[data-master-world="nexora"] .mv4-fx.is-on { border-color: rgba(101, 217, 255, 0.45); color: #65d9ff; } body[data-master-world="nexora"] .mv4-flags .mv4-flag.is-active, body[data-master-world="nexora"] .mv4-flags .mv4-flag[aria-pressed="true"] { border: 2px solid #65d9ff !important; box-shadow: 0 0 0 1px rgba(101, 217, 255, 0.55), 0 0 20px rgba(0, 194, 255, 0.5) !important; background: rgba(18, 32, 56, 0.9) !important; } body[data-master-world="nexora"] .mv4-flags .mv4-flag:not(.is-active):not([aria-pressed="true"]) { box-shadow: none; } /* PROFESSIONAL */ body[data-master-world="vertex"] { background: #f4f2ee; } body[data-master-world="vertex"] .mv4-bar { background: rgba(255, 255, 255, 0.94); border-bottom: 1px solid rgba(0, 0, 0, 0.1); backdrop-filter: blur(10px); } body[data-master-world="vertex"] .mv4-worlds [data-iframe] { color: rgba(17, 17, 17, 0.55); border-radius: 0; border-color: rgba(0, 0, 0, 0.14); background: rgba(255, 255, 255, 0.65); } body[data-master-world="vertex"] .mv4-worlds [data-iframe].is-active { color: #fff; background: #111; border-color: #111; } body[data-master-world="vertex"] .mv4-fx, body[data-master-world="vertex"] .mv4-flag, body[data-master-world="vertex"] .sound-toggle { color: rgba(17, 17, 17, 0.65); border-color: rgba(0, 0, 0, 0.16); background: rgba(255, 255, 255, 0.85); border-radius: 999px; } body[data-master-world="vertex"] .mv4-fx[aria-pressed="true"], body[data-master-world="vertex"] .mv4-fx.is-on { color: #111; border-color: rgba(0, 0, 0, 0.28); } body[data-master-world="vertex"] .mv4-flag { border-radius: 8px; } body[data-master-world="vertex"] .mv4-flags .mv4-flag.is-active, body[data-master-world="vertex"] .mv4-flags .mv4-flag[aria-pressed="true"] { border: 2px solid #111 !important; box-shadow: 0 0 0 2px #111, 0 0 0 4px rgba(255, 255, 255, 0.98), 0 0 16px rgba(0, 0, 0, 0.22) !important; background: #fff !important; } body[data-master-world="vertex"] .mv4-flags .mv4-flag:not(.is-active):not([aria-pressed="true"]) { box-shadow: none; } /* FREIRAUM */ body[data-master-world="freiraum"] { background: #1c1026; } body[data-master-world="freiraum"] .mv4-bar { background: rgba(28, 16, 38, 0.94); border-bottom: 1px solid rgba(255, 209, 102, 0.22); backdrop-filter: blur(12px); } body[data-master-world="freiraum"] .mv4-worlds [data-iframe] { color: rgba(255, 248, 239, 0.75); border-color: rgba(255, 209, 102, 0.28); background: rgba(55, 24, 62, 0.45); } body[data-master-world="freiraum"] .mv4-worlds [data-iframe].is-active { color: #24142f; background: linear-gradient(135deg, #ffd166, #ff8bbd); box-shadow: 0 10px 32px rgba(255, 111, 174, 0.22); } body[data-master-world="freiraum"] .mv4-fx, body[data-master-world="freiraum"] .mv4-flag, body[data-master-world="freiraum"] .sound-toggle { color: rgba(255, 248, 239, 0.85); border-color: rgba(255, 209, 102, 0.35); background: rgba(55, 24, 62, 0.45); } body[data-master-world="freiraum"] .mv4-fx[aria-pressed="true"], body[data-master-world="freiraum"] .mv4-fx.is-on { border-color: rgba(255, 209, 102, 0.55); color: #ffd166; } body[data-master-world="freiraum"] .mv4-flags .mv4-flag.is-active, body[data-master-world="freiraum"] .mv4-flags .mv4-flag[aria-pressed="true"] { border: 2px solid #ffd166 !important; box-shadow: 0 0 0 1px rgba(255, 209, 102, 0.55), 0 0 20px rgba(255, 209, 102, 0.45) !important; background: rgba(55, 24, 62, 0.9) !important; } body[data-master-world="freiraum"] .mv4-flags .mv4-flag:not(.is-active):not([aria-pressed="true"]) { box-shadow: none; } @media (max-width: 1024px) { .mv4-bar { gap: 6px; padding: 8px 10px; padding-top: calc(8px + env(safe-area-inset-top, 0px)); align-items: center; } .mv4-worlds { order: 2; flex: 1 1 100%; justify-content: center; flex-wrap: nowrap; overflow-x: visible; gap: 5px; padding-left: 0; padding-right: 0; padding-bottom: 2px; mask-image: none; -webkit-mask-image: none; } .mv4-worlds::-webkit-scrollbar { display: none; } .mv4-worlds [data-iframe] { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 10px 6px; font-size: 9px; letter-spacing: 0.02em; white-space: nowrap; text-align: center; } .mv4-actions { order: 1; margin-left: auto; gap: 5px; flex-wrap: nowrap; } .mv4-fx { font-size: 9px; padding: 8px 10px; font-weight: 700; letter-spacing: 0.02em; min-height: 44px; } .mv4-flags { gap: 4px; } .mv4-flag { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 4px; } .mv4-flag img { width: 28px; height: 18px; pointer-events: none; } .mv4-frame { top: var(--bar-h, 88px) !important; height: calc(100dvh - var(--bar-h, 88px)) !important; } } @media (max-width: 640px) { .mv4-bar { flex-direction: column; align-items: stretch; gap: 5px; padding: 6px 8px; padding-top: calc(6px + env(safe-area-inset-top, 0px)); } .mv4-actions { order: 1; width: 100%; margin-left: 0; justify-content: center; align-self: center; } .mv4-worlds { order: 2; width: 100%; gap: 4px; } .mv4-worlds [data-iframe] { padding: 10px 4px; font-size: 8px; letter-spacing: 0.01em; min-height: 44px; line-height: 1.15; overflow: hidden; text-overflow: clip; } .mv4-worlds [data-iframe][data-world-key="general"], .mv4-worlds [data-iframe][data-world-key="freiraum"] { font-family: var(--font-main) !important; font-size: 8px !important; padding: 6px 2px !important; letter-spacing: 0 !important; } body[data-master-world="general"] .mv4-worlds [data-iframe][data-iframe="0"] { letter-spacing: 0.01em !important; font-weight: 700 !important; } .mv4-fx { font-size: 8px; padding: 8px 9px; min-height: 44px; } .mv4-flag { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 4px; } .mv4-flag img { width: 24px; height: 16px; } } @media (min-width: 769px) and (max-width: 1024px) { .mv4-worlds [data-iframe] { padding: 8px 10px; font-size: 10px; } .mv4-fx { font-size: 10px; padding: 6px 10px; } .mv4-flag { width: 34px; height: 24px; } .mv4-flag img { width: 26px; height: 17px; } } @media (max-width: 480px) { .mv4-worlds [data-iframe] { font-size: 7.5px; padding: 5px 2px; min-height: 26px; } .mv4-worlds [data-iframe][data-world-key="general"], .mv4-worlds [data-iframe][data-world-key="freiraum"] { font-size: 7.5px !important; padding: 5px 2px !important; } } /* MULTIVERSUM-Portal-Overlay (Master-Shell) */ .mv-transition { position: fixed; inset: 0; z-index: 9998; pointer-events: none; opacity: 0; visibility: hidden; } .mv-transition.is-active { opacity: 1; visibility: visible; pointer-events: all; } .mv-transition__bg, .mv-transition__portal, .mv-transition__title { position: absolute; } .mv-transition__bg { inset: 0; } .mv-transition__portal { left: 50%; top: 50%; width: min(72vw, 420px); height: min(72vw, 420px); transform: translate(-50%, -50%) scale(0.2); border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.35); } .mv-transition__title { left: 50%; top: 58%; transform: translate(-50%, 0); font-size: clamp(28px, 6vw, 48px); font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; text-align: center; width: 100%; } .mv-transition.is-active .mv-transition__title { animation: mv4-title-in 1.85s ease forwards; } @keyframes mv4-title-in { 0%, 35% { opacity: 0; transform: translate(-50%, 24px); } 50%, 82% { opacity: 1; transform: translate(-50%, 0); } 100% { opacity: 0; transform: translate(-50%, -12px); } }