body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(71,113,201,.48),transparent 40%),radial-gradient(circle at 82% 24%,rgba(78,178,203,.28),transparent 42%),linear-gradient(160deg,#0f1524,#18233d 44%,#1f3458);color:#f8fbff;text-align:center;font-family:Manrope,Avenir Next,Segoe UI,sans-serif}.App:before,.App:after{content:"";position:absolute;inset:-30%;pointer-events:none}.App:before{background:repeating-linear-gradient(-20deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 2px,transparent 2px,transparent 16px);opacity:.18;animation:rain-shift 14s linear infinite}.App:after{background:radial-gradient(circle at 50% 85%,rgba(255,255,255,.18),transparent 58%)}.App-header{min-height:100vh;display:grid;place-content:center;gap:10px;padding:24px}.App-header>p{margin:0}.App-small-text{font-size:clamp(1rem,1.8vw,1.35rem);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#eaf5ffe6}.App-header>.App-small-text:first-of-type{text-transform:none}.App-huge-text{font-family:Fraunces,Georgia,serif;font-size:clamp(4rem,17vw,11.5rem);font-weight:700;line-height:.95;letter-spacing:-.02em;color:#fff;text-shadow:0 16px 45px rgba(0,0,0,.34)}.App-small-text:last-of-type{margin-top:8px;max-width:min(760px,100%);padding:14px 18px;border-radius:14px;background:linear-gradient(180deg,#f9fcff33,#d6eaff24);border:1px solid rgba(184,218,255,.38);box-shadow:0 12px 32px #0000003b;font-size:clamp(1rem,2.1vw,1.45rem);line-height:1.45;text-transform:none;letter-spacing:0}.loading-panel{max-width:min(760px,100%);padding:22px 20px;border-radius:16px;background:linear-gradient(180deg,#f9fcff33,#d6eaff24);border:1px solid rgba(184,218,255,.38);box-shadow:0 12px 32px #0000003b}.loading-kicker{margin:0;font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#ddedfff2}.loading-title{margin:8px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,7vw,3.8rem);line-height:1;color:#fff;text-shadow:0 10px 26px rgba(0,0,0,.3)}.loading-dots{display:inline-flex;width:1.3em}.loading-dots span{width:.43em;display:inline-block;animation:loading-dot 1.2s infinite;opacity:.25}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.loading-subtext{margin:12px 0 0;font-size:clamp(.98rem,1.9vw,1.25rem);line-height:1.45;color:#eaf5ffe6}.info-button{position:fixed;right:16px;bottom:16px;width:56px;height:56px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#ffffff24;box-shadow:0 14px 32px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;z-index:900}.info-button:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0000006b;background:#ffffff3d}.info-button:focus-visible{outline:3px solid #90caf9;outline-offset:2px}.info-button img{width:30px;height:30px}.modal-overlay{position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(83,109,254,.2),transparent 40%),radial-gradient(circle at 80% 80%,rgba(38,198,218,.2),transparent 42%),#10141abd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;overflow-y:auto;z-index:1000;padding:24px}.modal-content{width:min(820px,100%);background:linear-gradient(180deg,#fff,#fbfdff);color:#1d232f;border:1px solid rgba(143,165,194,.35);border-radius:16px;box-shadow:0 28px 72px #00000059;padding:28px 26px 24px;position:relative;text-align:left;max-height:min(90vh,920px);overflow-y:auto;animation:modal-enter .18s ease-out}.modal-content h1{margin:0;font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:.01em}.modal-content h1+.impressum{margin-top:18px}.impressum h1{margin:22px 0 10px;font-size:clamp(1.2rem,1.9vw,1.5rem);border-bottom:1px solid rgba(143,165,194,.45);padding-bottom:8px}.impressum p{margin:10px 0;line-height:1.55;color:#2c3444;overflow-wrap:anywhere}.legal-note{margin:10px 0 14px;padding:10px 12px;border-radius:10px;background:#f3f7fe;border:1px solid #d1e1f8;color:#3c4c63}.impressum a{color:#0c63cf;text-underline-offset:3px}.impressum a:hover{color:#094b9d}.modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:1px solid rgba(143,165,194,.5);border-radius:10px;background:#f4f7fb;color:#243145;font-size:28px;line-height:1;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.modal-close:hover{background:#e7edf7;transform:translateY(-1px)}.modal-close:focus-visible{outline:3px solid #90caf9;outline-offset:1px}@keyframes modal-enter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rain-shift{0%{transform:translateY(-24px)}to{transform:translateY(24px)}}@keyframes loading-dot{0%,80%,to{transform:translateY(0);opacity:.25}40%{transform:translateY(-4px);opacity:1}}@media(max-width:640px){.App-header{padding:20px 14px}.App-huge-text{font-size:clamp(3.4rem,22vw,6.2rem)}.App-small-text:last-of-type{border-radius:12px;padding:12px 10px}.modal-overlay{padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));align-items:center}.modal-content{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);border-radius:14px;padding:18px 14px 14px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-close{top:10px;right:10px}}
