:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#090b10;--surface:#11151d;--surface-2:#171c26;--text:#f5f7fb;--muted:#9aa4b2;--line:#272e3a;--accent:#ff5a36;--accent-2:#ff7a3d;--shadow:0 24px 70px rgba(0,0,0,.28);--radius:22px}html[data-theme="light"]{color-scheme:light;--bg:#f3f5f8;--surface:#fff;--surface-2:#eef1f5;--text:#171a20;--muted:#667085;--line:#dde2e9;--shadow:0 20px 55px rgba(29,39,55,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% -10%,rgba(255,90,54,.13),transparent 32%);z-index:-1}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:.55rem}h2{font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.035em}h3{font-size:1.25rem;margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--accent)}.muted{color:var(--muted)}button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;padding:12px 18px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s,opacity .18s,box-shadow .18s}button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(255,90,54,.2)}.secondary{background:var(--surface-2);color:var(--text);box-shadow:none}.icon-button{width:44px;height:44px;padding:0;border-radius:50%;font-size:1.25rem}.center{display:grid;place-items:center;padding:24px}.landing{min-height:100vh}.panel{background:color-mix(in srgb,var(--surface) 95%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.narrow{width:min(100%,500px)}.welcome{text-align:center;padding:clamp(30px,7vw,58px)}.welcome .muted{font-size:1.06rem;line-height:1.7;margin-bottom:28px}.brand-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 18px;background:linear-gradient(135deg,var(--accent),#ff9b45);color:#fff;font-weight:950;font-size:1.6rem;box-shadow:0 13px 34px rgba(255,90,54,.28)}.brand-mark.small{width:46px;height:46px;border-radius:14px;font-size:1.25rem;margin:0;flex:0 0 auto}.floating{position:fixed;right:20px;top:20px;z-index:20;width:44px;height:44px;padding:0;border-radius:50%;background:var(--surface);color:var(--text);border:1px solid var(--line)}form{display:grid;gap:17px}label{display:grid;gap:8px;font-size:.9rem;font-weight:750}input,select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,54,.13)}.error,.success,.warning{padding:13px 15px;border-radius:13px;border:1px solid}.error{background:#421f25;border-color:#71303a}.success{background:#153a2a;border-color:#286047;color:#d9ffeb}.warning{background:#403517;border-color:#6e5b27}.gallery-header,.admin-header{padding:22px clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent);position:sticky;top:0;z-index:10;backdrop-filter:blur(18px)}.gallery-heading{display:flex;gap:15px;align-items:center}.gallery-heading h1{font-size:clamp(1.5rem,3vw,2.3rem);margin:0}.gallery-heading .eyebrow{margin-bottom:5px}.gallery-meta{margin:7px 0 0;color:var(--muted);font-size:.92rem}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3fd47d;margin-right:8px;box-shadow:0 0 0 5px rgba(63,212,125,.12)}.header-actions{display:flex;gap:10px;align-items:center}.gallery-main{padding:clamp(12px,2.5vw,30px);max-width:1800px;margin:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.tile{position:relative;border:0;padding:0;background:var(--surface-2);aspect-ratio:1;overflow:hidden;border-radius:18px;cursor:pointer;box-shadow:none}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.18),transparent 35%);opacity:0;transition:opacity .2s}.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s,filter .32s}.tile:hover{box-shadow:none}.tile:hover img{transform:scale(1.035)}.tile:hover:after{opacity:1}.new{animation:pop .6s cubic-bezier(.2,.8,.2,1)}@keyframes pop{from{opacity:0;transform:scale(.82)}}.empty{text-align:center;padding:80px 20px;color:var(--muted);max-width:620px;margin:60px auto}.empty-icon{font-size:3rem;margin-bottom:12px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);background:var(--text);color:var(--bg);font-weight:800;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:30;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:100vw;height:100vh;max-width:none;max-height:none;border:0;padding:0;background:rgba(3,5,8,.96);overflow:hidden;color:#fff}dialog::backdrop{background:#000}.lightbox-top{position:absolute;left:0;right:0;top:0;z-index:3;padding:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(to bottom,rgba(0,0,0,.65),transparent)}.lightbox-top .close{justify-self:start;background:rgba(20,20,20,.62);color:#fff}.lightbox-top .button{justify-self:end}.lightbox-position{font-weight:800;color:#fff}.nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:50px;height:58px;padding:0;background:rgba(15,15,15,.55);color:#fff;font-size:36px;border-radius:16px}.prev{left:16px}.next{right:16px}#large{width:100%;height:100%;object-fit:contain}.admin-main{padding:clamp(20px,4vw,56px);max-width:1200px;margin:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px}.stat-card span{display:block;color:var(--muted);font-size:.9rem}.stat-card strong{display:block;font-size:2.2rem;letter-spacing:-.04em;margin-top:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{margin-bottom:0}.section-heading p{margin-bottom:0}.admin-list{display:grid;gap:40px}.gallery-card{padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 72%,var(--accent) 28%);box-shadow:0 20px 52px rgba(0,0,0,.18)}.gallery-card form{gap:0}.gallery-card+.gallery-card{margin-top:4px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 88%,var(--accent) 12%),var(--surface))}.card-head h3{font-size:1.38rem}.card-head:before{content:"";width:5px;align-self:stretch;min-height:48px;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-2));flex:0 0 auto}.card-head>div:first-of-type{flex:1}.status-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}.status{padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.status.active{background:rgba(63,212,125,.13);color:#44db82}.status.inactive{background:var(--surface-2);color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px}.form-grid .full{grid-column:1/-1}.link-box{display:flex;align-items:center;gap:10px;margin:0 24px 24px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden}.link-box a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:var(--muted);font-size:.9rem}.link-box button{padding:9px 13px;white-space:nowrap}.card-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;background:var(--surface-2);border-top:1px solid var(--line)}.switch{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:10px;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px}.switch span{width:44px;height:24px;border-radius:999px;background:var(--line);position:relative;transition:.2s}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translateX(20px)}.switch em{font-style:normal;color:var(--muted);font-size:.86rem}.version{font-size:.68rem;opacity:.75}.flash{margin-bottom:22px}
@media(max-width:760px){.gallery-header,.admin-header{position:static;align-items:flex-start}.header-actions{align-self:center}.gallery-header .secondary,.admin-header .secondary{padding:11px 13px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tile{border-radius:11px}.gallery-main{padding:7px}.stats{grid-template-columns:1fr;margin-bottom:34px}.section-heading{align-items:flex-start;flex-direction:column}.card-head,.form-grid{padding:19px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.link-box{margin:0 19px 19px;align-items:stretch;flex-direction:column}.link-box a{white-space:normal;overflow-wrap:anywhere}.link-box button{width:100%}.card-actions{padding:15px 19px;flex-direction:column}.card-actions .button,.card-actions button{width:100%}.nav{width:42px;height:52px;font-size:30px}.prev{left:8px}.next{right:8px}.lightbox-top{grid-template-columns:auto 1fr auto}.lightbox-position{text-align:center}.lightbox-top .button{padding:10px 12px;font-size:.82rem}}
@media(max-width:500px){.gallery-heading .brand-mark{display:none}.gallery-header,.admin-header{padding:17px 14px;gap:12px}.gallery-heading h1{font-size:1.35rem}.gallery-meta{font-size:.8rem}.theme-toggle{display:none}.header-actions{gap:6px}.header-actions .button{font-size:.78rem}.switch em{display:none}}

/* RocketGallery v0.4 */
.event-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(16px,4vw,54px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.mini-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900}.mini-brand span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#ff9b45);color:#fff}.event-hero{min-height:clamp(330px,48vw,650px);position:relative;display:grid;align-items:end;background-image:var(--hero);background-size:cover;background-position:center}.event-hero.no-image{background:linear-gradient(135deg,#242936,#0c0f15)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,6,9,.92) 0%,rgba(5,6,9,.22) 62%,rgba(5,6,9,.1) 100%)}.hero-content{position:relative;z-index:1;padding:clamp(28px,6vw,76px);max-width:1100px;color:#fff}.hero-content h1{font-size:clamp(2.6rem,7vw,6.8rem);max-width:1000px;text-shadow:0 6px 35px rgba(0,0,0,.35)}.hero-subtitle{font-size:clamp(1.05rem,2vw,1.45rem);max-width:720px;line-height:1.55;color:rgba(255,255,255,.86)}.event-date{display:inline-flex;margin:12px 0 0;padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.18);font-weight:800}.premium-main{padding-top:clamp(28px,5vw,58px)}.gallery-summary{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.gallery-summary h2{margin-bottom:0}.live-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.live-stats span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.85rem;color:var(--muted)}.live-stats strong{color:var(--text)}.masonry-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-flow:dense}.photo-card{position:relative;min-width:0}.photo-card:nth-child(7n+1),.photo-card:nth-child(7n+5){grid-row:span 2}.photo-card:nth-child(7n+1) .tile,.photo-card:nth-child(7n+5) .tile{aspect-ratio:1/1.45}.favorite-button{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;padding:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.35rem;box-shadow:none;backdrop-filter:blur(10px)}.favorite-button:hover{box-shadow:none}.favorite-button.active,.lightbox-favorite.active,.favorite-filter.active{color:#ff5d7d}.favorite-filter span{margin-left:4px}.lightbox-actions{justify-self:end;display:flex;gap:9px;align-items:center}.lightbox-favorite{background:rgba(20,20,20,.62);color:#fff}.mobile-download{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:12}.link-stack{display:grid;gap:10px;margin:0 24px 24px}.link-stack .link-box{margin:0}.link-box>div{min-width:0;display:grid;gap:4px;flex:1}.link-box small{color:var(--muted);font-weight:800}.link-box>div a{display:block}
@media(max-width:760px){.event-toolbar{padding:11px 12px}.event-toolbar .desktop-download{display:none}.event-toolbar .favorite-filter{padding:10px 12px;font-size:.78rem}.event-hero{min-height:390px}.hero-content{padding:28px 18px}.gallery-summary{align-items:flex-start;flex-direction:column}.live-stats{justify-content:flex-start}.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.photo-card:nth-child(7n+1),.photo-card:nth-child(7n+5){grid-row:auto}.photo-card:nth-child(7n+1) .tile,.photo-card:nth-child(7n+5) .tile{aspect-ratio:1}.favorite-button{width:34px;height:34px;right:6px;top:6px}.mobile-download{display:flex}.premium-main{padding-bottom:88px}.link-stack{margin:0 19px 19px}.lightbox-actions .button{font-size:.76rem;padding:10px}.lightbox-actions{gap:5px}}
@media(max-width:500px){.mini-brand{font-size:0}.mini-brand span{font-size:1rem}.favorite-filter span{display:inline}.event-toolbar .theme-toggle{display:none}.hero-content h1{font-size:2.75rem}.live-stats span:last-child{width:100%;text-align:center}}

/* RocketGallery v0.5 */
.photo-welcome{position:absolute;left:50%;bottom:26px;z-index:8;transform:translateX(-50%);width:min(760px,calc(100% - 32px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(14,16,22,.86);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.45);backdrop-filter:blur(18px)}.photo-welcome[hidden]{display:none}.photo-welcome-icon{font-size:2rem}.photo-welcome strong,.photo-welcome span{display:block}.photo-welcome strong{font-size:1.1rem;margin-bottom:3px}.photo-welcome div span{color:rgba(255,255,255,.72);font-size:.9rem}.highlight-photo{animation:photoHighlight 1.8s ease}@keyframes photoHighlight{0%,100%{filter:none}25%,70%{filter:drop-shadow(0 0 18px var(--accent));transform:scale(1.025)}}
.slideshow-page{margin:0;background:#050609;color:#fff;overflow:hidden}.slideshow-stage{position:relative;width:100vw;height:100vh;background:#050609}.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.025);transition:opacity 1.2s ease,transform 7s linear}.slide.active{opacity:1;transform:scale(1)}.slideshow-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.52),transparent 24%,transparent 70%,rgba(0,0,0,.62))}.slideshow-header{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:clamp(22px,4vw,52px)}.slideshow-header h1{font-size:clamp(1.7rem,4vw,4rem);margin:0;text-shadow:0 3px 22px rgba(0,0,0,.55)}.slideshow-status{display:flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);font-weight:800}.slideshow-footer{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:22px clamp(22px,4vw,52px)}.slideshow-footer>span{margin-right:auto;color:rgba(255,255,255,.7)}.slideshow-empty{position:absolute;z-index:2;inset:0;display:grid;place-content:center;text-align:center;gap:8px;color:rgba(255,255,255,.72)}.slideshow-empty[hidden]{display:none}.slideshow-empty div{font-size:4rem}.slideshow-empty strong{font-size:1.7rem;color:#fff}.slideshow-empty span{font-size:1rem}
@media(max-width:760px){.photo-welcome{grid-template-columns:auto 1fr;bottom:14px}.photo-welcome .button{grid-column:1/-1;width:100%}.slideshow-header{padding:20px}.slideshow-footer{padding:16px;flex-wrap:wrap}.slideshow-footer>span{width:100%;margin:0;text-align:center}.slideshow-footer .button{flex:1}}

/* RocketGallery v0.6 – Boomerang/MP4 */
.tile video{display:block;width:100%;height:100%;object-fit:cover;background:#08090c}.video-card .tile{position:relative}.video-badge{position:absolute;left:10px;bottom:10px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:.76rem;font-weight:850;letter-spacing:.02em;backdrop-filter:blur(8px)}
.media-stage{position:absolute;inset:70px 70px 24px;display:grid;place-items:center;overflow:hidden}.media-stage img,.media-stage video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.media-stage video{background:#000;border-radius:8px}
.slide-layer{position:absolute;inset:0;opacity:0;transform:scale(1.025);transition:opacity 1.2s ease,transform 7s linear}.slide-layer.active{opacity:1;transform:scale(1)}.slide-layer img,.slide-layer video{width:100%;height:100%;object-fit:contain;background:#050609}
@media(max-width:760px){.media-stage{inset:72px 46px 20px}.video-badge{left:6px;bottom:6px;padding:5px 8px;font-size:.68rem}}

/* v0.6.1: Android/Chrome – Lightbox an den sichtbaren Viewport anpassen */
dialog#lightbox{
  position:fixed;
  left:0;
  top:var(--rg-vv-top,0px);
  width:100vw;
  height:var(--rg-vv-height,100dvh);
  min-height:0;
  margin:0;
}
.lightbox-top{
  padding-top:calc(12px + env(safe-area-inset-top,0px));
  padding-left:calc(16px + env(safe-area-inset-left,0px));
  padding-right:calc(16px + env(safe-area-inset-right,0px));
}
@media(max-width:760px){
  .lightbox-top{
    padding-top:calc(10px + env(safe-area-inset-top,0px));
    padding-left:calc(10px + env(safe-area-inset-left,0px));
    padding-right:calc(10px + env(safe-area-inset-right,0px));
  }
  .lightbox-actions .button{
    max-width:42vw;
    white-space:nowrap;
  }
}

/* RocketGallery v0.6.2 – responsive Boomerang lightbox */
#lightbox.video-active .media-stage{
  inset:78px 64px 28px;
}
#lightbox.video-active.direct-welcome .media-stage{
  bottom:250px;
}
#lightbox.video-active .media-stage video{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:14px;
  background:#000;
}
#lightbox.video-active .photo-welcome-icon::after{content:""}

@media(max-width:760px){
  #lightbox.video-active .media-stage{
    inset:74px 38px calc(18px + env(safe-area-inset-bottom,0px));
    align-items:center;
  }
  #lightbox.video-active.direct-welcome .media-stage{
    bottom:330px;
  }
  #lightbox.video-active .photo-welcome{
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    max-height:300px;
    overflow:auto;
  }
}

/* Landscape phones: use the full width and keep controls inside the visible viewport. */
@media(orientation:landscape) and (max-height:700px){
  .lightbox-top{
    padding-top:calc(6px + env(safe-area-inset-top,0px));
    padding-bottom:6px;
  }
  .lightbox-top .icon-button{width:40px;height:40px}
  .lightbox-top .button{padding:9px 12px;font-size:.78rem}
  .nav{width:42px;height:48px}
  #lightbox .media-stage,
  #lightbox.video-active .media-stage{
    inset:56px 62px calc(8px + env(safe-area-inset-bottom,0px));
  }
  #lightbox.video-active.direct-welcome .media-stage{
    right:min(44vw,470px);
    bottom:calc(8px + env(safe-area-inset-bottom,0px));
  }
  .photo-welcome{
    left:auto;
    right:calc(10px + env(safe-area-inset-right,0px));
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    transform:none;
    width:min(40vw,430px);
    grid-template-columns:auto 1fr;
    gap:10px;
    padding:12px;
    border-radius:16px;
  }
  .photo-welcome .button{
    grid-column:1/-1;
    width:100%;
    padding:10px 12px;
  }
  .photo-welcome-icon{font-size:1.45rem}
  .photo-welcome strong{font-size:.98rem}
  .photo-welcome div span{font-size:.78rem;line-height:1.25}
}

@media(orientation:landscape) and (max-height:480px){
  .photo-welcome div span{display:none}
  #lightbox.video-active.direct-welcome .media-stage{right:min(38vw,360px)}
  .photo-welcome{width:min(35vw,330px)}
}

/* RocketGallery v0.7 – Ablauf und automatische Bereinigung */
.cleanup-panel{margin-bottom:1.5rem}.cleanup-panel code{display:block;overflow-wrap:anywhere;font-size:.86rem}.cleanup-log{margin-top:1rem}.cleanup-log summary,.danger-zone summary{cursor:pointer;font-weight:800}.log-list{display:grid;gap:.65rem;margin-top:.8rem}.log-list>div{display:grid;gap:.15rem;padding:.75rem;border:1px solid var(--border);border-radius:14px}.log-list span,.log-list small{color:var(--muted)}.expiry-note{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0;padding:.85rem 1rem;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))}.danger-zone{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.danger-zone p{color:var(--muted)}.danger-button{background:#b42318!important;border-color:#b42318!important}.danger-button:hover{background:#912018!important}@media(max-width:680px){.expiry-note{display:grid}.cleanup-panel .link-box{align-items:stretch}.cleanup-panel .link-box button{width:100%}}


/* RocketGallery v0.7 – Impressum und Kontakt */
.site-footer{display:flex;justify-content:center;align-items:center;gap:.65rem 1rem;flex-wrap:wrap;padding:1.25rem max(1rem,env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom));font-size:.82rem;color:var(--muted);text-align:center}.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}.event-page>.site-footer{border-top:1px solid var(--border);margin-top:1.5rem}.legal-page{min-height:100dvh;display:flex;flex-direction:column}.legal-main{width:min(760px,calc(100% - 2rem));margin:clamp(2rem,7vw,5rem) auto;flex:1}.legal-card{padding:clamp(1.25rem,4vw,2.5rem)}.legal-card address{font-style:normal;line-height:1.75;margin:1rem 0}.contact-list{display:grid;gap:.55rem;margin:1rem 0 1.5rem}.contact-list a{width:max-content;max-width:100%;overflow-wrap:anywhere}.legal-card h2{margin-top:1.5rem}@media(max-width:680px){.site-footer{display:grid}.legal-main{width:min(100% - 1rem,760px);margin:1rem auto}}

/* RocketGallery v0.8 – Gäste-Upload */
.upload-switch{align-self:end;margin-bottom:.65rem}.upload-result{position:fixed;z-index:60;left:50%;top:82px;transform:translateX(-50%);width:min(92vw,620px);box-shadow:var(--shadow)}.upload-dialog{width:min(92vw,620px);padding:0;border:0;border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 30px 100px #0008}.upload-dialog::backdrop{background:#020617cc;backdrop-filter:blur(8px)}.upload-form{padding:clamp(1.1rem,4vw,2rem)}.upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.upload-head h2{margin:.15rem 0}.upload-drop{display:grid;place-items:center;gap:.45rem;text-align:center;margin:1.25rem 0;padding:2rem 1rem;border:2px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:20px;background:color-mix(in srgb,var(--accent) 7%,transparent);cursor:pointer}.upload-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;font-size:2rem;background:var(--accent);color:#fff}.upload-drop strong{font-size:1.05rem}.upload-drop span:last-of-type{color:var(--muted);font-size:.9rem}.upload-consent{display:flex!important;align-items:flex-start!important;gap:.65rem;margin:1rem 0}.upload-consent input{width:auto!important;margin-top:.2rem}.upload-form>button[type=submit]{width:100%}.upload-form>button:disabled{opacity:.65;cursor:wait}@media(max-width:760px){.upload-open{font-size:0;width:44px;height:44px;padding:0;border-radius:50%}.upload-open::before{content:"＋";font-size:1.35rem}.upload-result{top:68px}.upload-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.upload-form{overflow:auto;max-height:calc(100dvh - 1rem)}}

/* RocketGallery v0.8.1 – iPhone-Toolbar und Upload-Fortschritt */
.upload-progress{display:grid;gap:.55rem;margin:1rem 0}.upload-progress[hidden],.upload-inline-message[hidden]{display:none}.upload-progress-track{height:12px;overflow:hidden;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}.upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--accent),var(--accent-2));transition:width .16s ease}.upload-progress strong{font-size:.86rem;color:var(--muted);text-align:center}.upload-inline-message{margin:1rem 0}
@media(max-width:760px){
  .event-toolbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:10px}
  .event-toolbar .header-actions{display:grid;grid-template-columns:44px auto;gap:8px;flex:0 0 auto;align-items:center}
  .event-toolbar .upload-open{grid-column:1;grid-row:1}
  .event-toolbar .favorite-filter{grid-column:2;grid-row:1;min-width:118px;white-space:nowrap}
  .event-toolbar .theme-toggle,.event-toolbar .desktop-download{display:none}
}
@media(max-width:390px){
  .event-toolbar{align-items:flex-start}
  .event-toolbar .header-actions{grid-template-columns:44px 44px}
  .event-toolbar .favorite-filter{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;font-size:0}
  .event-toolbar .favorite-filter::before{content:"♡";font-size:1.35rem}
  .event-toolbar .favorite-filter.active::before{content:"♥"}
  .event-toolbar .favorite-filter span{position:absolute;transform:translate(13px,-13px);display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:.65rem}
}


/* RocketGallery v0.8.2 – robuste mobile Toolbar */
.event-toolbar .header-actions{min-width:0}
.event-toolbar .upload-open,.event-toolbar .favorite-filter{position:relative;flex-shrink:0}
.event-toolbar .action-icon{display:inline-block;line-height:1}
@media(max-width:900px){
  .event-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;overflow:visible}
  .event-toolbar .mini-brand{flex:0 0 auto;min-width:0}
  .event-toolbar .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important;grid-template-columns:none!important}
  .event-toolbar .upload-open,.event-toolbar .favorite-filter{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;
    padding:0!important;border-radius:50%!important;font-size:0!important;line-height:1!important;
    white-space:nowrap!important;overflow:visible!important
  }
  .event-toolbar .upload-open::before,.event-toolbar .favorite-filter::before{content:none!important}
  .event-toolbar .action-label{display:none!important}
  .event-toolbar .action-icon{display:block!important;font-size:1.45rem!important;line-height:1!important}
  .event-toolbar .favorite-filter .favorite-icon{font-size:1.35rem!important}
  .event-toolbar .favorite-filter.active .favorite-icon{font-size:0!important}
  .event-toolbar .favorite-filter.active .favorite-icon::after{content:"♥";font-size:1.35rem}
  .event-toolbar #favorite-count{
    position:absolute!important;right:-3px!important;top:-4px!important;transform:none!important;
    display:grid!important;place-items:center!important;min-width:18px!important;height:18px!important;
    padding:0 4px!important;border-radius:999px!important;background:var(--accent)!important;
    color:#fff!important;font-size:.65rem!important;line-height:1!important
  }
  .event-toolbar .theme-toggle{display:none!important}
}
@media(max-width:420px){
  .event-toolbar .mini-brand{font-size:0!important}
  .event-toolbar .mini-brand span{font-size:1rem!important}
}

/* RocketGallery 1.0: lightweight Boomerang tiles (video loads only when opened) */
.video-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 230px;
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.13), transparent 35%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(0,0,0,.28));
}
.video-play {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 25px;
  padding-left: 4px;
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  backdrop-filter: blur(8px);
}

/* v1.0.1: responsive lightbox switching */
#media-stage, #large { touch-action: pan-y; }
#large { transition: filter .12s ease, opacity .12s ease; }
#large.is-loading { filter: blur(1.5px); opacity:.94; }

/* v1.0.3: vollständig randlose Fotokacheln */
.photo-card,.photo-card .tile,.photo-card .tile img{margin:0!important;border:0!important;outline:0!important;box-shadow:none!important;}
.photo-card .tile{display:block!important;width:100%;background:transparent!important;-webkit-appearance:none;appearance:none;}
.photo-card .tile img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;background:transparent!important;}

/* v1.0.4: Fotos im Smartphone-Querformat optisch mittig ausrichten */
@media (orientation:landscape) and (max-height:700px){
  #lightbox:not(.video-active) .media-stage{
    top:56px;
    right:62px;
    bottom:56px;
    left:62px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  #lightbox:not(.video-active) .media-stage img{
    margin:auto;
    max-width:100%;
    max-height:100%;
  }
  #lightbox:not(.video-active) .nav{
    top:50%;
  }
}

/* RocketGallery 1.1: zentrale Veranstaltungs-PIN */
.pin-landing .event-pin-form{margin-top:1.5rem}.event-pin-form input{font-size:1.55rem;text-align:center;letter-spacing:.18em;font-weight:700}.landing-hint{font-size:.85rem;opacity:.7;margin-top:1rem}.pin-input-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center}.pin-input-row .generate-pin{height:100%;white-space:nowrap;padding-inline:.8rem}@media(max-width:560px){.pin-input-row{grid-template-columns:1fr}.pin-input-row .generate-pin{width:100%}}

.cleanup-now-form{margin-top:.8rem}.cleanup-now-form button{width:auto}

/* RocketGallery 1.2 */
.event-page{--accent:var(--event-accent,#8b5cf6)}
.event-page .button:not(.secondary),.event-page .live-dot,.event-page .upload-progress-track span{background:var(--event-accent,#8b5cf6)}
.event-page .favorite-button.active,.event-page .lightbox-favorite.active{color:var(--event-accent,#8b5cf6)}
.admin-search{margin:0 0 1.25rem;padding:1rem 1.1rem}
.admin-search label{margin:0}
.event-mini-stats{display:flex;flex-wrap:wrap;gap:.55rem;margin:.2rem 0 1rem}
.event-mini-stats span{padding:.45rem .7rem;border:1px solid var(--border);border-radius:999px;font-size:.84rem;color:var(--muted)}
.event-mini-stats strong{color:var(--text)}
.gallery-card[hidden]{display:none!important}
input[type=color]{min-height:46px;padding:.25rem;cursor:pointer}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;margin:22px 0}.analytics-panel,.system-panel,.top-favorites{margin-bottom:22px}.activity-chart{height:190px;display:flex;align-items:flex-end;gap:8px;padding:18px 6px 0;border-bottom:1px solid var(--line)}.activity-day{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.activity-bar{display:block;width:min(100%,30px);min-height:3px;border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,var(--accent),var(--accent-2));transition:height .25s}.activity-day small{font-size:.66rem;color:var(--muted);white-space:nowrap}.chart-legend{padding-top:12px;color:var(--muted);font-size:.85rem}.system-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.system-list span{display:flex;flex-direction:column;padding:16px;border-radius:15px;background:var(--surface-2);color:var(--muted);font-size:.82rem}.system-list strong{font-size:1.18rem;color:var(--text);margin-bottom:4px}.favorite-ranking{display:grid;gap:10px}.favorite-rank{display:grid;grid-template-columns:42px 64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-radius:15px;background:var(--surface-2)}.favorite-rank>strong{font-size:1.05rem;color:var(--accent)}.favorite-rank img{width:64px;height:48px;object-fit:cover;border-radius:9px;background:var(--bg)}.favorite-rank span{display:flex;flex-direction:column;min-width:0}.favorite-rank b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-rank small{color:var(--muted)}.favorite-rank em{font-style:normal;font-weight:850;color:var(--accent)}@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.activity-chart{gap:4px}.activity-day small{font-size:.58rem}.favorite-rank{grid-template-columns:34px 54px minmax(0,1fr) auto}.favorite-rank img{width:54px;height:44px}}

/* v1.3 Social preview */
.social-preview{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:18px;align-items:center;margin:22px 0;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}
.social-preview>p{grid-column:1/-1;margin:0}.social-preview img{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.social-preview div{display:grid;gap:7px}.social-preview strong{font-size:1.15rem}.social-preview span,.social-preview small{color:var(--muted)}
@media(max-width:720px){.social-preview{grid-template-columns:1fr}}


/* v1.4 Event Intelligence */
.event-live-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 auto 22px;max-width:1500px;padding:10px 14px;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}
.event-live-strip span,.event-live-strip a{padding:8px 12px;border-radius:999px;background:var(--soft);font-size:.92rem;text-decoration:none}.event-live-strip b{margin-right:5px}.event-live-strip a{margin-left:auto;color:var(--event-accent,var(--accent));font-weight:700}
.stat-card.live strong{position:relative}.stat-card.live strong:before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.14)}
.customer-dashboard{max-width:1500px}.event-timeline{display:grid;gap:8px;max-height:560px;overflow:auto}.event-timeline a{display:grid;grid-template-columns:58px 70px minmax(0,1fr) auto;gap:14px;align-items:center;padding:9px 14px 9px 9px;border-radius:14px;background:var(--soft);text-decoration:none;color:inherit}.timeline-thumb{display:block;width:58px;height:46px;overflow:hidden;border-radius:10px;background:rgba(127,127,127,.12)}.timeline-thumb img{display:block;width:100%;height:100%;object-fit:cover}.timeline-video-thumb{display:grid;width:100%;height:100%;place-items:center;font-size:16px;background:linear-gradient(135deg,rgba(127,127,127,.12),rgba(127,127,127,.22))}.event-timeline time{font-weight:800;color:var(--event-accent,var(--accent))}.timeline-file{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-timeline small{opacity:.65}
@media(max-width:700px){.event-live-strip a{margin-left:0}.event-timeline a{grid-template-columns:52px 48px minmax(0,1fr);gap:10px;padding:8px}.timeline-thumb{width:52px;height:42px}.event-timeline small{display:none}}


/* RocketGallery v1.5.0: saubere Desktop-Lightbox ohne weißen Bildrahmen */
@media (min-width: 761px){
  dialog#lightbox{background:rgba(3,5,8,.97)}
  dialog#lightbox #large,dialog#lightbox #large-video{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:auto;height:auto;max-width:calc(100vw - 150px);max-height:calc(100vh - 120px);
    object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none;
  }
  dialog#lightbox #large-video{width:min(1200px,calc(100vw - 150px));height:min(75vh,800px)}
}
.hunt-main{max-width:820px;margin:auto;padding:clamp(20px,5vw,64px)}
.hunt-hero{text-align:center;margin-bottom:24px}.hunt-progress{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:18px 0}.hunt-progress span{display:block;height:100%;background:var(--accent);transition:width .25s}
.hunt-list{display:grid;gap:12px}.hunt-task{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.hunt-task.done{opacity:.72}.hunt-task .check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:900}.hunt-task.done .check{background:var(--accent);color:#fff}
.hunt-code-form{display:flex;gap:10px;margin:20px 0}.hunt-code-form input{flex:1;text-transform:uppercase}.hunt-complete{text-align:center;padding:22px;border-radius:18px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));border:1px solid var(--accent)}
textarea{resize:vertical;min-height:110px}

.hunt-name-card{max-width:560px;margin:8vh auto;text-align:center}.hunt-name-form{display:grid;gap:16px;margin-top:22px;text-align:left}.hunt-name-form button{width:100%}.hunt-results-table{overflow-x:auto}.hunt-results-table table{width:100%;border-collapse:collapse;min-width:760px}.hunt-results-table th,.hunt-results-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.result-progress{display:inline-block;width:150px;height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden;vertical-align:middle;margin-right:10px}.result-progress i{display:block;height:100%;background:var(--accent)}
/* RocketGallery 2.0 Challenges */
.challenge-task-body{flex:1;min-width:0}.challenge-action{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.9rem}.challenge-action input:not([type=file]){flex:1;min-width:180px}.challenge-proof{display:block;max-width:320px;max-height:240px;object-fit:contain;border-radius:14px;margin-top:.75rem}.challenge-ranking{display:grid;gap:.65rem}.challenge-ranking>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.challenge-manager{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem}.challenge-editor-form{display:grid;grid-template-columns:160px 130px 1fr;gap:1rem;align-items:end;margin-bottom:2rem}.challenge-editor-form .full{grid-column:1/-1}.challenge-submissions{display:grid;gap:1rem}.challenge-submissions article{display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:18px}.challenge-submissions img{width:160px;height:120px;object-fit:cover;border-radius:12px}.submission-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.8rem}.submission-actions label{display:flex;flex-direction:row;align-items:center;gap:.45rem;margin:0}@media(max-width:720px){.challenge-editor-form{grid-template-columns:1fr}.challenge-editor-form .full{grid-column:auto}.challenge-submissions article{grid-template-columns:1fr}.challenge-submissions img{width:100%;height:auto;max-height:260px;object-fit:contain}}
.challenge-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0 2rem}.challenge-template-card{padding:1.15rem;border:1px solid var(--line);border-radius:18px;background:var(--card);display:flex;flex-direction:column;gap:.65rem}.challenge-template-card h4,.challenge-template-card p{margin:0}.challenge-template-card form{display:grid;gap:.65rem;margin-top:auto}.challenge-task-admin-list{display:grid;gap:.75rem;margin:1rem 0 2rem}.challenge-task-admin-list>article{display:grid;grid-template-columns:42px 1fr auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:16px;background:var(--card)}.challenge-task-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800}.challenge-task-edit{display:grid;grid-template-columns:110px 90px 120px minmax(220px,1fr) auto;gap:.55rem}.challenge-task-tools{display:flex;gap:.4rem;flex-wrap:wrap}.challenge-task-tools button{padding:.65rem .8rem}.challenge-task-tools button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:1000px){.challenge-task-admin-list>article{grid-template-columns:42px 1fr}.challenge-task-tools{grid-column:2}.challenge-task-edit{grid-template-columns:1fr 1fr}.challenge-task-edit .task-text{grid-column:1/-1}}@media(max-width:620px){.challenge-task-admin-list>article{grid-template-columns:1fr}.challenge-task-number,.challenge-task-tools{grid-column:1}.challenge-task-edit{grid-template-columns:1fr}.challenge-task-edit .task-text{grid-column:auto}}

.ios-save-button[aria-busy="true"]{opacity:.72;pointer-events:none;white-space:nowrap}


/* RocketGallery 2.1.1: einmaliger iPhone-Hinweis zum Speichern in der Mediathek */
.ios-first-visit-hint{width:min(92vw,430px);padding:28px;border:1px solid var(--border);border-radius:24px;background:var(--panel);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.45);text-align:center}
.ios-first-visit-hint::backdrop{background:rgba(3,5,8,.72);backdrop-filter:blur(5px)}
.ios-first-visit-hint .ios-hint-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:var(--soft);font-size:2rem}
.ios-first-visit-hint h2{margin:0 0 12px;font-size:clamp(1.35rem,5vw,1.75rem)}
.ios-first-visit-hint p{margin:0 0 22px;line-height:1.55;color:var(--muted)}
.ios-first-visit-hint strong{color:var(--text)}
.ios-first-visit-hint button{width:100%}


/* Public event / QR single-photo mode */
.public-event-page{min-height:100vh;background:radial-gradient(circle at top,color-mix(in srgb,var(--event-accent) 18%,transparent),transparent 42%),var(--bg);display:flex;flex-direction:column}
.public-event-toolbar{justify-content:space-between}
.public-event-main{width:min(920px,calc(100% - 28px));margin:auto;padding:32px 0 48px}
.public-event-card{text-align:center;padding:clamp(22px,5vw,48px);border:1px solid color-mix(in srgb,var(--event-accent) 28%,var(--border));box-shadow:0 30px 90px rgba(0,0,0,.22)}
.public-event-card h1{margin:.25rem 0 1.25rem;font-size:clamp(2rem,7vw,4.4rem)}
.public-event-media{display:grid;place-items:center;min-height:220px;max-height:68vh;margin:0 auto 24px;border-radius:22px;overflow:hidden;background:transparent}
.public-event-media img,.public-event-media video{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain;border:0;box-shadow:none;background:transparent}
.public-event-download{min-width:min(100%,320px);font-size:1.05rem;padding:14px 22px}
.public-event-note{margin:18px auto 0;max-width:620px}
.public-event-empty{max-width:680px;margin:auto}
.public-event-empty p:not(.eyebrow){max-width:520px;margin:0 auto;line-height:1.65}
@media(max-width:640px){.public-event-main{width:min(100% - 18px,920px);padding:16px 0 28px}.public-event-card{padding:20px 14px}.public-event-media{border-radius:16px;max-height:62vh}.public-event-media img,.public-event-media video{max-height:62vh}}


/* RocketGallery 2.2.2: iPhone-sicheres Kommentarlayout */
#lightbox.comments-enabled .media-stage{right:390px}
#lightbox.comments-enabled .next{right:382px}
.comments-panel{position:absolute;z-index:6;top:0;right:0;bottom:0;width:370px;padding:82px 16px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--line);background:var(--surface);color:var(--text);overflow:hidden}
.comments-head{display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;flex:0 0 auto}.comments-head span{min-width:30px;text-align:center;padding:.2rem .55rem;border-radius:999px;background:var(--surface-2)}
.comments-list{display:flex;flex-direction:column;gap:10px;overflow:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:70px}.comments-list article{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.comments-list p{margin:.3rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.comments-list small{color:var(--muted)}
.comment-form{display:grid;gap:8px;flex:0 0 auto}.comment-form textarea{display:block;width:100%;min-height:76px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;font-size:16px;line-height:1.35;resize:none;-webkit-appearance:none;appearance:none}.comment-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,54,.13)}.comment-form button{width:100%}
.comment-admin-list{display:grid;gap:12px}.comment-admin-list article{display:flex;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:16px}.comment-admin-list article small{display:block;color:var(--muted);margin-top:4px}.comment-admin-list article p{margin:.7rem 0 0}.comment-admin-list form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:820px){
  #lightbox.comments-enabled{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(3,5,8,.98)}
  #lightbox.comments-enabled .lightbox-top{position:fixed;height:64px;padding-top:max(10px,env(safe-area-inset-top));background:rgba(0,0,0,.82);backdrop-filter:blur(14px)}
  #lightbox.comments-enabled .media-stage{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:calc(100% - 16px);height:calc(56svh - 64px);min-height:220px;margin:64px 8px 0;overflow:hidden}
  #lightbox.comments-enabled .media-stage img,#lightbox.comments-enabled .media-stage video{max-height:100%;max-width:100%}
  #lightbox.comments-enabled .nav{position:fixed;top:calc(28svh + 32px)}
  #lightbox.comments-enabled .prev{left:6px}
  #lightbox.comments-enabled .next{right:6px}
  #lightbox.comments-enabled .photo-welcome{display:none!important}
  .comments-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;height:auto;min-height:44svh;padding:14px max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-left:0;border-top:1px solid var(--line);box-shadow:none}
  .comments-head{font-size:.95rem}
  .comments-list{gap:7px;min-height:110px;max-height:34svh}.comments-list article{padding:8px 10px}
  .comment-form{grid-template-columns:1fr auto;gap:7px;align-items:end}.comment-form textarea{min-height:48px;max-height:82px}.comment-form button{width:auto;min-height:48px;padding:10px 14px}.comment-form small{grid-column:1/-1}
  .comment-admin-list article{flex-direction:column}
}
@media(max-width:430px){
  #lightbox.comments-enabled .lightbox-position{display:none}
  #lightbox.comments-enabled .lightbox-top{grid-template-columns:auto 1fr}
  #lightbox.comments-enabled .lightbox-actions{justify-self:end}
  #lightbox.comments-enabled .lightbox-actions .button{font-size:0;width:44px;height:44px;padding:0;border-radius:50%}
  #lightbox.comments-enabled .lightbox-actions .button::before{content:"↓";font-size:1.25rem}
}

/* RocketGallery 2.2.3: Filter für kommentierte Fotos */
.comments-filter.active{font-weight:700}
.comment-count-badge{position:absolute;left:.55rem;bottom:.55rem;z-index:3;padding:.28rem .48rem;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;font-size:.76rem;line-height:1;pointer-events:none;backdrop-filter:blur(6px)}
.photo-card{position:relative}
@media (max-width:700px){.comments-filter .action-label{display:none}.comments-filter{min-width:44px}.comment-count-badge{left:.4rem;bottom:.4rem;font-size:.7rem}}

/* RocketGallery 2.2.4: deutlich sichtbarer Aktivzustand des Kommentarfilters */
.comments-filter{
  background:#fff;
  color:#172033;
  border-color:rgba(23,32,51,.22);
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.comments-filter:hover{background:#f7f8fa}
.comments-filter.active,
.comments-filter[aria-pressed="true"]{
  background:#e53935;
  color:#fff;
  border-color:#e53935;
  box-shadow:0 0 0 0 rgba(229,57,53,.55);
  animation:comments-filter-pulse 1.35s ease-in-out infinite;
}
.comments-filter.active:hover,
.comments-filter[aria-pressed="true"]:hover{background:#c62828;border-color:#c62828}
.comments-filter.active .action-icon,
.comments-filter.active #commented-count,
.comments-filter[aria-pressed="true"] .action-icon,
.comments-filter[aria-pressed="true"] #commented-count{color:#fff}
@keyframes comments-filter-pulse{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 0 rgba(229,57,53,.5)}
  50%{filter:brightness(1.22);box-shadow:0 0 0 7px rgba(229,57,53,0)}
}
@media (prefers-reduced-motion:reduce){
  .comments-filter.active,.comments-filter[aria-pressed="true"]{animation:none}
}

/* RocketGallery 2.2.5: Kommentarfilter wie Favoriten-Button */
.event-toolbar .comments-filter{
  position:relative;
  flex-shrink:0;
  background:var(--surface-2);
  color:var(--text);
  border-color:transparent;
  box-shadow:none;
}
.event-toolbar .comments-filter:hover{background:var(--surface-2)}
.event-toolbar .comments-filter.active,
.event-toolbar .comments-filter[aria-pressed="true"]{
  background:#e53935;
  color:#fff;
  border-color:#e53935;
  box-shadow:0 0 0 0 rgba(229,57,53,.5);
  animation:comments-filter-pulse 1.35s ease-in-out infinite;
}
.event-toolbar .comments-filter.active:hover,
.event-toolbar .comments-filter[aria-pressed="true"]:hover{background:#c62828;border-color:#c62828}
.event-toolbar .comments-filter #commented-count{margin-left:4px}
@media(max-width:900px){
  .event-toolbar .comments-filter{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    padding:0!important;
    border-radius:50%!important;
    font-size:0!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .event-toolbar .comments-filter .action-icon{font-size:1.2rem!important}
  .event-toolbar .comments-filter #commented-count{
    position:absolute;
    right:-4px;
    top:-4px;
    display:grid;
    place-items:center;
    min-width:18px;
    height:18px;
    margin:0;
    padding:0 4px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    font-size:.65rem!important;
    line-height:1;
  }
  .event-toolbar .comments-filter.active #commented-count,
  .event-toolbar .comments-filter[aria-pressed="true"] #commented-count{
    background:#fff;
    color:#c62828;
  }
}


/* RocketGallery 2.2.6: dezente Icon-Filter ohne großen Rahmen */
.event-toolbar .favorite-filter,
.event-toolbar .comments-filter{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  font-size:0!important;
  overflow:visible!important;
  transition:color .18s ease,transform .18s ease,background-color .18s ease!important;
  animation:none!important;
}
.event-toolbar .favorite-filter:hover,
.event-toolbar .comments-filter:hover{
  color:var(--text)!important;
  background:color-mix(in srgb,var(--text) 7%,transparent)!important;
}
.event-toolbar .favorite-filter .action-icon,
.event-toolbar .comments-filter .action-icon{
  display:grid!important;
  place-items:center!important;
  width:23px!important;
  height:23px!important;
  font-size:0!important;
  line-height:1!important;
}
.event-toolbar .favorite-filter .action-icon::after,
.event-toolbar .comments-filter .action-icon::after{content:none!important}
.event-toolbar .favorite-filter svg,
.event-toolbar .comments-filter svg{
  width:22px;
  height:22px;
  display:block;
  overflow:visible;
}
.event-toolbar .favorite-filter svg path,
.event-toolbar .comments-filter svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.event-toolbar .favorite-filter.active,
.event-toolbar .favorite-filter[aria-pressed="true"],
.event-toolbar .comments-filter.active,
.event-toolbar .comments-filter[aria-pressed="true"]{
  color:#e53935!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  animation:toolbar-icon-soft-pulse 1.8s ease-in-out infinite!important;
}
.event-toolbar .favorite-filter.active svg path,
.event-toolbar .favorite-filter[aria-pressed="true"] svg path{
  fill:currentColor;
}
.event-toolbar #favorite-count,
.event-toolbar #commented-count{
  position:absolute!important;
  right:-1px!important;
  top:0!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0 3px!important;
  border:2px solid var(--surface)!important;
  border-radius:999px!important;
  background:var(--surface-2)!important;
  color:var(--muted)!important;
  font-size:.58rem!important;
  font-weight:800!important;
  line-height:1!important;
}
.event-toolbar .favorite-filter.active #favorite-count,
.event-toolbar .favorite-filter[aria-pressed="true"] #favorite-count,
.event-toolbar .comments-filter.active #commented-count,
.event-toolbar .comments-filter[aria-pressed="true"] #commented-count{
  background:#e53935!important;
  color:#fff!important;
}
@keyframes toolbar-icon-soft-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}
@media(prefers-reduced-motion:reduce){
  .event-toolbar .favorite-filter.active,
  .event-toolbar .favorite-filter[aria-pressed="true"],
  .event-toolbar .comments-filter.active,
  .event-toolbar .comments-filter[aria-pressed="true"]{animation:none!important}
}


/* RocketGallery 2.2.8: professionelles mobiles Dashboard und sichere Download-Sichtbarkeit */
#download[hidden],#download[aria-hidden="true"]{display:none!important}
#download:not([hidden]){display:inline-flex}
.option-switch{
  grid-column:auto;
  align-self:stretch;
  min-height:86px;
  margin:0;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-2);
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:14px;
  align-items:center;
}
.option-switch .option-copy{width:auto;height:auto;background:none;display:grid;gap:5px;min-width:0}
.option-switch .option-copy:after{content:none}
.option-switch .option-copy strong{font-size:.94rem;line-height:1.25;color:var(--text)}
.option-switch .option-copy small{font-size:.79rem;line-height:1.45;font-weight:500;color:var(--muted);overflow-wrap:anywhere}
.option-switch .switch-control{grid-column:2;grid-row:1;width:46px;height:26px;justify-self:end}
.option-switch .switch-control:after{width:20px;height:20px}
.option-switch input:checked+.switch-control:after{transform:translateX(20px)}
.option-switch:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,54,.12)}
@media(max-width:700px){
  .admin-main{padding:14px 10px 36px}
  .gallery-card .form-grid{grid-template-columns:1fr;gap:13px;padding:16px 12px}
  .gallery-card .form-grid .full{grid-column:1}
  .option-switch{grid-column:1;min-height:92px;padding:16px 14px;border-radius:15px}
  .option-switch .option-copy strong{font-size:.98rem}
  .option-switch .option-copy small{font-size:.82rem}
  .field-note{grid-column:1;padding:14px 15px;border-radius:14px}
  .card-head{padding:18px 15px}
  .card-actions{padding:14px 12px;gap:8px}
}
@media(max-width:500px){
  .switch em{display:block}
  .option-switch{grid-template-columns:minmax(0,1fr) 46px;gap:12px}
}


/* RocketGallery 2.3.0: robuste Desktop-Downloads */
@media (min-width:761px){
  .event-toolbar .desktop-download{display:inline-flex!important;visibility:visible!important;opacity:1!important}
  #download[data-download-allowed]{display:inline-flex!important;visibility:visible!important;opacity:1!important}
}

/* RocketGallery 2.3.3: stabile Fotoansicht, kompakte iPhone-Kommentare und sichtbarer Desktop-Download */
@media (min-width:821px){
  #lightbox.comments-enabled .lightbox-top{
    right:390px;
  }
  #lightbox.comments-enabled .lightbox-actions{
    position:relative;
    z-index:8;
  }
  #lightbox.comments-enabled #download[data-download-allowed]{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

@media (max-width:820px){
  #lightbox.comments-enabled{
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  #lightbox.comments-enabled .media-stage{
    position:relative;
    inset:auto;
    width:calc(100% - 16px);
    height:clamp(280px,calc(100svh - 240px),72svh);
    min-height:280px;
    margin:64px 8px 0;
    padding:0;
    display:grid;
    place-items:center;
    overflow:hidden;
  }
  #lightbox.comments-enabled .media-stage img,
  #lightbox.comments-enabled .media-stage video{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain!important;
  }
  #lightbox.comments-enabled .nav{
    position:fixed;
    top:calc(64px + (clamp(280px,calc(100svh - 240px),72svh) / 2));
  }
  #lightbox.comments-enabled .comments-panel{
    position:relative;
    inset:auto;
    width:100%;
    height:176px;
    min-height:176px;
    max-height:176px;
    padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:7px;
    overflow:hidden;
    border-left:0;
    border-top:1px solid var(--line);
  }
  #lightbox.comments-enabled .comments-head{
    min-height:22px;
    font-size:.92rem;
  }
  #lightbox.comments-enabled .comments-list{
    min-height:0;
    max-height:none;
    overflow:auto;
    gap:5px;
  }
  #lightbox.comments-enabled .comments-list article{
    padding:6px 8px;
  }
  #lightbox.comments-enabled .comments-list p{
    margin:.1rem 0;
    font-size:.84rem;
  }
  #lightbox.comments-enabled .comment-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
  }
  #lightbox.comments-enabled .comment-form textarea{
    min-height:44px;
    height:44px;
    max-height:44px;
    padding:10px 12px;
    line-height:1.2;
  }
  #lightbox.comments-enabled .comment-form button{
    width:auto;
    min-height:44px;
    height:44px;
    padding:8px 14px;
  }
  #lightbox.comments-enabled .comment-form small{
    display:none;
  }
}

/* RocketGallery 2.3.5: "NEU"-Badge für live hinzugekommene Medien */
.photo-card .tile .new-media-badge{
  position:absolute;
  top:10px;
  right:10px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  font-size:.7rem;
  font-weight:950;
  line-height:1;
  letter-spacing:.12em;
  pointer-events:none;
  animation:newBadgeIn .38s cubic-bezier(.2,.8,.2,1) both;
  transition:opacity .3s ease,transform .3s ease;
}
.photo-card .tile .new-media-badge.is-hiding{
  opacity:0;
  transform:translateY(-5px) scale(.9);
}
@keyframes newBadgeIn{
  from{opacity:0;transform:translateY(-7px) scale(.82)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:600px){
  .photo-card .tile .new-media-badge{
    top:8px;
    right:8px;
    min-height:25px;
    padding:4px 8px;
    font-size:.64rem;
  }
}
@media(prefers-reduced-motion:reduce){
  .photo-card .tile .new-media-badge{animation:none;transition:opacity .15s ease}
}


/* RocketGallery 2.3.5: klickbare Highlights und stabile iPhone-Boomerang-Lightbox */
.favorite-ranking .favorite-rank-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.favorite-ranking .favorite-rank-link:hover{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  transform:translateY(-1px);
}
.favorite-ranking .favorite-rank-link:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 65%,transparent);
  outline-offset:3px;
}
@media(max-width:820px){
  dialog#lightbox.video-active[open]{
    position:fixed!important;
    top:var(--rg-vv-top,0px)!important;
    left:0!important;
    width:100vw!important;
    height:var(--rg-vv-height,100dvh)!important;
    margin:0!important;
  }
  dialog#lightbox.video-active .media-stage video{
    position:relative;
    inset:auto;
  }
}

/* RocketGallery 2.3.6: Admin-Medienverwaltung */
.media-admin-filter form{max-width:560px}.media-admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0}.media-admin-toolbar>div:first-child{display:grid;gap:4px}.media-admin-toolbar span{color:var(--muted)}.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.media-admin-card{display:grid;gap:8px;padding:10px;border:2px solid transparent;border-radius:18px;background:var(--panel);box-shadow:var(--shadow);cursor:pointer}.media-admin-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.media-admin-card>input{position:absolute;opacity:0;pointer-events:none}.media-admin-preview{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border-radius:13px;background:#08090c}.media-admin-preview img,.media-admin-preview video{width:100%;height:100%;object-fit:cover}.media-admin-preview b{position:absolute;left:8px;bottom:8px;padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.7);color:#fff;font-size:.72rem}.media-admin-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.danger-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.media-admin-toolbar{align-items:stretch;flex-direction:column}.media-admin-toolbar .header-actions{display:grid;grid-template-columns:1fr 1fr}.media-admin-toolbar .danger-button{grid-column:1/-1}.media-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
/* iPhone/Safari: Boomerang-Bereich darf nicht durch feste Dialogmaße zusammengedrückt werden. */
dialog#lightbox.video-active[open]{width:100vw;max-width:none;height:100dvh;max-height:none}dialog#lightbox.video-active .media-stage{inset:76px 12px 18px;min-width:0;min-height:0}dialog#lightbox.video-active .media-stage video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}dialog#lightbox.video-active.comments-enabled .media-stage{bottom:250px}
}

/* RocketGallery 2.6.0 – Schnitzeljagd Foto-Abstimmung */
.hunt-photo-ranking{scroll-margin-top:20px}.hunt-photo-rank-list{display:grid;gap:12px}.hunt-photo-rank-card{display:grid;grid-template-columns:54px 112px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.hunt-rank-place{font-size:1.15rem;font-weight:900;text-align:center;color:var(--accent)}.hunt-rank-thumb{display:block;border-radius:13px;overflow:hidden;background:var(--bg);aspect-ratio:4/3}.hunt-rank-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.hunt-rank-thumb:hover img{transform:scale(1.04)}.hunt-rank-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.hunt-rank-copy strong{font-size:1rem}.hunt-rank-copy span{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hunt-rank-copy small{font-weight:800;color:var(--accent)}.hunt-vote-form{margin:0}.hunt-vote-button{white-space:nowrap;min-width:104px}.hunt-vote-button.is-voted{background:#e11d48;border-color:#e11d48;color:#fff}@media(max-width:680px){.hunt-photo-rank-card{grid-template-columns:42px 84px minmax(0,1fr);gap:10px}.hunt-rank-place{font-size:1rem}.hunt-vote-form{grid-column:2/4}.hunt-vote-button{width:100%}.hunt-rank-copy span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hunt-rank-thumb{aspect-ratio:1/1}}

/* RocketGallery 2.7.0: Abschluss der Foto-Abstimmung */
.voting-finish-card{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%)}
.voting-finish-card h3{margin:.2rem 0}.voting-finish-card .card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.voting-finish-card form{margin:0}
@media(max-width:760px){.voting-finish-card{align-items:stretch;flex-direction:column}.voting-finish-card .card-actions,.voting-finish-card form,.voting-finish-card button,.voting-finish-card .button{width:100%}}


/* RocketGallery 3.0.2 – Kamerawechsel für Schnitzeljagd */
.challenge-photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.challenge-file-name{flex-basis:100%;font-size:.82rem;color:var(--muted)}.challenge-camera-dialog{width:min(94vw,720px);max-width:720px;padding:0;border:0;border-radius:22px;background:var(--panel);color:var(--text);box-shadow:0 28px 80px rgba(0,0,0,.45)}.challenge-camera-dialog::backdrop{background:rgba(0,0,0,.82)}.challenge-camera-box{padding:18px}.challenge-camera-stage{display:grid;place-items:center;overflow:hidden;min-height:260px;max-height:65dvh;border-radius:18px;background:#000}.challenge-camera-stage video{display:block;width:100%;height:100%;max-height:65dvh;object-fit:contain;background:#000}.challenge-camera-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.challenge-camera-controls button{width:100%}@media(max-width:560px){.challenge-camera-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.challenge-camera-box{display:flex;flex-direction:column;height:100%;box-sizing:border-box}.challenge-camera-stage{flex:1;min-height:0;max-height:none}.challenge-camera-stage video{max-height:none}.challenge-camera-controls{grid-template-columns:1fr}}

/* PWA install banner */
.rg-install-banner{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));z-index:10000;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(15,23,42,.96);color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.rg-install-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.rg-install-copy strong{font-size:15px}.rg-install-copy span{font-size:12px;opacity:.78}.rg-install-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.rg-install-button{margin:0!important;padding:10px 13px!important;white-space:nowrap}.rg-install-close{margin:0!important;padding:4px 7px!important;min-width:auto!important;border:0!important;background:transparent!important;color:#fff!important;font-size:24px!important;line-height:1!important;box-shadow:none!important}@media(max-width:520px){.rg-install-banner{align-items:flex-start}.rg-install-actions{flex-direction:column-reverse;align-items:flex-end}.rg-install-close{padding:0 3px!important}}

/* RocketGallery 3.1.0 – moderner PWA-Installationsdialog */
html.rg-install-open,html.rg-install-open body{overflow:hidden}
.rg-pwa-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(2,6,23,.16);opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:opacity .26s ease,background .26s ease,backdrop-filter .26s ease,-webkit-backdrop-filter .26s ease}
.rg-pwa-overlay.is-visible{opacity:1;background:rgba(2,6,23,.72);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.rg-pwa-overlay.is-closing{opacity:0;background:rgba(2,6,23,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}
.rg-pwa-dialog{position:relative;width:min(100%,470px);max-height:calc(100dvh - 36px);overflow:auto;box-sizing:border-box;padding:30px 28px 24px;border:1px solid rgba(255,255,255,.2);border-radius:30px;background:linear-gradient(155deg,rgba(30,41,59,.98),rgba(8,15,35,.99));color:#fff;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.12);transform:translateY(26px) scale(.92);opacity:0;transition:transform .38s cubic-bezier(.2,.85,.2,1.08),opacity .25s ease}
.rg-pwa-overlay.is-visible .rg-pwa-dialog{transform:translateY(0) scale(1);opacity:1}
.rg-pwa-overlay.is-closing .rg-pwa-dialog{transform:translateY(18px) scale(.96);opacity:0}
.rg-pwa-x{position:absolute;top:13px;right:14px;z-index:2;width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:50%!important;background:rgba(255,255,255,.07)!important;color:#fff!important;font-size:25px!important;line-height:1!important;box-shadow:none!important}
.rg-pwa-logo-wrap{position:relative;display:inline-grid;place-items:center;width:92px;height:92px;margin:0 auto 14px}
.rg-pwa-logo{position:relative;z-index:2;display:block;width:78px;height:78px;border-radius:22px;box-shadow:0 15px 38px rgba(139,92,246,.38);animation:rgPwaFloat 3s ease-in-out infinite}
.rg-pwa-logo-glow{position:absolute;inset:7px;border-radius:28px;background:linear-gradient(135deg,#8b5cf6,#ec4899);filter:blur(18px);opacity:.58;animation:rgPwaPulse 2.4s ease-in-out infinite}
.rg-pwa-kicker{margin:0 0 6px;color:#c4b5fd;font-size:.72rem;font-weight:900;letter-spacing:.2em}
.rg-pwa-dialog h2{margin:0;font-size:clamp(1.55rem,5vw,2.05rem);line-height:1.12;color:#fff}
.rg-pwa-intro{max-width:390px;margin:13px auto 20px;color:rgba(255,255,255,.76);font-size:.98rem;line-height:1.55}
.rg-pwa-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 20px}
.rg-pwa-benefits span{display:grid;place-items:center;min-height:74px;padding:10px 7px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.055);font-size:.77rem;font-weight:750;line-height:1.25}
.rg-pwa-guide{display:grid;gap:10px;margin:4px 0 20px;text-align:left}
.rg-pwa-step{display:grid;grid-template-columns:31px 48px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.055);font-size:.88rem;font-weight:700;line-height:1.3}
.rg-pwa-step>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#ec4899);font-size:.78rem}
.rg-pwa-step-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1);font-size:1.45rem;font-weight:400}
.rg-pwa-install-now{width:100%!important;min-height:54px;margin:0!important;padding:14px 18px!important;border:0!important;border-radius:16px!important;background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;color:#fff!important;font-size:1rem!important;font-weight:900!important;box-shadow:0 13px 32px rgba(139,92,246,.3)!important;transition:transform .18s ease,filter .18s ease!important}
.rg-pwa-install-now:hover{transform:translateY(-2px);filter:brightness(1.08)}
.rg-pwa-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.rg-pwa-secondary-actions button{min-height:46px;margin:0!important;padding:10px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;color:rgba(255,255,255,.82)!important;font-weight:800!important;box-shadow:none!important}
.rg-pwa-secondary-actions button:hover{background:rgba(255,255,255,.11)!important;color:#fff!important}
.rg-pwa-success{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));z-index:100001;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 30px);padding:13px 18px;border-radius:999px;background:#111827;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.38);opacity:0;transform:translate(-50%,20px) scale(.92);transition:.3s ease}.rg-pwa-success.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}.rg-pwa-success span{font-size:1.4rem}
@keyframes rgPwaFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes rgPwaPulse{0%,100%{transform:scale(.92);opacity:.46}50%{transform:scale(1.12);opacity:.7}}
@media(max-width:520px){.rg-pwa-dialog{padding:27px 18px 19px;border-radius:25px}.rg-pwa-logo-wrap{width:82px;height:82px}.rg-pwa-logo{width:70px;height:70px;border-radius:20px}.rg-pwa-benefits{grid-template-columns:1fr}.rg-pwa-benefits span{min-height:46px;display:flex;justify-content:center}.rg-pwa-intro{font-size:.91rem}.rg-pwa-step{grid-template-columns:28px 42px minmax(0,1fr);padding:9px}.rg-pwa-step-icon{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.rg-pwa-overlay,.rg-pwa-dialog,.rg-pwa-logo,.rg-pwa-logo-glow,.rg-pwa-success{animation:none!important;transition-duration:.01ms!important}}


/* RocketGallery 3.2.1 – klare Fotoauswahl und beschriftete Schnitzeljagd */
.challenge-photo-selection{flex-basis:100%;width:100%;margin-top:4px;border:1px dashed color-mix(in srgb,var(--muted) 55%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);overflow:hidden;transition:border-color .2s,background .2s,box-shadow .2s}
.challenge-photo-selection.has-photo{border-style:solid;border-color:#2f9e5b;background:color-mix(in srgb,#123923 35%,var(--surface));box-shadow:0 0 0 2px rgba(47,158,91,.08)}
.challenge-selection-empty{display:flex;align-items:center;gap:13px;min-height:90px;padding:16px;color:var(--muted)}
.challenge-selection-empty[hidden],.challenge-selection-ready[hidden]{display:none!important}
.challenge-selection-placeholder{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:1.8rem}
.challenge-selection-empty span:last-child{display:grid;gap:4px}.challenge-selection-empty strong{color:var(--text);font-size:.92rem}.challenge-selection-empty small{font-size:.78rem;line-height:1.35}
.challenge-selection-ready{position:relative;display:grid;grid-template-columns:minmax(105px,150px) minmax(0,1fr);gap:14px;align-items:center;padding:48px 14px 14px;animation:challengePreviewIn .28s ease both}
.challenge-selection-status{position:absolute;left:14px;top:12px;padding:7px 11px;border-radius:999px;background:#23894b;color:#fff;font-size:.78rem;font-weight:900}
.challenge-selection-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#05070b}
.challenge-selection-details{display:flex;min-width:0;flex-direction:column;gap:5px}.challenge-selection-details strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-selection-details small{color:var(--muted)}.challenge-selection-details span{color:#43cf78;font-size:.82rem;font-weight:850}
.challenge-selection-remove{position:absolute;right:10px;top:9px;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:var(--surface-2)!important;color:var(--text)!important;font-size:1.35rem!important;box-shadow:none!important}
.challenge-upload-submit:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.35);transform:none!important;box-shadow:none!important}
@keyframes challengePreviewIn{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
.hunt-open{position:relative}.hunt-label-badge{padding:3px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:.58rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:900px){
 .event-toolbar .hunt-open{width:auto!important;min-width:118px!important;max-width:none!important;height:46px!important;padding:0 12px!important;border-radius:14px!important;gap:7px!important;font-size:.76rem!important;overflow:visible!important}
 .event-toolbar .hunt-open .action-label{display:inline!important;font-size:.76rem!important;font-weight:850!important}
 .event-toolbar .hunt-open .action-icon{font-size:1.25rem!important}
 .event-toolbar .hunt-open .hunt-label-badge{position:absolute;right:-4px;top:-7px;font-size:.52rem}
}
@media(max-width:560px){.challenge-selection-ready{grid-template-columns:100px minmax(0,1fr);gap:11px}.challenge-selection-details strong{font-size:.85rem}.challenge-selection-details small,.challenge-selection-details span{font-size:.74rem}}
@media(max-width:390px){.event-toolbar .hunt-open{min-width:108px!important;padding:0 9px!important}.event-toolbar .hunt-open .action-label{font-size:.7rem!important}.challenge-selection-ready{grid-template-columns:1fr;padding-top:50px}.challenge-selection-thumb{max-height:180px}}

/* v3.2.2: Like buttons stay position-stable on touch devices. */
.hunt-vote-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.hunt-photo-rank-card{overflow-anchor:none}

/* RocketGallery 3.3 – Top 3 und Live-Rangliste */
.hunt-photo-rank-card.is-top-1,.hunt-photo-rank-card.is-top-2,.hunt-photo-rank-card.is-top-3{position:relative;overflow:hidden}
.hunt-photo-rank-card.is-top-1{box-shadow:0 0 0 2px rgba(255,201,71,.55),0 14px 35px rgba(255,201,71,.14)}
.hunt-photo-rank-card.is-top-2{box-shadow:0 0 0 2px rgba(207,216,226,.45),0 12px 30px rgba(207,216,226,.10)}
.hunt-photo-rank-card.is-top-3{box-shadow:0 0 0 2px rgba(205,127,50,.45),0 12px 30px rgba(205,127,50,.10)}
.hunt-photo-rank-card.is-top-1 .hunt-rank-place,.hunt-photo-rank-card.is-top-2 .hunt-rank-place,.hunt-photo-rank-card.is-top-3 .hunt-rank-place{font-size:1.45rem;filter:drop-shadow(0 3px 7px rgba(0,0,0,.2))}
.hunt-photo-rank-card{transition:box-shadow .25s ease,transform .25s ease}


/* RocketGallery 3.5: Galerie-Kategorien */
.gallery-category-filter{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1rem;padding:.45rem;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.gallery-category-button{flex:1 1 160px;margin:0;border:0;border-radius:13px;padding:.8rem 1rem;background:transparent;color:var(--text);font-weight:800;box-shadow:none}
.gallery-category-button:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.gallery-category-button.active,.gallery-category-button[aria-pressed="true"]{background:var(--accent);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 32%,transparent)}
.hunt-photo-badge{position:absolute;left:.55rem;top:.55rem;z-index:4;padding:.33rem .55rem;border-radius:999px;background:rgba(15,23,42,.88);color:#fff;font-size:.68rem;font-weight:850;letter-spacing:.02em;pointer-events:none;backdrop-filter:blur(8px)}
@media(max-width:600px){.gallery-category-filter{gap:.35rem;padding:.35rem}.gallery-category-button{flex:1 1 auto;padding:.72rem .55rem;font-size:.78rem}.hunt-photo-badge{font-size:.62rem;left:.4rem;top:.4rem}}

/* RocketGallery v3.5.1 – echte Boomerang-Vorschaubilder */
.video-card .boomerang-thumbnail{display:block;width:100%;height:100%;object-fit:cover;background:#08090c}.video-card .boomerang-thumbnail[hidden]{display:none}


/* RocketGallery v3.5.2 – Boomerang-Vorschau direkt im Browser, ohne FFmpeg */
.video-card video.boomerang-thumbnail{display:block;width:100%;height:100%;object-fit:cover;background:#08090c;pointer-events:none}
.video-card video.boomerang-thumbnail[hidden]{display:none}

.push-toggle.is-active{box-shadow:0 0 0 2px var(--accent,#8b5cf6) inset}.push-toggle.is-active .action-icon{filter:none}

.push-toggle.is-unavailable{opacity:.72}

/* RocketGallery 3.7 – Hilfe-Center */
.help-button{font-size:1.15rem;min-width:42px;padding:.65rem .8rem;font-weight:800}
.rg-help-dialog{width:min(720px,calc(100vw - 24px));max-height:min(84vh,860px);padding:0;border:0;border-radius:24px;background:var(--panel,#fff);color:var(--text,#172033);box-shadow:0 28px 90px rgba(0,0,0,.38);overflow:hidden}
.rg-help-dialog::backdrop{background:rgba(8,12,22,.72);backdrop-filter:blur(5px)}
.rg-help-shell{display:flex;flex-direction:column;max-height:min(84vh,860px)}
.rg-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 16px;border-bottom:1px solid var(--line,rgba(127,127,127,.2))}
.rg-help-head h2{margin:.15rem 0 .25rem}.rg-help-head p{margin:0}
.rg-help-content{overflow:auto;padding:18px 24px 26px}
.rg-help-content details{border:1px solid var(--line,rgba(127,127,127,.2));border-radius:16px;margin:0 0 10px;background:color-mix(in srgb,var(--panel,#fff) 94%,var(--event-accent,#8b5cf6) 6%)}
.rg-help-content summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:800;display:flex;align-items:center;gap:10px}
.rg-help-content summary::-webkit-details-marker{display:none}
.rg-help-content summary::after{content:'＋';margin-left:auto;font-size:1.1rem}
.rg-help-content details[open] summary::after{content:'−'}
.rg-help-copy{padding:0 18px 17px;line-height:1.55;color:var(--muted,#667085)}
.rg-help-copy p{margin:.35rem 0}.rg-help-copy strong{color:var(--text,#172033)}
.rg-help-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 24px;border-top:1px solid var(--line,rgba(127,127,127,.2));font-size:.86rem;color:var(--muted,#667085)}
@media(max-width:700px){.rg-help-head{padding:20px 18px 14px}.rg-help-content{padding:14px 14px 20px}.rg-help-footer{padding:13px 18px;align-items:flex-start;flex-direction:column}.event-toolbar .help-button .action-label{display:none}.event-toolbar .help-button{min-width:40px}}

/* RocketGallery 3.8.0: lesbares Hilfe-Center und sichere mobile Symbolleiste */
.rg-help-dialog{
  --help-bg:#ffffff;
  --help-surface:#f5f8fc;
  --help-text:#172033;
  --help-muted:#667085;
  --help-line:#d7dee8;
  background:var(--help-bg)!important;
  color:var(--help-text)!important;
}
.rg-help-shell,
.rg-help-head,
.rg-help-content,
.rg-help-footer{background:var(--help-bg)!important;color:var(--help-text)!important}
.rg-help-head{border-bottom-color:var(--help-line)!important}
.rg-help-head h2,
.rg-help-head .eyebrow{color:var(--help-text)!important}
.rg-help-head .eyebrow{color:#087cf0!important}
.rg-help-head .muted,
.rg-help-footer{color:var(--help-muted)!important}
.rg-help-head [data-help-close]{
  flex:0 0 auto;
  background:#eef2f7!important;
  color:#344054!important;
  border:1px solid var(--help-line)!important;
  box-shadow:none!important;
}
.rg-help-content details{
  background:var(--help-surface)!important;
  border-color:var(--help-line)!important;
  color:var(--help-text)!important;
}
.rg-help-content summary{
  color:var(--help-text)!important;
  font-size:1rem;
  line-height:1.35;
}
.rg-help-content summary::after{color:#475467!important}
.rg-help-copy,
.rg-help-copy p{color:var(--help-muted)!important}
.rg-help-copy strong{color:var(--help-text)!important}
.rg-help-footer{border-top-color:var(--help-line)!important}
.rg-help-footer a{color:#1769d2!important;text-decoration:underline;text-underline-offset:3px}

@media(max-width:700px){
  .rg-help-dialog{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 26px)!important;
    border-radius:20px!important;
  }
  .rg-help-shell{max-height:calc(100dvh - 26px)!important}
  .rg-help-head{gap:12px!important;padding:18px 16px 13px!important}
  .rg-help-head h2{font-size:1.55rem!important;line-height:1.12!important}
  .rg-help-head .muted{font-size:.96rem!important;line-height:1.4!important}
  .rg-help-content{padding:12px 12px 18px!important}
  .rg-help-content details{border-radius:14px!important;margin-bottom:9px!important}
  .rg-help-content summary{padding:15px 14px!important;font-size:.98rem!important}
  .rg-help-copy{padding:0 14px 15px!important;font-size:.94rem!important;line-height:1.55!important}
  .rg-help-footer{padding:12px 16px!important;font-size:.82rem!important}
}

/* Alle Aktionssymbole bleiben auf kleinen Smartphones innerhalb der Programm-Breite. */
@media(max-width:900px){
  .event-toolbar{
    width:100%!important;
    max-width:100vw!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
    gap:4px!important;
    overflow:hidden!important;
  }
  .event-toolbar .mini-brand{flex:0 0 36px!important;width:36px!important;overflow:hidden!important}
  .event-toolbar .mini-brand span{width:36px!important;height:36px!important}
  .event-toolbar .header-actions{
    min-width:0!important;
    max-width:calc(100vw - 52px - env(safe-area-inset-left) - env(safe-area-inset-right))!important;
    margin-left:auto!important;
    gap:3px!important;
    overflow:visible!important;
  }
  .event-toolbar .header-actions .button,
  .event-toolbar .header-actions .icon-button,
  .event-toolbar .upload-open,
  .event-toolbar .favorite-filter,
  .event-toolbar .comments-filter,
  .event-toolbar .push-toggle,
  .event-toolbar .help-button{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    padding:0!important;
    border-radius:50%!important;
    flex:0 0 38px!important;
    font-size:0!important;
  }
  .event-toolbar .header-actions .action-icon{font-size:1.12rem!important;margin:0!important}
  .event-toolbar .help-button .action-icon{font-size:1.05rem!important;font-weight:900!important}
  .event-toolbar #favorite-count,
  .event-toolbar #commented-count{right:-1px!important;top:-2px!important}
  .event-toolbar .hunt-open{min-width:38px!important;max-width:38px!important;width:38px!important}
  .event-toolbar .hunt-open .action-label,
  .event-toolbar .hunt-open .hunt-label-badge{display:none!important}
}
@media(max-width:390px){
  .event-toolbar{padding-left:max(5px,env(safe-area-inset-left))!important;padding-right:max(5px,env(safe-area-inset-right))!important}
  .event-toolbar .header-actions{gap:1px!important;max-width:calc(100vw - 46px - env(safe-area-inset-left) - env(safe-area-inset-right))!important}
  .event-toolbar .header-actions .button,
  .event-toolbar .header-actions .icon-button,
  .event-toolbar .upload-open,
  .event-toolbar .favorite-filter,
  .event-toolbar .comments-filter,
  .event-toolbar .push-toggle,
  .event-toolbar .help-button,
  .event-toolbar .hunt-open{
    width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;flex-basis:36px!important;
  }
}

@media(max-width:700px){.admin-list{gap:28px}.card-head{padding:22px 18px;gap:14px}.card-head:before{width:4px}.form-grid{padding:20px 18px}.card-actions{padding:16px 18px}.gallery-card .link-box{margin-left:18px;margin-right:18px}}


/* v3.8.3 – Auswertungen am Ende des Kunden-Dashboards */
.dashboard-evaluations{display:grid;gap:16px;margin-top:34px;padding-top:30px;border-top:2px solid var(--border)}
.evaluation-heading{padding:0 4px 4px}
.evaluation-heading h2{margin:.15rem 0 .35rem}
.evaluation-panel{padding:0!important;overflow:hidden}
.evaluation-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;font-weight:700;user-select:none}
.evaluation-panel>summary::-webkit-details-marker{display:none}
.evaluation-panel>summary>span:first-child{display:flex;align-items:center;gap:14px;min-width:0}
.evaluation-panel>summary small{display:block;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px}
.evaluation-panel>summary strong{display:block;font-size:1.08rem}
.evaluation-panel>summary:after{content:'›';font-size:1.8rem;line-height:1;transform:rotate(90deg);transition:transform .2s ease;color:var(--muted)}
.evaluation-panel[open]>summary:after{transform:rotate(-90deg)}
.evaluation-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--surface-2);font-size:1.2rem;flex:0 0 auto}
.evaluation-count{margin-left:auto;padding:7px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.82rem;white-space:nowrap}
.evaluation-content{padding:0 22px 22px;border-top:1px solid var(--border)}
.evaluation-content>.muted{margin:20px 0 0}
.evaluation-content .favorite-ranking{margin-top:18px}
@media(max-width:700px){.dashboard-evaluations{margin-top:26px;padding-top:24px}.evaluation-panel>summary{padding:17px 16px;gap:10px}.evaluation-count{display:none}.evaluation-content{padding:0 14px 16px}.evaluation-icon{width:40px;height:40px;border-radius:12px}}

/* v3.8.5 – Neues Event direkt im Admin-Dashboard */
.new-event-button{font-weight:800;box-shadow:0 10px 24px rgba(37,99,235,.2);white-space:nowrap}
.new-event-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:auto}
.new-event-dialog::backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(5px)}
.new-event-form{margin:0}
.new-event-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 24px 8px}
.new-event-dialog-head h2{margin:.15rem 0 .35rem}
.new-event-dialog .form-grid{padding:18px 24px 24px}
.new-event-dialog .card-actions{margin:0;padding:18px 24px;border-top:1px solid var(--border);justify-content:flex-end}
@media(max-width:900px){.admin-header .header-actions .new-event-button{order:-2}}
@media(max-width:700px){.new-event-button{width:100%;justify-content:center}.new-event-dialog-head{padding:20px 18px 6px}.new-event-dialog .form-grid{padding:16px 18px 20px}.new-event-dialog .card-actions{padding:16px 18px;display:grid;grid-template-columns:1fr}.new-event-dialog .card-actions button{width:100%}}


/* v3.8.6 – Beschrifteter Schnitzeljagd-Button in der Hochzeitsgalerie */
@media(max-width:900px){
  .wedding-gallery .event-toolbar .hunt-open{
    width:auto!important;
    min-width:122px!important;
    max-width:122px!important;
    flex:0 0 122px!important;
    padding:0 10px!important;
    border-radius:14px!important;
    gap:6px!important;
    font-size:.74rem!important;
  }
  .wedding-gallery .event-toolbar .hunt-open .action-label{
    display:inline!important;
    font-size:.74rem!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }
  .wedding-gallery .event-toolbar .hunt-open .hunt-label-badge{display:none!important}
  .wedding-gallery .event-toolbar .header-actions{
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .wedding-gallery .event-toolbar .header-actions::-webkit-scrollbar{display:none}
}
@media(max-width:390px){
  .wedding-gallery .event-toolbar .hunt-open{
    width:auto!important;
    min-width:116px!important;
    max-width:116px!important;
    flex-basis:116px!important;
    padding:0 8px!important;
  }
  .wedding-gallery .event-toolbar .hunt-open .action-label{font-size:.7rem!important}
}


/* v3.9.2 – klar beschrifteter Upload-Button in der Hochzeitsgalerie */
@media(max-width:900px){
  .wedding-gallery .event-toolbar .upload-open{
    width:auto!important;
    min-width:116px!important;
    max-width:116px!important;
    flex:0 0 116px!important;
    padding:0 10px!important;
    border-radius:14px!important;
    gap:6px!important;
    font-size:.74rem!important;
  }
  .wedding-gallery .event-toolbar .upload-open .action-label{
    display:inline!important;
    font-size:.74rem!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }
  .wedding-gallery .event-toolbar .upload-open .action-icon{font-size:1rem!important}
}
@media(max-width:390px){
  .wedding-gallery .event-toolbar .upload-open{
    min-width:108px!important;
    max-width:108px!important;
    flex-basis:108px!important;
    padding:0 8px!important;
  }
  .wedding-gallery .event-toolbar .upload-open .action-label{font-size:.68rem!important}
}

/* v3.9.2 – übersichtliche mobile Navigation der Hochzeitsgalerie */
@media(max-width:900px){
  .wedding-gallery .event-toolbar{
    display:block!important;
    padding:8px max(10px,env(safe-area-inset-right)) 9px max(10px,env(safe-area-inset-left))!important;
    overflow:visible!important;
  }
  .wedding-gallery .event-toolbar>.mini-brand{display:none!important}
  .wedding-gallery .event-toolbar .header-actions{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
  }
  .wedding-gallery .event-toolbar .upload-open{
    order:1;
    grid-column:1 / span 2;
  }
  .wedding-gallery .event-toolbar .hunt-open{
    order:2;
    grid-column:3 / span 2;
  }
  .wedding-gallery .event-toolbar .favorite-filter{order:3;grid-column:1}
  .wedding-gallery .event-toolbar .comments-filter{order:4;grid-column:2}
  .wedding-gallery .event-toolbar .push-toggle{order:5;grid-column:3}
  .wedding-gallery .event-toolbar .help-button{order:6;grid-column:4}
  .wedding-gallery .event-toolbar .theme-toggle,
  .wedding-gallery .event-toolbar .desktop-download{display:none!important}

  .wedding-gallery .event-toolbar .upload-open,
  .wedding-gallery .event-toolbar .hunt-open{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    flex:none!important;
    padding:0 10px!important;
    border-radius:14px!important;
    gap:7px!important;
    font-size:.78rem!important;
    justify-content:center!important;
  }
  .wedding-gallery .event-toolbar .upload-open .action-label,
  .wedding-gallery .event-toolbar .hunt-open .action-label{
    display:inline!important;
    font-size:.78rem!important;
    line-height:1!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }
  .wedding-gallery .event-toolbar .upload-open .action-icon,
  .wedding-gallery .event-toolbar .hunt-open .action-icon{
    display:block!important;
    font-size:1.05rem!important;
  }
  .wedding-gallery .event-toolbar .hunt-open .hunt-label-badge{display:none!important}

  .wedding-gallery .event-toolbar .favorite-filter,
  .wedding-gallery .event-toolbar .comments-filter,
  .wedding-gallery .event-toolbar .push-toggle,
  .wedding-gallery .event-toolbar .help-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:40px!important;
    flex:none!important;
    padding:0!important;
    border-radius:13px!important;
    justify-content:center!important;
  }
}
@media(max-width:390px){
  .wedding-gallery .event-toolbar .header-actions{gap:6px!important}
  .wedding-gallery .event-toolbar .upload-open,
  .wedding-gallery .event-toolbar .hunt-open{height:40px!important;padding:0 7px!important}
  .wedding-gallery .event-toolbar .upload-open .action-label,
  .wedding-gallery .event-toolbar .hunt-open .action-label{font-size:.72rem!important}
  .wedding-gallery .event-toolbar .favorite-filter,
  .wedding-gallery .event-toolbar .comments-filter,
  .wedding-gallery .event-toolbar .push-toggle,
  .wedding-gallery .event-toolbar .help-button{height:38px!important}
}


/* v3.9.2 – hochwertiger Upload-Button in der Hochzeitsgalerie */
.wedding-gallery .event-toolbar .upload-open .upload-action-icon{
  width:20px;
  height:20px;
  display:grid!important;
  place-items:center;
}
.wedding-gallery .event-toolbar .upload-open .upload-action-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:900px){
  .wedding-gallery .event-toolbar .upload-open{
    color:#fff!important;
    background:linear-gradient(135deg,var(--event-accent,#168cff),color-mix(in srgb,var(--event-accent,#168cff) 72%,#6d5cff))!important;
    border-color:transparent!important;
    box-shadow:0 8px 22px color-mix(in srgb,var(--event-accent,#168cff) 30%,transparent)!important;
  }
  .wedding-gallery .event-toolbar .upload-open:active{
    transform:scale(.98)!important;
    box-shadow:0 4px 12px color-mix(in srgb,var(--event-accent,#168cff) 24%,transparent)!important;
  }
  .wedding-gallery .event-toolbar .upload-open .action-label{
    letter-spacing:-.01em!important;
  }
  .wedding-gallery .event-toolbar .hunt-open{
    background:var(--surface-2)!important;
    border-color:var(--border)!important;
  }
}


/* v3.9.2 – keine bedeutungslose 0 im mobilen Aktionsbereich */
.event-toolbar #favorite-count[hidden],
.event-toolbar #commented-count[hidden]{display:none!important}
.wedding-gallery .event-toolbar .upload-open::after{content:none!important;display:none!important}

/* v3.9.4 – eindeutiges Upload-Symbol und einheitlicher Kommentar-Button */
.wedding-gallery .event-toolbar .upload-open .upload-action-icon,
.wedding-gallery .event-toolbar .upload-open .upload-action-icon::before,
.wedding-gallery .event-toolbar .upload-open .upload-action-icon::after{
  content:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.wedding-gallery .event-toolbar .upload-open .upload-action-icon{
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  color:currentColor!important;
  font-size:0!important;
}
.wedding-gallery .event-toolbar .upload-open .upload-action-icon svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.wedding-gallery .event-toolbar .upload-open .upload-action-icon svg path{
  fill:none!important;
  stroke:currentColor!important;
}

@media(max-width:900px){
  .wedding-gallery .event-toolbar .comments-filter{
    border:1px solid var(--border)!important;
    background:var(--surface-2)!important;
    box-shadow:0 3px 10px color-mix(in srgb,#000 10%,transparent)!important;
    color:var(--text)!important;
  }
  .wedding-gallery .event-toolbar .comments-filter:hover{
    background:color-mix(in srgb,var(--surface-2) 88%,var(--text) 12%)!important;
  }
  .wedding-gallery .event-toolbar .comments-filter:active{
    transform:scale(.96)!important;
  }
  .wedding-gallery .event-toolbar .comments-filter.active,
  .wedding-gallery .event-toolbar .comments-filter[aria-pressed="true"]{
    color:#fff!important;
    background:#c62828!important;
    border-color:#c62828!important;
    box-shadow:0 4px 12px color-mix(in srgb,#c62828 28%,transparent)!important;
  }
  .wedding-gallery .event-toolbar .comments-filter .action-icon{
    width:21px!important;
    height:21px!important;
  }
  .wedding-gallery .event-toolbar .comments-filter svg{
    width:21px!important;
    height:21px!important;
  }
}

/* v3.9.4 – Upload-Icon vollständig vom Favoriten-Icon entkoppelt */
.wedding-gallery .event-toolbar .upload-open{
  isolation:isolate!important;
}
.wedding-gallery .event-toolbar .upload-open::before,
.wedding-gallery .event-toolbar .upload-open::after,
.wedding-gallery .event-toolbar .upload-open > .upload-action-icon::before,
.wedding-gallery .event-toolbar .upload-open > .upload-action-icon::after{
  content:""!important;
  display:none!important;
}
.wedding-gallery .event-toolbar .upload-open > .upload-action-icon{
  position:relative!important;
  z-index:2!important;
  overflow:hidden!important;
  color:inherit!important;
}
.wedding-gallery .event-toolbar .upload-open > .upload-action-icon svg{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
/* Ein Herz darf ausschließlich innerhalb des Favoriten-Buttons erscheinen. */
.wedding-gallery .event-toolbar .upload-open .favorite-icon,
.wedding-gallery .event-toolbar .upload-open [class*="heart"]{
  display:none!important;
}

/* RocketGallery v3.9.5 – mobile Toolbar ohne überlagertes Favoriten-Herz */
@media(max-width:900px){
  .wedding-gallery .event-toolbar .header-actions{
    grid-template-rows:42px 40px!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
  }
  .wedding-gallery .event-toolbar .upload-open{
    grid-column:1 / span 2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
    overflow:hidden!important;
    contain:paint!important;
  }
  .wedding-gallery .event-toolbar .hunt-open{
    grid-column:3 / span 2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
  }
  .wedding-gallery .event-toolbar .favorite-filter{
    grid-column:1!important;
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    z-index:1!important;
  }
  .wedding-gallery .event-toolbar .comments-filter{
    grid-column:2!important;
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    z-index:1!important;
  }
  .wedding-gallery .event-toolbar .push-toggle{
    grid-column:3!important;
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    z-index:1!important;
  }
  .wedding-gallery .event-toolbar .help-button{
    grid-column:4!important;
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    z-index:1!important;
  }
  .wedding-gallery .event-toolbar .favorite-filter .favorite-icon{
    position:static!important;
    inset:auto!important;
    transform:none!important;
  }
}


/* RocketGallery v3.9.6 – einklappbare Events im Admin-Dashboard */
.gallery-card .event-card-toggle{
  cursor:pointer;
  user-select:none;
  transition:background .2s ease,border-color .2s ease;
}
.gallery-card .event-card-toggle:hover{
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 82%,var(--accent) 18%),var(--surface));
}
.gallery-card .event-card-toggle:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);
  outline-offset:-3px;
}
.event-card-head-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.event-card-chevron{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--line);font-size:1.35rem;line-height:1;transition:transform .22s ease,background .22s ease}
.gallery-card.is-open .event-card-chevron{transform:rotate(180deg);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}
.event-card-details[hidden]{display:none!important}
.gallery-card:not(.is-open){box-shadow:0 10px 30px rgba(0,0,0,.12)}
.gallery-card:not(.is-open) .card-head{border-bottom:0}
@media(max-width:680px){
  .event-card-head-actions{gap:9px}
  .event-card-chevron{width:32px;height:32px;font-size:1.15rem}
  .gallery-card .card-head{align-items:center}
  .gallery-card .card-head h3{font-size:1.15rem;overflow-wrap:anywhere}
  .gallery-card .card-head .switch em{display:none}
}

/* RocketGallery v3.9.7 – mobiles Admin-Dashboard ohne horizontales Überlaufen */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  .admin-header{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px max(14px,env(safe-area-inset-right)) 18px max(14px,env(safe-area-inset-left))!important;
  }
  .admin-header .gallery-heading{
    width:100%!important;
    min-width:0!important;
    align-items:flex-start!important;
  }
  .admin-header .gallery-heading>div:last-child{min-width:0!important}
  .admin-header .gallery-heading h1{font-size:1.55rem!important}
  .admin-header .gallery-heading .muted{margin-bottom:0;line-height:1.35}
  .admin-header .header-actions{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  .admin-header .header-actions .button,
  .admin-header .header-actions button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:48px!important;
    padding:10px 9px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    line-height:1.15!important;
    font-size:.82rem!important;
  }
  .admin-header .header-actions .new-event-button{
    grid-column:1/-1!important;
    order:initial!important;
    font-size:.9rem!important;
  }
  .admin-header .header-actions .theme-toggle{display:none!important}
  .admin-main{width:100%!important;max-width:100%!important;overflow:hidden}
}
@media(max-width:430px){
  .admin-header .gallery-heading .brand-mark{display:none!important}
  .admin-header .header-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-header .header-actions .button,
  .admin-header .header-actions button{font-size:.76rem!important;padding-inline:7px!important}
}


/* RocketGallery v3.9.8 – Medien im Kunden-Dashboard löschen */
.customer-media-manager{padding:0;overflow:hidden}.customer-media-manager>details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 88%,var(--accent) 12%),var(--surface));user-select:none}.customer-media-manager>details>summary::-webkit-details-marker{display:none}.customer-media-manager>details>summary>span:first-child{display:flex;align-items:center;gap:13px}.customer-media-manager>details>summary strong,.customer-media-manager>details>summary small{display:block}.customer-media-manager>details>summary small{margin-top:4px;color:var(--muted);font-weight:600}.customer-media-summary-icon{font-size:1.55rem}.customer-media-summary-action{padding:8px 12px;border-radius:999px;background:var(--surface-2);font-size:.8rem;font-weight:850}.customer-media-manager details[open] .customer-media-summary-action{font-size:0}.customer-media-manager details[open] .customer-media-summary-action:after{content:'Schließen';font-size:.8rem}.customer-media-manager-body{padding:22px 24px;border-top:1px solid var(--line)}.customer-media-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px)}.customer-media-toolbar>span{font-weight:800}.customer-media-toolbar>div{display:flex;gap:8px}.customer-media-toolbar button{padding:9px 12px}.customer-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.customer-media-card{position:relative;display:block;overflow:hidden;border:2px solid transparent;border-radius:16px;background:var(--surface-2);cursor:pointer;transition:border-color .18s,transform .18s}.customer-media-card:hover{transform:translateY(-1px)}.customer-media-card>input{position:absolute;opacity:0;pointer-events:none}.customer-media-card:has(input:checked){border-color:var(--accent)}.customer-media-preview{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#080a0f}.customer-media-preview img,.customer-media-preview video{display:block;width:100%;height:100%;object-fit:cover}.customer-media-preview b{position:absolute;right:7px;bottom:7px;padding:5px 7px;border-radius:999px;background:#000b;color:#fff;font-size:.67rem}.customer-media-name{display:block;padding:9px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--muted)}.customer-media-check{position:absolute;z-index:3;right:8px;top:8px;width:28px;height:28px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#0008;color:transparent;font-weight:900}.customer-media-card:has(input:checked) .customer-media-check{background:var(--accent);color:#fff}.customer-media-empty{margin:0;padding:30px}.customer-media-toolbar .danger-button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:680px){.customer-media-manager>details>summary{padding:18px 16px}.customer-media-manager-body{padding:16px 12px}.customer-media-toolbar{position:static;align-items:stretch;flex-direction:column}.customer-media-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.customer-media-toolbar .danger-button{grid-column:1/-1}.customer-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-media-name{font-size:.68rem;padding:8px}}


/* RocketGallery v3.9.9 – ZIP-Gesamtdownload im Kunden-Dashboard */
.dashboard-download-panel .section-heading{align-items:center}
.dashboard-download-panel .section-heading>div{max-width:760px}
.dashboard-download-panel .button{white-space:nowrap}
@media(max-width:760px){
  .dashboard-download-panel .section-heading{display:grid;gap:16px}
  .dashboard-download-panel .button,.dashboard-download-panel .secondary{width:100%}
}

/* RocketGallery 4.0.0 – Retro-Kamera-Galerie */
.retro-admin-box{border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.025);display:grid;gap:14px}.retro-upload-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.retro-upload-row small{grid-column:1/-1}.retro-gallery-button.active{box-shadow:0 0 0 2px var(--accent, #8b5cf6) inset}.retro-dashboard-panel{border-color:color-mix(in srgb,var(--accent,#8b5cf6) 45%,var(--line))}@media(max-width:700px){.retro-upload-row{grid-template-columns:1fr}.retro-upload-row button{width:100%}}


/* RocketGallery 4.0.2 – hervorgehobene Upload- und Schnitzeljagd-Kacheln */
.event-toolbar .upload-open,
.event-toolbar .hunt-open{
  min-height:54px!important;
  padding:7px 13px!important;
  border-radius:16px!important;
  gap:10px!important;
  border:1px solid transparent!important;
  box-shadow:0 8px 22px rgba(2,6,23,.15)!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.event-toolbar .upload-open{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#0ea5e9)!important;
  border-color:rgba(255,255,255,.2)!important;
}
.event-toolbar .hunt-open{
  color:#2b1b00!important;
  background:linear-gradient(135deg,#fbbf24,#f59e0b)!important;
  border-color:rgba(255,255,255,.28)!important;
}
.event-toolbar .upload-open:hover,
.event-toolbar .hunt-open:hover{transform:translateY(-1px)!important;filter:brightness(1.04)!important;box-shadow:0 11px 27px rgba(2,6,23,.22)!important}
.event-toolbar .upload-open:active,
.event-toolbar .hunt-open:active{transform:scale(.97)!important}
.event-toolbar .upload-open .action-icon,
.event-toolbar .hunt-open .action-icon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:10px!important;background:rgba(255,255,255,.18)!important;font-size:1.25rem!important}
.event-toolbar .upload-open .upload-action-icon svg{width:21px!important;height:21px!important;stroke:currentColor!important;stroke-width:2.2!important;fill:none!important}
.event-toolbar .action-copy{display:flex!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;line-height:1.05!important;text-align:left!important}
.event-toolbar .action-copy .action-label{display:block!important;font-size:.82rem!important;font-weight:900!important;white-space:nowrap!important}
.event-toolbar .action-copy small{display:block!important;margin-top:4px!important;color:inherit!important;opacity:.78!important;font-size:.62rem!important;font-weight:750!important;white-space:nowrap!important}
.event-toolbar .hunt-label-badge{right:-5px!important;top:-7px!important;background:#7c2d12!important;color:#fff!important;box-shadow:0 4px 10px rgba(0,0,0,.2)!important}
@media(max-width:900px){
  .event-toolbar .upload-open,.event-toolbar .hunt-open{width:auto!important;min-width:142px!important;max-width:none!important;height:54px!important;padding:7px 11px!important;border-radius:15px!important;overflow:visible!important;font-size:inherit!important}
  .event-toolbar .upload-open::before,.event-toolbar .hunt-open::before{content:none!important}
  .event-toolbar .upload-open .action-copy,.event-toolbar .hunt-open .action-copy{display:flex!important}
}
@media(max-width:560px){
  .event-toolbar .upload-open,.event-toolbar .hunt-open{min-width:0!important;flex:1 1 142px!important}
}
@media(max-width:390px){
  .event-toolbar .upload-open,.event-toolbar .hunt-open{min-height:48px!important;height:48px!important;padding:6px 8px!important;gap:7px!important}
  .event-toolbar .upload-open .action-icon,.event-toolbar .hunt-open .action-icon{width:28px!important;height:28px!important;flex-basis:28px!important}
  .event-toolbar .action-copy .action-label{font-size:.72rem!important}
  .event-toolbar .action-copy small{font-size:.56rem!important}
}


/* RocketGallery 4.0.3 – schlichte Upload- und Schnitzeljagd-Symbole */
.event-toolbar .upload-open .action-icon,
.event-toolbar .hunt-open .action-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  font-size:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.event-toolbar .upload-open .action-icon svg,
.event-toolbar .hunt-open .action-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.event-toolbar .hunt-open .hunt-label-badge{display:none!important}
.event-toolbar .upload-open::before,
.event-toolbar .upload-open::after,
.event-toolbar .hunt-open::before,
.event-toolbar .hunt-open::after{content:none!important;display:none!important}
@media(max-width:900px){
  .event-toolbar .upload-open .action-icon,
  .event-toolbar .hunt-open .action-icon,
  .event-toolbar .upload-open .action-icon svg,
  .event-toolbar .hunt-open .action-icon svg{width:20px!important;height:20px!important}
}

/* RocketGallery 4.0.4 – finale, cache-sichere Aktionssymbole */
.event-toolbar .upload-open .upload-action-icon svg,
.event-toolbar .hunt-open .hunt-action-icon svg{
  width:22px!important;
  height:22px!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.event-toolbar .upload-open .upload-action-icon svg path,
.event-toolbar .hunt-open .hunt-action-icon svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* RocketGallery 4.0.5 – einfache mobile Toolbar-Symbole in allen Galerie-Modi */
@media (max-width:900px){
  .event-page .event-toolbar .header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .event-page .event-toolbar .header-actions::-webkit-scrollbar{display:none!important}

  .event-page .event-toolbar .upload-open,
  .event-page .event-toolbar .hunt-open{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    flex:0 0 48px!important;
    padding:0!important;
    margin:0!important;
    gap:0!important;
    border-radius:50%!important;
    display:inline-grid!important;
    place-items:center!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }
  .event-page .event-toolbar .upload-open{
    color:#fff!important;
    background:#1677e8!important;
    border-color:#2d8af0!important;
  }
  .event-page .event-toolbar .hunt-open{
    color:#17120a!important;
    background:#f5b323!important;
    border-color:#ffc54b!important;
  }
  .event-page .event-toolbar .upload-open:hover,
  .event-page .event-toolbar .hunt-open:hover{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
  }
  .event-page .event-toolbar .upload-open:active,
  .event-page .event-toolbar .hunt-open:active{transform:scale(.94)!important}

  .event-page .event-toolbar .upload-open .action-copy,
  .event-page .event-toolbar .hunt-open .action-copy,
  .event-page .event-toolbar .upload-open .action-label,
  .event-page .event-toolbar .hunt-open .action-label,
  .event-page .event-toolbar .upload-open small,
  .event-page .event-toolbar .hunt-open small{
    display:none!important;
  }
  .event-page .event-toolbar .upload-open .action-icon,
  .event-page .event-toolbar .hunt-open .action-icon{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    flex:0 0 24px!important;
    padding:0!important;
    margin:0!important;
    background:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .event-page .event-toolbar .upload-open .action-icon svg,
  .event-page .event-toolbar .hunt-open .action-icon svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  /* Frühere Hochzeitsgalerie-Rasterregeln neutralisieren. */
  .wedding-gallery .event-toolbar .upload-open,
  .wedding-gallery .event-toolbar .hunt-open{
    grid-column:auto!important;
    order:initial!important;
  }
}
