:root{--dieflex-navy:#152f4c;--dieflex-navy-hover:#244766;--dieflex-red:#dc0c23;--dieflex-line:#dfe5e2;--dieflex-muted:#718079;--dieflex-canvas:#f3f5f2}
.dieflex-public-library{width:100%;max-width:1280px;margin:0 auto;color:#17251f;font-family:Inter,"Segoe UI",Arial,sans-serif}
.dieflex-public-library *{box-sizing:border-box}
.dieflex-public-library__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.1rem}
.dieflex-public-library__card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--dieflex-line);border-radius:10px;background:#fff;box-shadow:0 8px 25px rgba(26,47,38,.05);transition:transform .18s ease,box-shadow .18s ease}
.dieflex-public-library__card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(26,47,38,.09)}
.dieflex-public-library__cover{position:relative;width:100%;height:260px;padding:0;display:grid;place-items:center;overflow:hidden;border:0;border-bottom:1px solid #e7ebe8;background:linear-gradient(145deg,#eef1ef,#e5e9e6);cursor:pointer}
.dieflex-public-library__cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}
.dieflex-public-library__cover:hover img{transform:scale(1.018)}
.dieflex-public-library__cover-hint{position:absolute;right:.55rem;bottom:.55rem;padding:.4rem .65rem;border:1px solid rgba(21,47,76,.18);border-radius:999px;color:var(--dieflex-navy);background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(8,25,43,.2);font-size:.72rem;font-weight:800;transition:.15s ease}
.dieflex-public-library__cover:hover .dieflex-public-library__cover-hint,.dieflex-public-library__cover:focus-visible .dieflex-public-library__cover-hint{border-color:var(--dieflex-navy);color:#fff;background:var(--dieflex-navy)}
.dieflex-public-library__body{min-height:170px;padding:1rem 1.05rem 1.1rem;display:grid;grid-template-rows:auto auto auto;align-content:start;gap:.85rem;flex:1}
.dieflex-public-library__card h2{margin:0;color:#29455a;font-size:1rem;line-height:1.28}
.dieflex-public-library__card p{margin:0;color:var(--dieflex-muted);font-size:.88rem}
.dieflex-public-library__date{font-size:.76rem!important}
.dieflex-public-library__actions{margin:0;padding:0;display:grid;gap:.5rem}
.dieflex-public-library__download,.dieflex-public-library__pages-button,.dieflex-public-library__selected-download{min-height:2.55rem;padding:.58rem .75rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--dieflex-navy);border-radius:7px;color:#fff!important;background:var(--dieflex-navy);font-size:.82rem;font-weight:700;line-height:1.15;text-align:center;text-decoration:none!important;cursor:pointer}
.dieflex-public-library__pages-button{color:var(--dieflex-navy)!important;background:#fff}
.dieflex-public-library__download{min-height:2.4rem;gap:.5rem;border-color:#b9c8d3;color:var(--dieflex-navy)!important;background:#fff}
.dieflex-public-library__download:before{content:"↓";width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:50%;color:var(--dieflex-navy);background:#eaf1f6;font-size:.9rem;font-weight:800}
.dieflex-public-library__download:hover{border-color:#7891a7;color:var(--dieflex-navy)!important;background:#f3f7fa;box-shadow:0 4px 12px rgba(21,47,76,.08);text-decoration:none!important}
.dieflex-public-library__pages-button:hover,.dieflex-public-library__selected-download:hover{filter:brightness(1.08);text-decoration:none!important}
.dieflex-public-library__modal[hidden]{display:none!important}
.dieflex-public-library__modal{position:fixed;inset:0;padding:clamp(.6rem,2vw,1.5rem);display:grid;place-items:center;z-index:2147483000;font-family:Inter,"Segoe UI",Arial,sans-serif}
.dieflex-public-library__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,25,43,.67);backdrop-filter:blur(5px);cursor:default}
.dieflex-public-library__dialog{position:relative;width:min(1880px,100%);height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:var(--dieflex-canvas);box-shadow:0 30px 90px rgba(5,20,34,.42)}
.dieflex-public-library__detail-header{min-height:68px;padding:.7rem .8rem .7rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#fff;background:var(--dieflex-navy)}
.dieflex-public-library__detail-header>div:first-child{min-width:0}
.dieflex-public-library__detail-header span{display:block;margin-bottom:.15rem;color:#9fb6c6;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.dieflex-public-library__detail-header h3{margin:0;overflow:hidden;color:#fff;font-size:1.05rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.dieflex-public-library__header-actions{display:flex;align-items:center;gap:.55rem}
.dieflex-public-library__header-actions a{min-height:2.3rem;padding:0 .85rem;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.24);border-radius:6px;color:#fff!important;background:rgba(255,255,255,.09);font-size:.74rem;font-weight:700;text-decoration:none!important}
.dieflex-public-library__close{width:2.3rem;height:2.3rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:6px;color:#fff;background:rgba(255,255,255,.09);font-size:1.45rem;line-height:1;cursor:pointer}
.dieflex-public-library__workspace{min-height:0;display:grid;grid-template-columns:minmax(520px,44%) minmax(0,1fr);flex:1}
.dieflex-public-library__preview{min-height:0;padding:1rem;display:flex;flex-direction:column;border-right:1px solid var(--dieflex-line);background:#e9edeb}
.dieflex-public-library__preview-scroll{position:relative;min-height:0;padding:.15rem .2rem .3rem;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;scroll-behavior:smooth}
.dieflex-public-library__preview-scroll::-webkit-scrollbar{display:none}
.dieflex-public-library__preview-sheet{position:relative;margin:0 0 1rem;padding:.65rem;overflow:hidden;border:1px solid #d9e0dc;border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(20,38,30,.12);transition:border-color .15s ease,box-shadow .15s ease}
.dieflex-public-library__preview-sheet:last-child{margin-bottom:0}
.dieflex-public-library__preview-sheet.is-active{border-color:#9bb0c0;box-shadow:0 0 0 2px rgba(21,47,76,.13),0 12px 28px rgba(20,38,30,.16)}
.dieflex-public-library__preview-sheet img{width:100%;height:auto;display:block}
.dieflex-public-library__preview-sheet figcaption{position:absolute;right:1rem;bottom:1rem;padding:.3rem .48rem;border-radius:999px;color:#fff;background:rgba(21,47,76,.88);font-size:.65rem;font-weight:700}
.dieflex-public-library__preview-info{padding:0 0 .65rem;display:flex;flex-direction:column;gap:.15rem}
.dieflex-public-library__preview-info span{color:#788984;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}
.dieflex-public-library__preview-info strong{color:#29455a;font-size:.95rem}
.dieflex-public-library__detail-content{min-width:0;min-height:0;padding:1rem 1.1rem 1.2rem;overflow:auto}
.dieflex-public-library__detail-intro{margin-bottom:.85rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.dieflex-public-library__detail-intro h4{margin:0;color:#29455a;font-size:1.15rem}
.dieflex-public-library__detail-intro p{margin:.25rem 0 0;color:var(--dieflex-muted);font-size:.78rem}
.dieflex-public-library__detail-intro>span{color:#829089;font-size:.72rem}
.dieflex-public-library__selection{position:sticky;top:-1rem;margin-bottom:.85rem;padding:.65rem .7rem .65rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #b6c8d6;border-left:3px solid var(--dieflex-red);border-radius:8px;color:#2d4c63;background:#f5f9fc;box-shadow:0 7px 24px rgba(21,47,76,.1);z-index:3}
.dieflex-public-library__selection>span{font-size:.78rem}
.dieflex-public-library__selection>div{display:flex;gap:.45rem}
.dieflex-public-library__clear-selection{min-height:2.2rem;padding:0 .65rem;border:0;color:#315d7c;background:transparent;font-size:.72rem;font-weight:700;cursor:pointer}
.dieflex-public-library__selected-download{min-height:2.2rem;padding:.45rem .7rem;font-size:.72rem}
.dieflex-public-library__selected-download:disabled,.dieflex-public-library__clear-selection:disabled{opacity:.45;cursor:not-allowed}
.dieflex-public-library__pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem}
.dieflex-public-library__page{min-width:0;overflow:hidden;border:1px solid var(--dieflex-line);border-radius:9px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.dieflex-public-library__page.is-selected{border-color:#9eb4c4;box-shadow:inset 3px 0 var(--dieflex-red),0 8px 22px rgba(21,47,76,.08)}
.dieflex-public-library__page.is-previewed{box-shadow:0 0 0 2px rgba(21,47,76,.18),0 8px 22px rgba(21,47,76,.08)}
.dieflex-public-library__page-check{height:2.35rem;padding:0 .65rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #e9edea;color:#526878;font-size:.72rem;font-weight:700;cursor:pointer}
.dieflex-public-library__page-check input{margin:0;accent-color:var(--dieflex-navy)}
.dieflex-public-library__page-image{position:relative;width:100%;height:220px;padding:.65rem;display:grid;place-items:center;overflow:hidden;border:0;background:#edf0ee;cursor:zoom-in}
.dieflex-public-library__page-image img{max-width:100%;max-height:100%;display:block;object-fit:contain;box-shadow:0 7px 18px rgba(20,38,30,.16)}
.dieflex-public-library__page-image span{position:absolute;inset:auto .5rem .5rem;padding:.42rem .55rem;border-radius:6px;color:#fff;background:rgba(12,33,56,.88);font-size:.67rem;font-weight:700;opacity:0;transform:translateY(4px);transition:.15s ease}
.dieflex-public-library__page-image:hover span,.dieflex-public-library__page-image:focus span{opacity:1;transform:none}
.dieflex-public-library__page>p{height:3.5rem;margin:0;padding:.55rem .65rem;overflow:hidden;border-top:1px solid #e9edea;color:#74848c;font-size:.65rem;line-height:1.4}
.dieflex-public-library__page-footer{height:2.5rem;padding:0 .65rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid #e9edea}
.dieflex-public-library__page-footer button,.dieflex-public-library__page-footer a{padding:0;border:0;color:#315d7c!important;background:transparent;font-size:.67rem;font-weight:700;text-decoration:none!important;cursor:pointer}
.dieflex-public-library__mobile-preview[hidden]{display:none!important}
.dieflex-public-library__mobile-preview{display:none}
.dieflex-public-library__empty{padding:1rem;border:1px solid var(--dieflex-line);border-radius:10px}
html.dieflex-public-library-modal-open{overflow:hidden}
@media(max-width:900px){.dieflex-public-library__workspace{grid-template-columns:280px minmax(0,1fr)}.dieflex-public-library__preview{padding:.75rem}.dieflex-public-library__pages{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media(max-width:700px){.dieflex-public-library__cover{height:auto;aspect-ratio:210/297;background:#f5f6f5}.dieflex-public-library__cover img{object-fit:contain}.dieflex-public-library__modal{padding:0}.dieflex-public-library__dialog{width:100%;height:100%;border-radius:0}.dieflex-public-library__detail-header{min-height:62px}.dieflex-public-library__header-actions>a{display:none}.dieflex-public-library__workspace{display:block;min-height:0;overflow:hidden}.dieflex-public-library__preview--desktop{display:none}.dieflex-public-library__detail-content{height:100%;padding:.8rem;overflow-y:auto}.dieflex-public-library__selection{top:-.8rem;align-items:flex-start;flex-direction:column}.dieflex-public-library__selection>div{width:100%}.dieflex-public-library__selected-download{flex:1}.dieflex-public-library__pages{grid-template-columns:repeat(2,minmax(0,1fr))}.dieflex-public-library__page-image{height:190px}.dieflex-public-library__mobile-preview{position:absolute;inset:0;display:flex;flex-direction:column;color:#fff;background:#101c28;z-index:20}.dieflex-public-library__mobile-preview header{min-height:62px;padding:.65rem .75rem .65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--dieflex-navy)}.dieflex-public-library__mobile-preview header div{min-width:0;display:flex;flex-direction:column}.dieflex-public-library__mobile-preview header span{color:#9fb6c6;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dieflex-public-library__mobile-preview header strong{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.dieflex-public-library__mobile-preview header button{width:2.45rem;height:2.45rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.3);border-radius:7px;color:#fff;background:rgba(255,255,255,.1);font-size:1.55rem;line-height:1}.dieflex-public-library__mobile-preview-image{min-height:0;padding:.65rem;display:grid;place-items:center;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.dieflex-public-library__mobile-preview-image img{width:100%;height:100%;display:block;object-fit:contain;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.3)}.dieflex-public-library__mobile-preview footer{min-height:58px;padding:.55rem .7rem;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;background:var(--dieflex-navy)}.dieflex-public-library__mobile-preview footer button{min-height:2.5rem;border:1px solid rgba(255,255,255,.3);border-radius:7px;color:#fff;background:rgba(255,255,255,.1);font-size:.72rem;font-weight:700}.dieflex-public-library__mobile-preview footer button:disabled{opacity:.35}}
@media(max-width:430px){.dieflex-public-library__grid{grid-template-columns:1fr}.dieflex-public-library__pages{grid-template-columns:1fr}.dieflex-public-library__page-image{height:320px}}
