/*! * Folio3D — viewer styles. Every color,radius and blur is a CSS custom property,* so themes can be built without touching this file (see the theme builder demo). */ .f3d{--f3d-accent:#5b5bd6;--f3d-accent-contrast:#ffffff;--f3d-stage:radial-gradient(120% 90% at 50% 0%,#f7f8fb 0%,#e9ecf2 55%,#dfe3ea 100%);--f3d-surface:rgba(255,255,255,0.78);--f3d-surface-solid:#ffffff;--f3d-surface-border:rgba(15,23,42,0.08);--f3d-text:#161a23;--f3d-muted:#646b7a;--f3d-hover:rgba(15,23,42,0.06);--f3d-active:rgba(91,91,214,0.12);--f3d-paper:#ffffff;--f3d-highlight:rgba(255,196,0,0.42);--f3d-shadow:0 10px 40px -8px rgba(15,23,42,0.22),0 2px 8px rgba(15,23,42,0.06);--f3d-book-shadow:0 22px 50px -18px rgba(15,23,42,0.45),0 4px 14px rgba(15,23,42,0.1);--f3d-radius:16px;--f3d-radius-sm:10px;--f3d-blur:18px;--f3d-font:inherit;--f3d-ease:cubic-bezier(0.2,0.8,0.2,1)}.f3d[data-theme='dark']{--f3d-accent:#8b8bff;--f3d-accent-contrast:#0f1015;--f3d-stage:radial-gradient(120% 90% at 50% 0%,#22252d 0%,#17191f 55%,#101115 100%);--f3d-surface:rgba(32,35,43,0.74);--f3d-surface-solid:#1d2027;--f3d-surface-border:rgba(255,255,255,0.08);--f3d-text:#eef0f5;--f3d-muted:#9aa1b2;--f3d-hover:rgba(255,255,255,0.07);--f3d-active:rgba(139,139,255,0.18);--f3d-paper:#fbfbf8;--f3d-shadow:0 10px 40px -8px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.3);--f3d-book-shadow:0 24px 60px -16px rgba(0,0,0,0.75),0 4px 14px rgba(0,0,0,0.4)}@media (prefers-color-scheme:dark){.f3d[data-theme='auto']{--f3d-accent:#8b8bff;--f3d-accent-contrast:#0f1015;--f3d-stage:radial-gradient(120% 90% at 50% 0%,#22252d 0%,#17191f 55%,#101115 100%);--f3d-surface:rgba(32,35,43,0.74);--f3d-surface-solid:#1d2027;--f3d-surface-border:rgba(255,255,255,0.08);--f3d-text:#eef0f5;--f3d-muted:#9aa1b2;--f3d-hover:rgba(255,255,255,0.07);--f3d-active:rgba(139,139,255,0.18);--f3d-paper:#fbfbf8;--f3d-shadow:0 10px 40px -8px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.3);--f3d-book-shadow:0 24px 60px -16px rgba(0,0,0,0.75),0 4px 14px rgba(0,0,0,0.4)}}.f3d{position:relative;width:100%;height:100%;overflow:hidden;background:var(--f3d-stage);color:var(--f3d-text);font-family:var(--f3d-font,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif);font-size:14px;line-height:1.4;border-radius:inherit;isolation:isolate;-webkit-tap-highlight-color:transparent;outline:none;box-sizing:border-box}.f3d *,.f3d *::before,.f3d *::after{box-sizing:border-box}.f3d:focus-visible{box-shadow:inset 0 0 0 2px var(--f3d-accent)}.f3d [hidden]{display:none !important}.f3d--fullscreen,.f3d--fake-fs{border-radius:0}.f3d--fake-fs{position:fixed;inset:0;z-index:2147483000;height:100dvh}html.f3d-noscroll,html.f3d-noscroll body{overflow:hidden !important}.f3d-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.f3d-icon{width:20px;height:20px;display:block;flex:none}.f3d-stage{position:absolute;inset:0;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;transition:left 0.28s var(--f3d-ease)}.f3d--dragging .f3d-stage{cursor:grabbing}.f3d--zoomed .f3d-stage,.f3d--fullscreen .f3d-stage,.f3d--lightbox .f3d-stage{touch-action:none}.f3d--zoomed .f3d-stage{cursor:move}.f3d-viewport{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.f3d-viewport--anim{transition:transform 0.3s var(--f3d-ease)}.f3d-viewport.f3d-jump .f3d-render{animation:f3d-jump 0.42s var(--f3d-ease)}@keyframes f3d-jump{from{opacity:0.25;transform:scale(0.985)}}.f3d-render{position:absolute;inset:0}.f3d-canvas{display:block;width:100%;height:100%}.f3d-book{position:absolute;transform-style:preserve-3d}.f3d-render--css3d{perspective:3400px}.f3d-page,.f3d-face{position:absolute;top:0;background:var(--f3d-paper);overflow:hidden}.f3d-page{box-shadow:var(--f3d-book-shadow)}.f3d-page.f3d-empty{visibility:hidden}.f3d-page.f3d-loading::before,.f3d-face.f3d-loading::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(0,0,0,0.04) 50%,transparent 70%);background-size:200% 100%;animation:f3d-shimmer 1.2s linear infinite}@keyframes f3d-shimmer{to{background-position:-200% 0}}.f3d-render--css3d .f3d-page--left::after,.f3d-render--css3d .f3d-page--right::after,.f3d-render--swipe .f3d-page--left::after,.f3d-render--swipe .f3d-page--right::after,.f3d-face::after{content:'';position:absolute;top:0;bottom:0;width:9%;pointer-events:none}.f3d-render--css3d .f3d-page--left::after,.f3d-render--swipe .f3d-page--left::after,.f3d-face--back::after{right:0;background:linear-gradient(to left,rgba(0,0,0,0.16),rgba(0,0,0,0.04) 45%,transparent)}.f3d-render--css3d .f3d-page--right::after,.f3d-render--swipe .f3d-page--right::after,.f3d-face--front::after{left:0;background:linear-gradient(to right,rgba(0,0,0,0.16),rgba(0,0,0,0.04) 45%,transparent)}.f3d-leaf{position:absolute;top:0;transform-origin:0 50%;transform-style:preserve-3d;z-index:2}.f3d-face{left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.f3d-face--back{transform:rotateY(180deg)}.f3d-shade{position:absolute;inset:0;opacity:0;pointer-events:none}.f3d-page--right .f3d-shade{background:linear-gradient(to right,rgba(0,0,0,0.42),rgba(0,0,0,0.08) 40%,transparent 75%)}.f3d-page--left .f3d-shade{background:linear-gradient(to left,rgba(0,0,0,0.42),rgba(0,0,0,0.08) 40%,transparent 75%)}.f3d-face--front .f3d-shade{background:linear-gradient(to right,rgba(0,0,0,0.05),rgba(0,0,0,0.28) 70%,rgba(255,255,255,0.1))}.f3d-face--back .f3d-shade{background:linear-gradient(to left,rgba(0,0,0,0.05),rgba(0,0,0,0.28) 70%,rgba(255,255,255,0.1))}.f3d-render--css3d .f3d-book{transition:transform 0s}.f3d-gl{position:absolute;inset:0;width:100%;height:100%;display:block}.f3d-gl-shadow{position:absolute;box-shadow:var(--f3d-book-shadow);border-radius:2px;pointer-events:none}.f3d-track{position:absolute;inset:0;will-change:transform}.f3d-slide{position:absolute;top:0;bottom:0}.f3d-overlay{position:absolute;inset:0;pointer-events:none;transition:opacity 0.18s}.f3d-overlay--hidden{opacity:0;transition:none}.f3d-overlay__page{position:absolute}.f3d-link,.f3d-spot{position:absolute;pointer-events:auto;display:block;padding:0;margin:0;border:0;background:transparent;cursor:pointer;border-radius:4px;transition:background-color 0.15s}.f3d-link:hover,.f3d-link:focus-visible{background:color-mix(in srgb,var(--f3d-accent) 16%,transparent);outline:2px solid color-mix(in srgb,var(--f3d-accent) 55%,transparent)}.f3d-spot{border-radius:10px;background:color-mix(in srgb,var(--f3d-accent) 10%,transparent);outline:1.5px dashed color-mix(in srgb,var(--f3d-accent) 55%,transparent)}.f3d-spot:hover,.f3d-spot:focus-visible{background:color-mix(in srgb,var(--f3d-accent) 18%,transparent);outline-style:solid}.f3d-spot--html{background:none;outline:0;cursor:auto;overflow:auto}.f3d-spot--page{background:transparent;outline-color:transparent}.f3d-spot--page .f3d-spot__badge{opacity:0;transform:scale(0.8);transition:opacity 0.15s,transform 0.15s var(--f3d-ease)}.f3d-spot--page:hover .f3d-spot__badge,.f3d-spot--page:focus-visible .f3d-spot__badge{opacity:1;transform:none}.f3d-spot__badge{position:absolute;top:6px;right:6px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--f3d-accent);color:var(--f3d-accent-contrast);box-shadow:0 6px 18px -4px color-mix(in srgb,var(--f3d-accent) 70%,transparent)}.f3d-spot__badge .f3d-icon{width:16px;height:16px}.f3d-spot--video .f3d-spot__badge,.f3d-spot--iframe .f3d-spot__badge{top:50%;left:50%;right:auto;width:52px;height:52px;margin:-26px 0 0 -26px}.f3d-spot--video .f3d-spot__badge .f3d-icon,.f3d-spot--iframe .f3d-spot__badge .f3d-icon{width:24px;height:24px}.f3d-spot--pulse .f3d-spot__badge::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--f3d-accent);animation:f3d-pulse 2s var(--f3d-ease) infinite}@keyframes f3d-pulse{from{transform:scale(1);opacity:0.8}to{transform:scale(1.9);opacity:0}}.f3d-hl{position:absolute;background:var(--f3d-highlight);mix-blend-mode:multiply;border-radius:2px}.f3d-btn{appearance:none;display:inline-grid;place-items:center;width:40px;height:40px;padding:0;margin:0;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color 0.15s,color 0.15s,transform 0.15s var(--f3d-ease),opacity 0.15s}.f3d-btn:hover{background:var(--f3d-hover)}.f3d-btn:active{transform:scale(0.92)}.f3d-btn:focus-visible,.f3d-menu__item:focus-visible,.f3d-panel__tab:focus-visible,.f3d-thumb:focus-visible,.f3d-toc__link:focus-visible,.f3d-search__result:focus-visible,.f3d-chip:focus-visible,.f3d-button:focus-visible,.f3d-marks__go:focus-visible,.f3d-link:focus-visible,.f3d-spot:focus-visible{outline:2px solid var(--f3d-accent);outline-offset:2px}.f3d-btn:disabled{opacity:0.32;cursor:default;background:transparent;transform:none}.f3d-btn--sm{width:34px;height:34px}.f3d-btn--sm .f3d-icon{width:18px;height:18px}.f3d-btn--xs{width:28px;height:28px}.f3d-btn--xs .f3d-icon{width:16px;height:16px}.f3d-btn--text{width:auto;padding:0 10px;font-weight:600;font-size:13px}.f3d-button{appearance:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;background:var(--f3d-hover);color:var(--f3d-text)}.f3d-button .f3d-icon{width:18px;height:18px}.f3d-button--primary{background:var(--f3d-accent);color:var(--f3d-accent-contrast)}.f3d-button--primary:hover{filter:brightness(1.06)}.f3d-chip{appearance:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--f3d-surface-border);border-radius:999px;background:transparent;color:var(--f3d-text);font:inherit;text-decoration:none;cursor:pointer;transition:background-color 0.15s}.f3d-chip:hover{background:var(--f3d-hover)}.f3d-chip .f3d-icon{width:16px;height:16px}.f3d-toolbar,.f3d-menu,.f3d-panel,.f3d-modal__dialog,.f3d-toast,.f3d-arrow,.f3d-topbar .f3d-btn--close,.f3d-caption{background:var(--f3d-surface);-webkit-backdrop-filter:blur(var(--f3d-blur)) saturate(1.5);backdrop-filter:blur(var(--f3d-blur)) saturate(1.5);border:1px solid var(--f3d-surface-border);box-shadow:var(--f3d-shadow);color:var(--f3d-text)}.f3d-toolbar{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;max-width:calc(100% - 24px);transition:opacity 0.25s,transform 0.25s var(--f3d-ease)}.f3d-toolbar__group{display:flex;align-items:center;gap:2px}.f3d-toolbar__group + .f3d-toolbar__group{margin-left:4px;padding-left:6px;border-left:1px solid var(--f3d-surface-border)}.f3d-pagefield{display:inline-flex;align-items:baseline;gap:4px;padding:0 8px;height:40px;line-height:40px;font-variant-numeric:tabular-nums;cursor:text}.f3d-pagefield__input{min-width:3ch;border:0;padding:2px 4px;margin:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:center;line-height:1.4}.f3d-pagefield__input:focus{outline:2px solid var(--f3d-accent);background:var(--f3d-surface-solid)}.f3d-pagefield__total{color:var(--f3d-muted);white-space:nowrap}.f3d-progress{position:absolute;top:0;left:0;right:0;height:3px;z-index:15;background:transparent}.f3d-progress__bar{height:100%;width:0;background:var(--f3d-accent);border-radius:0 3px 3px 0;transition:width 0.4s var(--f3d-ease)}.f3d--rtl .f3d-progress__bar{margin-left:auto;border-radius:3px 0 0 3px}.f3d-arrow{position:absolute;top:50%;z-index:12;width:48px;height:48px;margin-top:-40px;opacity:0;transition:opacity 0.2s,transform 0.2s var(--f3d-ease),background-color 0.15s}.f3d-arrow--left{left:16px}.f3d-arrow--right{right:16px}.f3d:hover .f3d-arrow:not(:disabled),.f3d-arrow:focus-visible{opacity:1}.f3d-arrow:hover{background:var(--f3d-surface-solid)}.f3d-arrow:disabled{opacity:0 !important;pointer-events:none}.f3d--compact .f3d-arrow,.f3d--zoomed .f3d-arrow{display:none}@media (hover:none){.f3d-arrow{display:none}}.f3d-caption{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);z-index:11;max-width:min(640px,calc(100% - 32px));padding:7px 14px;border-radius:999px;font-size:13px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.f3d--no-toolbar .f3d-caption{bottom:14px}.f3d-topbar{position:absolute;top:12px;left:16px;right:12px;z-index:21;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.f3d-topbar>*{pointer-events:auto}.f3d-topbar__title{font-weight:650;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0.85}.f3d-topbar .f3d-btn--close{margin-left:auto}.f3d-menu{position:absolute;z-index:30;min-width:232px;padding:6px;border-radius:var(--f3d-radius);overflow-y:auto;animation:f3d-pop 0.18s var(--f3d-ease);background:var(--f3d-surface-solid)}@keyframes f3d-pop{from{opacity:0;transform:translateY(6px) scale(0.98)}}.f3d-menu__section + .f3d-menu__section{margin-top:6px;padding-top:6px;border-top:1px solid var(--f3d-surface-border)}.f3d-menu__title{padding:6px 10px 4px;font-size:11px;font-weight:650;letter-spacing:0.06em;text-transform:uppercase;color:var(--f3d-muted)}.f3d-menu__item{appearance:none;display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--f3d-radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.f3d-menu__item:hover,.f3d-menu__item:focus-visible{background:var(--f3d-hover)}.f3d-menu__item[aria-checked='true']{color:var(--f3d-accent)}.f3d-menu__icon .f3d-icon{width:18px;height:18px}.f3d-menu__label{flex:1}.f3d-menu__check .f3d-icon{width:16px;height:16px}.f3d-menu__sep{height:1px;margin:4px 10px;background:var(--f3d-surface-border)}.f3d-panel{position:absolute;top:12px;left:12px;bottom:12px;width:300px;z-index:25;display:flex;flex-direction:column;border-radius:calc(var(--f3d-radius) + 4px);transform:translateX(calc(-100% - 24px));opacity:0;transition:transform 0.28s var(--f3d-ease),opacity 0.2s}.f3d-panel--open{transform:none;opacity:1}@media (min-width:960px){.f3d--panel-open:not(.f3d--compact) .f3d-stage{left:312px}}.f3d-panel__head{display:flex;align-items:center;gap:4px;padding:8px 8px 6px;border-bottom:1px solid var(--f3d-surface-border)}.f3d-panel__tabs{flex:1;display:flex;gap:2px;min-width:0}.f3d-panel__tab{appearance:none;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 4px;border:0;border-radius:var(--f3d-radius-sm);background:transparent;color:var(--f3d-muted);font:inherit;font-size:11px;font-weight:600;cursor:pointer}.f3d-panel__tab .f3d-icon{width:18px;height:18px}.f3d-panel__tab:hover{background:var(--f3d-hover);color:var(--f3d-text)}.f3d-panel__tab[aria-selected='true']{background:var(--f3d-active);color:var(--f3d-accent)}.f3d-panel__tablabel{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f3d-panel__content{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.f3d-panel__body{padding:12px}.f3d-panel__empty{padding:24px 8px;color:var(--f3d-muted);text-align:center}.f3d-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 10px}.f3d-thumb{appearance:none;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border:0;border-radius:var(--f3d-radius-sm);background:transparent;color:var(--f3d-muted);font:inherit;font-size:12px;cursor:pointer}.f3d-thumb:hover{background:var(--f3d-hover)}.f3d-thumb__img{display:block;width:100%;border-radius:4px;overflow:hidden;background:var(--f3d-paper);box-shadow:0 1px 2px rgba(0,0,0,0.08),0 4px 12px -4px rgba(0,0,0,0.18);opacity:0.6;transition:opacity 0.3s,box-shadow 0.15s}.f3d-thumb--ready .f3d-thumb__img{opacity:1}.f3d-thumb__img canvas{display:block;width:100%;height:100%}.f3d-thumb--active{color:var(--f3d-accent);font-weight:650}.f3d-thumb--active .f3d-thumb__img{box-shadow:0 0 0 2px var(--f3d-accent),0 6px 16px -6px rgba(0,0,0,0.3)}.f3d-toc,.f3d-marks,.f3d-search__results{list-style:none;margin:0;padding:0}.f3d-toc--nested{padding-left:14px}.f3d-toc__link,.f3d-marks__go,.f3d-search__result{appearance:none;display:flex;align-items:baseline;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:var(--f3d-radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.f3d-toc__link:hover,.f3d-marks__go:hover,.f3d-search__result:hover{background:var(--f3d-hover)}.f3d-toc__link:disabled{cursor:default;color:var(--f3d-muted)}.f3d-toc__title{flex:1}.f3d-toc__page{color:var(--f3d-muted);font-variant-numeric:tabular-nums;font-size:12px}.f3d-search{position:relative;margin-bottom:10px}.f3d-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--f3d-muted)}.f3d-search__icon .f3d-icon{width:18px;height:18px}.f3d-search__input,.f3d-share__input{width:100%;height:42px;padding:0 14px 0 40px;border:1px solid var(--f3d-surface-border);border-radius:999px;background:var(--f3d-surface-solid);color:var(--f3d-text);font:inherit}.f3d-search__input:focus,.f3d-share__input:focus{outline:2px solid var(--f3d-accent);outline-offset:-1px}.f3d-search__status{padding:0 4px 8px;font-size:12px;color:var(--f3d-muted)}.f3d-search__result{flex-direction:column;gap:2px}.f3d-search__page{font-size:11px;font-weight:650;color:var(--f3d-accent);text-transform:uppercase;letter-spacing:0.04em}.f3d-search__snippet{font-size:13px;color:var(--f3d-muted)}.f3d-search__snippet mark{background:var(--f3d-highlight);color:var(--f3d-text);border-radius:3px;padding:0 2px}.f3d-marks{margin-top:12px}.f3d-marks__item{display:flex;align-items:center;gap:4px}.f3d-marks__go{align-items:center}.f3d-marks__go .f3d-icon{width:16px;height:16px;color:var(--f3d-accent)}.f3d-modal{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:16px;background:rgba(10,12,18,0.32);opacity:0;transition:opacity 0.2s}.f3d-modal--open{opacity:1}.f3d-modal__dialog{display:flex;flex-direction:column;width:100%;max-height:100%;border-radius:calc(var(--f3d-radius) + 4px);background:var(--f3d-surface-solid);transform:translateY(8px) scale(0.98);transition:transform 0.25s var(--f3d-ease);outline:none}.f3d-modal--open .f3d-modal__dialog{transform:none}.f3d-modal__dialog--sm{max-width:440px}.f3d-modal__dialog--md{max-width:600px}.f3d-modal__dialog--lg{max-width:760px;height:100%}.f3d-modal__dialog--media{max-width:960px}.f3d-modal__head{display:flex;align-items:center;gap:4px;padding:10px 10px 10px 20px;border-bottom:1px solid var(--f3d-surface-border)}.f3d-modal__title{flex:1;margin:0;font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f3d-modal__actions{display:flex;gap:2px}.f3d-modal__body{flex:1;min-height:0;overflow:auto}.f3d-share{padding:20px;display:grid;gap:16px}.f3d-share__row{display:flex;gap:8px}.f3d-share__input{padding-left:16px;min-width:0;color:var(--f3d-muted)}.f3d-share__social{display:flex;flex-wrap:wrap;gap:8px}.f3d-reader{height:100%;overflow-y:auto;padding:28px clamp(20px,6vw,56px) 48px;font-family:Charter,'Iowan Old Style',Georgia,'Times New Roman',serif;line-height:1.7}.f3d-reader p{margin:0 0 1em;max-width:68ch}.f3d-reader__page{margin:1.6em 0 0.8em;font-family:var(--f3d-font,system-ui,sans-serif);font-size:12px;font-weight:650;letter-spacing:0.06em;text-transform:uppercase;color:var(--f3d-accent)}.f3d-reader__page:first-child{margin-top:0}.f3d-reader__empty{color:var(--f3d-muted);font-style:italic}.f3d-media-wrap{position:relative;aspect-ratio:16 / 9;background:#000;border-radius:0 0 calc(var(--f3d-radius) + 4px) calc(var(--f3d-radius) + 4px);overflow:hidden}.f3d-media{position:absolute;inset:0;width:100%;height:100%;border:0}.f3d-toasts{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:45;display:grid;gap:8px;justify-items:center;width:max-content;max-width:calc(100% - 32px);pointer-events:none}.f3d-toast{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;min-height:40px;border-radius:999px;font-weight:500;pointer-events:auto;opacity:0;transform:translateY(-8px);transition:opacity 0.22s,transform 0.22s var(--f3d-ease)}.f3d-toast:not(:has(button)){padding-right:16px}.f3d-toast--in{opacity:1;transform:none}.f3d-toast__action{appearance:none;border:0;padding:6px 12px;border-radius:999px;background:var(--f3d-accent);color:var(--f3d-accent-contrast);font:inherit;font-weight:600;cursor:pointer}.f3d-loader{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--f3d-stage);transition:opacity 0.35s}.f3d-loader--done{opacity:0;pointer-events:none}.f3d-loader__book{position:relative;width:56px;height:40px;perspective:200px}.f3d-loader__book span{position:absolute;top:0;left:50%;width:50%;height:100%;border-radius:0 4px 4px 0;background:var(--f3d-accent);transform-origin:0 50%;animation:f3d-loader-flip 1.5s var(--f3d-ease) infinite}.f3d-loader__book span:nth-child(2){animation-delay:0.2s;opacity:0.7}.f3d-loader__book span:nth-child(3){animation-delay:0.4s;opacity:0.45}@keyframes f3d-loader-flip{0%,10%{transform:rotateY(0)}60%,100%{transform:rotateY(-180deg)}}.f3d-loader__text{color:var(--f3d-muted);font-weight:500}.f3d-loader__track{width:160px;height:3px;border-radius:3px;overflow:hidden;background:var(--f3d-hover)}.f3d-loader__bar{width:0;height:100%;background:var(--f3d-accent);transition:width 0.2s}.f3d-loader--error .f3d-loader__book,.f3d-loader--error .f3d-loader__track{display:none}.f3d-lightbox{position:fixed;inset:0;z-index:2147482000;background:rgba(8,10,14,0.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity 0.22s}.f3d-lightbox--in{opacity:1}.f3d-lightbox__holder{position:absolute;inset:0}.f3d--lightbox{border-radius:0}@media (max-width:640px){.f3d-hide-sm{display:none !important}}.f3d--compact .f3d-hide-sm{display:none !important}.f3d--compact .f3d-toolbar{bottom:12px;padding:4px}.f3d--compact .f3d-toolbar .f3d-btn{width:36px;height:36px}.f3d--compact .f3d-toolbar__group + .f3d-toolbar__group{margin-left:2px;padding-left:3px}.f3d--compact .f3d-pagefield{padding:0 4px;height:36px;line-height:36px}.f3d--compact .f3d-caption{bottom:68px}.f3d--compact .f3d-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;height:min(72%,560px);transform:translateY(calc(100% + 16px))}.f3d--compact .f3d-panel--open{transform:none}.f3d--compact .f3d-thumbs{grid-template-columns:repeat(3,1fr)}@media (prefers-reduced-motion:reduce){.f3d *,.f3d *::before,.f3d *::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}}
