:root{--pink:#ff70bc;--magenta:#c21886;--cream:#fff7dd;--mint:#bff5dd;--sky:#b9e8ff;--ink:#392243;--card:#fffefa;--shadow:0 18px 45px rgba(142,38,112,.18)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-rounded,"Trebuchet MS",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#fff 0,#fff0f8 28%,#fff7dd 62%,#eafcff 100%);min-height:100vh}.hero{position:relative;overflow:hidden;padding:38px 18px 30px;background:linear-gradient(135deg,#ff9bd2,#ffd76b 50%,#9df2ff);border-bottom:6px solid #fff;box-shadow:0 12px 35px rgba(180,74,139,.18)}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 2px,transparent 3px);background-size:34px 34px;opacity:.45}.hero-inner{position:relative;z-index:1;max-width:1160px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:.78rem;margin:0 0 4px;color:#872062}.hero h1{margin:0;font-size:clamp(2.6rem,8vw,6.8rem);line-height:.86;color:white;text-shadow:0 5px 0 #c21886,0 10px 24px rgba(80,0,80,.28);font-weight:1000}.subtitle{max-width:760px;font-size:1.08rem;font-weight:700;line-height:1.5}.stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.stat{padding:12px 16px;border-radius:22px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(122,31,100,.12);font-weight:900}.sparkle{position:absolute;border-radius:50%;filter:blur(1px);opacity:.65}.sparkle.one{width:170px;height:170px;background:#fff;right:8%;top:-42px}.sparkle.two{width:90px;height:90px;background:#fff7a7;left:10%;bottom:-28px}.sparkle.three{width:120px;height:120px;background:#c9fff0;right:30%;bottom:-38px}.shell{max-width:1320px;margin:0 auto;padding:24px 16px 70px}.toolbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) minmax(150px,180px) auto auto;gap:10px;align-items:center;padding:12px;margin:0 -4px 18px;border:2px solid rgba(194,24,134,.12);border-radius:28px;background:rgba(255,255,255,.76);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.searchbox{display:flex;align-items:center;gap:8px;background:white;border:2px solid #ffd4ef;border-radius:999px;padding:0 14px}.searchbox input,.toolbar select{height:46px;border:0;background:transparent;outline:none;width:100%;font:inherit;font-weight:800;color:var(--ink)}.toolbar select{background:white;border:2px solid #ffd4ef;border-radius:999px;padding:0 14px}.pill,.tiny{border:0;border-radius:999px;background:linear-gradient(135deg,#ff70bc,#ff9f43);color:white;font-weight:1000;height:46px;padding:0 18px;cursor:pointer;box-shadow:0 9px 20px rgba(255,112,188,.24)}.pill.subtle,.tiny{background:white;color:#922170;border:2px solid #ffd4ef;box-shadow:none}.file{display:inline-flex;align-items:center;justify-content:center}.file input{display:none}.progress-wrap{margin:0 0 22px}.progress-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px;font-weight:900}.progress{height:16px;background:white;border-radius:99px;border:2px solid #ffe0f1;overflow:hidden}.progress div{height:100%;width:0;background:linear-gradient(90deg,#ff70bc,#ffd76b,#7ce8d0);border-radius:99px;transition:width .25s ease}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.card{position:relative;background:var(--card);border:2px solid rgba(255,112,188,.25);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transition:.18s transform,.18s box-shadow}.card:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:0 24px 60px rgba(142,38,112,.24)}.card.owned-card{border-color:#49d3a5;background:linear-gradient(#fffefa,#f0fff9)}.card.owned-card:before{content:"✓";position:absolute;right:10px;top:10px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#22c58e;color:white;font-weight:1000;box-shadow:0 8px 14px rgba(34,197,142,.3)}.imageBtn{border:0;background:#fff4fb;display:block;width:100%;height:230px;padding:12px;cursor:zoom-in}.imageBtn img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(56,18,58,.18))}.placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:12px;border:2px dashed #ffc3e8;border-radius:20px;color:#9b337a;font-weight:900;background:#fff}.card-body{padding:13px 14px 15px}.card-title{font-weight:1000;font-size:1.02rem}.card-sub{font-size:.82rem;font-weight:800;color:#805072;margin-top:5px;line-height:1.35}.owned{display:flex;align-items:center;gap:8px;margin-top:12px;font-weight:1000;cursor:pointer}.owned input{width:22px;height:22px;accent-color:#22c58e}.overview{margin:16px 0 24px;padding:18px;border-radius:30px;background:rgba(255,255,255,.82);border:2px solid #ffd4ef;box-shadow:var(--shadow)}.hidden{display:none}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-title h2{margin:0 0 12px;font-size:1.7rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.overview-tile{padding:14px;border-radius:22px;background:#fff7fb;border:2px solid #ffe0f1;font-weight:900}.overview-tile b{display:block;font-size:1.8rem;color:#c21886}dialog{border:0;border-radius:30px;padding:0;max-width:min(920px,94vw);background:#fffefa;box-shadow:0 34px 90px rgba(60,10,70,.42)}dialog::backdrop{background:rgba(65,20,75,.55);backdrop-filter:blur(5px)}.close{position:absolute;right:10px;top:10px;z-index:2;border:0;border-radius:50%;width:42px;height:42px;background:#c21886;color:white;font-size:28px;cursor:pointer}.lightbox-card{padding:28px;display:grid;grid-template-columns:minmax(240px,1fr) 300px;gap:22px;align-items:center}.lightbox-card img{max-width:100%;max-height:78vh;object-fit:contain;filter:drop-shadow(0 15px 25px rgba(56,18,58,.22))}.lightbox-info h3{font-size:2rem;margin:0 0 10px}.lightbox-info p{font-weight:800;color:#6d4467}.empty{grid-column:1/-1;text-align:center;padding:50px;border-radius:30px;background:white;border:2px dashed #ffd4ef;font-weight:900}@media(max-width:820px){.toolbar{grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1}.grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.imageBtn{height:190px}.lightbox-card{grid-template-columns:1fr;padding:18px}.hero h1{text-shadow:0 3px 0 #c21886,0 8px 18px rgba(80,0,80,.24)}}@media(max-width:520px){.toolbar{grid-template-columns:1fr}.pill,.toolbar select{width:100%}.card{border-radius:22px}.imageBtn{height:170px}.hero{padding-top:28px}}

/* Album-/Ordner-Ansicht */
.pill.album-cta{background:linear-gradient(135deg,#7b2cff,#ff70bc 55%,#ffd76b);box-shadow:0 12px 26px rgba(123,44,255,.26)}
.eyebrow.small{font-size:.7rem;margin-bottom:6px}.album{scroll-margin-top:110px;margin:18px 0 28px;padding:18px;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,236,250,.86));border:2px solid #ffd4ef;box-shadow:var(--shadow)}
.album-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.album-top h2{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1;margin:0;color:#872062}.album-top p:not(.eyebrow){max-width:720px;margin:8px 0 0;font-weight:800;color:#6d4467}.album-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.album-actions .tiny{height:40px}.album-actions .tiny:disabled{opacity:.45;cursor:not-allowed}.binder{position:relative;padding:22px 22px 22px 58px;border-radius:28px;background:linear-gradient(90deg,#d6378f 0,#a51772 30px,#fff3fb 31px,#fff 100%);border:4px solid #b51b79;box-shadow:inset 0 0 0 3px rgba(255,255,255,.55),0 28px 70px rgba(90,14,84,.24)}
.ringbar{position:absolute;left:17px;top:42px;bottom:42px;width:26px;display:flex;flex-direction:column;justify-content:space-around}.ringbar span{display:block;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,#fff 0 34%,#c6c6d1 36% 55%,#666 57% 63%,transparent 65%);box-shadow:0 2px 5px rgba(0,0,0,.18)}
.album-spread{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-height:620px}.album-page{position:relative;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,247,252,.96));border:1px solid #ead4e6;box-shadow:inset 0 0 22px rgba(238,142,203,.22),0 8px 20px rgba(85,22,78,.08);padding:18px 18px 42px}.album-page:before{content:"";position:absolute;inset:12px;border:2px dashed rgba(255,112,188,.22);border-radius:16px;pointer-events:none}.album-page-title{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-weight:1000;color:#922170}.album-pocket-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;grid-auto-rows:360px;gap:16px}.album-pocket{position:relative;border-radius:16px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(227,246,255,.38));border:2px solid rgba(130,170,200,.23);box-shadow:inset 0 0 20px rgba(255,255,255,.7),0 6px 12px rgba(56,18,58,.08);overflow:hidden}.album-pocket:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.42),rgba(255,255,255,0) 36%,rgba(255,255,255,.25) 67%,rgba(255,255,255,0));pointer-events:none}.album-pocket img{width:100%;height:calc(100% - 28px);object-fit:contain;display:block;filter:drop-shadow(0 8px 10px rgba(56,18,58,.16))}.album-pocket .pocket-label{position:absolute;left:10px;right:10px;bottom:8px;z-index:2;display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:.78rem;font-weight:1000;color:#6e2a5c}.album-pocket button{border:0;background:rgba(255,255,255,.85);border-radius:99px;color:#922170;font-weight:1000;cursor:pointer}.album-empty{grid-column:1/-1;display:grid;place-items:center;text-align:center;padding:48px;border-radius:22px;background:rgba(255,255,255,.8);border:2px dashed #ffc3e8;font-weight:1000;color:#922170}.album-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#9b337a;font-weight:1000}
@media(max-width:980px){.album-top{display:block}.album-actions{justify-content:flex-start;margin-top:14px}.album-spread{grid-template-columns:1fr;min-height:auto}.album-pocket-grid{grid-auto-rows:320px}.binder{padding-left:48px}}
@media(max-width:560px){.binder{padding:14px 14px 14px 42px}.album-pocket-grid{grid-template-columns:1fr;grid-auto-rows:300px}.ringbar{left:10px}.album-page{padding:14px 14px 38px}.album-actions .tiny{width:auto}}

.album-mode .progress-wrap{display:none}


.primary-back{background:linear-gradient(135deg,#22c58e,#7ce8d0)!important;color:#083f31!important;border:0!important;box-shadow:0 10px 18px rgba(34,197,142,.22)!important}.print-btn{background:linear-gradient(135deg,#7b2cff,#ff70bc)!important;color:#fff!important;border:0!important;box-shadow:0 10px 18px rgba(123,44,255,.22)!important}.pocket-image-open{display:block;width:100%;height:calc(100% - 28px);padding:0;border:0;background:transparent;cursor:zoom-in}.pocket-image-open img{height:100%;max-width:100%;object-fit:contain}.toolbar{transition:transform .22s ease, opacity .22s ease}.toolbar.toolbar-hidden{transform:translateY(-125%);opacity:0;pointer-events:none}.print-album-area{display:none}.lightbox-card>div:first-child{display:grid;place-items:center}.lightbox-card>div:first-child img{width:auto;height:auto;max-width:100%;max-height:82vh;image-rendering:auto}.lightbox-info a{color:#922170;font-weight:1000}
@media(max-width:760px){.toolbar{top:8px;margin:0 0 14px;border-radius:22px}.album{scroll-margin-top:12px}.album-actions{position:sticky;top:8px;z-index:6;padding:8px;border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(80,20,80,.12)}.album-actions .tiny{height:38px;padding:0 12px;font-size:.86rem}.album-top h2{font-size:1.65rem}.hero{padding-bottom:22px}.hero .subtitle{font-size:.95rem}}
@media print{*{box-shadow:none!important;text-shadow:none!important}body{background:white!important}.hero,.toolbar,.progress-wrap,#album,#overview,#grid,dialog{display:none!important}.print-mode .print-album-area{display:block!important}.print-spread{break-after:page;page-break-after:always;width:100%;height:100vh;padding:8mm;background:white}.print-title{font:700 11pt Arial,sans-serif;color:#333;margin:0 0 4mm}.print-binder{height:calc(100% - 10mm);padding:10mm 8mm 8mm 18mm;border:2px solid #aaa;background:#fff!important}.print-binder .ringbar{left:5mm;top:18mm;bottom:18mm}.print-binder .album-spread{height:100%;min-height:0;gap:8mm}.print-binder .album-page{height:100%;padding:8mm 8mm 12mm;border:1px solid #bbb;background:#fff!important}.print-binder .album-pocket-grid{height:calc(100% - 12mm);grid-auto-rows:minmax(0,1fr);gap:6mm}.print-binder .album-pocket{border:1px solid #bbb;background:#fff!important}.print-binder .pocket-image-open{height:calc(100% - 22px)}.print-binder img{max-width:100%;max-height:100%;object-fit:contain}.print-binder .album-pocket button:not(.pocket-image-open){display:none}@page{size:A4 landscape;margin:8mm}}

/* FINAL MOBILE/LIGHTBOX/PRINT FIXES */
/* Smartphone: das Menü ist nicht mehr sticky/auto-hide, sondern scrollt natürlich aus dem Bild. */
@media(max-width:760px){
  .toolbar{position:relative!important;top:auto!important;transform:none!important;opacity:1!important;pointer-events:auto!important;margin:0 0 14px!important;transition:none!important}
  .toolbar.toolbar-hidden{transform:none!important;opacity:1!important;pointer-events:auto!important}
}

/* Vollbild-Großansicht */
dialog.image-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;background:#100717;color:#fff;overflow:hidden}
dialog.image-viewer::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
dialog.image-viewer .close{background:rgba(255,255,255,.16);right:12px;top:12px;box-shadow:none}
.viewer-stage{height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at top,#2a1134,#08040b 65%)}
.viewer-top{padding:14px 62px 10px 16px;display:grid;gap:3px;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0));font-weight:900}.viewer-top span{font-size:.82rem;color:#dec8e8}.viewer-image-wrap{min-height:0;overflow:auto;display:grid;place-items:center;touch-action:pan-x pan-y;background:rgba(0,0,0,.15)}
.viewer-image-wrap img{max-width:96vw;max-height:78dvh;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .16s ease;image-rendering:auto;filter:drop-shadow(0 20px 28px rgba(0,0,0,.45))}.viewer-controls{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 12px 16px;background:linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,0))}.viewer-controls .tiny,.viewer-controls a.tiny{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;min-width:44px}

/* Druck-PDF: eigener, einfacher Druckaufbau ohne versteckte/lazy Album-Buttons. */
.print-album-area{display:none}.print-mode .print-album-area{display:block}.print-spread{background:white}.print-binder-fixed{position:relative;border:2px solid #b51b79;border-radius:14px;background:#fff;padding:12px 12px 12px 34px}.print-rings{position:absolute;left:8px;top:22px;bottom:22px;width:18px;display:flex;flex-direction:column;justify-content:space-around}.print-rings span{width:18px;height:18px;border-radius:50%;border:4px solid #888;background:#fff}.print-spread-pages{display:grid;grid-template-columns:1fr 1fr;gap:12px}.print-page{border:1px solid #d7c3d1;border-radius:10px;padding:8px;display:grid;grid-template-rows:auto 1fr 1fr;gap:8px}.print-page-title{font:700 10pt Arial,sans-serif;color:#6a2455}.print-pocket{border:1px solid #cfcbd4;border-radius:8px;padding:6px;display:grid;grid-template-rows:1fr auto;min-height:0;background:#fff}.print-pocket img{width:100%;height:100%;object-fit:contain;min-height:0}.print-label{font:700 8pt Arial,sans-serif;color:#333;text-align:center}.empty-print-pocket{place-items:center;color:#999;font:700 10pt Arial,sans-serif}
@media print{
  @page{size:A4 landscape;margin:7mm}
  html,body{background:white!important;margin:0!important;padding:0!important}
  body>*:not(.shell){display:none!important}
  .shell>*:not(#printAlbumArea){display:none!important}
  #printAlbumArea{display:block!important;margin:0!important;padding:0!important}
  .print-spread{display:block!important;break-after:page;page-break-after:always;height:183mm;width:283mm;margin:0!important;padding:0!important;background:white!important;overflow:hidden}
  .print-title{font:700 10pt Arial,sans-serif;color:#333;margin:0 0 3mm 0}
  .print-binder-fixed{height:176mm;box-shadow:none!important;background:white!important;padding:7mm 7mm 7mm 16mm;border:1.2pt solid #999;border-radius:0}
  .print-spread-pages{height:100%;gap:6mm}.print-page{height:100%;border:1pt solid #aaa;border-radius:0;padding:5mm;grid-template-rows:8mm 1fr 1fr;gap:4mm}.print-pocket{border:1pt solid #bbb;border-radius:0;padding:3mm;break-inside:avoid;page-break-inside:avoid}.print-pocket img{width:100%;height:100%;object-fit:contain}.print-rings{left:4mm;top:18mm;bottom:12mm}.print-rings span{width:7mm;height:7mm;border:1.2mm solid #777}.print-label{font-size:7pt}
}

/* SINGLE IMAGE PRINT FIX */
.single-print-page{display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-height:80vh;background:white;padding:18px}.single-print-page img{max-width:100%;max-height:100%;object-fit:contain;justify-self:center;align-self:center}.single-print-title{font:800 16px Arial,sans-serif;color:#333}.single-print-meta{font:700 12px Arial,sans-serif;color:#666;text-align:center}
@media print{.single-print-mode #printAlbumArea{display:block!important}.single-print-mode .single-print-page{width:196mm;height:283mm;min-height:0;padding:8mm;margin:0;break-after:page;page-break-after:always}.single-print-mode .single-print-page img{width:100%;height:258mm;object-fit:contain}.single-print-mode .single-print-title{font-size:11pt}.single-print-mode .single-print-meta{font-size:8pt}@page{size:A4 portrait;margin:7mm}}

/* Inhaltsverzeichnis für Sammelordner */
.toc-print-page{background:white;color:#222;font-family:Arial,sans-serif;padding:14mm;min-height:297mm}.toc-title{border-bottom:2px solid #b51b79;padding-bottom:5mm;margin-bottom:5mm}.toc-title p{margin:0 0 2mm;color:#8d2d75;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.toc-title h1{margin:0 0 2mm;font-size:24pt;color:#5a275d}.toc-summary{display:flex;flex-wrap:wrap;gap:2mm;margin:0 0 5mm}.toc-summary span{border:1px solid #e8c6dc;border-radius:999px;padding:1.5mm 3mm;font-size:8pt;background:#fff7fc}.toc-table{width:100%;border-collapse:collapse;font-size:8.5pt}.toc-table th{background:#fff0fa;color:#5a275d;text-align:left}.toc-table th,.toc-table td{border:1px solid #ead7e5;padding:1.8mm;vertical-align:top}.toc-table td:first-child,.toc-table th:first-child{text-align:right;width:9mm}.toc-table tr:nth-child(even) td{background:#fffafd}
@media print{.toc-print-mode #printAlbumArea{display:block!important;margin:0!important;padding:0!important}.toc-print-mode .toc-print-page{box-shadow:none!important;break-after:auto;page-break-after:auto}.toc-print-mode .toc-table{page-break-inside:auto}.toc-print-mode tr{break-inside:avoid;page-break-inside:avoid}@page{size:A4 portrait;margin:7mm}}
