.fipdf-flipbook {
    width: min(100%, var(--fipdf-max-width, 1200px));
    height: var(--fipdf-height, 720px);
    margin: 24px auto;
    position: relative;
    background: #111827;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(0,0,0,.20);
    color: #fff;
    font-family: inherit;
    --fipdf-toolbar-h: 54px;
}
.fipdf-toolbar {
    height: var(--fipdf-toolbar-h);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    background: rgba(10,15,25,.96);
    border-bottom: 1px solid rgba(255,255,255,.10);
    position: relative;
    z-index: 20;
}
.fipdf-toolbar-group { display:flex; align-items:center; gap:5px; min-width:0; }
.fipdf-btn {
    width: 36px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.07);
    color:#fff;
    border-radius:7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font:inherit;
    font-weight:600;
    text-decoration:none;
    line-height:1;
    transition:background .18s, transform .18s;
}
.fipdf-btn:hover { background:rgba(255,255,255,.16); }
.fipdf-btn:active { transform:scale(.96); }
.fipdf-btn:disabled { opacity:.35; cursor:not-allowed; }
.fipdf-page-info { min-width:65px; text-align:center; font-size:13px; color:#dbe3ef; }
.fipdf-zoom-value { min-width:48px; text-align:center; font-size:12px; color:#cbd5e1; }
.fipdf-stage {
    height: calc(100% - var(--fipdf-toolbar-h) - 4px);
    overflow:auto;
    position:relative;
    outline:none;
    background:
        radial-gradient(circle at 50% 40%, rgba(255,255,255,.08), transparent 45%),
        #202938;
    scrollbar-width:thin;
}
.fipdf-book {
    min-width:100%;
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    perspective:1800px;
    position:relative;
    padding:26px 20px 32px;
    box-sizing:border-box;
}
.fipdf-page {
    background:#fff;
    position:relative;
    box-shadow:0 7px 22px rgba(0,0,0,.30);
    overflow:hidden;
    transform-style:preserve-3d;
    backface-visibility:hidden;
}
.fipdf-page canvas { display:block; max-width:none; }
.fipdf-page-left { border-radius:4px 0 0 4px; }
.fipdf-page-right { border-radius:0 4px 4px 0; }
.fipdf-page.is-empty { visibility:hidden; width:0!important; }
.fipdf-page-right.is-mobile-hidden { display:none; }
.fipdf-flip-page {
    position:absolute;
    z-index:10;
    transform-origin:left center;
    display:none;
}
.fipdf-flip-page.flip-next {
    display:block;
    animation:fipdfFlipNext .45s ease-in-out forwards;
}
.fipdf-flip-page.flip-prev {
    display:block;
    transform-origin:right center;
    animation:fipdfFlipPrev .45s ease-in-out forwards;
}
@keyframes fipdfFlipNext {
    0% { transform:rotateY(0deg); opacity:1; }
    100% { transform:rotateY(-180deg); opacity:.96; }
}
@keyframes fipdfFlipPrev {
    0% { transform:rotateY(0deg); opacity:1; }
    100% { transform:rotateY(180deg); opacity:.96; }
}
.fipdf-loading {
    position:absolute;
    inset:54px 0 0;
    z-index:30;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:#202938;
    color:#dbe3ef;
    font-size:14px;
}
.fipdf-loading.is-hidden { display:none; }
.fipdf-spinner {
    width:20px;height:20px;border:2px solid rgba(255,255,255,.22);
    border-top-color:#fff;border-radius:50%;animation:fipdfSpin .8s linear infinite;
}
@keyframes fipdfSpin { to { transform:rotate(360deg); } }
.fipdf-empty-state {
    color:#cbd5e1;
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
}
.fipdf-empty-state.is-hidden { display:none; }
.fipdf-progress { height:4px; background:rgba(255,255,255,.10); position:absolute; left:0; right:0; bottom:0; z-index:25; }
.fipdf-progress span { display:block; height:100%; width:0; background:#60a5fa; transition:width .25s ease; }
.fipdf-error {
    display:none;
    position:absolute;
    left:15px;right:15px;bottom:18px;
    z-index:40;
    background:#7f1d1d;
    color:#fff;
    padding:12px 14px;
    border-radius:8px;
    font-size:13px;
}
.fipdf-error.is-visible { display:block; }
.fipdf-admin-notice {
    padding:14px;
    border:1px solid #ddd;
    background:#fff;
    border-radius:8px;
}
.fipdf-is-fullscreen {
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    margin:0!important;
    border-radius:0!important;
}
@media (max-width:700px) {
    .fipdf-flipbook {
        width:100%;
        height:min(82vh, 720px);
        margin:16px 0;
        border-radius:9px;
    }
    .fipdf-toolbar {
        padding:0 6px;
        gap:3px;
    }
    .fipdf-toolbar-group { gap:2px; }
    .fipdf-btn { width:32px;height:31px;font-size:14px; }
    .fipdf-page-info { min-width:54px;font-size:12px; }
    .fipdf-zoom-value { display:none; }
    .fipdf-book { padding:15px 8px 24px; }
    .fipdf-page-left { border-radius:4px; }
}
@media (prefers-reduced-motion:reduce) {
    .fipdf-flip-page.flip-next,.fipdf-flip-page.flip-prev { animation-duration:.01ms; }
}
