@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#10131f;--bg2:#171b2b;--gold:#d8b477;--text:#eee8df;--muted:#b9b8c3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.nav{height:76px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,88px);background:linear-gradient(#0c101be8,#0c101b88);backdrop-filter:blur(12px);border-bottom:1px solid #d8b47730}.brand{font:600 18px Cinzel,Georgia,serif;letter-spacing:.11em;color:#f1d6a6}.brand:first-letter{color:var(--gold)}nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px)}nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:8px 18px;color:var(--gold)}.menu{display:none;border:0;background:none;color:var(--gold);font-size:26px}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden}.hero-art,.hero-art img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-art img{object-fit:cover;object-position:center;filter:brightness(.65);animation:zoom 22s ease-in-out infinite alternate}.hero-shade{background:linear-gradient(90deg,#0d101cd9 0%,#0d101c6a 50%,#0d101c38 100%),linear-gradient(0deg,#10131f 0%,transparent 32%)}.hero-content{position:relative;z-index:1;width:min(1120px,88%);padding-top:76px}.eyebrow,.section-kicker{color:var(--gold);font-size:12px;letter-spacing:.27em;font-weight:600}.hero h1{font:500 clamp(52px,9vw,132px)/.99 Cinzel,Georgia,serif;letter-spacing:.035em;margin:25px 0;text-shadow:0 4px 30px #0008}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{font:italic clamp(16px,2vw,23px) Georgia,serif;max-width:520px;margin-bottom:35px}.button{display:inline-flex;align-items:center;gap:22px;padding:15px 26px;text-transform:uppercase;font-size:12px;letter-spacing:.11em;font-weight:600;transition:transform .2s}.button:hover{transform:translateY(-3px)}.gold{background:var(--gold);color:#151722}.scrollhint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;color:#d9c8ad}.section{padding:clamp(85px,11vw,150px) clamp(22px,7vw,120px);scroll-margin-top:70px}.section h2{font:500 clamp(35px,5vw,67px)/1.18 Cinzel,Georgia,serif;margin:18px 0 30px;letter-spacing:.005em}.section h2 i{color:var(--gold);font-style:normal}.intro{max-width:1120px;margin:auto;text-align:center}.intro .lead{font-size:clamp(17px,2vw,22px);color:#eee1d1}.intro p:not(.lead){color:var(--muted);max-width:720px;margin:18px auto}.ornament{color:var(--gold);margin-top:55px;letter-spacing:18px}.characters{background:linear-gradient(135deg,#191e30,#0e1220)}.section-sub{color:var(--muted);max-width:720px;margin-bottom:45px}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.character{background:#24293c;border:1px solid #e0b77c30;padding:10px 10px 20px}.portrait{height:clamp(200px,27vw,370px);background:radial-gradient(ellipse at 50% 25%,#54617b,#202637 65%);display:grid;place-items:center;position:relative;overflow:hidden}.portrait:after{content:'';position:absolute;inset:8px;border:1px solid #d8b47735}.portrait span{position:absolute;top:20px;left:20px;color:#e1c18b;font:12px Cinzel}.portrait b{font:110px Cinzel;color:#d8b4773b}.character h3{font:26px Cinzel;margin:18px 10px 0}.character p{color:var(--gold);font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin:0 10px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.place{background:#1d2233;border:1px solid #d8b47728}.place-art{height:220px;background-image:linear-gradient(0deg,#161b2b 2%,transparent 90%),url('assets/hero.png');background-size:cover}.city{background-position:90% 38%}.canal{background-position:70% 60%;filter:hue-rotate(18deg)}.ice{background-position:85% 10%;filter:hue-rotate(160deg)}.place>div:last-child{padding:20px 24px 25px}.place small{color:var(--gold);letter-spacing:.17em}.place h3{font:28px Cinzel;margin:6px 0}.place p{margin:0;color:var(--muted)}.note{font-size:12px;color:#9da2b5;margin-top:25px}.media{background:#171b2b}.media-panel{text-align:center;border:1px solid #c6a16b5c;padding:80px 24px;background:radial-gradient(ellipse at center,#32384c,#171b2b 70%)}.media-panel>span{font-size:55px;color:var(--gold)}.media-panel h3{font:32px Cinzel}.media-panel p{max-width:550px;margin:auto;color:var(--muted)}.coming-label{margin-top:35px;letter-spacing:.24em;color:var(--gold);font-size:11px}.demo{text-align:center}.demo p{max-width:620px;margin:0 auto 30px;color:var(--muted)}.demo .note{margin-top:15px}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:35px 7vw;border-top:1px solid #d8b47730;color:#9da2b5;font-size:12px}footer>a:first-child{font:18px Cinzel;color:var(--gold)}@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.055)}}@media(max-width:850px){.character-grid{grid-template-columns:repeat(2,1fr)}.world-grid{grid-template-columns:1fr}.place-art{height:250px}.menu{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#141929;flex-direction:column;align-items:stretch;padding:20px 7vw;gap:15px}nav.open{display:flex}nav a{padding:8px 0}}@media(max-width:680px){.nav{height:64px}.brand{font-size:14px}nav{top:64px}.hero-art img{object-fit:cover;object-position:center top;animation:none;filter:brightness(.72)}.hero-shade{background:linear-gradient(0deg,#10131f 0%,#10131fa8 28%,transparent 80%)}.hero{align-items:end}.hero-content{width:90%;padding:0 0 90px;text-align:center}.hero h1{font-size:clamp(39px,10vw,65px);margin:12px 0}.hero p{font-size:16px;margin:12px auto 22px}.eyebrow{font-size:9px}.scrollhint{bottom:14px}.character-grid{gap:10px}.character h3{font-size:20px}.portrait{height:220px}.section{padding:80px 22px}.section h2{font-size:35px}.intro .lead{font-size:17px}footer{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Interaktive Weltkarte */
.map-shell{max-width:1080px;margin:0 auto;border:1px solid #b996605e;background:#111725;box-shadow:0 20px 65px #0006}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:#1b2132;color:#d8b477;font-size:11px;letter-spacing:.16em}.map-actions{display:flex;gap:7px}.map-actions button{background:#2b3142;border:1px solid #b9966077;color:#f0dfbd;min-width:38px;min-height:38px;font-size:23px;cursor:pointer}.map-actions button:hover,.map-actions button:focus-visible{background:#464052}.map-viewport{height:clamp(350px,58vw,660px);position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#14243b;user-select:none}.map-viewport.dragging{cursor:grabbing}.map-content{position:absolute;width:min(100%,660px);height:auto;aspect-ratio:1;left:50%;top:50%;transform-origin:center center;will-change:transform}.map-content>img{width:100%;height:100%;display:block;pointer-events:none}.map-pin{position:absolute;transform:translate(-50%,-50%);width:29px;height:29px;border-radius:50%;border:2px solid #fff2c8;background:#33281bdc;color:#f4d28c;box-shadow:0 0 0 5px #0b0e1777,0 0 15px #e3b7668a;cursor:pointer;display:grid;place-items:center;font-size:16px;touch-action:none}.map-pin:hover,.map-pin:focus-visible{background:#b99660;color:#111725;outline:2px solid white;z-index:2}.map-info{min-height:125px;padding:20px 25px;display:flex;justify-content:space-between;gap:20px;align-items:start;background:linear-gradient(110deg,#252a3a,#171c2b)}.map-info small{color:#d8b477;letter-spacing:.16em;font-size:10px}.map-info h3{font:26px Georgia,serif;color:#f2ddb4;margin:4px 0}.map-info p{color:#c9c8d0;margin:0;max-width:760px}.map-info button{border:1px solid #d8b47777;background:transparent;color:#f1d4a0;padding:8px 12px;cursor:pointer}@media(max-width:680px){.map-toolbar{padding:10px;letter-spacing:.07em;font-size:9px}.map-viewport{height:420px}.map-content{width:100%}.map-info{padding:18px}.map-info h3{font-size:22px}}

/* Regionsuntertitel in der Karteninformation */
.map-subtitle{font-size:.82rem;letter-spacing:.055em;color:#d7b77a;font-weight:600;margin:.25rem 0 .65rem;} .map-subtitle:empty{display:none;}

/* V4: gewählte Region sichtbar machen */
.map-info{scroll-margin-top:100px;}
.map-info-reveal{animation:map-info-glow 1.6s ease-out;}
@keyframes map-info-glow{0%{box-shadow:inset 0 0 0 2px #d8b477;background:#383344}100%{box-shadow:inset 0 0 0 0 transparent;background:#171c2b}}
@media(prefers-reduced-motion:reduce){.map-info-reveal{animation:none;outline:2px solid #d8b477;}}

/* V5 – Charaktergalerie */
.character-group-heading{font:500 24px Cinzel,Georgia,serif;color:#ead6b4;margin:38px 0 18px}.character-group-heading:first-of-type{margin-top:12px}.character-grid-v5{grid-template-columns:repeat(4,minmax(0,1fr))}.character-choice{display:block;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:transform .22s,border-color .22s,box-shadow .22s}.character-choice:hover,.character-choice:focus-visible{transform:translateY(-5px);border-color:#d8b477;outline:none;box-shadow:0 12px 28px #0005}.character-choice.selected{border-color:#f0c98d;box-shadow:0 0 0 1px #d8b47770}.character-choice .portrait{display:grid}.character-choice .character-name{display:block;font:500 clamp(17px,2vw,24px) Cinzel,Georgia,serif;margin:17px 10px 3px;line-height:1.25;min-height:2.5em}.character-choice .character-role{display:block;margin:0 10px;color:var(--gold);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.character-discover{display:flex;justify-content:space-between;align-items:center;margin:15px 10px 0;color:#d6d3d1;font-size:12px}.character-info{scroll-margin-top:100px;margin-top:28px;min-height:160px;padding:26px 30px;display:flex;justify-content:space-between;gap:20px;align-items:start;border:1px solid #b996605e;background:linear-gradient(110deg,#252a3a,#171c2b)}.character-info small{color:var(--gold);font-size:10px;letter-spacing:.17em}.character-info h3{font:500 clamp(24px,3vw,34px) Cinzel,Georgia,serif;color:#f2ddb4;margin:8px 0 2px}.character-subtitle{color:#d7b77a;font-size:14px;font-weight:600;margin:5px 0 13px}.character-subtitle:empty{display:none}.character-info p{max-width:850px;color:#d0cdd3;margin:0}.character-info button{border:1px solid #d8b47777;background:transparent;color:#f1d4a0;padding:8px 12px;cursor:pointer}.character-info-reveal{animation:map-info-glow 1.6s ease-out}@media(max-width:850px){.character-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.character-group-heading{font-size:21px}.character-choice .character-name{font-size:17px;min-height:2.5em}.character-choice .portrait{height:190px}.character-info{padding:20px}.character-choice .character-role{font-size:10px}}@media(prefers-reduced-motion:reduce){.character-info-reveal{animation:none;outline:2px solid var(--gold)}}
