- dev/betrieb/deploy.sh: Deploy nur per Tag, mit --seed (Seeder im Wartungsmodus) und --initial (Vorschau/Live einmalig an Ort und Stelle auf Git umstellen) - dev/betrieb/vorschau-auffrischen.sh: Live-DB und Live-Medien in die Vorschau (Generalprobe) - InteriorReleaseSeeder: alle Inhaltsschritte des Relaunchs in einem Lauf, idempotent; Displays, Playlists und Mediathek bleiben unberührt - DisplayInteriorBrandingSeeder überschreibt keinen inzwischen gepflegten Claim mehr - Monitoring: GlitchTip (Server + Browser), /health mit Token, Scheduler-Herzschlag, Alarme per Mail und ntfy, Version in about und /health - public/build versioniert; .gitignore: macOS-Muster Icon traf resources/views/flux/icon/ - Runbook: dev/betrieb/README.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 line
19 KiB
CSS
1 line
19 KiB
CSS
@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/fonts/inter/inter-v20-latin-300.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/fonts/inter/inter-v20-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/fonts/inter/inter-v20-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/fonts/inter/inter-v20-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/fonts/inter/inter-v20-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-v23-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-v23-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:600;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-v23-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-v23-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Merriweather;font-style:normal;font-weight:300;src:url(/fonts/merriweather/merriweather-v33-latin-300.woff2) format("woff2")}@font-face{font-display:swap;font-family:Merriweather;font-style:normal;font-weight:400;src:url(/fonts/merriweather/merriweather-v33-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Merriweather;font-style:normal;font-weight:700;src:url(/fonts/merriweather/merriweather-v33-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Ephesis;font-style:normal;font-weight:400;src:url(/fonts/ephesis/ephesis-v11-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:EB Garamond;font-style:normal;font-weight:400;src:url(/fonts/eb-garamond/eb-garamond-v32-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:EB Garamond;font-style:normal;font-weight:500;src:url(/fonts/eb-garamond/eb-garamond-v32-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:EB Garamond;font-style:normal;font-weight:600;src:url(/fonts/eb-garamond/eb-garamond-v32-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:EB Garamond;font-style:normal;font-weight:700;src:url(/fonts/eb-garamond/eb-garamond-v32-latin-700.woff2) format("woff2")}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-primary, "Inter"),system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,a,[role=button],input[type=submit],input[type=button],input[type=reset],summary{cursor:pointer}.clickable{cursor:pointer}h1,h2,h3,h4,h5,h6{font-weight:500;letter-spacing:-.025em;font-family:var(--font-secondary, "Inter"),var(--font-primary, "Inter"),system-ui,-apple-system,sans-serif}.text-hero{font-size:clamp(2.6rem,3.5vw,3.6rem);line-height:1.1;font-weight:300;letter-spacing:-.025em}.text-hero-alt{font-size:clamp(2rem,3vw,3rem);line-height:1.1;font-weight:300;letter-spacing:-.025em}.text-section-title{font-size:clamp(1.6rem,3vw,3rem);line-height:1.3em;font-weight:300;letter-spacing:-.025em}.text-large{font-size:clamp(1.1rem,2vw,1.2rem);line-height:1.625}.border-t{border-top-width:1px!important}.border-b{border-bottom-width:1px!important}.border-l{border-left-width:1px!important}.border-r{border-right-width:1px!important}.border{border-width:1px!important}.btn-primary{background-color:hsl(var(--primary));background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--primary-light)))!important;color:hsl(var(--primary-foreground));padding:.75rem 2rem;border-radius:.5rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a;display:inline-block;text-decoration:none;cursor:pointer}.btn-primary:hover{background-color:hsl(var(--primary-dark));background:linear-gradient(145deg,hsl(var(--primary-light)),hsl(var(--primary)))!important;box-shadow:0 10px 15px -3px #0000001a}.btn-primary-accent{background-color:hsl(var(--primary));background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--primary-light)))!important;color:hsl(var(--primary-foreground));border:1px solid hsl(var(--border));padding:.75rem 2rem;border-radius:.5rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a;display:inline-block;text-decoration:none;cursor:pointer}.btn-primary-accent:hover{background-color:hsl(var(--accent));background:linear-gradient(145deg,hsl(var(--primary-light)),hsl(var(--primary)))!important;box-shadow:0 10px 15px -3px #0000001a}.btn-secondary{background-color:hsl(var(--secondary));background:linear-gradient(145deg,hsl(var(--secondary)),hsl(var(--secondary-dark)))!important;color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));padding:.75rem 2rem;border-radius:.5rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a;display:inline-block;text-decoration:none;cursor:pointer}.btn-secondary:hover{background-color:hsl(var(--secondary-dark));background:linear-gradient(145deg,hsl(var(--secondary-dark)),hsl(var(--secondary)))!important;box-shadow:0 10px 15px -3px #0000001a}.btn-secondary-accent{background-color:hsl(var(--secondary));background:linear-gradient(145deg,hsl(var(--secondary)),hsl(var(--secondary-dark)))!important;color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));padding:.75rem 2rem;border-radius:.5rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;text-decoration:none;cursor:pointer}.btn-secondary-accent:hover{background-color:hsl(var(--accent));background:linear-gradient(145deg,hsl(var(--secondary-dark)),hsl(var(--secondary)))!important}.btn-secondary-accent.small{padding:.75rem 1.25rem;font-size:.95rem}.btn-accent{background-color:hsl(var(--accent));background:linear-gradient(145deg,hsl(var(--accent)),hsl(var(--accent-dark)))!important;color:hsl(var(--accent-foreground));padding:.75rem 2rem;border-radius:.5rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a;display:inline-block;text-decoration:none;cursor:pointer}.btn-accent:hover{background:linear-gradient(145deg,hsl(var(--accent-dark)),hsl(var(--accent)))!important;color:hsl(var(--accent-foreground));box-shadow:var(--shadow-accent-glow)}.form-field{display:block;width:100%;padding:.65rem .9rem;font-size:.95rem;line-height:1.5;color:hsl(var(--foreground));background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.6rem;box-shadow:inset 0 1px 2px hsl(var(--foreground) / .04);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-field::placeholder{color:hsl(var(--muted-foreground) / .7)}.form-field:hover{border-color:hsl(var(--primary) / .45)}.form-field:focus,.form-field:focus-visible{outline:none;border-color:hsl(var(--secondary));box-shadow:0 0 0 3px hsl(var(--secondary) / .22);background-color:hsl(var(--background))}.form-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.6rem;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%237a6c62' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 8l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;background-size:1.1rem 1.1rem}.form-select optgroup{font-weight:600;font-style:normal;color:hsl(var(--primary))}.form-select option{font-weight:400;color:hsl(var(--foreground))}.card-elevated{background-color:hsl(var(--card));border-radius:1rem;box-shadow:var(--shadow-card);border:1px solid hsl(var(--border) / .5)}.section-padding{padding-top:4rem;padding-bottom:4rem}@media (min-width: 1024px){.section-padding{padding-top:6rem;padding-bottom:6rem}}.section-dark{background-color:hsl(var(--dark-bg));color:hsl(var(--dark-text))}.cta-band{--cta-band-gradient: linear-gradient( 100deg, hsl(var(--primary-dark)) 0%, hsl(var(--primary)) 42%, hsl(var(--cta-band-end, var(--secondary-dark))) 100% );position:relative;overflow:hidden;background:var(--cta-band-gradient)}.cta-band:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,hsl(var(--cta-band-line, 0 0% 100%) / .6) 50%,transparent 100%)}.cta-band .text-primary{color:hsl(var(--secondary))}section.bg-secondary .text-secondary{color:hsl(var(--primary))}.cta-band:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(165deg,hsl(0 0% 100% / .07) 0%,transparent 48%)}.section-footer{background-color:hsl(var(--footer-bg, var(--dark-bg)));color:hsl(var(--footer-fg, var(--dark-text)))}.text-footer-muted{color:hsl(var(--footer-muted, var(--dark-muted)))}.border-footer-line\/30{border-color:hsl(var(--footer-line, var(--dark-muted)) / .3)}.text-clay{color:hsl(var(--clay, var(--muted-foreground)))}.hover-bg-primary-light:hover{background-color:hsl(var(--primary-light))}.container-padding{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container-padding{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.container-padding{padding-left:2rem;padding-right:2rem}}.container-narrow{max-width:56rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container-narrow{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.container-narrow{padding-left:2rem;padding-right:2rem}}.spacing-section>*+*{margin-top:2rem}.spacing-content>*+*{margin-top:1.5rem}.spacing-small>*+*{margin-top:1rem}.bg-background{background-color:hsl(var(--background))}.text-foreground{color:hsl(var(--foreground))}.bg-card{background-color:hsl(var(--card))}.text-card-foreground{color:hsl(var(--card-foreground))}.border-border{border-color:hsl(var(--border))}.bg-secondary{background:linear-gradient(180deg,hsl(var(--secondary)),hsl(var(--secondary),.4));position:relative}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.bg-accent{background-color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-secondary\/10{background-color:hsl(var(--secondary) / .1)}.bg-secondary\/15{background-color:hsl(var(--secondary) / .15)}.bg-secondary\/20{background-color:hsl(var(--secondary) / .2)}.bg-card\/95{background-color:hsl(var(--card) / .95)}.border-border\/50{border-color:hsl(var(--border) / .5)}.text-dark-muted{color:hsl(var(--dark-muted))}.border-dark-muted\/30{border-color:hsl(var(--dark-muted) / .3)}.text-dark-text{color:hsl(var(--dark-text))}.bg-dark-bg{background-color:hsl(var(--dark-bg))}.bg-hero-container{background-color:hsl(var(--hero-container))}.shadow-elevated{box-shadow:var(--shadow-elevated)}.shadow-card{box-shadow:var(--shadow-card)}.shadow-accent-glow{box-shadow:var(--shadow-accent-glow)}.text-primary{color:hsl(var(--primary))}.text-secondary{color:hsl(var(--secondary))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.border-primary{border-color:hsl(var(--primary))}.border-secondary{border-color:hsl(var(--secondary))}.hover-text-secondary:hover{color:hsl(var(--secondary))}.hover-text-primary:hover{color:hsl(var(--primary))}.hover-bg-primary:hover{background-color:hsl(var(--primary))}.hover-bg-secondary:hover{background-color:hsl(var(--secondary))}.hover-border-secondary:hover{border-color:hsl(var(--secondary))}.hover-shadow-accent-glow:hover{box-shadow:var(--shadow-accent-glow)}.topbar-normal{background-color:hsl(var(--muted))}.header-sticky{position:fixed;top:0;left:0;right:0;z-index:50;background-color:hsl(var(--background) / .8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border));transition:all .3s ease-in-out}.header-normal{position:relative;transition:all .3s ease-in-out;border-bottom:1px solid hsl(var(--border)/.3)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.border-border\/30{border-color:hsl(var(--border) / .3)}.font-secondary{font-family:var(--font-secondary, "Inter"),var(--font-primary, "Inter"),system-ui,-apple-system,sans-serif}.scroll-animate{opacity:0;will-change:opacity,transform;transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.scroll-animate.is-visible{opacity:1}.fade-in{opacity:0;will-change:opacity;transition:opacity .8s cubic-bezier(.25,.46,.45,.94)}.fade-in.is-visible{opacity:1}.slide-up{opacity:0;transform:translateY(30px);will-change:opacity,transform;transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.slide-up.is-visible{opacity:1;transform:translateY(0)}.slide-down{opacity:0;transform:translateY(-30px);will-change:opacity,transform;transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.slide-down.is-visible{opacity:1;transform:translateY(0)}.slide-right{opacity:0;transform:translate(-30px);will-change:opacity,transform;transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.slide-right.is-visible{opacity:1;transform:translate(0)}.slide-left{opacity:0;transform:translate(30px);will-change:opacity,transform;transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.slide-left.is-visible{opacity:1;transform:translate(0)}.scale-in{opacity:0;transform:scale(.97);will-change:opacity,transform;transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.scale-in.is-visible{opacity:1;transform:scale(1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-600{transition-delay:.6s}.delay-700{transition-delay:.7s}.delay-800{transition-delay:.8s}.delay-900{transition-delay:.9s}.delay-1000{transition-delay:1s}@media (prefers-reduced-motion: reduce){.scroll-animate,.fade-in,.slide-up,.slide-right,.slide-left,.scale-in{transition:none!important;opacity:1!important;transform:none!important}}.shadow-elegant{box-shadow:0 10px 30px -10px hsl(var(--secondary) / .2)}.shadow-elegant-white{box-shadow:0 10px 30px -10px #fff3}.shadow-white{box-shadow:0 10px 30px -10px #fff6}.elegant-shadow-card{box-shadow:0 2px 8px -2px #00000014,0 4px 10px hsl(var(--secondary))}.shadow-premium{box-shadow:0 20px 60px -15px hsl(var(--secondary) / .3)}.glow-soft{box-shadow:0 0 10px hsl(var(--secondary) / .15),0 0 20px hsl(var(--secondary) / .1),0 4px 10px -4px hsl(var(--secondary) / .2)}.glow-medium{box-shadow:0 0 15px hsl(var(--secondary) / .25),0 0 30px hsl(var(--secondary) / .15),0 5px 10px -5px hsl(var(--secondary) / .3)}.glow-strong{box-shadow:0 0 30px hsl(var(--secondary) / .35),0 0 60px hsl(var(--secondary) / .2),0 0 90px hsl(var(--secondary-dark) / .1),0 10px 10px -10px hsl(var(--secondary) / .4)}.icon-secondary-linear{background-color:hsl(var(--secondary) / .1);background:linear-gradient(135deg,hsl(var(--secondary)),hsl(var(--secondary-dark)));color:hsl(var(--secondary-foreground))!important;position:relative}.variante-glass-flow{scroll-behavior:smooth}.variante-glass-flow *{will-change:auto}.variante-glass-flow section,.variante-glass-flow .section-container{background:linear-gradient(135deg,hsl(var(--background)),hsl(var(--background)/90%));position:relative}.variante-glass-flow section.cta-band{background:var(--cta-band-gradient);position:relative}.variante-glass-flow section.bg-accent{background:linear-gradient(135deg,hsl(var(--accent) /.5),hsl(var(--accent-dark) / .5));position:relative}.variante-glass-flow section.bg-secondary{background:linear-gradient(135deg,hsl(var(--secondary)),hsl(var(--secondary-dark)));position:relative}.variante-glass-flow div.bg-hero-container{border:1px solid rgba(255,255,255,.9);background:linear-gradient(135deg,hsl(var(--hero-container)),hsl(var(--hero-container-dark)));box-shadow:#0000001a 0 10px 20px 5px;position:relative}.variante-glass-flow .card,.variante-glass-flow [class*=card],.variante-glass-flow .bg-card{background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--card)) 40%,hsl(var(--card) / .92));box-shadow:0 0 0 1px #00000008,0 1px 1px #00000005,0 2px 3px #00000006,0 4px 6px #00000008,0 8px 12px #0000000a,0 12px 20px #0000000b,inset 0 1px 2px #fffc,inset 0 -1px 1px #00000005;border:1px solid rgba(255,255,255,.9);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.34,1.56,.64,1),filter .3s ease;position:relative}.variante-glass-flow .card:hover,.variante-glass-flow [class*=card]:hover{box-shadow:0 0 0 1px #0000000a,0 2px 4px #00000008,0 4px 8px #0000000a,0 8px 16px #0000000d,0 16px 24px #00000012,0 24px 40px #00000014,0 32px 64px #0000000f,inset 0 1px 3px #ffffffe6,inset 0 -1px 2px #00000008;transform:translateY(-2px) scale(1.005);filter:brightness(1.01)}.variante-glass-flow .btn,.variante-glass-flow button,.variante-glass-flow .btn-secondary,.variante-glass-flow a[class*=btn],.variante-glass-flow [role=button]{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 1px 2px #0000000d,0 2px 4px #0000000f,0 4px 8px #00000012,0 8px 16px #0000000d;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),filter .2s ease}.variante-glass-flow .btn:hover,.variante-glass-flow button:hover,.variante-glass-flow .btn-secondary:hover,.variante-glass-flow a[class*=btn]:hover,.variante-glass-flow [role=button]:hover{box-shadow:0 2px 4px #0000000f,0 4px 8px #00000014,0 8px 16px #0000001a,0 16px 32px #00000014,0 0 40px hsl(var(--secondary) / .3);transform:translateY(-2px);filter:brightness(1.08)}.variante-glass-flow .sidebar-nav button,.variante-glass-flow .sidebar-nav button:hover{box-shadow:none;transform:none;filter:none;overflow:visible;isolation:auto;transition:none}.origin-map{width:100%;height:auto;font-family:inherit;overflow:visible}.origin-map-region{fill:hsl(var(--secondary) / .06);stroke:hsl(var(--secondary) / .45);stroke-width:1.5;stroke-dasharray:4 6}.origin-map-region-label{fill:hsl(var(--secondary-deep, var(--secondary)));font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.origin-map-spoke{stroke:hsl(var(--secondary));stroke-width:2;stroke-dasharray:6 6;opacity:.7}.origin-map-hub{fill:hsl(var(--secondary))}.origin-map-hub-ring{fill:hsl(var(--secondary) / .18)}.origin-map-dot{fill:hsl(var(--primary));stroke:hsl(var(--card));stroke-width:3}.origin-map-label{fill:hsl(var(--foreground));font-size:15px;font-weight:500}.origin-map-sublabel{fill:hsl(var(--muted-foreground));font-size:12px}.origin-map-distance{fill:hsl(var(--muted-foreground));font-size:11px;text-anchor:middle;stroke:hsl(var(--card));stroke-width:5px;paint-order:stroke}
|