.fb{--fb-u:10px;--fb-bg:rgba(12,14,18,0.94);--fb-ink:#f5f6f8;--fb-mute:rgba(245,246,248,0.68);--fb-btn:rgba(255,255,255,0.1);--fb-btn-hover:rgba(255,255,255,0.2);position:fixed;inset:0;z-index:1000;display:flex;align-items:stretch;justify-content:stretch;padding:12px;background:rgba(0,0,0,.55);color:var(--fb-ink);font-family:inherit;-webkit-user-select:none;user-select:none;animation:fb-in .22s ease-out both}.fb-screen{--fb-u:var(--u,1vw);--fb-bg:#121418;background:rgba(0,0,0,.7);padding:calc(1 * var(--fb-u))}.fb.is-full{padding:0}@keyframes fb-in{0%{opacity:0;transform:scale(.985)}}.fb-frame{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:16px;background:var(--fb-bg);box-shadow:0 24px 80px rgba(0,0,0,.5)}.fb-screen .fb-frame{gap:calc(1 * var(--fb-u));padding:calc(1.2 * var(--fb-u));border-radius:calc(1.4 * var(--fb-u))}.fb.is-full .fb-frame{border-radius:0}.fb-bar,.fb-nav{display:flex;align-items:center;gap:8px}.fb-screen .fb-bar,.fb-screen .fb-nav{gap:calc(1 * var(--fb-u))}.fb-title{flex:1;min-width:0;font-size:16px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-screen .fb-title{font-size:calc(1.9 * var(--fb-u));font-weight:700}.fb-tools{display:flex;gap:6px}.fb-screen .fb-tools{gap:calc(.8 * var(--fb-u))}.fb-web .fb-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;min-width:44px;padding:0 14px;border:0;border-radius:10px;background:var(--fb-btn);color:var(--fb-ink);font:inherit;font-size:14.5px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s}.fb-web .fb-btn:hover:not([disabled]){background:var(--fb-btn-hover)}.fb .fb-btn[disabled]{opacity:.35;cursor:default}.fb-btn:focus-visible,.fb-edge:focus-visible{outline:2px solid #fff;outline-offset:2px}.fb-nav{justify-content:space-between}.fb-pos{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;font-variant-numeric:tabular-nums;color:var(--fb-mute);white-space:nowrap}.fb-screen .fb-pos{gap:calc(1.4 * var(--fb-u));font-size:calc(1.5 * var(--fb-u))}.fb-pos input[type=range]{flex:1;max-width:420px;min-width:60px;accent-color:#fff;height:28px;cursor:pointer}.fb-screen .fb-pos input[type=range]{max-width:calc(40 * var(--fb-u));height:calc(3 * var(--fb-u))}.fb-hint{text-align:center;font-size:12.5px;color:var(--fb-mute);margin-top:-4px}@media (max-width:640px){.fb-web{padding:0}.fb-web .fb-frame{border-radius:0;padding:8px}.fb-web .fb-lbl{display:none}.fb-web .fb-title{font-size:14.5px}.fb-web .fb-pos input[type=range]{display:none}}.fb-stage,.fb-view{position:relative;flex:1;min-height:0;display:flex}.fb-stage{min-width:0;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;touch-action:none;cursor:grab}.fb-stage:active{cursor:grabbing}.fb-stage.zooming{display:grid;justify-content:center;align-content:center;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;cursor:auto}@supports (justify-content:safe center){.fb-stage.zooming{justify-content:safe center;align-content:safe center}}.fb-msg{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:15px;color:var(--fb-mute);text-align:center;padding:20px}.fb-screen .fb-msg{font-size:calc(1.8 * var(--fb-u))}.fb-fallback{max-width:100%;max-height:60vh;border-radius:6px}.fb-book{position:relative;flex:none;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.fb-half{position:absolute;top:0}.fb-sheet{position:relative;width:100%;height:100%;overflow:hidden;background:#fff}.fb-sheet.empty{background:transparent}.fb-sheet img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.fb-sheet.zoomed{flex:none;border-radius:3px;box-shadow:0 10px 40px rgba(0,0,0,.5)}.fb-book.single .fb-half .fb-sheet,.fb-book.spread .fb-half .fb-sheet:not(.empty){box-shadow:0 10px 40px rgba(0,0,0,.45)}.fb-book.single .fb-half .fb-sheet{border-radius:3px}.fb-book.spread .fb-half.l .fb-sheet{border-radius:3px 0 0 3px}.fb-book.spread .fb-half.r .fb-sheet{border-radius:0 3px 3px 0}.fb-spine{bottom:0;left:50%;width:8%;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.12) 40%,rgba(0,0,0,.28) 50%,rgba(0,0,0,.12) 60%,rgba(0,0,0,0));z-index:1}.fb-leaf,.fb-spine{position:absolute;top:0}.fb-leaf{z-index:3;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform}.fb-leaf.fwd{transform-origin:left center}.fb-leaf.back{transform-origin:right center}.fb-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.fb-face.rear{transform:rotateY(180deg)}.fb-face.paper{background:linear-gradient(90deg,#e9e9e6,#fbfbf9 30%,#f4f4f1)}.fb-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,0) 60%)}.fb-leaf.back .fb-face.front .fb-shade,.fb-leaf.fwd .fb-face.rear .fb-shade{background:linear-gradient(270deg,rgba(0,0,0,.5),rgba(0,0,0,0) 60%)}.fb-cast{position:absolute;top:0;z-index:2;pointer-events:none;background:rgba(0,0,0,.55)}.fb-wait{position:absolute;inset:0;background:linear-gradient(100deg,#f4f4f4 30%,#ffffff 50%,#f4f4f4 70%);background-size:300% 100%;animation:fb-wait 1.4s linear infinite}@keyframes fb-wait{0%{background-position:100% 0}to{background-position:0 0}}.fb-edge{position:absolute;top:50%;z-index:5;width:52px;height:52px;margin-top:-26px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:34px;line-height:1;cursor:pointer;opacity:.75;transition:opacity .15s,background .15s}.fb-edge:hover:not([disabled]){opacity:1;background:rgba(0,0,0,.7)}.fb-edge[disabled]{opacity:0;pointer-events:none}.fb-edge.l{left:8px}.fb-edge.r{right:8px}.fb-screen .fb-edge{width:calc(6 * var(--fb-u));height:calc(6 * var(--fb-u));margin-top:calc(-3 * var(--fb-u));font-size:calc(4 * var(--fb-u))}@media (max-width:640px){.fb-web .fb-edge{width:40px;height:40px;margin-top:-20px;font-size:28px;opacity:.5}}@media (prefers-reduced-motion:reduce){.fb{animation:none}}.fb-pending{max-height:70vh;box-shadow:0 10px 40px rgba(0,0,0,.45);animation:fb-breathe 1.6s ease-in-out infinite alternate}@keyframes fb-breathe{0%{opacity:.75}to{opacity:1}}