.menu-viewer{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:menu-viewer-fade var(--dur-mid) var(--ease);background:#0a0806db;position:fixed;inset:0}.menu-viewer__stage{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;inset:0;overflow:hidden}.menu-viewer__stage:active{cursor:grabbing}.menu-viewer__sheet{transform-origin:0 0;will-change:transform;animation:menu-viewer-rise var(--dur-mid) var(--ease);background:#fff;border-radius:2px;position:absolute;top:0;left:0;box-shadow:0 2px 6px #00000059,0 24px 70px #0000008c}.menu-viewer__sheet--animate{transition:transform .22s var(--ease)}.menu-viewer__canvas{width:100%;height:100%;display:block}.menu-viewer__detail{visibility:hidden;pointer-events:none;position:absolute}.menu-viewer__close{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f3eee6;cursor:pointer;width:44px;height:44px;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:#14100c99;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-block-start:max(16px, env(safe-area-inset-top));inset-inline-end:16px}.menu-viewer__toolbar{inset-inline:0;bottom:max(20px, env(safe-area-inset-bottom));z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f3eee6;width:max-content;font-family:var(--font-text);background:#14100c99;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:2px;margin-inline:auto;padding:4px;display:flex;position:absolute;box-shadow:0 10px 30px #00000059}.menu-viewer__tool,.menu-viewer__zoom-level{height:40px;color:inherit;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.menu-viewer__tool{width:40px}.menu-viewer__zoom-level{font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:60px;padding-inline:8px;font-size:13px}.menu-viewer__tool:disabled,.menu-viewer__zoom-level:disabled{opacity:.35;cursor:default}.menu-viewer__page-count{font-variant-numeric:tabular-nums;text-align:center;min-width:44px;font-size:13px}.menu-viewer__divider{background:#ffffff2e;width:1px;height:20px;margin-inline:4px}@media (min-width:768px){.menu-viewer__toolbar{inset-inline:auto 16px;flex-direction:column;margin:0;top:50%;bottom:auto;transform:translateY(-50%)}.menu-viewer__zoom-level{letter-spacing:0;min-width:40px;height:32px;padding-inline:0;font-size:11px}.menu-viewer__page-count{min-width:40px;padding-block:4px;font-size:11px}.menu-viewer__divider{width:20px;height:1px;margin:4px 0}}@media (hover:hover) and (pointer:fine){.menu-viewer__close:hover{border-color:var(--accent-decorative);color:var(--accent-decorative)}.menu-viewer__tool:not(:disabled):hover,.menu-viewer__zoom-level:not(:disabled):hover{color:var(--accent-decorative);background:#ffffff1a}}.menu-viewer__close:focus-visible,.menu-viewer__tool:focus-visible,.menu-viewer__zoom-level:focus-visible,.menu-viewer__link:focus-visible{outline:2px solid var(--accent-decorative);outline-offset:2px}.menu-viewer__state{justify-content:center;align-items:center;gap:var(--gap-sm);font-family:var(--font-text);color:#f3eee6bf;text-align:center;cursor:default;flex-direction:column;display:flex;position:absolute;inset:0}.menu-viewer__link{color:var(--accent-decorative);text-underline-offset:3px;text-decoration:underline}.menu-viewer__spinner{border:1.5px solid #ffffff2e;border-top-color:var(--accent-decorative);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite menu-viewer-spin}@keyframes menu-viewer-spin{to{transform:rotate(360deg)}}@keyframes menu-viewer-fade{0%{opacity:0}}@keyframes menu-viewer-rise{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.menu-viewer,.menu-viewer__sheet{animation:none}.menu-viewer__sheet--animate{transition:none}}
