.filter-container.svelte-fnt9m4{z-index:20;position:fixed;bottom:1.5rem;right:1.5rem}.filter-toggle.svelte-fnt9m4{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 6px 18px color-mix(in srgb, var(--color-primary) 35%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex}.filter-toggle.svelte-fnt9m4:hover{box-shadow:0 10px 24px color-mix(in srgb, var(--color-primary) 45%, transparent);transform:translateY(-2px)scale(1.05)}.filter-menu.svelte-fnt9m4{background:var(--color-bg-secondary);box-shadow:0 10px 30px color-mix(in srgb, var(--color-bg-main) 40%, transparent);border:1px solid color-mix(in srgb, var(--color-text-main) 10%, transparent);border-radius:8px;width:230px;max-height:70vh;position:absolute;bottom:68px;right:0;overflow-y:auto}.filter-menu.svelte-fnt9m4 ul:where(.svelte-fnt9m4){margin:0;padding:.5rem;list-style:none}.filter-menu.svelte-fnt9m4 li:where(.svelte-fnt9m4) button:where(.svelte-fnt9m4){width:100%;color:var(--color-text-main);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.6rem 1rem;font-size:.95rem;transition:background .2s}.filter-menu.svelte-fnt9m4 li:where(.svelte-fnt9m4) button:where(.svelte-fnt9m4):hover{background:var(--color-border)}.filter-menu.svelte-fnt9m4 li:where(.svelte-fnt9m4) button.active:where(.svelte-fnt9m4){background:var(--color-primary);color:#fff;font-weight:600}.filter-menu.svelte-fnt9m4 .section:where(.svelte-fnt9m4){text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:.5rem 1rem .15rem;font-size:.7rem}.filter-menu.svelte-fnt9m4 .custom-row:where(.svelte-fnt9m4){align-items:center;display:flex}.filter-menu.svelte-fnt9m4 .custom-row:where(.svelte-fnt9m4) .custom-name:where(.svelte-fnt9m4){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.filter-menu.svelte-fnt9m4 .custom-row:where(.svelte-fnt9m4) .icon:where(.svelte-fnt9m4){width:auto;padding:.5rem .4rem;font-size:.85rem}.filter-menu.svelte-fnt9m4 .divider:where(.svelte-fnt9m4){background:var(--color-border);height:1px;margin:.5rem 0}.hidden.svelte-1arex6o{opacity:0!important;pointer-events:none!important}.viewer.svelte-1arex6o{background:var(--color-bg-main);width:100vw;height:100vh;color:var(--color-text-main);position:relative;overflow:hidden}.canvas-layer.svelte-1arex6o{touch-action:none;cursor:grab;width:100%;height:100%;position:relative}.canvas-layer.dragging.svelte-1arex6o{cursor:grabbing}.canvas-layer.svelte-1arex6o:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}canvas.svelte-1arex6o{width:100%;height:100%;cursor:inherit;display:block}canvas.loading.svelte-1arex6o{filter:blur(2px)}.canvas-layer.svelte-1arex6o .loading-overlay:where(.svelte-1arex6o){background:color-mix(in srgb, var(--color-bg-surface) 92%, transparent);text-align:center;border:1px solid color-mix(in srgb, var(--color-text-main) 8%, transparent);box-shadow:0 10px 30px color-mix(in srgb, var(--color-bg-main) 40%, transparent);border-radius:10px;padding:1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-spinner.svelte-1arex6o{border:4px solid color-mix(in srgb, var(--color-text-main) 15%, transparent);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;margin:0 auto .75rem;animation:1s linear infinite svelte-1arex6o-spin}.help-overlay.svelte-1arex6o{background:color-mix(in srgb, var(--color-bg-surface) 85%, transparent);color:var(--color-text-secondary);box-shadow:0 6px 18px color-mix(in srgb, var(--color-bg-main) 45%, transparent);border:1px solid color-mix(in srgb, var(--color-text-main) 8%, transparent);pointer-events:none;opacity:1;border-radius:999px;padding:.6rem 1rem;font-size:.75rem;transition:opacity .25s;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.help-overlay.hidden.svelte-1arex6o{opacity:0}@keyframes svelte-1arex6o-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-viewer.svelte-brb0jn{background:var(--color-bg-main);width:100vw;height:100vh;color:var(--color-text-main);touch-action:pan-y;position:relative;overflow-y:auto}.pages.svelte-brb0jn{width:100%;margin:0 auto}.page-wrapper.svelte-brb0jn{justify-content:center;width:100%;display:flex}.page-wrapper.svelte-brb0jn img:where(.svelte-brb0jn){display:block}.page-placeholder.svelte-brb0jn{background:var(--color-bg-secondary);width:100%;height:126vw;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.page-placeholder.error.svelte-brb0jn{color:var(--color-status-error)}.page-number.svelte-brb0jn{opacity:.4;font-size:2rem;font-weight:300}.loading-spinner.svelte-brb0jn{border:4px solid color-mix(in srgb, var(--color-text-main) 15%, transparent);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:1s linear infinite svelte-brb0jn-spin}@keyframes svelte-brb0jn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reader-shell.svelte-1t4ac0p{background:var(--color-bg-main);width:100vw;height:100vh;color:var(--color-text-main);position:relative;overflow:hidden}.overlay-top.svelte-1t4ac0p{z-index:10;background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg-main) 85%, transparent) 0%, transparent 100%);pointer-events:none;opacity:1;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:opacity .25s;display:flex;position:absolute;top:0;left:0;right:0}.overlay-top.svelte-1t4ac0p>:where(.svelte-1t4ac0p){pointer-events:auto}.overlay-top.hidden.svelte-1t4ac0p{opacity:0}.overlay-top.hidden.svelte-1t4ac0p,.overlay-top.hidden.svelte-1t4ac0p :where(.svelte-1t4ac0p){pointer-events:none!important}.back-button.svelte-1t4ac0p{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb, var(--color-primary) 35%, transparent);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex}.back-button.svelte-1t4ac0p .arrow:where(.svelte-1t4ac0p){font-size:1.1rem;line-height:1}.back-button.svelte-1t4ac0p:not(:disabled):hover{box-shadow:0 10px 24px color-mix(in srgb, var(--color-primary) 45%, transparent);transform:translateY(-1px)}.back-button.svelte-1t4ac0p:disabled{opacity:.7;cursor:progress;box-shadow:none}.header.svelte-1t4ac0p{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;display:flex}.title-block.svelte-1t4ac0p{flex-direction:column;gap:.3rem;min-width:0;display:flex}.title-block.svelte-1t4ac0p h2:where(.svelte-1t4ac0p){color:var(--color-primary-hover);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;font-weight:600;overflow:hidden}.page-info.svelte-1t4ac0p{color:var(--color-text-secondary);font-size:.9rem}.controls.svelte-1t4ac0p{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.controls.svelte-1t4ac0p button:where(.svelte-1t4ac0p){background:var(--color-border);color:var(--color-text-main);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:.5rem 1rem;transition:background .2s,border-color .2s,transform .2s}.controls.svelte-1t4ac0p button:where(.svelte-1t4ac0p):hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border);transform:translateY(-1px)}.controls.svelte-1t4ac0p button:where(.svelte-1t4ac0p):disabled{opacity:.4;cursor:not-allowed;transform:none}.controls.svelte-1t4ac0p select:where(.svelte-1t4ac0p){background:var(--color-border);color:var(--color-text-main);border:1px solid var(--color-border);border-radius:6px;padding:.5rem}.zoom-controls.svelte-1t4ac0p{background:var(--color-bg-secondary);border:1px solid var(--color-border);box-shadow:inset 0 0 12px color-mix(in srgb, var(--color-text-main) 5%, transparent);border-radius:8px;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.zoom-level.svelte-1t4ac0p{color:var(--color-primary-hover);text-align:center;min-width:50px;font-size:.85rem;font-weight:600}.mode-toggle.svelte-1t4ac0p{white-space:nowrap}@media (width<=768px){.controls.svelte-1t4ac0p{gap:.6rem}.controls.svelte-1t4ac0p button:where(.svelte-1t4ac0p){padding:.45rem .75rem}.zoom-controls.svelte-1t4ac0p{display:none}}.error-overlay.svelte-brg3ig,.loading-overlay.svelte-brg3ig,.file-reload-overlay.svelte-brg3ig{z-index:1000;color:#fff;background:#000000e6;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.error-content.svelte-brg3ig,.loading-content.svelte-brg3ig,.file-reload-content.svelte-brg3ig{text-align:center;background:var(--color-bg-secondary);border-radius:8px;width:90%;max-width:400px;padding:2rem}.loading-spinner.svelte-brg3ig{border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:1s linear infinite svelte-brg3ig-spin}@keyframes svelte-brg3ig-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-reload-actions.svelte-brg3ig{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}#file-reload-input.svelte-brg3ig{display:none}.file-select-button.svelte-brg3ig{background:var(--color-primary);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;display:inline-block}.file-select-button.svelte-brg3ig:hover{background:var(--color-primary-hover)}.cancel-button.svelte-brg3ig{background:var(--color-text-muted);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem}.cancel-button.svelte-brg3ig:hover{background:var(--color-text-secondary)}.no-comic.svelte-brg3ig{background:var(--color-bg-secondary);color:#fff;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}button.svelte-brg3ig{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:1rem;padding:.75rem 1.5rem}button.svelte-brg3ig:hover{background:var(--color-primary-hover)}
