/* Lozis World – Phase 1. Die bestehenden Verwaltungsformulare bleiben nutzbar. */
:root{--background:#edf5f1;--card:#fffefb;--text:#233e42;--primary:#186a72;--primary-dark:#14515c;--gold:#f3bc46;--gold-dark:#916222;--radius:22px;--muted:#587275;--border:#dce7df}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 12% 5%,#dcefe2 0,transparent 36%),radial-gradient(ellipse at 93% 21%,#fff2d6 0,transparent 31%),var(--background);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;min-height:100vh}
main{width:min(100% - 32px,680px);margin:32px auto}
.layout--wide{width:min(100% - 40px,1100px)}
.brand{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;text-decoration:none;font-size:clamp(22px,3vw,29px);font-weight:900;color:#163d47;letter-spacing:-.04em}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px,3.6vw,40px);box-shadow:0 18px 44px #203c3811}
h1{font-size:clamp(24px,3.1vw,32px);line-height:1.18;margin:0 0 20px;letter-spacing:-.035em}
h2{font-size:clamp(20px,2.5vw,26px);line-height:1.2;letter-spacing:-.025em}
p{margin-top:0}a{color:var(--primary)}.small,.footer{font-size:14px;color:var(--muted)}.footer{text-align:center;margin:18px 0}
label{display:block;margin:18px 0 6px;font-weight:650}
input,select{display:block;width:100%;min-height:48px;padding:12px;border:1px solid #9caeb0;border-radius:11px;font:inherit;background:white;color:var(--text)}
button,.button{display:block;width:100%;min-height:49px;padding:12px 18px;margin-top:22px;border:0;border-radius:12px;color:white;background:var(--primary);font:inherit;font-weight:750;cursor:pointer;text-align:center;text-decoration:none;box-shadow:none}
button:hover,.button:hover{filter:brightness(.95)}.secondary{background:#e6f0ed;color:var(--text)}.button--inline{display:inline-flex;align-items:center;justify-content:center;gap:16px;width:auto;margin-top:8px}.button--gold{color:#30291b;background:var(--gold)}
:focus-visible{outline:3px solid #d99d20;outline-offset:4px}
.error{background:#fff0f0;color:#8e1727;border-left:4px solid #bd3444;padding:12px}.notice{background:#edf4ff;padding:16px;border-radius:12px}
details{border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0}summary{font-weight:700;cursor:pointer;overflow-wrap:anywhere}
.remember-row{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;font-size:15px;line-height:1.4;margin-top:20px}
.remember-row input{width:19px;height:19px;min-height:19px;flex:none;margin:1px 0 0;accent-color:var(--primary)}.remember-row .small{margin-left:27px;flex-basis:100%;margin-top:-4px}
.top-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:-48px;margin-bottom:36px}
.nav-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 15px;text-decoration:none;font-weight:750;white-space:nowrap;color:var(--text)}
.nav-pill:hover,.nav-pill:focus-visible{border-color:#d29b33;background:#fff7df}.nav-pill--gold{background:#fff2cc;border-color:#ffe3a2}
.hero-section{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);align-items:center;gap:25px;background:linear-gradient(130deg,#0f555f,#147469 72%,#2a8b78);border-radius:23px;padding:clamp(24px,4vw,42px);color:#fff;overflow:hidden;min-height:290px}
.hero-section h2{font-size:clamp(26px,4vw,44px);margin:8px 0 12px;color:white}.hero-section p{max-width:520px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#c58822;margin-bottom:12px}.hero-section .eyebrow{color:#ffda8b}.hero-section .button{background:#ffd177;color:#473410}
.hero-art{position:relative;height:220px;border-radius:50%;background:radial-gradient(circle at 50% 47%,#ffe5a8 0,#ecd18e 27%,#c4e9be 28%,#6da88a 43%,transparent 44%);filter:drop-shadow(0 10px 25px #03282333);display:flex;align-items:center;justify-content:center}
.hero-orb{font-size:110px;color:#fff2cf;transform:translateY(-14px)}.hero-spark{position:absolute;font-size:25px;color:#ffd887}.hero-spark--a{left:10%;top:6%}.hero-spark--b{right:11%;bottom:19%}.hero-land{position:absolute;bottom:42px;font-size:34px;white-space:nowrap;letter-spacing:7px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:22px 0}
.dashboard-tile{display:block;padding:24px;background:#fbfdfb;border:1px solid var(--border);border-radius:18px;color:inherit;text-decoration:none;min-width:0;transition:transform .15s ease,border-color .15s ease}
a.dashboard-tile:hover,a.dashboard-tile:focus-visible{border-color:#efbc51;transform:translateY(-2px)}
.dashboard-tile--wide{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;column-gap:15px;align-items:center}.dashboard-tile--wide .tile-heading{grid-column:1}.dashboard-tile--wide .metric{grid-column:2;grid-row:1/3}.dashboard-tile--wide small{grid-column:1}
.tile-heading{display:flex;align-items:center;gap:9px;font-weight:750;margin-bottom:12px}.tile-symbol{display:inline-flex;background:#e9f2ed;border-radius:12px;padding:8px;font-size:21px}
.metric{font-weight:900;font-size:clamp(34px,5vw,48px);letter-spacing:-.05em;line-height:1.25;display:block;margin:4px 0}.metric--compact{font-size:clamp(24px,4vw,34px)}
.dashboard-tile small,.topic-card small{display:block;font-size:13px;color:var(--muted)}
.progress-track{height:11px;border-radius:99px;background:#e5ebe7;margin:14px 0;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#35a987,#eac35a);border-radius:inherit}
.feature-next{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 0 0;border-top:1px solid var(--border)}.feature-next>div{max-width:660px}.feature-next h2{margin:0 0 8px}.feature-next .button{flex:none}
.page-end-actions{margin-top:22px;border-top:1px solid var(--border)}.page-end-actions button{max-width:230px}
.breadcrumb{display:flex;gap:14px;flex-wrap:wrap;margin:-5px 0 25px;font-size:14px;font-weight:750}.breadcrumb a{text-decoration:none}
.profile-header{display:flex;align-items:center;gap:22px;padding:24px;border-radius:20px;background:linear-gradient(110deg,#f6ebcd,#e0f1e9);margin:12px 0 24px}.profile-avatar{height:94px;width:94px;display:flex;align-items:center;justify-content:center;background:#fffdf4;border:3px solid #e5bb64;border-radius:50%;font-size:48px;flex:none}
.profile-header h2{font-size:34px;margin:0 0 6px}.profile-role{margin:0;color:var(--muted)}.account-section{padding-top:18px}.profile-facts{margin:14px 0 22px}.profile-facts>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:12px 0}.profile-facts dt{color:var(--muted)}.profile-facts dd{font-weight:750;margin:0;text-align:right;overflow-wrap:anywhere}.account-actions{display:flex;gap:10px}.text-action{display:inline-block;margin-top:10px;font-weight:750}
.world-intro{color:var(--muted);max-width:730px}.world-board{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:250px 250px;gap:20px;min-height:560px;border:7px solid #dfc69b;border-radius:23px;padding:34px;overflow:hidden;background:radial-gradient(ellipse at 30% 19%,#b8dcb5,transparent 35%),radial-gradient(ellipse at 80% 61%,#7db3ca,transparent 33%),radial-gradient(ellipse at 56% 87%,#a0d6ad,transparent 38%),#d4e3bb;box-shadow:inset 0 0 55px #6a865d88}
.world-board::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.28;background:repeating-radial-gradient(circle at 20% 40%,#fff 0 1px,transparent 1px 29px)}
.world-board__path{position:absolute;left:17%;top:12%;height:73%;width:67%;transform:rotate(27deg);border-radius:45%;border:12px solid #e8efc3;filter:blur(5px);opacity:.5;pointer-events:none}
.world-board__mist{position:absolute;height:45%;width:48%;border-radius:50%;background:radial-gradient(ellipse,#fffef8f5 0,#f8fcf4af 33%,transparent 68%);filter:blur(17px);pointer-events:none;z-index:1}
.world-board__mist--top{right:-15%;top:-20%}.world-board__mist--bottom{left:-15%;bottom:-24%}
.world-place{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;z-index:2;text-decoration:none;color:#193b38;border:4px solid #ffffff8a;border-radius:48% 53% 47% 44% / 40% 38% 58% 58%;padding:16px 10px 20px;min-height:185px;text-align:center;box-shadow:inset 0 10px 40px #ffffff6a,0 13px 19px #274a3a30;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.world-place--history{background:linear-gradient(135deg,#b1cb96,#e6cd98)}.world-place--geo{background:linear-gradient(145deg,#92bf9c,#b9c9cf 70%,#f1eae0)}.world-place--tech{background:linear-gradient(140deg,#9ad1bf,#86c2d0)}
.world-place--tech{grid-column:1/-1;width:58%;justify-self:center}
.world-place:hover,.world-place:focus-visible{outline:none;transform:translateY(-5px) scale(1.02);border-color:#ffdf58;box-shadow:0 0 0 9px #f9d65268,0 0 35px 15px #fff0a59c,inset 0 10px 40px #ffffff90}
.world-place__illustration{font-size:clamp(45px,7vw,78px);filter:drop-shadow(1px 6px 3px #35544855)}.world-place__caption{display:flex;flex-direction:column;background:#fffef5d9;border-radius:12px;padding:6px 13px}.world-place__name{font-size:clamp(14px,2vw,18px);font-weight:900}.world-place__subject{font-size:11px;font-weight:650}
.world-fog-sign{position:absolute;z-index:3;right:1%;bottom:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:7px 13px;background:#f7fbf9cf;border-radius:13px;box-shadow:0 2px 12px #17372e24}.world-fog-sign span{font-size:24px}.world-fog-sign strong{font-size:12px}.world-fog-sign small{font-size:11px;color:var(--muted)}
.world-disclaimer{margin:15px 0;font-size:13px;color:var(--muted)}
.region-hero{display:flex;align-items:center;gap:30px;border-radius:22px;padding:26px 30px;margin:24px 0 36px;background:#e9efd9}.region-hero--history{background:#f1e4c8}.region-hero--geo{background:#daebdd}.region-hero--tech{background:#dcecf1}.region-hero h2{font-size:30px;margin:6px 0 10px}.region-hero p:last-child{margin-bottom:0}.region-icon{font-size:72px;flex:none}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.topic-card{display:flex;flex-direction:column;gap:8px;padding:17px;border:1px solid var(--border);border-radius:16px;background:#f6f9f6;min-width:0}.topic-card span{font-size:24px}.topic-card strong{font-size:15px}
@media(max-width:760px){main{margin:22px auto}.layout--wide{width:min(100% - 20px,1100px)}.top-actions{margin:0 0 16px;justify-content:flex-start}.hero-section{grid-template-columns:1fr;min-height:0}.hero-art{display:none}.dashboard-grid{gap:10px}.feature-next{flex-direction:column;align-items:flex-start}.world-board{padding:15px;gap:12px;grid-template-rows:205px 210px;min-height:480px}.topic-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.card{padding:18px}.nav-pill{font-size:13px;padding:9px 11px}.dashboard-grid{grid-template-columns:1fr}.dashboard-tile--wide{grid-column:auto}.dashboard-tile--wide .metric{grid-column:1;grid-row:auto}.hero-section{padding:23px}.profile-header{padding:15px;gap:12px}.profile-header h2{font-size:25px}.profile-avatar{width:65px;height:65px;font-size:32px}.profile-facts>div{flex-direction:column;gap:3px}.profile-facts dd{text-align:left}.world-board{grid-template-columns:1fr;grid-template-rows:repeat(3,190px);min-height:610px}.world-place--tech{grid-column:1;width:100%}.world-fog-sign{right:0;bottom:0}.topic-grid{grid-template-columns:1fr}.region-hero{align-items:flex-start;padding:18px;gap:12px}.region-icon{font-size:43px}.region-hero h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== Lozis World – Phase 2: lebendige, interaktive Weltkarte ===== */
.atlas-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:8px 0 18px}
.atlas-heading h2{font-size:clamp(25px,3.5vw,38px);margin:0 0 9px}
.atlas-heading p:last-child{margin:0;max-width:700px;color:var(--muted)}
.atlas-legend{display:flex;gap:12px;flex-wrap:wrap;white-space:nowrap;color:#435d5b;font-weight:750;font-size:13px}
.atlas-legend span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;background:#f4f5ec;border:1px solid #e6dfc3;border-radius:20px}
.atlas-legend__dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#ffce53;box-shadow:0 0 11px #ffc646}
.atlas-scroll{position:relative;width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:19px;box-shadow:0 18px 38px #163d4244;background:#90bbcb;scrollbar-color:#d8b25f #eef1e4}
.atlas-scroll:focus-visible{outline:3px solid #d1a035;outline-offset:4px}
.atlas-scene{width:100%;min-width:770px;aspect-ratio:1536/740;position:relative;isolation:isolate;overflow:hidden}
.atlas-art{width:100%;height:100%;display:block;object-fit:cover;user-select:none;-webkit-user-drag:none}
.atlas-regions{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2}
.atlas-hotspot{cursor:pointer;outline:none}
.atlas-hotspot__hit{fill:#fff27e;fill-opacity:.001;stroke:transparent;stroke-width:0;pointer-events:visiblePainted}
.atlas-hotspot__shine{fill:#ffdb47;fill-opacity:.11;stroke:#ffe965;stroke-width:9;stroke-linejoin:round;filter:drop-shadow(0 0 11px #ffe65f);opacity:0;pointer-events:none;transition:opacity .2s ease}
.atlas-hotspot:hover .atlas-hotspot__shine,.atlas-hotspot:focus .atlas-hotspot__shine{opacity:1}
.atlas-hotspot:focus-visible .atlas-hotspot__shine{opacity:1;stroke:#fff;stroke-width:12}
.atlas-spark{position:absolute;width:9px;height:9px;z-index:1;background:#fff2a0;border-radius:50%;box-shadow:0 0 17px 7px #ffe96baa;pointer-events:none;animation:atlasFloat 4.8s ease-in-out infinite alternate}
.atlas-spark--one{left:25%;top:17%}.atlas-spark--two{left:59%;top:35%;animation-delay:-2.1s}.atlas-spark--three{left:89%;top:32%;animation-delay:-3.7s}
@keyframes atlasFloat{0%{opacity:.15;transform:translate(0,0) scale(.5)}100%{opacity:.86;transform:translate(8px,-17px) scale(1.3)}}
.atlas-status{display:flex;align-items:center;gap:8px;background:#fdf4d9;border:1px solid #f4df9d;border-radius:0 0 14px 14px;padding:11px 17px;color:#56411e;font-size:14px;font-weight:750}
.atlas-mobile-tip{font-size:13px;color:var(--muted);margin:12px 0 23px}
.atlas-subheading{margin:26px 0 14px;font-size:24px}
.atlas-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.atlas-destination{display:flex;align-items:center;gap:10px;padding:15px 12px;background:#fdfdf8;border:1px solid #dce5d6;border-radius:15px;color:var(--text);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.atlas-destination:hover,.atlas-destination:focus-visible{transform:translateY(-2px);border-color:#eabf5b;box-shadow:0 5px 16px #71572b19}
.atlas-destination--history{background:#fdf6e7}.atlas-destination--geo{background:#f0f8ee}.atlas-destination--tech{background:#ecf8fb}
.atlas-destination__icon{font-size:27px}.atlas-destination__body{display:flex;flex-direction:column;gap:3px;min-width:0}.atlas-destination__body strong{font-size:14px;line-height:1.3}.atlas-destination__body small{font-size:11px;color:var(--muted)}
.atlas-destination__arrow{margin-left:auto;font-size:21px;color:#7a8a80}
.atlas-planned{margin:20px 0 0;background:#f6f7f4;border-color:#dce3da}.atlas-planned p{font-size:14px;color:var(--muted);margin:12px 0 0}
.atlas-region-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:0;align-items:stretch;border-radius:22px;overflow:hidden;background:#edf5e4;margin:13px 0 30px;border:1px solid #d9e6d3;min-height:300px}
.atlas-region-hero--history{background:#f7ebd8}.atlas-region-hero--geo{background:#eaf2e5}.atlas-region-hero--tech{background:#e5f2f5}
.atlas-region-hero img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover}
.atlas-region-hero__text{padding:clamp(22px,3.2vw,40px);display:flex;flex-direction:column;justify-content:center}
.atlas-region-hero__text h2{font-size:clamp(26px,3.4vw,39px);margin:0 0 12px}
.atlas-region-hero__text p:not(.eyebrow){margin-bottom:19px}.atlas-coming{align-self:flex-start;padding:7px 11px;border-radius:99px;background:#fff9e4;border:1px solid #f1d58f;color:#665025;font-size:12px;font-weight:800}
.atlas-region-subtitle h2{margin:0 0 8px}.atlas-region-subtitle p:last-child{color:var(--muted)}
.atlas-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.atlas-topic{position:relative;border:1px solid #e1e8dd;background:#fafcf8;border-radius:19px;padding:22px 20px 20px;min-height:220px;display:flex;flex-direction:column;align-items:flex-start}
.atlas-topic__number{font-size:12px;font-weight:850;color:#87998c;letter-spacing:.13em}.atlas-topic__symbol{font-size:35px;margin:13px 0}.atlas-topic h3{font-size:17px;line-height:1.22;margin:0 0 10px}.atlas-topic p{color:var(--muted);font-size:13px;margin:0 0 16px}.atlas-topic__tag{display:inline-block;margin-top:auto;padding:6px 9px;background:#eef1e8;color:#546955;border-radius:99px;font-size:11px;font-weight:750}
@media(max-width:1000px){.atlas-heading{align-items:flex-start;flex-direction:column}.atlas-destinations{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.atlas-scene{min-width:790px}.atlas-destinations{grid-template-columns:1fr}.atlas-region-hero{grid-template-columns:1fr}.atlas-region-hero img{height:210px;min-height:0}.atlas-topic-grid{grid-template-columns:1fr}.atlas-topic{min-height:0}.atlas-legend{white-space:normal}}
@media(prefers-reduced-motion:reduce){.atlas-spark{animation:none}.atlas-hotspot__shine{transition:none}}

/* ===== Lozis World – dauerhafte navigierbare Kartenoberflaeche ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.map-shell-body{margin:0;height:100vh;height:100dvh;overflow:hidden;background:#0c2534;overscroll-behavior:none}
.map-shell{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:#19374a}
.map-viewport{position:absolute;inset:0;touch-action:none;overscroll-behavior:none;overflow:hidden;cursor:grab;outline-offset:-4px;user-select:none;-webkit-user-select:none}
.map-viewport:active{cursor:grabbing}
.map-blurred-bg{position:absolute;inset:-50px;background:url('maps/weltkarte.webp') center/cover no-repeat;filter:blur(32px) saturate(1.07) brightness(.75);opacity:.95;pointer-events:none}
.map-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;isolation:isolate}
.map-world__image{display:block;width:1536px;height:740px;max-width:none;max-height:none;object-fit:fill;pointer-events:none;-webkit-user-drag:none}
.map-world__regions{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.map-hotspot{outline:none;cursor:pointer}
.map-hotspot__hit{fill:#fff27e;fill-opacity:.001;stroke:transparent;pointer-events:visiblePainted}
.map-hotspot__glow{fill:#ffcb3d;fill-opacity:.13;stroke:#ffe677;stroke-width:11;stroke-linejoin:round;filter:drop-shadow(0 0 11px #ffe663) drop-shadow(0 0 21px #ffdb4b);opacity:0;pointer-events:none;transition:opacity .18s ease}
.map-hotspot:hover .map-hotspot__glow,.map-hotspot:focus-visible .map-hotspot__glow{opacity:1}
.map-hotspot:focus-visible .map-hotspot__glow{stroke:#fff;stroke-width:14}
.map-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 105px 24px #09203382;z-index:2}
.map-topbar{position:fixed;z-index:12;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;gap:10px;padding:9px;border-radius:999px;background:#081b2bce;border:1px solid #ffffff38;box-shadow:0 10px 32px #07131bbb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.map-topbar__link{min-width:136px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 19px;color:#f1f8fa;text-decoration:none;font-weight:800;font-size:15px;background:#173148d6;border:1px solid #ffffff27;border-radius:999px;transition:background .18s,box-shadow .18s,transform .18s}
.map-topbar__link:hover,.map-topbar__link:focus-visible{background:#1b4665;box-shadow:0 0 0 3px #f9d77a50;transform:translateY(-1px)}
.map-topbar__link.is-current{background:linear-gradient(180deg,#835a25,#503e2b);color:#fff1ba;border-color:#ffd769;box-shadow:0 0 14px #fbc55375, inset 0 1px 0 #fff5}
.map-controls{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(64px,calc(env(safe-area-inset-bottom) + 58px));z-index:5;display:grid;gap:5px;padding:6px;background:#0a2232c9;border:1px solid #ffffff51;border-radius:16px;box-shadow:0 8px 25px #03152188;backdrop-filter:blur(10px)}
.map-control{height:41px;width:41px;min-height:0;margin:0;padding:0;display:grid;place-items:center;color:#fff;background:#163e55;border:1px solid #ffffff27;border-radius:10px;font-size:23px;font-weight:800;box-shadow:none;cursor:pointer}
.map-control:hover{background:#2d627d;filter:none}.map-control--fit{font-size:21px}
.map-hint{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:4;color:#fff9e2;font-size:12px;font-weight:750;text-align:center;text-shadow:0 1px 7px #0b1a24;background:#051a2bab;border:1px solid #ffffff45;padding:7px 14px;border-radius:99px;pointer-events:none;max-width:calc(100vw - 90px)}
.map-overlay-shade{position:fixed;inset:0;z-index:7;background:#04121fa6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.map-overlay{position:fixed;z-index:9;left:50%;transform:translateX(-50%);top:max(84px,calc(env(safe-area-inset-top) + 79px));bottom:max(18px,env(safe-area-inset-bottom));width:min(1000px,calc(100vw - 36px));overflow:hidden;border-radius:24px;background:#f8fcf6;box-shadow:0 22px 90px #000b18e0;border:2px solid #fbe2a7}
.map-overlay__heading{height:55px;display:flex;align-items:center;justify-content:space-between;padding:7px 15px 7px 22px;background:linear-gradient(100deg,#123c50,#1e6370);color:#fff}
.map-overlay__label{font-weight:850;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-overlay__close{flex:none;width:38px;height:38px;min-height:0;margin:0;padding:0;border-radius:50%;border:1px solid #ffffff55;background:#0e2d3c;box-shadow:none;color:#fff;cursor:pointer}
.map-overlay__close:hover{filter:none;background:#315965}
.map-overlay__frame{height:calc(100% - 55px);width:100%;border:none;display:block;background:#edf5f1}
.map-nojs{position:fixed;z-index:16;bottom:10%;left:50%;transform:translateX(-50%);padding:17px 23px;border-radius:14px;background:#fffefb;color:#174556;max-width:550px}
[hidden]{display:none!important}
/* Dieselben Karten-/Profil-Komponenten auch innerhalb des Layer-Fensters verwenden. */
body.lw-panel-mode{background:linear-gradient(130deg,#eaf5ed,#f8f5e9);height:auto;min-height:100%;overflow-y:auto}
.lw-panel-mode main{width:100%;max-width:100%;min-height:100%;margin:0;padding:18px}
.lw-panel-mode .card{border-radius:16px;padding:clamp(16px,2.7vw,32px);box-shadow:none;background:#fffefa;border:1px solid #e1e9df}
.lw-panel-mode .card>h1{font-size:clamp(22px,3vw,29px)}
.lw-panel-mode .page-end-actions{padding-bottom:16px}
.lw-panel-mode .atlas-region-hero{margin-top:8px}
.lw-panel-mode .atlas-topic{min-height:180px}
@media(max-width:660px){.map-topbar{top:max(8px,env(safe-area-inset-top));gap:7px;width:max-content;max-width:calc(100vw - 18px);padding:6px}.map-topbar__link{min-width:0;padding:8px 13px;font-size:13px;min-height:42px}.map-overlay{top:max(70px,calc(env(safe-area-inset-top) + 65px));bottom:0;width:100%;border-radius:20px 20px 0 0;border-width:1px}.map-controls{right:12px;bottom:53px}.map-control{height:36px;width:36px}.map-hint{display:none}.lw-panel-mode main{padding:8px}.lw-panel-mode .card{padding:14px}.map-overlay__heading{height:48px}.map-overlay__frame{height:calc(100% - 48px)}}
@media(max-height:470px){.map-topbar{top:4px}.map-topbar__link{min-height:34px;padding:6px 13px}.map-overlay{top:53px;bottom:0}}
@media(prefers-reduced-motion:reduce){.map-hotspot__glow,.map-topbar__link{transition:none}}

/* ===== Region-Overlay-Fix: Regionsseiten werden im Kartenfenster gerendert ===== */
.map-overlay__local{height:calc(100% - 55px);width:100%;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(130deg,#eaf5ed,#f8f5e9);color:var(--text)}
.map-overlay__local main{width:100%;max-width:100%;min-height:100%;margin:0;padding:18px}
.map-overlay__local .card{border-radius:16px;padding:clamp(16px,2.7vw,32px);box-shadow:none;background:#fffefa;border:1px solid #e1e9df}
.map-overlay__local .card>h1{font-size:clamp(22px,3vw,29px)}
.map-overlay__local .atlas-region-hero{margin-top:8px}
.map-overlay__local .atlas-topic{min-height:180px}
@media(max-width:660px){.map-overlay__local{height:calc(100% - 48px)}.map-overlay__local main{padding:8px}.map-overlay__local .card{padding:14px}}

/* ===== Lozis World – wiederverwendbare Spielkarte und Abenteuer ===== */
.atlas-topic--playable{border:2px solid #d9a843;background:linear-gradient(145deg,#fff9e9,#fffdfa 70%);box-shadow:0 9px 23px #9e793521}
.atlas-topic--playable .atlas-topic__tag{background:#e4f4d4;color:#355b27}
.quest-launch{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 17px;border-radius:12px;background:linear-gradient(130deg,#e6ad3d,#ffdc7c);border:1px solid #d7a54b;text-decoration:none;font-weight:850;color:#52340b;box-shadow:0 3px 8px #b18c3932}
.quest-launch:hover,.quest-launch:focus-visible{background:#ffe8a3;border-color:#c48d2d;transform:translateY(-1px)}
.quest-root{border-radius:20px;background:#fffdf7;border:1px solid #dfe9d7;overflow:hidden;box-shadow:0 12px 30px #163e3521;margin:8px 0 18px;color:#263f41}
.quest-scene{position:relative;height:clamp(145px,22vw,225px);overflow:hidden;background:linear-gradient(0deg,#314d3b2b,#3d728852),url('maps/region-geschichte.webp') center 53% / cover no-repeat,linear-gradient(150deg,#74b8bb,#eed19c)}
.quest-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10374400 65%,#1037448a 100%);pointer-events:none}
.quest-scene__sun{position:absolute;right:14%;top:10%;width:75px;height:75px;border-radius:50%;background:#ffe9ab99;filter:blur(5px);box-shadow:0 0 45px #ffe6acb9}
.quest-scene__temple{position:absolute;left:45%;bottom:5%;font-size:clamp(60px,12vw,105px);line-height:1;filter:drop-shadow(0 7px 4px #152c253f);animation:questFloat 5s ease-in-out infinite alternate}
.quest-scene__owl{position:absolute;left:10%;bottom:8%;font-size:clamp(48px,8vw,74px);z-index:1;filter:drop-shadow(0 3px 5px #2436264d);animation:questFloat 4s ease-in-out infinite alternate-reverse}
.quest-scene__spark{position:absolute;color:#fff0a7;font-size:30px;text-shadow:0 0 16px #fff4a0;animation:questSpark 3s ease-in-out infinite alternate}.quest-scene__spark--a{left:38%;top:22%}.quest-scene__spark--b{right:22%;bottom:27%;animation-delay:-1s}
.quest-information{padding:clamp(16px,3vw,27px) clamp(16px,3.4vw,36px) 12px;background:#fef9eb;border-bottom:1px solid #efe1ba}
.quest-eyebrow{font-size:12px;color:#8c662a;font-weight:900;letter-spacing:.13em;margin-bottom:9px}
.quest-intro{font-size:15px;max-width:720px;line-height:1.6;margin:0 0 16px}
.quest-tracker{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;margin-bottom:9px;color:#526758;flex-wrap:wrap}
.quest-tracker span:last-child{color:#8f620e;background:#fbe8b5;padding:5px 11px;border-radius:999px}
.quest-bar{height:11px;background:#e3e6d9;border-radius:20px;overflow:hidden;border:1px solid #d2daca}.quest-bar>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#339a79,#91ca66,#f0ca64);border-radius:inherit;transition:width .38s ease}
.quest-content{padding:clamp(18px,3.6vw,38px);min-height:290px}
.quest-stage-head{display:flex;align-items:center;gap:17px}.quest-stage-icon{width:62px;height:62px;flex:none;display:grid;place-items:center;border-radius:19px;font-size:33px;background:#eaf4e8;border:1px solid #d4e5d6}
.quest-stage-number{font-size:11px;color:#68877f;font-weight:900;letter-spacing:.12em}
.quest-stage-titles h2{font-size:clamp(20px,3vw,27px);margin:3px 0 0;line-height:1.2}
.quest-story{background:#f2f7f0;border-left:4px solid #66a789;border-radius:7px;padding:12px 15px;margin:18px 0;color:#4d6762;font-size:14px}
.quest-question{font-size:clamp(17px,2.5vw,22px);margin:22px 0 16px;line-height:1.4}
.quest-form{display:grid;gap:10px}.quest-option{display:flex;align-items:center;gap:12px;background:#fcfdf9;border:1px solid #d7e1d8;border-radius:14px;padding:13px 15px;cursor:pointer;margin:0;transition:border-color .15s,background .15s}
.quest-option:hover{border-color:#e5b758;background:#fffbef}.quest-option:has(input:checked){border-color:#d5a331;background:#fff4d3;box-shadow:inset 0 0 0 1px #dfba6b}
.quest-option__input{flex:none;min-height:20px;width:20px;height:20px;margin:0;accent-color:#146f7b}.quest-option__caption{font-weight:650;font-size:15px;line-height:1.4}
.quest-tip{font-size:13px;color:#64786d;margin:5px 0}
.quest-match{display:grid;grid-template-columns:minmax(100px,0.36fr) minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:10px;border:1px solid #dae6db;border-radius:12px;background:#fcfdfa}
.quest-match__name{font-weight:800;color:#254b58}.quest-match__select{margin:0;min-width:0;min-height:44px;max-width:100%;background:#fff}
.quest-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}
.quest-button{border:0;width:auto;min-height:46px;margin:0;padding:12px 20px;border-radius:13px;cursor:pointer;font:inherit;font-weight:850;box-shadow:0 4px 14px #26493922}
.quest-button--main{background:linear-gradient(125deg,#186a72,#278674);color:#fff}.quest-button--help{background:#f2e6c9;color:#67491f}.quest-button:disabled{opacity:.55;cursor:wait}
.quest-feedback{font-size:14px;margin:10px 0;min-height:0}.quest-feedback--warning{padding:12px 14px;background:#fff4d9;border-radius:10px;color:#754f23}.quest-feedback--hint{padding:12px 14px;background:#ecf7f1;border-radius:10px;color:#355d50}
.quest-message{text-align:center;max-width:630px;margin:12px auto;padding:clamp(15px,3vw,32px);background:#f4f8f2;border:1px solid #e3ebdc;border-radius:20px}
.quest-message--correct{background:#eaf7e9}.quest-message--win{background:radial-gradient(circle at top,#fff0c2,#f8f7e8 80%);border-color:#e2c37a}.quest-message--error{background:#fff0eb;border-color:#ead0c5}
.quest-message__icon{font-size:65px;line-height:1.2;margin:0 0 9px}.quest-message h2{font-size:clamp(20px,3vw,29px);margin:0 0 12px}.quest-message p{line-height:1.65}
.quest-message .quest-button{margin:16px auto 0;display:inline-flex}
.quest-win-reward{display:inline-block;margin:7px 0;font-size:20px;font-weight:900;color:#9b6815;background:#fff0c3;border-radius:14px;border:1px solid #e9c16b;padding:9px 16px}
.quest-win-note{font-size:13px;color:#6d7061}.quest-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px clamp(16px,3vw,35px);border-top:1px solid #e8eedd;font-size:12px;color:#5f7977;background:#fcfdf7}
#quest-save[data-status="warning"]{color:#a06119}#quest-save[data-status="saving"]{color:#486e79}
.quest-back{display:inline-block;text-decoration:none;font-weight:800;color:#23686d}
.quest-loading{text-align:center;padding:40px}.quest-loading__icon{font-size:50px;display:block;margin-bottom:9px}
@keyframes questFloat{from{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes questSpark{from{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.3)}}
@media(max-width:600px){.quest-content{padding:16px}.quest-information{padding:17px}.quest-scene{height:145px}.quest-stage-icon{height:50px;width:50px;font-size:27px}.quest-match{grid-template-columns:1fr;gap:5px}.quest-option{padding:11px 12px}.quest-option__caption{font-size:14px}.quest-actions{flex-direction:column}.quest-actions .quest-button{width:100%}.quest-footer{align-items:flex-start;flex-direction:column}.quest-scene__temple{left:48%}}
@media(prefers-reduced-motion:reduce){.quest-scene__temple,.quest-scene__owl,.quest-scene__spark{animation:none}.quest-bar>span{transition:none}}

/* ===== Lozis World: Die Geheimnisse des Olymps – eigenstaendiger Spieltyp ===== */
.olymp-root{color:#173843;border:1px solid #cdded8;border-radius:22px;overflow:hidden;background:#fffcf4;box-shadow:0 18px 38px #183b3f24;margin:8px 0 20px}
.olymp-hero{position:relative;min-height:178px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 15px;color:#fff7d9;text-align:center;text-shadow:0 2px 7px #163343eb;background:linear-gradient(180deg,#092b449e,#092b446e),url('maps/region-geschichte.webp') center 52% / cover no-repeat}
.olymp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 45px #071e32ae}
.olymp-hero__crest{z-index:1;font-size:32px;filter:drop-shadow(0 2px 6px #fff0ab91)}
.olymp-hero__title{z-index:1;font-family:Georgia,serif;font-size:clamp(25px,4.3vw,40px);font-weight:900;letter-spacing:.01em;line-height:1.18}
.olymp-hero__subtitle{z-index:1;font-size:clamp(10px,1.4vw,13px);font-weight:800;letter-spacing:.15em;margin:9px 0 0;color:#ffe2a2}
.olymp-head{padding:clamp(15px,2.8vw,27px);background:#fff9e9;border-bottom:1px solid #e8d4aa}
.olymp-eyebrow,.olymp-stage__eyebrow{font-weight:900;font-size:11px;letter-spacing:.12em;color:#8e641d}
.olymp-intro{margin:9px 0 16px;max-width:900px;font-size:15px;color:#294b54;line-height:1.6}
.olymp-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0 18px}
.olymp-level{display:flex;align-items:center;gap:9px;min-height:61px;border-radius:12px;background:#f0f3e9;border:1px solid #d9e2d2;padding:9px 12px;opacity:.67}
.olymp-level span{font-size:25px}.olymp-level b{font-size:13px}.olymp-level small{font-size:11px;color:#5f7773}.olymp-level{flex-wrap:wrap}
.olymp-level.is-active{opacity:1;background:#fff1c6;border-color:#dcb05f;box-shadow:0 0 0 2px #ffe2a478}.olymp-level.is-done{opacity:1;background:#e3f2e4;border-color:#9bceaa}
.olymp-tracker{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:800;color:#42645d;margin:0 0 10px}
#olymp-reward{background:#fbe7b5;border-radius:999px;color:#78541d;padding:5px 11px}
.olymp-progress{height:12px;border-radius:100px;background:#dee8dc;overflow:hidden;border:1px solid #d2ddd5}.olymp-progress>span{width:0;height:100%;display:block;background:linear-gradient(90deg,#298f83,#7bc49a,#f5ca66);border-radius:inherit;transition:width .3s ease}
.olymp-content{min-height:315px;padding:clamp(15px,3.6vw,35px);background:radial-gradient(circle at 80% 5%,#fff1c278,transparent 40%),#fffcf7}
.olymp-loading{text-align:center;padding:55px 0;font-size:18px;color:#56726b}
.olymp-stage{max-width:970px;margin:auto}.olymp-stage__title{font-size:clamp(22px,3vw,29px);line-height:1.2;margin:8px 0 18px}
.olymp-story-grid{display:flex;align-items:stretch;gap:16px;padding:14px;background:linear-gradient(110deg,#eef6ed,#f9f0da);border:1px solid #d9e2d5;border-radius:16px;margin:0 0 20px}
.olymp-story-portrait{width:152px;height:155px;flex:none;object-fit:cover;object-position:center 28%;border-radius:12px;border:2px solid #e0c486;box-shadow:0 6px 15px #1f49452d}
.olymp-story{font-size:15px;line-height:1.7;color:#33535a;align-self:center;margin:0;padding:6px 4px}
.olymp-prompt{font-size:clamp(18px,2.5vw,22px);margin:18px 0 16px;line-height:1.4}
.olymp-form{display:block}.olymp-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.olymp-choice{display:flex;gap:12px;align-items:center;border:1px solid #d7e1d6;border-radius:13px;background:#fff;padding:14px 15px;min-height:66px;cursor:pointer;margin:0;font-size:14px;font-weight:750;transition:background .15s,border-color .15s,box-shadow .15s}
.olymp-choice:hover{border-color:#e7bb67;background:#fffaf0}.olymp-choice:has(input:checked){border-color:#d69e35;background:#fff0ca;box-shadow:0 0 0 2px #e5be744f}
.olymp-choice input{width:19px;height:19px;min-height:19px;margin:0;flex:none;accent-color:#08736c}
.olymp-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:19px 0 0;flex-wrap:wrap}
.olymp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;width:auto;max-width:100%;border-radius:12px;margin:0;padding:11px 20px;border:1px solid transparent;font:inherit;font-weight:850;font-size:14px;text-decoration:none;text-align:center;cursor:pointer;box-shadow:0 4px 11px #27494022;transition:filter .14s,transform .14s}
.olymp-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.olymp-btn:disabled{opacity:.6;cursor:wait;transform:none}
.olymp-btn--main{background:linear-gradient(135deg,#0f6771,#278f80);color:#fff}.olymp-btn--help{background:#f1e6cb;color:#705323;border-color:#e1c995}
.olymp-btn--gold{background:linear-gradient(120deg,#fbd078,#f9e2a4);color:#674216;border:1px solid #dba44b}
.olymp-feedback{font-size:14px;min-height:0;margin-top:12px}.olymp-feedback--hint{background:#eaf7ed;border-left:4px solid #57a688;border-radius:10px;padding:12px 15px;color:#315d50}
.olymp-match-wrap{display:flex;flex-direction:column;gap:12px}.olymp-match-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.olymp-match-card{background:#fff8e8;border:2px solid #e8c880;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px;min-width:0;cursor:pointer}
.olymp-match-card:focus-visible{outline:3px solid #d9a233;outline-offset:2px}.olymp-match-card__media{width:125px;max-width:100%;height:128px;border-radius:11px;overflow:hidden;background:linear-gradient(155deg,#cde6df,#efe4c4);display:flex;align-items:center;justify-content:center;border:1px solid #ead9ac}
.olymp-match-card__media img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.olymp-match-card__emoji{font-size:60px}.olymp-match-card strong{font-size:18px}
.olymp-match-card__select{width:100%;min-width:0;min-height:45px;background:#fff;border:1px solid #b9c6ba;border-radius:8px;font-size:13px;padding:8px;color:#24494c;margin:3px 0 0}
.olymp-match-help{margin:0;font-size:12px;color:#607873}
.olymp-symbols{display:flex;flex-wrap:wrap;gap:8px}.olymp-btn--symbol{background:#f3f7f2;color:#294750;border-color:#cfded5;min-height:45px;padding:10px 14px;flex:1;white-space:normal}
.olymp-btn--symbol.is-picked{background:#fff0be;border:2px solid #d99e37}
.olymp-message{border:1px solid #deeadc;border-radius:20px;padding:clamp(19px,4vw,38px);text-align:center;max-width:690px;margin:10px auto;background:#f4fbf1}
.olymp-message__icon{font-size:62px;margin:2px 0 14px;line-height:1.2}.olymp-message h2{font-size:clamp(22px,3vw,31px);margin:0 0 12px}.olymp-message p{line-height:1.6}
.olymp-message--win{background:radial-gradient(circle at 50% 0,#ffecb7,#fff8e1 69%);border-color:#e9c77e}.olymp-message--error{background:#fff3ef;border-color:#e6c7ba}
.olymp-message .olymp-btn{margin:10px auto 0}
.olymp-win-coins{display:inline-block;font-weight:900;font-size:20px;color:#91601d;background:#ffefc4;border:1px solid #e7c16e;border-radius:14px;padding:10px 15px;margin:8px 0}
.olymp-small{font-size:13px;color:#6b796a}.olymp-finish-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:15px 0}
.olymp-finish-actions .olymp-btn{margin:0}
.olymp-footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:14px 21px;background:#f8fbf5;border-top:1px solid #e0e9da;color:#5f7770;font-size:12px}
.olymp-footer a{color:#1d666f;text-decoration:none;font-weight:800}
#olymp-save[data-status="warn"]{color:#9b5621}
@media(max-width:760px){.olymp-choice-grid{grid-template-columns:1fr}.olymp-level{gap:5px;padding:7px;justify-content:center;text-align:center}.olymp-level b,.olymp-level small{width:100%}.olymp-hero{min-height:145px}.olymp-story-portrait{width:118px;height:142px}.olymp-tracker{font-size:12px}}
@media(max-width:480px){.olymp-content{padding:15px}.olymp-story-grid{gap:8px;flex-direction:column;align-items:stretch}.olymp-story-portrait{height:175px;width:100%;object-position:center 25%}.olymp-match-cards{gap:7px}.olymp-match-card{padding:7px}.olymp-match-card__media{height:105px;width:100px}.olymp-match-card__select{font-size:12px;padding:6px}.olymp-actions .olymp-btn{width:100%}.olymp-symbols{display:grid;grid-template-columns:1fr}.olymp-btn--symbol{width:100%}}
@media(prefers-reduced-motion:reduce){.olymp-btn,.olymp-choice,.olymp-progress>span{transition:none}}
