@font-face{font-family:Quiche Display;src:url(/fonts/quiche-display-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Quiche Display;src:url(/fonts/quiche-display-medium.woff2)format("woff2");font-weight:500;font-display:swap}:root{--peach:#ffbe98;--apricot:#ffbc7d;--magenta:#ce3375;--sage:#afd2ad;--sky:#7cc8e7;--deep:#235247;--bg:#0d0f0e;--surface:#161a18;--surface-hi:#1f2521;--line:#2c332e;--text:#f2efe9;--muted:#9aa39c;--display:"Quiche Display", "Iowan Old Style", Palatino, serif;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--gutter:clamp(1rem, 3vw, 2.5rem)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.topbar{z-index:20;padding:1rem var(--gutter) .8rem;background:linear-gradient(to bottom, var(--bg) 60%, transparent);position:sticky;top:0}.topbar .brand{align-items:baseline;gap:.9rem;display:flex}.topbar .mark{flex:none;width:46px}.topbar .mark path{fill:var(--peach)}.greeting{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:clamp(1.5rem,4.5vw,2.6rem);line-height:1.05}.greeting em{color:var(--peach);font-style:normal}.subline{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.filters{padding:.9rem var(--gutter) .4rem;scrollbar-width:none;gap:.5rem;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;flex:none;align-items:baseline;gap:.45rem;padding:.4rem .85rem;font-size:.86rem;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--muted)}.chip .n{font-variant-numeric:tabular-nums;opacity:.7;font-size:.76rem}.chip[data-active=true]{color:var(--bg);border-color:#0000;font-weight:500}.chip[data-active=true][data-view=gruppe]{background:var(--sky)}.chip[data-active=true][data-view=haushalt]{background:var(--sage)}.chip[data-active=true][data-view=ich]{background:var(--magenta);color:var(--text)}.chip[data-active=true][data-view=album]{background:var(--peach)}.grid{columns:4 260px;padding:.6rem var(--gutter) 5rem;column-gap:10px}.tile{break-inside:avoid;background:var(--surface);border-radius:3px;width:100%;margin-bottom:10px;display:block;position:relative;overflow:hidden}.tile img{opacity:0;width:100%;height:auto;transition:opacity .5s;display:block}.tile img.loaded{opacity:1}.tile .pick{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#00000059;border:1.5px solid #ffffffbf;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.8rem;transition:opacity .15s;display:grid;position:absolute;top:8px;right:8px}.tile:hover .pick,.tile .pick[data-picked=true]{opacity:1}.tile .pick[data-picked=true]{background:var(--peach);border-color:var(--peach);color:#000}.empty{padding:4rem var(--gutter);color:var(--muted);max-width:34rem}.empty h2{font-family:var(--display);color:var(--text);font-weight:400}.lightbox{z-index:60;background:#060807f5;grid-template-rows:1fr auto;display:grid;position:fixed;inset:0}.stage{place-items:center;min-height:0;padding:1.2rem;display:grid;position:relative}.frame{max-width:100%;max-height:100%;line-height:0;position:relative}.frame img{width:auto;max-width:100%;height:auto;max-height:calc(100vh - 9rem)}.face{pointer-events:none;border:1.5px solid #ffbe98d9;border-radius:3px;position:absolute;box-shadow:0 0 0 1px #00000059}.face span{margin-top:calc(6px + var(--stufe,0) * 18px);white-space:nowrap;letter-spacing:.01em;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--peach);background:#080a09d1;border-radius:999px;padding:.1rem .4rem;font-size:.68rem;line-height:1.35;position:absolute;top:100%;left:-1px;box-shadow:0 1px 6px #00000080}.face span:before{content:"";width:1px;height:calc(6px + var(--stufe,0) * 18px);background:#ffbe9873;position:absolute;bottom:100%;left:8px}.lightbox .bar{padding:.8rem var(--gutter) 1.4rem;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.84rem;display:flex}.lightbox .bar .meta{margin-right:auto}.ghost{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:999px;padding:.4rem .9rem;font-size:.84rem}.ghost:hover{border-color:var(--peach);color:var(--peach)}.solid{border:1px solid var(--peach);background:var(--peach);color:#000;border-radius:999px;padding:.4rem .9rem;font-size:.84rem;font-weight:500}.nav{width:46px;height:46px;color:var(--text);background:#ffffff14;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.nav:hover{background:var(--peach);color:#000}.nav.prev{left:.6rem}.nav.next{right:.6rem}.tray{z-index:40;padding:.8rem var(--gutter);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);background:#0d0f0eeb;align-items:center;gap:.8rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tray .count{font-family:var(--display);font-size:1.1rem}.tray .spacer{margin-left:auto}.reveal{z-index:100;background:var(--peach);place-items:center;animation:.62s cubic-bezier(.7,0,.3,1) 1.5s forwards curtain;display:grid;position:fixed;inset:0}.reveal svg{width:min(46vw,340px)}.reveal svg path{fill:none;stroke:#fff;stroke-width:6px;stroke-linecap:round;stroke-dasharray:var(--len,4000);stroke-dashoffset:var(--len,4000);animation:1.25s cubic-bezier(.4,0,.2,1) forwards draw,.42s 1.15s forwards ink}.reveal svg path:nth-child(2){animation-delay:.12s,1.2s}.reveal svg path:nth-child(3){animation-delay:.24s,1.25s}@keyframes draw{to{stroke-dashoffset:0}}@keyframes ink{to{fill:#fff;stroke-width:0}}@keyframes curtain{to{transform:translateY(-101%)}}.reveal .hint{color:#00000080;font-size:.78rem;position:absolute;bottom:2.2rem}@media (prefers-reduced-motion:reduce){.reveal{animation:.32s .42s forwards fade}.reveal svg path{fill:#fff;stroke-width:0;animation:none}.tile img{transition:none}@keyframes fade{to{opacity:0;visibility:hidden}}}.center{min-height:100dvh;padding:var(--gutter);text-align:center;place-items:center;display:grid}.center h1{font-family:var(--display);margin:0 0 .6rem;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:400}.center p{color:var(--muted);max-width:30rem;margin:0}.center .mark{width:92px;margin:0 auto 2rem}.center .mark path{fill:var(--peach)}.pager{padding:0 var(--gutter) 6rem;color:var(--muted);justify-content:center;gap:1rem;display:flex}.sentinel{padding:1rem var(--gutter) 6rem;color:var(--muted);justify-content:center;font-size:.85rem;display:flex}.landing{--paper:#fdf8f1;--card:#fff;--ink:#33403a;--deep-l:#235247;--line-l:#ecdfcd;--muted-l:#837c6f;--peach-l:#d96f3d;--magenta-l:#ce3375;--sage-l:#567f3f;--sky-l:#2c7ba4;--apricot-l:#c98a1e;max-width:42rem;padding:clamp(2.5rem, 8vw, 5rem) var(--gutter) 4rem;color:var(--ink);margin:0 auto}body:has(.landing){background:#fdf8f1}.landing .hero{text-align:center;margin-bottom:clamp(2.5rem,7vw,4rem)}.landing .hero .mark{width:84px;margin:0 auto 2rem}.landing .hero .mark path{fill:var(--magenta-l)}.landing h1{font-family:var(--display);letter-spacing:-.01em;color:var(--deep-l);margin:0;font-size:clamp(1.9rem,6.5vw,3rem);font-weight:400;line-height:1.12}.landing h1 em{color:var(--magenta-l);white-space:nowrap;font-style:normal}.landing .skip{border:1px solid var(--peach-l);color:var(--peach-l);border-radius:999px;margin-top:1.5rem;padding:.45rem 1rem;font-size:.86rem;transition:background .18s,color .18s;display:inline-flex}.landing .skip:hover{background:var(--peach-l);color:#fff}.landing h2{font-family:var(--display);color:var(--deep-l);margin:3.2rem 0 .3rem;font-size:clamp(1.4rem,4.5vw,1.9rem);font-weight:400;line-height:1.2}.landing p{color:var(--ink);margin:.9rem 0;line-height:1.75}.landing .signature{font-family:var(--display);color:var(--magenta-l);margin-top:1.4rem;font-size:1.6rem}.landing .print{background:#fff;border-radius:2px;margin:2.6rem 0;padding:clamp(8px,1.4vw,12px);transition:transform .35s;transform:rotate(-.7deg);box-shadow:0 1px 2px #3c2d1914,0 14px 34px #3c2d1929}.landing .print:hover{transform:rotate(0)}.landing .print img{width:100%;height:auto;display:block}.landing .print.nach-rechts{transform:rotate(.9deg)}.landing .print.nach-rechts:hover{transform:rotate(0)}.landing .print.klein{max-width:24rem;margin-inline:auto;transform:rotate(-.5deg)}@media (min-width:54rem){.landing .print.nach-links{margin-left:-3.5rem;margin-right:2.5rem}.landing .print.nach-rechts{margin-left:2.5rem;margin-right:-3.5rem}}@media (prefers-reduced-motion:reduce){.landing .print{transition:none}}.picker{border:1px solid var(--line-l);background:var(--card);border-radius:14px;margin:1.8rem 0;padding:1.4rem 1.5rem 1.6rem;scroll-margin-top:2rem;box-shadow:0 10px 30px #3c2d1912}.picker h3{font-family:var(--display);color:var(--deep-l);margin:0;font-size:1.25rem;font-weight:400}.picker p{color:var(--muted-l);margin:.4rem 0 1.1rem;font-size:.9rem}.members{flex-wrap:wrap;gap:.6rem;display:flex}.member{--tint:var(--peach-l);border:1.5px solid var(--tint);color:var(--tint);background:0 0;border-radius:999px;padding:.55rem 1.15rem;font-size:.95rem;font-weight:500;transition:background .18s,color .18s}.member:nth-child(4n+2){--tint:var(--sage-l)}.member:nth-child(4n+3){--tint:var(--sky-l)}.member:nth-child(4n+4){--tint:var(--magenta-l)}.member:hover{background:var(--tint);color:#fff}.landing .formel{font-family:var(--display);color:var(--deep-l);font-size:1.05rem;line-height:1.6}.f-peach{color:var(--peach-l)}.f-sage{color:var(--sage-l)}.f-sky{color:var(--sky-l)}.f-apricot{color:var(--apricot-l)}.vendors{border-top:1px solid var(--line-l);margin:1.6rem 0;padding:0;list-style:none}.vendors li{border-bottom:1px solid var(--line-l);flex-wrap:wrap;align-items:baseline;gap:.15rem 1rem;padding:.7rem 0;display:flex}.vendors .role{color:var(--muted-l);letter-spacing:.05em;text-transform:uppercase;flex:0 0 12rem;font-size:.76rem}.vendors .who{color:var(--deep-l);font-weight:500}.vendors a{color:var(--magenta-l);font-size:.84rem}.vendors a:hover{text-decoration:underline}@media (max-width:540px){.vendors .role{flex-basis:100%}}.filters.sections{padding-top:.1rem}.filters.sections .chip{background:0 0;padding:.3rem .7rem;font-size:.8rem}.filters.sections .chip[data-active=true]{background:var(--surface-hi);border-color:var(--peach);color:var(--peach)}
