.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}.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-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;max-width:100%;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-panel-error{max-width:min(760px,100% - 28px)}.loading-title{color:#fff;text-shadow:0 10px 26px #0000004d;justify-content:center;align-items:center;gap:.35em;margin: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:0;font-size:clamp(.98rem,1.9vw,1.25rem);line-height:1.45}.location-permission-help{color:#e2f1ffd1;max-width:38rem;margin:14px auto 0;font-size:clamp(.9rem,1.7vw,1.08rem);line-height:1.5}.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:disabled{cursor:wait;opacity:.62}.secondary-action:disabled:hover{background:#ffffff24}.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}.corner-button{right:max(16px, env(safe-area-inset-right));-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{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 68px)}.sound-button{bottom:max(16px, env(safe-area-inset-bottom))}.corner-button:hover{background:#ffffff3d;transform:translateY(-2px);box-shadow:0 16px 36px #0000006b}.corner-button:focus-visible{outline-offset:2px;outline:3px solid #90caf9}.sound-button[aria-pressed=true]{background:#7ec3eb57;border-color:#b9e6ffb8}.info-glyph{color:#f8fbff;font-family:Georgia,serif;font-size:32px;font-weight:700;line-height:1}.sound-glyph{color:#f8fbff;font-size:30px;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}.info-modal{background:radial-gradient(circle at 12% 0,#6dbee724,#0000 16rem),linear-gradient(#fff 0%,#f8fbfd 100%);border-color:#b4cde180;width:min(620px,100%);padding:0;overflow:hidden}.info-modal-header{border-bottom:1px solid #e0e8ef;justify-content:space-between;align-items:center;gap:16px;min-height:86px;padding:18px 18px 16px 22px;display:flex}.info-modal-brand{align-items:center;gap:12px;min-width:0;display:flex}.info-modal-mark{color:#fff;background:linear-gradient(145deg,#245b7d,#153d59);border:1px solid #689dbe8c;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:1.7rem;font-weight:700;line-height:1;display:grid;box-shadow:0 7px 18px #153d5933}.info-modal-header h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.info-modal-actions{flex:none;align-items:center;gap:8px;display:flex}.info-modal-body{padding:18px 22px 22px}.impressum .idea-note{color:#687487;margin:0;font-size:.88rem}.impressum .recommendation-card{color:#354356;background:#eef6fbd1;border:1px solid #d9e6ef;border-radius:14px;margin:16px 0 0;padding:15px 16px}.legal-page-modal{flex-direction:column;width:min(960px,100%);height:min(90dvh,920px);padding:0;display:flex;overflow:hidden}.legal-modal-toolbar{background:#fff;border-bottom:1px solid #dce6ef;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:8px 12px;display:flex}.legal-modal-back,.legal-modal-tabs button{color:#173f5b;min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:10px;font-weight:700}.legal-modal-back{background:0 0;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.back-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none;width:20px;height:20px;display:block}.legal-modal-tabs{gap:6px;display:flex}.legal-modal-tabs button,.language-switch button{background:#eef4f8;padding:0 12px}.legal-modal-tabs button[aria-pressed=true],.language-switch button[aria-pressed=true]{color:#fff;background:#173f5b}.legal-modal-back:focus-visible,.legal-modal-tabs button:focus-visible,.language-switch button:focus-visible{outline-offset:2px;outline:3px solid #62b5e5}.language-switch{background:#eef4f8;border:0;border-radius:12px;gap:2px;min-width:0;margin:0;padding:3px;display:inline-flex}.language-switch button{color:#173f5b;min-width:42px;min-height:36px;font:inherit;cursor:pointer;border:0;border-radius:9px;padding:0 8px;font-size:.82rem;font-weight:800}.legal-frame{background:#fff;border:0;flex:1;width:100%;min-height:0}.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;margin-top:18px;display:flex}.legal-links button{color:#173f5b;min-height:46px;font:inherit;cursor:pointer;background:#eef4f8;border:1px solid #bfd0df;border-radius:12px;padding:10px 18px;font-weight:750;transition:background-color .15s,border-color .15s,transform .15s}.legal-links button:first-child{color:#fff;background:#173f5b;border-color:#173f5b}.legal-links button:hover{background:#dfeaf2;border-color:#7fa5c1;transform:translateY(-1px)}.legal-links button:first-child:hover{background:#245b7d;border-color:#245b7d}.legal-links button:focus-visible{outline-offset:2px;outline:3px solid #62b5e5}.legal-links button:active{transform:translateY(0)}.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 spinner-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.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}.info-modal{padding:0}.info-modal-header{gap:10px;min-height:76px;padding:14px}.info-modal-brand{gap:9px}.info-modal-mark{display:none}.info-modal-header h1{font-size:clamp(1.2rem,5.5vw,1.45rem)}.info-modal-actions{gap:6px}.info-modal .language-switch button{min-width:38px}.info-modal-body{padding:16px 14px 18px}.legal-page-modal{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);padding:0}.legal-modal-toolbar{flex-wrap:wrap;min-height:58px;padding:7px 8px}.legal-modal-back{order:1}.legal-modal-toolbar>.language-switch{order:2;margin-left:auto}.legal-modal-tabs{order:3;justify-content:center;width:100%}.legal-modal-tabs button{padding:0 9px;font-size:.88rem}.legal-links button{flex:1}.modal-close{top:10px;right:10px}}.info-modal .modal-close{flex:none;position:static}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}
