/* LYROX SIGNATURE / 15.0 — final art-direction layer, intentionally progressive. */
:root{--sig-red:#e51a3e;--sig-hot:#ff536a;--sig-ink:#111722;--sig-paper:#f3f4f6;--sig-line:#dce1e7;--sig-ease:cubic-bezier(.2,.85,.19,1)}
html{scroll-padding-top:106px}body{overflow-x:clip}body,.subpage{background:var(--sig-paper)}::selection{background:#ea274b;color:#fff}
a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff4669!important;outline-offset:3px}
/* Consistent brand chrome, with a physical signal line across every page. */
.site-head{isolation:isolate;border-bottom:1px solid #fa55705c!important;box-shadow:0 8px 35px #080b1635!important}.site-head:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;background:linear-gradient(90deg,#ee254a 0%,#ee254a 28%,#fff9 39%,#ee254a 48%,#ee254a 100%);background-size:220% 100%;animation:sigSignal 11s linear infinite}.topline{background:#0d121c!important}.topline-inner{letter-spacing:.075em}.identity-image{border-radius:12px!important;box-shadow:0 0 0 3px #f2466663,0 8px 22px #0005;overflow:hidden!important}.identity-name{letter-spacing:-.035em}.site-nav a{position:relative;transition:color .22s,transform .22s}.site-nav a:hover{color:#ff657d!important;transform:translateY(-2px)}.site-nav a[aria-current=page]{color:#fff!important}.nav-play{box-shadow:0 12px 30px #e21a3c57!important;position:relative;overflow:hidden}.nav-play:after,.button-red:after{content:'';position:absolute;inset:0;transform:translateX(-160%) skew(-24deg);background:linear-gradient(90deg,transparent,#ffffff6b,transparent);width:70%;pointer-events:none;transition:transform .55s var(--sig-ease)}.nav-play:hover:after,.button-red:hover:after{transform:translateX(250%) skew(-24deg)}.ly15-search-open{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;min-height:43px;border:1px solid #ffffff46;background:#ffffff12;color:#fff;border-radius:10px;font:850 11px system-ui,sans-serif;letter-spacing:.06em;padding:0 13px;cursor:pointer}.ly15-search-open span{color:#ff8fa1;font-size:17px}.ly15-search-open:hover{background:#ffffff25}.ly15-search-open kbd{font:700 10px system-ui;color:#bfc6d0;padding:3px 5px;border:1px solid #ffffff36;border-radius:4px}
/* A distinctive editorial masthead rather than repeating a generic card template. */
.hero{background:radial-gradient(circle at 79% 36%,#bb234d38,transparent 43%),radial-gradient(circle at 10% 70%,#b3284730,transparent 42%),linear-gradient(124deg,#090d16,#161e2d 50%,#11111e)!important}.hero:after{content:'';pointer-events:none;position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent 0 79px,#ffffff08 80px 81px),repeating-linear-gradient(90deg,transparent 0 79px,#ffffff08 80px 81px);background-size:160px 160px;mask-image:linear-gradient(90deg,transparent,#000 80%);animation:sigGrid 22s linear infinite}.hero-layout{position:relative;z-index:2}.hero-copy h1{letter-spacing:-.055em!important;text-wrap:balance}.hero-copy h1 span,.hero-copy h1 em{filter:drop-shadow(0 8px 28px #ea21403d)}.hero-copy>p{color:#c0c9d6!important}.hero-scene{animation:sigHover 8s ease-in-out infinite}.scene-disc{box-shadow:0 0 0 1px #ffffff30,0 0 0 32px #ffffff05,0 32px 120px #0009!important}.scene-disc:after{content:'';position:absolute;inset:-19px;border:1px dashed #f85d7977;border-radius:50%;pointer-events:none;animation:sigOrbit 46s linear infinite}.hero-bottom{position:relative;z-index:2}.signal-strip,.hub-marquee{background:linear-gradient(95deg,#b81232,#f02e51,#b81232)!important;background-size:220% 100%;animation:sigSignal 17s linear infinite}.scene-tile{backdrop-filter:blur(18px)}
/* Portal design system: editorial cards, motion, visual hierarchy */
.section-top h2,.page-headline,.max-heading h2{letter-spacing:-.042em!important;text-wrap:balance}.section-top .label-red,.page-kicker,.max-kicker,.page-index{letter-spacing:.18em!important}.feature-card,.news-card,.editorial-card,.max-card,.station,.prose-card,.gallery-tile,.release{border-radius:20px!important;box-shadow:0 5px 20px #11172909!important;transition:transform .46s var(--sig-ease),box-shadow .46s var(--sig-ease),border-color .33s,filter .46s!important}.feature-card:hover,.news-card:hover,.editorial-card:hover,.max-card:hover,.station:hover,.prose-card:hover,.gallery-tile:hover,.release:hover{box-shadow:0 24px 65px #0d16212b!important}.station:hover,.prose-card:hover,.release:hover{transform:translateY(-5px)}.editorial-card,.max-card,.news-card{isolation:isolate}.editorial-card:after,.max-card:after{content:'';position:absolute;inset:auto -35% -75% auto;width:240px;height:240px;border-radius:50%;border:1px solid #e8204625;box-shadow:0 0 0 32px #e820460a,0 0 0 64px #e8204607;pointer-events:none;transition:transform .65s var(--sig-ease)}.editorial-card:hover:after,.max-card:hover:after{transform:scale(1.2) translate(-7%,-9%)}.page-hero{background:radial-gradient(ellipse at 65% 10%,#ea335037,transparent 48%),linear-gradient(118deg,#080d17 0%,#182131 62%,#29131e 100%)!important;min-height:min(700px,68vw);border-bottom:5px solid #e82748}.page-hero:before{background-image:repeating-linear-gradient(90deg,transparent 0 88px,#ffffff0b 89px 90px),repeating-linear-gradient(0deg,transparent 0 88px,#ffffff0b 89px 90px)!important;background-size:180px 180px!important;animation:sigGrid 24s linear infinite}.page-hero .page-word{letter-spacing:-.075em!important;text-wrap:balance;text-shadow:0 12px 52px #0006}.page-hero .page-word span{background:linear-gradient(90deg,#ff5472,#f52b4d 60%,#ff9ca8);color:transparent!important;background-clip:text;-webkit-background-clip:text}.page-hero-icon{border-color:#fb476754!important;box-shadow:0 0 0 24px #e62b4710,0 0 0 60px #e62b4707,0 25px 95px #0007!important;max-width:440px}.page-hero-icon img{box-shadow:0 0 0 3px #ffffffb8}.page-main{background:linear-gradient(#f2f4f7,#fff 44%,#f3f5f7)}.page-band{border-radius:24px!important;overflow:hidden}.page-section,.max-section,.portal-hub{position:relative}.page-section .page-headline{position:relative}.page-footer{border-top:5px solid #eb294b!important;background:#0b111d!important}.page-footer a{transition:color .2s,transform .2s}.page-footer a:hover{transform:translateY(-2px)}
/* Page-specific look and feel, while keeping one recognizable Lyrox identity. */
body[data-ly15-page=updates]{--sig-page:#fb4d6a}body[data-ly15-page=koeln]{--sig-page:#efb1a0}body[data-ly15-page=flotte]{--sig-page:#93c1e4}body[data-ly15-page=galerie]{--sig-page:#f1bf80}body[data-ly15-page=spielinfo]{--sig-page:#c9a7f2}body[data-ly15-page=einsatzkatalog]{--sig-page:#fa7883}body[data-ly15-page=roadmap]{--sig-page:#b3e8d0}body[data-ly15-page=studio]{--sig-page:#b7c7ea}body[data-ly15-page=hilfe]{--sig-page:#cee5ff}
.subpage .page-hero:after{filter:drop-shadow(0 0 55px var(--sig-page,#e52c4a));opacity:.32}.subpage .page-index{color:var(--sig-page,#ff8a9b)}.subpage .page-hero-icon{border-color:var(--sig-page,#ff8597)!important}.subpage .page-hero .container>div:first-child{animation:sigTitle .8s var(--sig-ease) both}.subpage .page-hero-icon{animation:sigHover 8s ease-in-out infinite}
/* Animated live-link ribbon for every subsection; includes real destinations only. */
.ly15-signal-band{background:#0d1320;color:#fff;border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c}.ly15-band-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:75px}.ly15-band-mark{display:flex;align-items:center;gap:13px;font:850 11px system-ui;letter-spacing:.12em}.ly15-band-mark i{height:10px;width:10px;border-radius:50%;background:#f1395a;box-shadow:0 0 0 7px #f1395a17;animation:sigPulse 2.5s ease-in-out infinite}.ly15-band-inner a{color:#fff;font:850 11px system-ui;letter-spacing:.08em;padding:12px 17px;border:1px solid #ffffff3a;border-radius:9px;transition:background .2s,transform .2s}.ly15-band-inner a:hover{background:#e9294a;transform:translateY(-2px)}.ly15-band-inner .ly15-band-info{color:#aab5c5;font:750 10px system-ui;letter-spacing:.1em}.ly15-band-links{display:flex;gap:8px;flex-wrap:wrap}
.ly15-next{background:radial-gradient(circle at 73% 25%,#e92b4e33,transparent 41%),#101725;color:#fff;overflow:hidden;position:relative;border-top:1px solid #ffffff26;border-bottom:4px solid #e52246;padding:clamp(35px,4vw,75px) 0}.ly15-next:after{content:'';position:absolute;right:-55px;top:-90px;width:420px;height:420px;border:1px dashed #ffffff29;border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff03;animation:sigOrbit 65s linear infinite;pointer-events:none}.ly15-next-inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;position:relative;z-index:1}.ly15-next span{display:block;color:#ff8fa2;font:900 11px system-ui;letter-spacing:.2em;margin-bottom:12px}.ly15-next h2{font:950 clamp(36px,4vw,78px)/.95 Impact,Arial Black,system-ui;letter-spacing:-.03em;margin:0 0 15px}.ly15-next p{color:#afbed0;max-width:680px;line-height:1.6}.ly15-next-links{display:flex;flex-wrap:wrap;gap:11px}.ly15-next-links a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 22px;background:#e52246;color:#fff;border-radius:9px;font:900 11px system-ui;letter-spacing:.08em;transition:transform .25s,box-shadow .25s}.ly15-next-links a:last-child{background:#ffffff15;border:1px solid #ffffff40}.ly15-next-links a:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0004}
/* The homepage gets an actual interactive, clearly labeled non-gameplay showcase. */
.ly15-stage{background:#e9ecf1;color:#161d2a;padding:clamp(55px,5.5vw,115px) 0;position:relative;overflow:hidden}.ly15-stage:before{content:'110';font:1000 min(33vw,520px)/1 Impact,Arial Black,sans-serif;color:#d7193a0c;position:absolute;right:-3vw;top:-50px;pointer-events:none}.ly15-stage-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.ly15-stage-head span{font:900 11px system-ui;letter-spacing:.17em;color:#d5193d}.ly15-stage-head h2{font:950 clamp(46px,5vw,100px)/.9 Impact,Arial Black,system-ui;margin:12px 0;letter-spacing:-.04em;max-width:1100px}.ly15-stage-head h2 em{font-style:normal;color:#cf193c}.ly15-stage-head p{max-width:485px;color:#606d7c;font-size:15px;line-height:1.75}.ly15-stage-body{display:grid;grid-template-columns:minmax(200px,26%) minmax(0,1fr);min-height:460px;background:#0d1421;border:1px solid #242d3b;border-radius:22px;overflow:hidden;box-shadow:0 28px 75px #121d2a2b}.ly15-stage-nav{display:flex;flex-direction:column;background:#151d2b;padding:20px;border-right:1px solid #ffffff19;gap:9px}.ly15-stage-nav button{text-align:left;background:#ffffff08;color:#c3cfde;border:1px solid transparent;padding:22px 19px;border-radius:12px;font:900 15px system-ui;letter-spacing:.03em;cursor:pointer;transition:background .3s,transform .3s}.ly15-stage-nav button:hover{transform:translateX(5px);background:#ffffff18}.ly15-stage-nav button[aria-selected=true]{background:#dd2244;color:#fff;box-shadow:0 10px 25px #d81a3a36}.ly15-stage-nav button small{display:block;font:750 10px system-ui;letter-spacing:.17em;opacity:.67;margin-bottom:8px}.ly15-stage-screen{position:relative;padding:clamp(28px,4vw,75px);color:white;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:460px;background:radial-gradient(circle at 74% 30%,#c42b4c45,transparent 36%),repeating-linear-gradient(90deg,transparent 0 99px,#ffffff0a 100px 101px),#111b2b}.ly15-stage-screen:after{content:'';position:absolute;right:-80px;bottom:-210px;width:min(43vw,580px);aspect-ratio:1;background:url('/assets/dom-silhouette.svg') center/contain no-repeat;opacity:.13;pointer-events:none}.ly15-stage-screen[data-current='2']{background:radial-gradient(circle at 75% 28%,#318bc15a,transparent 38%),#101a29}.ly15-stage-screen[data-current='3']{background:radial-gradient(circle at 75% 28%,#30a08b44,transparent 38%),#101a29}.ly15-stage-number{font:900 12px system-ui;color:#ff95a5;letter-spacing:.22em}.ly15-stage-screen h3{font:950 clamp(44px,5vw,100px)/.9 Impact,Arial Black,system-ui;max-width:800px;letter-spacing:-.03em;margin:23px 0}.ly15-stage-screen p{color:#c6d1df;font-size:clamp(14px,1.2vw,19px);line-height:1.7;max-width:630px}.ly15-stage-screen a{align-self:start;margin-top:33px;border:1px solid #ffffff64;border-radius:9px;padding:15px 23px;color:#fff;font:900 11px system-ui;letter-spacing:.08em;background:#ffffff13}.ly15-stage-screen a:hover{background:#d62245}.ly15-stage-screen .ly15-fx-line{position:absolute;right:8%;top:17%;width:clamp(120px,19vw,340px);aspect-ratio:1;border:1px dashed #ffffff47;border-radius:50%;box-shadow:0 0 0 26px #ffffff06,0 0 0 54px #ffffff05;animation:sigOrbit 35s linear infinite;pointer-events:none}
/* Navigation command palette - a usable feature on both touch and keyboard. */
.ly15-command{border:1px solid #ffffff32;border-radius:23px;padding:0;max-width:min(710px,calc(100% - 24px));width:100%;max-height:min(720px,calc(100dvh - 32px));background:#0d1420;color:#f6f8fd;box-shadow:0 40px 120px #000b;overflow:hidden}.ly15-command::backdrop{background:#04070db8;backdrop-filter:blur(12px)}.ly15-command header{padding:25px 26px 17px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:linear-gradient(110deg,#192336,#361b2b)}.ly15-command header small{display:block;color:#ff879e;font:900 10px system-ui;letter-spacing:.19em;margin-bottom:7px}.ly15-command header strong{font:950 28px Impact,Arial Black,sans-serif;letter-spacing:-.02em}.ly15-command header button{border:1px solid #ffffff40;background:#ffffff12;color:#fff;width:43px;height:43px;border-radius:10px;font-size:19px;cursor:pointer}.ly15-command input{display:block;background:#101a29;border:1px solid #ffffff2d;border-radius:11px;color:white;width:calc(100% - 40px);font:700 16px system-ui;padding:17px;margin:19px 20px 12px}.ly15-command input::placeholder{color:#8593a8}.ly15-command-list{overflow-y:auto;max-height:min(460px,50dvh);padding:9px 19px 20px;display:grid;gap:7px}.ly15-command-list a{display:grid;grid-template-columns:45px 1fr 20px;align-items:center;gap:12px;padding:13px;border-radius:12px;border:1px solid #ffffff16;background:#ffffff08;color:#fff;transition:background .2s,transform .2s}.ly15-command-list a:hover,.ly15-command-list a:focus-visible{background:#d92243;color:#fff;transform:translateX(3px)}.ly15-command-list a b{display:grid;place-items:center;height:42px;border-radius:10px;background:#ffffff16;color:#ff9cb0;font-size:21px}.ly15-command-list strong{display:block;font:900 13px system-ui;letter-spacing:.045em}.ly15-command-list small{display:block;font:500 11px system-ui;color:#b4bfd0;margin-top:5px;line-height:1.4}.ly15-command-list a:hover small{color:#fff}.ly15-command-list a>span:last-child{color:#ff9fb0}.ly15-command footer{border-top:1px solid #ffffff18;padding:13px 24px;color:#9eacc0;font:650 11px system-ui}.ly15-command [hidden]{display:none!important}.ly15-page-curtain{position:fixed;inset:0;z-index:9999;background:#d72043;transform:translateY(101%);pointer-events:none}.ly15-page-curtain.go{animation:sigCurtain .38s var(--sig-ease) forwards}.ly15-page-curtain:after{content:'DOMSTADT 110 · LYROX';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:950 clamp(32px,7vw,92px) Impact,Arial Black,sans-serif;letter-spacing:-.035em}
/* Scroll and display animations only enhance already-visible content; no blank page if JS fails. */
.ly15-lift{transition:opacity .75s var(--sig-ease),transform .75s var(--sig-ease)}html.ly15-ready .ly15-lift:not(.ly15-in){opacity:.8;transform:translateY(16px)}html.ly15-ready .ly15-lift.ly15-in{opacity:1;transform:translateY(0)}.ly15-hero-stamp{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;padding:10px 13px;border:1px solid #ffffff40;border-radius:999px;color:#f5c2cc;font:800 10px system-ui;letter-spacing:.13em;background:#ffffff0e}.ly15-hero-stamp:before{content:'✦';color:#ff6881}.ly15-scroll-cue{position:absolute;bottom:18px;right:clamp(16px,3.2vw,74px);font:800 9px system-ui;color:#ffffff99;letter-spacing:.19em;writing-mode:vertical-rl;animation:sigScroll 2s ease-in-out infinite}
@keyframes sigSignal{to{background-position:220% 0}}@keyframes sigOrbit{to{transform:rotate(360deg)}}@keyframes sigHover{50%{transform:translateY(-10px)}}@keyframes sigGrid{to{background-position:180px 180px}}@keyframes sigTitle{from{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes sigPulse{50%{box-shadow:0 0 0 14px #f1395a00}}@keyframes sigCurtain{to{transform:translateY(0)}}@keyframes sigScroll{50%{transform:translateY(10px);opacity:.5}}
@media(min-width:1800px){.ly15-stage-body{min-height:550px}.ly15-stage-screen{min-height:550px}.editorial-card{min-height:330px}}
@media(max-width:1370px){.ly15-search-open{margin-left:auto}.ly15-search-open kbd{display:none}.ly15-stage-screen h3{font-size:clamp(44px,7vw,90px)}}
@media(max-width:900px){.ly15-search-open{width:43px;justify-content:center;padding:0;min-height:42px}.ly15-search-open>span{font-size:20px}.ly15-search-open>span+span{display:none}.ly15-stage-head{align-items:start;flex-direction:column}.ly15-stage-head p{max-width:770px}.ly15-stage-body{grid-template-columns:1fr;min-height:0}.ly15-stage-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #ffffff24;padding:10px}.ly15-stage-nav button{min-width:155px;padding:15px;font-size:12px}.ly15-stage-screen{min-height:340px}.ly15-next-inner{grid-template-columns:1fr}.ly15-band-info{display:none}.page-hero{min-height:0}}
@media(max-width:620px){.ly15-stage{padding:50px 0}.ly15-stage-head h2{font-size:clamp(46px,12vw,70px)}.ly15-stage-screen{padding:29px 23px;min-height:330px}.ly15-stage-screen h3{font-size:53px}.ly15-band-inner{flex-direction:column;align-items:start;padding:17px 0}.ly15-band-links{width:100%}.ly15-band-links a{flex:1;text-align:center}.ly15-search-open{margin-left:0}.ly15-next h2{font-size:clamp(39px,10vw,62px)}.ly15-scroll-cue{display:none}}
@media(hover:none){.hero-scene,.page-hero-icon{animation-duration:13s}.nav-play:hover:after,.button-red:hover:after{transform:translateX(-160%) skew(-24deg)}}
@media(prefers-reduced-motion:reduce){.site-head:after,.hero:after,.page-hero:before,.page-hero-icon,.scene-disc:after,.ly15-stage-screen .ly15-fx-line,.ly15-page-curtain,.ly15-band-mark i,.ly15-scroll-cue{animation:none!important}html.ly15-ready .ly15-lift{opacity:1!important;transform:none!important}}
html.motion-off .site-head:after,html.motion-off .hero:after,html.motion-off .page-hero:before,html.motion-off .page-hero-icon,html.motion-off .scene-disc:after,html.motion-off .ly15-stage-screen .ly15-fx-line,html.motion-off .ly15-band-mark i,html.motion-off .ly15-scroll-cue{animation:none!important}html.motion-off .ly15-lift{opacity:1!important;transform:none!important}
