.pdf-viewer[hidden], .pdf-viewer canvas[hidden] {
    display: none !important;
}
.pdf-viewer {
    --pdf-accent: #df884e;
    --pdf-ink: #5d4838;
    position: fixed;
    inset: 0;
    height: 100vh;
    height: 100dvh;
    box-sizing: border-box;
    z-index: 3000;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    background: linear-gradient(145deg, #fff8f0, #f7eee4 65%, #f5eee7);
    color: var(--pdf-ink);
    font-family: inherit;
}
.pdf-viewer *, .pdf-viewer *::before, .pdf-viewer *::after {
    box-sizing: border-box;
}
.pdf-viewer__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    padding: 16px max(22px, env(safe-area-inset-right)) 16px max(22px, env(safe-area-inset-left));
    padding-top: max(16px, env(safe-area-inset-top));
    background: #fffdfaf5;
    border-bottom: 1px solid #eadbca;
    box-shadow: 0 3px 18px #80603e08;
    z-index: 2;
}
.pdf-viewer__heading {
    min-width: 0;
}
.pdf-viewer__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #b68a66;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .15em;
}
.pdf-viewer__title {
    margin: 0;
    color: #584332;
    font-size: clamp(.95rem, 1.35vw, 1.2rem);
    font-weight: 700;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
}
.pdf-viewer button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border: 1px solid #e8d4c0;
    border-radius: 12px;
    padding: 9px 15px;
    background: #fffaf5;
    color: #8d6445;
    font: inherit;
    font-size: .85rem;
    font-weight: 650;
    cursor: pointer;
    touch-action: manipulation;
    transition: background .15s, border-color .15s, color .15s;
}
.pdf-viewer button:hover:not(:disabled) {
    background: #ffecd9;
    border-color: #e7b48b;
    color: #a75d2b;
}
.pdf-viewer button:focus-visible {
    outline: 3px solid #edb17b80;
    outline-offset: 3px;
}
.pdf-viewer button:disabled {
    opacity: .35;
    cursor: default;
}
.pdf-viewer__back {
    background: #fff !important;
    white-space: nowrap;
}
.pdf-viewer__zoom-tools {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid #eadbca;
    border-radius: 15px;
    background: #f9f3ec;
}
.pdf-viewer__zoom-tools button {
    width: 38px;
    min-height: 38px;
    padding: 0;
    border-color: transparent;
    background: transparent;
    font-size: 20px;
}
.pdf-viewer__zoom-value {
    min-width: 58px;
    color: #8a6e56;
    font-size: .78rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.pdf-viewer__zoom-tools .pdf-viewer__reset {
    width: auto;
    margin-left: 4px;
    padding: 0 13px;
    border-color: #ead6c2;
    background: #fff;
    font-size: .75rem;
}
.pdf-viewer__stage {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background-image: radial-gradient(#bd9b7526 .7px, transparent .7px);
    background-size: 18px 18px;
}
.pdf-viewer__surface {
    position: absolute;
    inset: 12px 12px 28px;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}
.pdf-viewer.is-zoomed .pdf-viewer__surface {
    cursor: grab;
}
.pdf-viewer.is-dragging.is-zoomed .pdf-viewer__surface {
    cursor: grabbing;
}
.pdf-viewer__paper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: center;
    background: white;
    box-shadow: 0 7px 28px #6f4f2f24, 0 1px 4px #6f4f2f1a;
    will-change: transform;
}
.pdf-viewer__canvas {
    display: block;
    width: 100%;
    height: 100%;
}
.pdf-viewer__message {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 16px;
    transform: translateY(-50%);
    text-align: center;
    overflow-wrap: anywhere;
    color: #947456;
    pointer-events: none;
}
.pdf-viewer__hint {
    position: absolute;
    right: 12px;
    bottom: 10px;
    left: 12px;
    margin: 0;
    color: #a18c76;
    font-size: .7rem;
    text-align: center;
    pointer-events: none;
}
.pdf-viewer__controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    padding: 12px 18px max(12px, env(safe-area-inset-bottom));
    border-top: 1px solid #eadbca;
    background: #fffdfaf5;
}
.pdf-viewer__controls button {
    min-width: 136px;
    border-radius: 999px;
}
.pdf-viewer__counter {
    min-width: 90px;
    color: #9a7758;
    font-size: .85rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
.pdf-viewer__mobile-meta, .pdf-viewer__mobile-controls, .pdf-viewer__hint-mobile {
    display: none;
}
body.is-pdf-viewer-open {
    overflow: hidden;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer {
        grid-template-rows: auto minmax(0, 1fr);
    }
    .pdf-viewer__header {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        padding: 12px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));
        padding-top: max(12px, env(safe-area-inset-top));
        max-height: 30vh;
        max-height: 30dvh;
        overflow: auto;
    }
    .pdf-viewer__back {
        width: 46px;
        min-height: 44px;
        padding: 0;
        font-size: 22px;
    }
    .pdf-viewer__eyebrow {
        margin-bottom: 3px;
        font-size: .55rem;
    }
    .pdf-viewer__title {
        font-size: clamp(.75rem, 3.4vw, .95rem);
        line-height: 1.45;
    }
    .pdf-viewer__zoom-tools, .pdf-viewer__controls, .pdf-viewer__hint-desktop {
        display: none;
    }
    .pdf-viewer__mobile-meta {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 4px;
    }
    .pdf-viewer__mobile-counter {
        color: #a28367;
        font-size: .7rem;
        font-variant-numeric: tabular-nums;
    }
    .pdf-viewer .pdf-viewer__mobile-reset {
        min-height: 28px;
        border: 0;
        padding: 2px 8px;
        background: #f5eadd;
        border-radius: 999px;
        font-size: .65rem;
    }
    .pdf-viewer__surface {
        inset: 8px max(8px, env(safe-area-inset-right)) max(68px, calc(env(safe-area-inset-bottom) + 60px)) max(8px, env(safe-area-inset-left));
    }
    .pdf-viewer__mobile-controls {
        display: block;
        position: absolute;
        inset: 0;
        pointer-events: none;
    }
    .pdf-viewer__mobile-controls button {
        position: absolute;
        top: auto;
        bottom: max(16px, calc(env(safe-area-inset-bottom) + 12px));
        transform: none;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #a68160;
        font-size: 21px;
        font-weight: 400;
        box-shadow: none;
        pointer-events: auto;
    }
    .pdf-viewer__side-previous {
        left: max(5px, env(safe-area-inset-left));
    }
    .pdf-viewer__side-next {
        right: max(5px, env(safe-area-inset-right));
    }
    .pdf-viewer__mobile-controls button:disabled {
        opacity: .18;
    }
    .pdf-viewer__hint-mobile {
        display: inline;
    }
    .pdf-viewer__hint {
        bottom: max(8px, env(safe-area-inset-bottom));
        font-size: .6rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .pdf-viewer button {
        transition: none;
    }
}

.pdf-viewer__paper {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pdf-viewer__canvas {
    flex: 0 0 auto;
    max-width: none;
}
.pdf-viewer .pdf-viewer__back {
    width: 44px;
    padding: 0;
    font-size: 24px;
}
.pdf-viewer .pdf-viewer__layout, .pdf-viewer .pdf-viewer__reader-actions {
    min-height: 30px;
    margin-top: 6px;
    padding: 4px 10px;
    font-size: .72rem;
    border-radius: 999px;
    background: #f7e8d8;
}
.pdf-viewer.is-right-bound .pdf-viewer__controls {
    flex-direction: row-reverse;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer.is-right-bound .pdf-viewer__side-previous {
        right: max(5px, env(safe-area-inset-right));
        left: auto;
    }
    .pdf-viewer.is-right-bound .pdf-viewer__side-next {
        left: max(5px, env(safe-area-inset-left));
        right: auto;
    }
    .pdf-viewer .pdf-viewer__layout, .pdf-viewer .pdf-viewer__reader-actions {
        min-height: 28px;
        font-size: .65rem;
    }
}
.pdf-viewer button[hidden] {
    display: none !important;
}

.pdf-viewer__paper[hidden] {
    display: none !important;
}
.pdf-viewer .pdf-viewer__layout, .pdf-viewer .pdf-viewer__reader-actions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    margin: 8px 6px 0 0;
    padding: 7px 12px;
    border: 1px solid #e3c9b0;
    border-radius: 10px;
    background: #fff9f2;
    color: #865b37;
    font-size: .75rem;
    line-height: 1.3;
    box-shadow: 0 2px 5px #8e5c2808;
}
.pdf-viewer__layout::before, .pdf-viewer__reader-actions::before {
    content: '';
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    background-repeat: no-repeat;
    background-size: contain;
}
.pdf-viewer__layout::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c704c' stroke-width='1.7'%3E%3Crect x='3' y='5' width='8' height='14' rx='1.5'/%3E%3Crect x='13' y='5' width='8' height='14' rx='1.5'/%3E%3C/svg%3E");
}
.pdf-viewer__layout[aria-pressed=true]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d5b32' stroke-width='1.7'%3E%3Crect x='6' y='3' width='12' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E");
}
.pdf-viewer__reader-actions::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23956d4b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9l-5 3v-3a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M7 9h10M7 13h7'/%3E%3C/svg%3E");
}
.pdf-viewer .pdf-viewer__layout[aria-pressed=true] {
    background: #f9e2cc;
    border-color: #dca77b;
}
.pdf-viewer .pdf-viewer__reader-actions {
    background: #f7e9d9;
    border-color: #d8b998;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer .pdf-viewer__layout, .pdf-viewer .pdf-viewer__reader-actions {
        min-height: 32px;
        padding: 5px 8px;
        font-size: .66rem;
    }
}

.pdf-viewer .pdf-viewer__back {
    position: relative;
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex-shrink: 0;
    padding: 0;
    border: 1px solid #e5b992;
    border-radius: 50%;
    background: #fff1e3 !important;
    color: #9b6038;
    box-shadow: 0 2px 7px #8b583212;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.pdf-viewer .pdf-viewer__back svg {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    overflow: visible;
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
    .pdf-viewer .pdf-viewer__back {
        transition: none;
    }
}

.pdf-viewer .pdf-viewer__header-toggle {
    display: none;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer__header {
        position: relative;
        padding-bottom: 10px;
    }
    .pdf-viewer .pdf-viewer__header-toggle {
        -webkit-appearance: none;
        appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: max(12px, env(safe-area-inset-right));
        bottom: 10px;
        width: 28px;
        height: 28px;
        min-height: 28px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #9b6038;
        line-height: 0;
        -webkit-tap-highlight-color: transparent;
    }
    .pdf-viewer__mobile-meta {
        padding-right: 30px;
    }
    .pdf-viewer.is-header-collapsed .pdf-viewer__header-toggle {
        bottom: 2px;
    }
    .pdf-viewer__header-toggle svg {
        display: block;
        width: 14px;
        height: 14px;
        pointer-events: none;
    }
    .pdf-viewer.is-header-collapsed .pdf-viewer__header {
        height: calc(32px + env(safe-area-inset-top));
        min-height: calc(32px + env(safe-area-inset-top));
        max-height: none;
        padding: 0;
        gap: 0;
        overflow: hidden;
        box-sizing: border-box;
    }
    .pdf-viewer.is-header-collapsed .pdf-viewer__header > :not(.pdf-viewer__header-toggle) {
        display: none;
    }
    .pdf-viewer.is-header-collapsed .pdf-viewer__header-toggle svg {
        transform: rotate(180deg);
    }
}

.pdf-viewer .pdf-viewer__back {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    transition: none;
}
.pdf-viewer .pdf-viewer__back:hover:not(:disabled),
.pdf-viewer .pdf-viewer__back:active,
.pdf-viewer .pdf-viewer__back:focus {
    background: #fff1e3 !important;
    border-color: #e5b992;
    color: #9b6038;
    box-shadow: 0 2px 7px #8b583212;
}
.pdf-viewer .pdf-viewer__back:focus:not(:focus-visible) {
    outline: none;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer .pdf-viewer__back {
        width: 34px;
        min-width: 34px;
        max-width: 34px;
        height: 34px;
        min-height: 34px;
        padding: 0;
    }
    .pdf-viewer .pdf-viewer__back svg {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }
}

.pdf-viewer__page-slider {
    position: absolute;
    z-index: 8;
    right: 18px;
    bottom: max(22px, calc(env(safe-area-inset-bottom) + 18px));
    width: min(280px, calc((100vw - 470px) / 2));
    box-sizing: border-box;
    color: #956a49;
}
.pdf-viewer__slider-track {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .65rem;
    font-variant-numeric: tabular-nums;
}
.pdf-viewer.is-right-bound .pdf-viewer__slider-track {
    flex-direction: row-reverse;
}
.pdf-viewer__slider-input {
    --slider-direction: to right;
    -webkit-appearance: none;
    appearance: none;
    flex: 1;
    min-width: 0;
    width: 100%;
    height: 26px;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.pdf-viewer__slider-input[dir="rtl"] {
    --slider-direction: to left;
}
.pdf-viewer__slider-input::-webkit-slider-runnable-track {
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(var(--slider-direction), #dea16e var(--slider-progress, 0%), #efe0d1 var(--slider-progress, 0%));
}
.pdf-viewer__slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 17px;
    height: 17px;
    margin-top: -6px;
    border: 2px solid #fffaf5;
    border-radius: 50%;
    background: #d58f59;
    box-shadow: 0 1px 5px #8a5b3433;
}
.pdf-viewer__slider-input::-moz-range-track {
    height: 5px;
    border-radius: 999px;
    background: #efe0d1;
}
.pdf-viewer__slider-input::-moz-range-progress {
    height: 5px;
    border-radius: 999px;
    background: #dea16e;
}
.pdf-viewer__slider-input::-moz-range-thumb {
    width: 13px;
    height: 13px;
    border: 2px solid #fffaf5;
    border-radius: 50%;
    background: #d58f59;
}
.pdf-viewer__slider-input:focus-visible {
    outline: 2px solid #dfb18b;
    outline-offset: 3px;
    border-radius: 8px;
}
.pdf-viewer__slider-input:disabled {
    opacity: .45;
    cursor: default;
}
.pdf-viewer .pdf-viewer__slider-toggle {
    display: none;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer__page-slider {
        right: auto;
        left: 50%;
        bottom: max(66px, calc(env(safe-area-inset-bottom) + 62px));
        width: min(360px, calc(100% - 36px));
        padding: 12px 16px;
        border: 0;
        background: transparent;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate(-50%, 8px);
        transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
    }
    .pdf-viewer.is-slider-open .pdf-viewer__page-slider {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }
    .pdf-viewer .pdf-viewer__slider-toggle {
        position: absolute;
        z-index: 9;
        left: 50%;
        bottom: max(20px, calc(env(safe-area-inset-bottom) + 16px));
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transform: translateX(-50%);
        width: 36px;
        height: 28px;
        min-height: 28px;
        padding: 0;
        border: 0;
        border-radius: 8px;
        background: transparent;
        color: #a37954;
        box-shadow: none;
        -webkit-tap-highlight-color: transparent;
    }
    .pdf-viewer .pdf-viewer__slider-toggle:hover,
    .pdf-viewer .pdf-viewer__slider-toggle:active {
        background: transparent;
        color: #a37954;
    }
    .pdf-viewer__slider-toggle svg {
        display: block;
        pointer-events: none;
    }
    .pdf-viewer.is-slider-open .pdf-viewer__slider-toggle svg {
        transform: rotate(180deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .pdf-viewer__page-slider { transition: none; }
}

.pdf-viewer__slider-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    padding: 6px 10px;
    border-radius: 8px;
    background: #956a49;
    color: #fffaf5;
    font-size: .75rem;
    white-space: nowrap;
    pointer-events: none;
    visibility: hidden;
}
.pdf-viewer__slider-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #956a49;
}
.pdf-viewer.is-slider-adjusting .pdf-viewer__slider-tooltip {
    visibility: visible;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer.is-zoomed .pdf-viewer__surface {
        overflow: visible;
    }
    .pdf-viewer__mobile-controls button:hover:not(:disabled),
    .pdf-viewer__mobile-controls button:active {
        background: transparent;
        box-shadow: none;
    }
}

.pdf-viewer__page-arrow {
    display: block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    pointer-events: none;
}
.pdf-viewer__controls button,
.pdf-viewer__mobile-controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse), (max-height: 500px) {
    .pdf-viewer__mobile-controls .pdf-viewer__page-arrow {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }
}
