
:root{--bg:#09090b;--panel:#151116;--pink:#b3658b;--dark:#713b57;--text:#f5f0f3;--muted:#aaa0a8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px system-ui,Segoe UI,sans-serif}header{position:sticky;top:0;background:#09090bed;backdrop-filter:blur(15px);border-bottom:1px solid #31232d;z-index:2}.nav{max-width:1100px;margin:auto;display:flex;align-items:center;gap:16px;padding:12px 22px}.nav img{width:52px;height:52px;object-fit:cover;border-radius:12px}.brand{font-weight:800;letter-spacing:.1em}.brand span,.accent{color:var(--pink)}nav{margin-left:auto;display:flex;gap:22px}a{color:inherit;text-decoration:none}nav a:hover{color:var(--pink)}main{max-width:1100px;margin:auto;padding:25px 22px 80px}.hero{min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #382331;border-radius:22px;background:radial-gradient(ellipse at 50% 30%,#472438 0%,#1b111b 40%,#0d0b0e 76%);padding:60px 22px}.eyebrow{font-size:12px;letter-spacing:.25em;color:#c38eaa;text-transform:uppercase}.hero h1{font-size:clamp(38px,6vw,74px);line-height:1.07;max-width:850px;margin:20px auto}.hero p{max-width:620px;margin:0 auto 28px;color:#c0b5bf;line-height:1.7}.btn{border:0;background:var(--dark);color:white;padding:14px 24px;border-radius:8px;font-weight:700;cursor:pointer;display:inline-block}.btn:hover{background:#995374}.ghost{background:transparent;border:1px solid #68435a}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0 50px}.card,.form-card{background:var(--panel);border:1px solid #352633;border-radius:14px;padding:25px}.card h3{margin:8px 0}.card p,.sub{color:var(--muted);line-height:1.7}.section{padding:45px 0}.section h2{font-size:34px}.hidden{display:none}.form-card{max-width:760px;margin:0 auto}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0}.step{border-top:4px solid #3b2c37;padding-top:10px;font-size:12px;color:#9c8d99}.step.active{border-color:var(--pink);color:#eac6d8}label{display:block;margin:20px 0 8px;font-weight:650}input,textarea,select{width:100%;padding:13px;border:1px solid #51384a;border-radius:8px;background:#100d11;color:white;font:inherit}textarea{min-height:110px;resize:vertical}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.notice{padding:16px;border:1px solid #654257;border-radius:10px;background:#21151e;color:#d7bfce}.check{display:flex;align-items:start;gap:12px}.check input{width:auto}.summary{white-space:pre-wrap;color:#cbbbc6;line-height:1.8}footer{text-align:center;padding:35px;color:#81737f;border-top:1px solid #282027}@media(max-width:700px){nav{gap:10px;font-size:12px;flex-wrap:wrap}.nav{flex-wrap:wrap}.cards{grid-template-columns:1fr}.hero{min-height:420px}.steps{font-size:10px}}

nav a[aria-current="page"]{color:var(--pink);font-weight:700}.page-heading{padding:65px 0 20px}.page-heading h1{font-size:clamp(36px,5vw,60px);margin:12px 0}.page-heading p{max-width:750px}.subpage-main{min-height:75vh}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0}.rules-grid .card{height:100%}@media(max-width:700px){.rules-grid{grid-template-columns:1fr}}
/* Allay mascot: appears on every page, never covers the application form */
.allay-companion{position:fixed;right:clamp(12px,3vw,38px);bottom:clamp(14px,3vh,34px);width:112px;height:146px;z-index:5;pointer-events:none;filter:drop-shadow(0 0 14px #52c4ed66);animation:allay-float 5.5s ease-in-out infinite}
.allay-companion img{position:absolute;inset:0;width:100%;height:130px;object-fit:contain;user-select:none}
.allay-companion .wing{transform-box:fill-box;transform-origin:center;animation:allay-wing .38s ease-in-out infinite alternate}
.allay-companion .wing-right{animation-delay:-.19s}
.allay-spark{position:absolute;color:#e3a1c7;font-size:19px;text-shadow:0 0 9px #b3658b;animation:allay-spark 3s ease-in-out infinite;opacity:0}
.allay-spark.s1{top:8px;left:5px}.allay-spark.s2{top:35px;right:1px;animation-delay:1s}.allay-spark.s3{bottom:29px;left:12px;animation-delay:2s}
.allay-toggle{pointer-events:auto;position:absolute;right:0;bottom:0;width:28px;height:28px;border-radius:50%;border:1px solid #79506a;background:#1b121c;color:#eed6e4;cursor:pointer;font-size:12px;opacity:.65}
.allay-toggle:hover,.allay-toggle:focus-visible{opacity:1;outline:2px solid #b3658b;outline-offset:2px}
.allay-companion.paused,.allay-companion.paused *{animation-play-state:paused!important}
@keyframes allay-float{0%,100%{transform:translate(0,0) rotate(-3deg)}25%{transform:translate(-9px,-16px) rotate(2deg)}50%{transform:translate(-17px,-7px) rotate(4deg)}75%{transform:translate(-6px,-23px) rotate(-2deg)}}
@keyframes allay-wing{from{transform:scaleX(.72) rotate(-9deg)}to{transform:scaleX(1.1) rotate(9deg)}}
@keyframes allay-spark{0%,100%{opacity:0;transform:translateY(12px) scale(.6)}40%{opacity:.85}75%{opacity:0;transform:translateY(-22px) scale(1.1)}}
@media(max-width:700px){.allay-companion{width:72px;height:105px;right:6px;bottom:8px;opacity:.8}.allay-companion img{height:87px}.allay-toggle{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.allay-companion,.allay-companion *{animation:none!important}}

/* Walking original cat along the fine rose navigation line */
header{z-index:20;position:sticky}
header::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#713b57 15%,#b3658b 50%,#713b57 85%,transparent);box-shadow:0 0 12px #b3658b55}
.cat-track{position:absolute;left:0;right:0;bottom:0;height:0;pointer-events:none;overflow:visible;z-index:3}
.cat-walker{position:absolute;left:0;bottom:0;display:block;width:70px;height:73px;transform-origin:bottom center;animation:cat-cross 23s linear infinite alternate}
.cat-walker::before,.cat-walker::after{content:"";position:absolute;bottom:-2px;width:10px;height:14px;background:#eee5df;border:2px solid #201a1e;border-radius:45%;z-index:-1;animation:cat-paw .44s ease-in-out infinite alternate}
.cat-walker::before{left:18px}.cat-walker::after{right:18px;animation-delay:-.44s}
.cat-picture{width:66px;height:66px;display:block;border:2px solid #b3658b;border-radius:50%;object-fit:cover;box-shadow:0 0 12px #b3658b75;background:#201820;animation:cat-bob .44s ease-in-out infinite alternate}
.cat-spark{position:absolute;right:-12px;top:4px;color:#e6aacb;animation:cat-twinkle 2.5s infinite}
@keyframes cat-cross{0%{left:8%;transform:scaleX(1)}48%{left:calc(92% - 70px);transform:scaleX(1)}50%{left:calc(92% - 70px);transform:scaleX(-1)}98%{left:8%;transform:scaleX(-1)}100%{left:8%;transform:scaleX(1)}}
@keyframes cat-bob{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(2deg)}}
@keyframes cat-paw{from{transform:rotate(15deg)}to{transform:rotate(-24deg) translateY(-5px)}}
@keyframes cat-twinkle{50%{opacity:.2;transform:scale(.7)}}
body:has(.hero) .allay-companion{width:145px;height:182px;bottom:36px}
body:has(.hero) .allay-companion img{height:164px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
.btn{transition:background .2s,transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #b3658b33}
.cat-pause{position:absolute;bottom:10px;left:12px;z-index:5;border:1px solid #765067;border-radius:8px;background:#21151eea;color:#f4e4ee;padding:5px 8px;font-size:11px;cursor:pointer}
.cat-track.is-paused *{animation-play-state:paused!important}
@media(max-width:700px){.cat-walker{width:43px;height:48px}.cat-picture{width:42px;height:42px}.cat-walker::before,.cat-walker::after{width:6px;height:8px;bottom:0}.cat-walker::before{left:9px}.cat-walker::after{right:9px}.cat-spark{font-size:10px}.cat-pause{display:none}body:has(.hero) .allay-companion{width:76px;height:112px;bottom:10px}body:has(.hero) .allay-companion img{height:95px}}
@media(prefers-reduced-motion:reduce){.cat-track *{animation:none!important}.cat-walker{left:50%!important}.reveal{opacity:1;transform:none;transition:none}}

/* v3: 2D pixel-art cat, walking on the header line without covering the menu */
.cat-track{position:absolute;left:0;right:0;bottom:-2px;height:2px;z-index:3;pointer-events:none;overflow:visible}
.cat-walker{position:absolute;left:0;bottom:0;width:80px;height:62px;animation:cat-route 26s linear infinite}
.cat-sprite{display:block;position:absolute;bottom:-1px;left:0;width:80px;height:60px;background:url('cat-walk.png') 0 0/320px 60px no-repeat;image-rendering:pixelated;animation:cat-steps .55s steps(4) infinite;filter:drop-shadow(0 2px 2px #000a)}
.cat-walker::before,.cat-walker::after,.cat-picture,.cat-spark,.cat-pause{display:none!important}
@keyframes cat-steps{to{background-position:-320px 0}}
@keyframes cat-route{0%{left:2%;transform:scaleX(1)}46%{left:calc(98% - 80px);transform:scaleX(1)}50%{left:calc(98% - 80px);transform:scaleX(-1)}96%{left:2%;transform:scaleX(-1)}100%{left:2%;transform:scaleX(1)}}
/* Interactive Minecraft Allay render; no decorative replacement SVG when image is available */
.allay-companion,body:has(.hero) .allay-companion{position:fixed;right:clamp(14px,4vw,55px);bottom:clamp(25px,6vh,80px);width:124px;height:158px;z-index:12;filter:none;animation:allay-drift 5s ease-in-out infinite;pointer-events:none}
.allay-character{position:absolute;inset:0 0 20px;width:124px;height:138px;background:transparent;border:0;cursor:pointer;pointer-events:auto;perspective:500px;padding:0;transform:rotateY(var(--look-x,0deg)) rotateX(var(--look-y,0deg));transition:transform .12s linear;filter:drop-shadow(0 0 13px #38bdf88c)}
.allay-character:focus-visible{outline:2px solid #5ce4ff;border-radius:12px}
.allay-render,.allay-companion img,body:has(.hero) .allay-companion img{position:relative;width:100%;height:100%;object-fit:contain;image-rendering:auto;user-select:none}
.allay-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#91e7ff;font-size:11px;opacity:.75}
.allay-companion .allay-spark,.allay-toggle{display:none}
.allay-particles{position:absolute;left:50%;top:43%;width:1px;height:1px;pointer-events:none}
.blue-particle{position:absolute;left:0;top:0;width:7px;height:7px;background:#5bdfff;box-shadow:0 0 9px #25b8ff,0 0 15px #59d7ff;border-radius:2px;opacity:0;animation:blue-burst .85s ease-out var(--delay) forwards}
@keyframes blue-burst{0%{opacity:1;transform:translate(0,0) scale(.5)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0)}}
@keyframes allay-drift{0%,100%{translate:0 0}50%{translate:0 -14px}}
.allay-companion.happy .allay-character{animation:allay-celebrate .75s ease-in-out!important}
@keyframes allay-celebrate{0%,100%{scale:1;rotate:0deg}25%{scale:1.17;rotate:-12deg}50%{scale:1.22;rotate:12deg}75%{scale:1.12;rotate:-7deg}}
@media(max-width:700px){.cat-walker{width:64px;height:48px}.cat-sprite{width:64px;height:48px;background-size:256px 48px}@keyframes cat-steps{to{background-position:-256px 0}}.allay-companion,body:has(.hero) .allay-companion{width:80px;height:102px;right:8px;bottom:20px}.allay-character{width:80px;height:88px;bottom:14px}.allay-hint{font-size:9px}}
@media(prefers-reduced-motion:reduce){.cat-walker,.cat-sprite,.allay-companion,.allay-character{animation:none!important}.allay-companion{translate:none!important}}

/* v4: fully opaque 2D cat and locally supplied original Minecraft Allay */
.cat-track-v4{height:2px;bottom:-2px;z-index:7;pointer-events:none}
.cat-walker-v4{width:82px;height:75px;bottom:0;animation:cat-walk-v4 22s linear infinite!important;filter:none}
.cat-walker-v4::before,.cat-walker-v4::after{display:none!important}
.cat-walker-v4 img{display:block;width:82px;height:75px;object-fit:contain;filter:drop-shadow(0 2px 1px #0009);animation:cat-hop-v4 .36s ease-in-out infinite alternate}
@keyframes cat-walk-v4{0%{left:2%;transform:scaleX(1)}46%{left:calc(98% - 82px);transform:scaleX(1)}50%{left:calc(98% - 82px);transform:scaleX(-1)}96%{left:2%;transform:scaleX(-1)}100%{left:2%;transform:scaleX(1)}}
@keyframes cat-hop-v4{from{translate:0 0;rotate:-2deg}to{translate:0 -3px;rotate:2deg}}
.allay-v4{width:140px!important;height:168px!important;z-index:30!important;pointer-events:none}
.allay-v4 .allay-character{width:140px;height:145px;inset:0 0 20px;transform:rotateY(var(--look-x,0deg)) rotateX(var(--look-y,0deg));transform-style:preserve-3d}
.allay-v4 .allay-render{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}
.allay-v4.party .allay-character{animation:allay-party-v4 .55s linear infinite!important}
@keyframes allay-party-v4{0%{transform:rotate(0) scale(1)}25%{transform:rotate(20deg) scale(1.15)}50%{transform:rotate(0) scale(1.1)}75%{transform:rotate(-20deg) scale(1.15)}100%{transform:rotate(0) scale(1)}}
.allay-friend{position:fixed;top:0;left:0;width:84px;height:84px;object-fit:contain;image-rendering:pixelated;z-index:31;pointer-events:none;filter:drop-shadow(0 0 10px #33d8ff99);will-change:transform}
.floating-blue-spark{position:fixed;width:7px;height:7px;background:#65eaff;box-shadow:0 0 8px #21caff;z-index:29;pointer-events:none;animation:sparkfade-v4 .75s ease-out forwards}
@keyframes sparkfade-v4{to{opacity:0;transform:translateY(-28px) scale(.3)}}
@media(max-width:700px){.cat-walker-v4{width:57px;height:52px;animation-duration:18s!important}.cat-walker-v4 img{width:57px;height:52px}.allay-v4{width:86px!important;height:112px!important}.allay-v4 .allay-character{width:86px;height:90px}}
@media(prefers-reduced-motion:reduce){.cat-walker-v4,.cat-walker-v4 img,.allay-v4,.allay-v4 .allay-character{animation:none!important}}

/* v5: fixed original four-frame pixel cat. Override previous v4 selectors. */
.cat-track{position:absolute;left:0;right:0;bottom:-2px;height:2px;z-index:20;pointer-events:none;overflow:visible}
.cat-walker{position:absolute;left:2%;bottom:0;width:80px;height:60px;animation:cat-route-v5 24s linear infinite!important;filter:none!important}
.cat-sprite{display:block;position:absolute;left:0;bottom:0;width:80px;height:60px;background-image:url('cat-walk.png');background-size:320px 60px;background-repeat:no-repeat;image-rendering:pixelated;animation:cat-steps-v5 .52s steps(4) infinite!important;filter:drop-shadow(0 2px 2px #0008)}
@keyframes cat-steps-v5{from{background-position:0 0}to{background-position:-320px 0}}
@keyframes cat-route-v5{0%{left:2%;transform:scaleX(1)}46%{left:calc(98% - 80px);transform:scaleX(1)}50%{left:calc(98% - 80px);transform:scaleX(-1)}96%{left:2%;transform:scaleX(-1)}100%{left:2%;transform:scaleX(1)}}
/* Spinning, not wobbling: the real Minecraft Allay picture rotates fully. */
.allay-v4.party .allay-character{animation:allay-spin-v5 .65s linear infinite!important;transform-origin:center center!important}
@keyframes allay-spin-v5{from{transform:rotate(0deg) scale(1)}to{transform:rotate(360deg) scale(1)}}
@media(max-width:700px){.cat-walker{width:64px;height:48px}.cat-sprite{width:64px;height:48px;background-size:256px 48px}@keyframes cat-steps-v5{to{background-position:-256px 0}}@keyframes cat-route-v5{0%{left:2%;transform:scaleX(1)}46%{left:calc(98% - 64px);transform:scaleX(1)}50%{left:calc(98% - 64px);transform:scaleX(-1)}96%{left:2%;transform:scaleX(-1)}100%{left:2%;transform:scaleX(1)}}}
@media(prefers-reduced-motion:reduce){.cat-walker,.cat-sprite,.allay-v4.party .allay-character{animation:none!important}}

/* Use the actual user-provided animated Allay dance GIF, not a CSS image spin. */
.allay-v4.party .allay-character{animation:none!important;transform:none!important}
.allay-v4.party .allay-render{image-rendering:pixelated;object-fit:contain}

/* v7: cat always walks left to right, exits at right and re-enters at left. */
.cat-track{overflow:hidden!important;height:78px!important;bottom:-2px!important;pointer-events:none!important}
.cat-walker{left:0!important;animation:cat-one-way 19s linear infinite!important}
@keyframes cat-one-way{from{left:-90px;transform:translateX(0) scaleX(1)}to{left:calc(100% + 10px);transform:translateX(0) scaleX(1)}}
@media(max-width:700px){.cat-track{height:55px!important}.cat-walker{animation-duration:13s!important}}
@media(prefers-reduced-motion:reduce){.cat-walker{animation:none!important;left:45%!important}}

/* FIX: Bewegung ausschließlich über transform, da left:0!important die vorherige Animation blockierte. */
.cat-track{left:0!important;right:0!important;width:100%!important;overflow:hidden!important}
.cat-walker{left:0!important;animation:cat-run-across 19s linear infinite!important;will-change:transform}
@keyframes cat-run-across{
  from{transform:translate3d(-100px,0,0) scaleX(1)}
  to{transform:translate3d(calc(100vw + 20px),0,0) scaleX(1)}
}
@media(max-width:700px){.cat-walker{animation-duration:13s!important}}
@media(prefers-reduced-motion:reduce){.cat-walker{animation:none!important;transform:translateX(45vw)!important}}

/* Final fix: do not set transform:none!important on the walking element; it suppresses the movement keyframes. */
.cat-walker{animation-name:cat-run-across!important;animation-duration:14s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-direction:normal!important;animation-play-state:running!important;}
@media(max-width:700px){.cat-walker{animation-duration:10s!important}}
