.App{color:#f8fbff;text-align:center;background:radial-gradient(at 14% 4%,#607eae57,#0000 34%),radial-gradient(at 82% 12%,#46739a4d,#0000 38%),radial-gradient(at 50% 112%,#b7daec33,#0000 43%),linear-gradient(165deg,#080d17 0%,#111b2d 42%,#19334a 72%,#244d67 100%);min-height:100dvh;font-family:ui-sans-serif,Avenir Next,Segoe UI,sans-serif;position:relative;overflow:hidden}.App:before,.App:after{content:none;z-index:0;pointer-events:none;will-change:transform, opacity;position:absolute}.App.css-rain-active:before,.App.css-rain-active:after{content:""}.App:before{opacity:.24;filter:blur(.25px);background:radial-gradient(.8px 24px,#cae1f252 0 58%,#0000 100%) 0 0/73px 167px,radial-gradient(.7px 17px,#e1eff93d 0 54%,#0000 100%) 29px 61px/113px 229px,radial-gradient(.65px 31px,#bedaee38 0 56%,#0000 100%) 91px 137px/157px 307px;animation:.9s linear infinite rain-far,5.8s ease-in-out infinite rain-gust-far;inset:-38% -24%}.App:after{opacity:.3;filter:blur(.15px)drop-shadow(0 0 1px #bee1f62e);background:radial-gradient(1.15px 52px,#ebf7ff7a 0 60%,#0000 100%) 17px 23px/173px 347px,radial-gradient(.9px 38px,#cbe6f757 0 56%,#0000 100%) 107px 181px/239px 449px;animation:.65s linear infinite rain-near,4.9s ease-in-out infinite rain-gust-near;inset:-48% -32%}.rain-canvas{z-index:0;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .3s ease-out;position:absolute;inset:0}.rain-canvas.is-ready{opacity:1}.App.webgl-rain-active:before,.App.webgl-rain-active:after{content:none;opacity:0;filter:none;will-change:auto;animation:none}.App.rain-paused:before,.App.rain-paused:after{animation-play-state:paused}.App-header{box-sizing:border-box;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));z-index:1;place-content:center;gap:10px;display:grid;position:relative}.App-header>p{margin:0}.App-small-text{letter-spacing:.03em;text-transform:uppercase;color:#eaf5ffe6;font-size:clamp(1rem,1.8vw,1.35rem);font-weight:700}.App-header>.App-small-text:first-of-type{text-transform:none}.App-huge-text{letter-spacing:-.02em;color:#fff;text-shadow:0 16px 45px #00000057;font-family:ui-serif,Georgia,serif;font-size:clamp(4rem,17vw,11.5rem);font-weight:700;line-height:.95}.App-small-text:last-of-type{text-transform:none;letter-spacing:0;background:linear-gradient(#f9fcff33 0%,#d6eaff24 100%);border:1px solid #b8daff61;border-radius:14px;max-width:min(760px,100%);margin-top:8px;padding:14px 18px;font-size:clamp(1rem,2.1vw,1.45rem);line-height:1.45;box-shadow:0 12px 32px #0000003b}.loading-panel{background:linear-gradient(#f9fcff33 0%,#d6eaff24 100%);border:1px solid #b8daff61;border-radius:16px;max-width:min(760px,100%);padding:22px 20px;box-shadow:0 12px 32px #0000003b}.loading-kicker{text-transform:uppercase;letter-spacing:.08em;color:#ddedfff2;margin:0;font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:800}.loading-title{color:#fff;text-shadow:0 10px 26px #0000004d;justify-content:center;align-items:center;gap:.35em;margin:8px 0 0;font-family:ui-serif,Georgia,serif;font-size:clamp(2rem,7vw,3.8rem);line-height:1;display:flex}.loading-spinner{border:.09em solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex:none;width:.62em;height:.62em;animation:.8s linear infinite spinner-rotate}.loading-subtext{color:#eaf5ffe6;margin:12px 0 0;font-size:clamp(.98rem,1.9vw,1.25rem);line-height:1.45}.secondary-action{color:#f8fbff;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:#ffffff24;border:1px solid #ffffff57;border-radius:999px;margin-top:16px;padding:10px 18px;font-weight:700}.secondary-action:hover{background:#ffffff3d}.secondary-action:focus-visible{outline-offset:2px;outline:3px solid #90caf9}.forecast-meta{color:#ddedffe6;max-width:min(760px,100%);min-height:1.4em;font-size:.9rem}.info-button{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:900;background:#ffffff24;border:1px solid #ffffff4d;border-radius:999px;place-items:center;width:56px;height:56px;padding:0;transition:transform .18s,box-shadow .18s,background-color .18s;display:grid;position:fixed;box-shadow:0 14px 32px #00000059}.info-button:hover{background:#ffffff3d;transform:translateY(-2px);box-shadow:0 16px 36px #0000006b}.info-button:focus-visible{outline-offset:2px;outline:3px solid #90caf9}.info-glyph{color:#f8fbff;font-family:Georgia,serif;font-size:32px;font-weight:700;line-height:1}.modal-overlay{box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:radial-gradient(circle at 20% 20%,#536dfe33,#0000 40%),radial-gradient(circle at 80% 80%,#26c6da33,#0000 42%),#10141abd;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-backdrop-action{cursor:default;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.modal-content{color:#1d232f;text-align:left;background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #8fa5c259;border-radius:16px;width:min(820px,100%);max-height:min(90vh,920px);padding:28px 26px 24px;animation:.18s ease-out modal-enter;position:relative;overflow-y:auto;box-shadow:0 28px 72px #00000059}.modal-content h1{letter-spacing:.01em;margin:0;font-size:clamp(1.45rem,2.2vw,2rem)}.modal-content h1+.impressum{margin-top:18px}.impressum p{color:#2c3444;overflow-wrap:anywhere;margin:10px 0;line-height:1.55}.impressum a{color:#0c63cf;text-underline-offset:3px}.impressum a:hover{color:#094b9d}.legal-links{flex-wrap:wrap;gap:10px 18px;margin-top:18px;display:flex}.modal-close{color:#243145;cursor:pointer;background:#f4f7fb;border:1px solid #8fa5c280;border-radius:10px;width:40px;height:40px;font-size:28px;line-height:1;transition:background-color .15s,transform .15s;position:absolute;top:12px;right:12px}.modal-close:hover{background:#e7edf7;transform:translateY(-1px)}.modal-close:focus-visible{outline-offset:1px;outline:3px solid #90caf9}@keyframes modal-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rain-far{0%{transform:translateY(-18%)}to{transform:translateY(18%)}}@keyframes rain-near{0%{transform:translateY(-22%)}to{transform:translateY(22%)}}@keyframes rain-gust-far{0%,to{opacity:.18}42%{opacity:.27}68%{opacity:.22}}@keyframes rain-gust-near{0%,to{opacity:.22}36%{opacity:.32}72%{opacity:.27}}@keyframes spinner-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.App:before,.App:after,.loading-spinner,.modal-content{animation:none}.rain-canvas{display:none}*,:before,:after{scroll-behavior:auto;transition-duration:.01ms}}@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);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:14px;padding:18px 14px 14px}.modal-close{top:10px;right:10px}}html,body,#root{background:#0f1524;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{-webkit-tap-highlight-color:transparent}
